From 25ad6779e118f2f01e9cda45c67f7b27d55a984a Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期二, 17 十月 2023 18:04:43 +0800
Subject: [PATCH] 图层管理临时图层,sdk包更新

---
 public/WebSDK/Workers/cesiumTdt.js | 97980 ++++++++++++++++++++++++++++++------------------------------
 1 files changed, 48,990 insertions(+), 48,990 deletions(-)

diff --git a/public/WebSDK/Workers/cesiumTdt.js b/public/WebSDK/Workers/cesiumTdt.js
index 0b44681..68a9727 100644
--- a/public/WebSDK/Workers/cesiumTdt.js
+++ b/public/WebSDK/Workers/cesiumTdt.js
@@ -1,7 +1,7 @@
-!function (e, t) {
+!function(e, t) {
     "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.cesiumTdt = t() : e.cesiumTdt = t()
-}(window, (function () {
-    return function (e) {
+}(window, (function() {
+    return function(e) {
         var t = {};
         function i(r) {
             if (t[r])
@@ -12,49397 +12,49397 @@
                 exports: {}
             };
             return e[r].call(n.exports, n, n.exports, i),
-                n.l = !0,
-                n.exports
+            n.l = !0,
+            n.exports
         }
         return i.m = e,
-            i.c = t,
-            i.d = function (e, t, r) {
-                i.o(e, t) || Object.defineProperty(e, t, {
-                    enumerable: !0,
-                    get: r
-                })
-            }
-            ,
-            i.r = function (e) {
-                "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
-                    value: "Module"
-                }),
-                    Object.defineProperty(e, "__esModule", {
-                        value: !0
-                    })
-            }
-            ,
-            i.t = function (e, t) {
-                if (1 & t && (e = i(e)),
-                    8 & t)
-                    return e;
-                if (4 & t && "object" == typeof e && e && e.__esModule)
-                    return e;
-                var r = Object.create(null);
-                if (i.r(r),
-                    Object.defineProperty(r, "default", {
-                        enumerable: !0,
-                        value: e
-                    }),
-                    2 & t && "string" != typeof e)
-                    for (var n in e)
-                        i.d(r, n, function (t) {
-                            return e[t]
-                        }
-                            .bind(null, n));
-                return r
-            }
-            ,
-            i.n = function (e) {
-                var t = e && e.__esModule ? function () {
-                    return e.default
-                }
-                    : function () {
-                        return e
+        i.c = t,
+        i.d = function(e, t, r) {
+            i.o(e, t) || Object.defineProperty(e, t, {
+                enumerable: !0,
+                get: r
+            })
+        }
+        ,
+        i.r = function(e) {
+            "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
+                value: "Module"
+            }),
+            Object.defineProperty(e, "__esModule", {
+                value: !0
+            })
+        }
+        ,
+        i.t = function(e, t) {
+            if (1 & t && (e = i(e)),
+            8 & t)
+                return e;
+            if (4 & t && "object" == typeof e && e && e.__esModule)
+                return e;
+            var r = Object.create(null);
+            if (i.r(r),
+            Object.defineProperty(r, "default", {
+                enumerable: !0,
+                value: e
+            }),
+            2 & t && "string" != typeof e)
+                for (var n in e)
+                    i.d(r, n, function(t) {
+                        return e[t]
                     }
-                    ;
-                return i.d(t, "a", t),
-                    t
+                    .bind(null, n));
+            return r
+        }
+        ,
+        i.n = function(e) {
+            var t = e && e.__esModule ? function() {
+                return e.default
             }
-            ,
-            i.o = function (e, t) {
-                return Object.prototype.hasOwnProperty.call(e, t)
+            : function() {
+                return e
             }
-            ,
-            i.p = "",
-            i(i.s = 242)
-    }([function (e, t, i) {
+            ;
+            return i.d(t, "a", t),
+            t
+        }
+        ,
+        i.o = function(e, t) {
+            return Object.prototype.hasOwnProperty.call(e, t)
+        }
+        ,
+        i.p = "",
+        i(i.s = 242)
+    }([function(e, t, i) {
         var r = i(175)
-            , n = i(6);
+          , n = i(6);
         function o(t) {
-            return e.exports = o = "function" == typeof n && "symbol" == typeof r ? function (e) {
+            return e.exports = o = "function" == typeof n && "symbol" == typeof r ? function(e) {
                 return typeof e
             }
-                : function (e) {
-                    return e && "function" == typeof n && e.constructor === n && e !== n.prototype ? "symbol" : typeof e
-                }
-                ,
-                o(t)
+            : function(e) {
+                return e && "function" == typeof n && e.constructor === n && e !== n.prototype ? "symbol" : typeof e
+            }
+            ,
+            o(t)
         }
         e.exports = o
     }
-        , function (e, t, i) {
-            e.exports = i(172)
+    , function(e, t, i) {
+        e.exports = i(172)
+    }
+    , function(e, t, i) {
+        e.exports = i(169)
+    }
+    , function(e, t, i) {
+        e.exports = i(160)
+    }
+    , function(e, t, i) {
+        var r = i(50)("wks")
+          , n = i(28)
+          , o = i(10).Symbol
+          , a = "function" == typeof o;
+        (e.exports = function(e) {
+            return r[e] || (r[e] = a && o[e] || (a ? o : n)("Symbol." + e))
         }
-        , function (e, t, i) {
-            e.exports = i(169)
-        }
-        , function (e, t, i) {
-            e.exports = i(160)
-        }
-        , function (e, t, i) {
-            var r = i(50)("wks")
-                , n = i(28)
-                , o = i(10).Symbol
-                , a = "function" == typeof o;
-            (e.exports = function (e) {
-                return r[e] || (r[e] = a && o[e] || (a ? o : n)("Symbol." + e))
-            }
-            ).store = r
-        }
-        , function (e, t) {
-            var i = e.exports = {
-                version: "2.6.11"
-            };
-            "number" == typeof __e && (__e = i)
-        }
-        , function (e, t, i) {
-            e.exports = i(183)
-        }
-        , function (e, t) {
-            var i = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
-            "number" == typeof __g && (__g = i)
-        }
-        , function (e, t, i) {
-            e.exports = i(167)
-        }
-        , function (e, t, i) {
-            e.exports = i(154)
-        }
-        , function (e, t) {
-            var i = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
-            "number" == typeof __g && (__g = i)
-        }
-        , function (e, t, i) {
-            e.exports = !i(18)((function () {
-                return 7 != Object.defineProperty({}, "a", {
-                    get: function () {
-                        return 7
-                    }
-                }).a
-            }
-            ))
-        }
-        , function (e, t, i) {
-            var r = i(7)
-                , n = i(5)
-                , o = i(59)
-                , a = i(32)
-                , s = i(31)
-                , x = function (e, t, i) {
-                    var l, c, u, h = e & x.F, f = e & x.G, d = e & x.S, g = e & x.P, p = e & x.B, m = e & x.W, b = f ? n : n[t] || (n[t] = {}), v = b.prototype, C = f ? r : d ? r[t] : (r[t] || {}).prototype;
-                    for (l in f && (i = t),
-                        i)
-                        (c = !h && C && void 0 !== C[l]) && s(b, l) || (u = c ? C[l] : i[l],
-                            b[l] = f && "function" != typeof C[l] ? i[l] : p && c ? o(u, r) : m && C[l] == u ? function (e) {
-                                var t = function (t, i, r) {
-                                    if (this instanceof e) {
-                                        switch (arguments.length) {
-                                            case 0:
-                                                return new e;
-                                            case 1:
-                                                return new e(t);
-                                            case 2:
-                                                return new e(t, i)
-                                        }
-                                        return new e(t, i, r)
-                                    }
-                                    return e.apply(this, arguments)
-                                };
-                                return t.prototype = e.prototype,
-                                    t
-                            }(u) : g && "function" == typeof u ? o(Function.call, u) : u,
-                            g && ((b.virtual || (b.virtual = {}))[l] = u,
-                                e & x.R && v && !v[l] && a(v, l, u)))
-                };
-            x.F = 1,
-                x.G = 2,
-                x.S = 4,
-                x.P = 8,
-                x.B = 16,
-                x.W = 32,
-                x.U = 64,
-                x.R = 128,
-                e.exports = x
-        }
-        , function (e, t, i) {
-            var r = i(17)
-                , n = i(98)
-                , o = i(44)
-                , a = Object.defineProperty;
-            t.f = i(11) ? Object.defineProperty : function (e, t, i) {
-                if (r(e),
-                    t = o(t, !0),
-                    r(i),
-                    n)
-                    try {
-                        return a(e, t, i)
-                    } catch (e) { }
-                if ("get" in i || "set" in i)
-                    throw TypeError("Accessors not supported!");
-                return "value" in i && (e[t] = i.value),
-                    e
-            }
-        }
-        , function (e, t, i) {
-            var r = i(75)("wks")
-                , n = i(58)
-                , o = i(7).Symbol
-                , a = "function" == typeof o;
-            (e.exports = function (e) {
-                return r[e] || (r[e] = a && o[e] || (a ? o : n)("Symbol." + e))
-            }
-            ).store = r
-        }
-        , function (e, t, i) {
-            e.exports = i(147)
-        }
-        , function (e, t, i) {
-            e.exports = i(164)
-        }
-        , function (e, t, i) {
-            var r = i(21);
-            e.exports = function (e) {
-                if (!r(e))
-                    throw TypeError(e + " is not an object!");
-                return e
-            }
-        }
-        , function (e, t) {
-            e.exports = function (e) {
-                try {
-                    return !!e()
-                } catch (e) {
-                    return !0
+        ).store = r
+    }
+    , function(e, t) {
+        var i = e.exports = {
+            version: "2.6.11"
+        };
+        "number" == typeof __e && (__e = i)
+    }
+    , function(e, t, i) {
+        e.exports = i(183)
+    }
+    , function(e, t) {
+        var i = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
+        "number" == typeof __g && (__g = i)
+    }
+    , function(e, t, i) {
+        e.exports = i(167)
+    }
+    , function(e, t, i) {
+        e.exports = i(154)
+    }
+    , function(e, t) {
+        var i = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
+        "number" == typeof __g && (__g = i)
+    }
+    , function(e, t, i) {
+        e.exports = !i(18)((function() {
+            return 7 != Object.defineProperty({}, "a", {
+                get: function() {
+                    return 7
                 }
-            }
+            }).a
         }
-        , function (e, t, i) {
-            var r = i(29)
-                , n = Math.min;
-            e.exports = function (e) {
-                return e > 0 ? n(r(e), 9007199254740991) : 0
-            }
-        }
-        , function (e, t, i) {
-            var r = i(13)
-                , n = i(45);
-            e.exports = i(11) ? function (e, t, i) {
-                return r.f(e, t, n(1, i))
-            }
-                : function (e, t, i) {
-                    return e[t] = i,
-                        e
-                }
-        }
-        , function (e, t) {
-            e.exports = function (e) {
-                return "object" == typeof e ? null !== e : "function" == typeof e
-            }
-        }
-        , function (e, t, i) {
-            var r = i(10)
-                , n = i(20)
-                , o = i(24)
-                , a = i(28)("src")
-                , s = i(150)
-                , x = ("" + s).split("toString");
-            i(43).inspectSource = function (e) {
-                return s.call(e)
-            }
-                ,
-                (e.exports = function (e, t, i, s) {
-                    var l = "function" == typeof i;
-                    l && (o(i, "name") || n(i, "name", t)),
-                        e[t] !== i && (l && (o(i, a) || n(i, a, e[t] ? "" + e[t] : x.join(String(t)))),
-                            e === r ? e[t] = i : s ? e[t] ? e[t] = i : n(e, t, i) : (delete e[t],
-                                n(e, t, i)))
-                }
-                )(Function.prototype, "toString", (function () {
-                    return "function" == typeof this && this[a] || s.call(this)
-                }
-                ))
-        }
-        , function (e, t, i) {
-            var r = i(10)
-                , n = i(43)
-                , o = i(20)
-                , a = i(22)
-                , s = i(51)
-                , x = function (e, t, i) {
-                    var l, c, u, h, f = e & x.F, d = e & x.G, g = e & x.S, p = e & x.P, m = e & x.B, b = d ? r : g ? r[t] || (r[t] = {}) : (r[t] || {}).prototype, v = d ? n : n[t] || (n[t] = {}), C = v.prototype || (v.prototype = {});
-                    for (l in d && (i = t),
-                        i)
-                        u = ((c = !f && b && void 0 !== b[l]) ? b : i)[l],
-                            h = m && c ? s(u, r) : p && "function" == typeof u ? s(Function.call, u) : u,
-                            b && a(b, l, u, e & x.U),
-                            v[l] != u && o(v, l, h),
-                            p && C[l] != u && (C[l] = u)
-                };
-            r.core = n,
-                x.F = 1,
-                x.G = 2,
-                x.S = 4,
-                x.P = 8,
-                x.B = 16,
-                x.W = 32,
-                x.U = 64,
-                x.R = 128,
-                e.exports = x
-        }
-        , function (e, t) {
-            var i = {}.hasOwnProperty;
-            e.exports = function (e, t) {
-                return i.call(e, t)
-            }
-        }
-        , function (e, t, i) {
-            e.exports = !i(40)((function () {
-                return 7 != Object.defineProperty({}, "a", {
-                    get: function () {
-                        return 7
-                    }
-                }).a
-            }
-            ))
-        }
-        , function (e, t, i) {
-            var r = i(27)
-                , n = i(107)
-                , o = i(78)
-                , a = Object.defineProperty;
-            t.f = i(25) ? Object.defineProperty : function (e, t, i) {
-                if (r(e),
-                    t = o(t, !0),
-                    r(i),
-                    n)
-                    try {
-                        return a(e, t, i)
-                    } catch (e) { }
-                if ("get" in i || "set" in i)
-                    throw TypeError("Accessors not supported!");
-                return "value" in i && (e[t] = i.value),
-                    e
-            }
-        }
-        , function (e, t, i) {
-            var r = i(33);
-            e.exports = function (e) {
-                if (!r(e))
-                    throw TypeError(e + " is not an object!");
-                return e
-            }
-        }
-        , function (e, t) {
-            var i = 0
-                , r = Math.random();
-            e.exports = function (e) {
-                return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++i + r).toString(36))
-            }
-        }
-        , function (e, t) {
-            var i = Math.ceil
-                , r = Math.floor;
-            e.exports = function (e) {
-                return isNaN(e = +e) ? 0 : (e > 0 ? r : i)(e)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(38);
-            e.exports = function (e) {
-                return Object(r(e))
-            }
-        }
-        , function (e, t) {
-            var i = {}.hasOwnProperty;
-            e.exports = function (e, t) {
-                return i.call(e, t)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(26)
-                , n = i(61);
-            e.exports = i(25) ? function (e, t, i) {
-                return r.f(e, t, n(1, i))
-            }
-                : function (e, t, i) {
-                    return e[t] = i,
-                        e
-                }
-        }
-        , function (e, t) {
-            e.exports = function (e) {
-                return "object" == typeof e ? null !== e : "function" == typeof e
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            if (i(11)) {
-                var r = i(35)
-                    , n = i(10)
-                    , o = i(18)
-                    , a = i(23)
-                    , s = i(123)
-                    , x = i(196)
-                    , l = i(51)
-                    , c = i(125)
-                    , u = i(45)
-                    , h = i(20)
-                    , f = i(124)
-                    , d = i(29)
-                    , g = i(19)
-                    , p = i(126)
-                    , m = i(54)
-                    , b = i(44)
-                    , v = i(24)
-                    , C = i(63)
-                    , y = i(21)
-                    , _ = i(30)
-                    , A = i(197)
-                    , I = i(52)
-                    , w = i(104)
-                    , G = i(41).f
-                    , E = i(198)
-                    , S = i(28)
-                    , T = i(4)
-                    , P = i(199)
-                    , M = i(103)
-                    , N = i(108)
-                    , L = i(42)
-                    , R = i(36)
-                    , O = i(202)
-                    , F = i(128)
-                    , D = i(92)
-                    , U = i(203)
-                    , k = i(13)
-                    , B = i(67)
-                    , W = k.f
-                    , j = B.f
-                    , V = n.RangeError
-                    , z = n.TypeError
-                    , H = n.Uint8Array
-                    , q = Array.prototype
-                    , X = x.ArrayBuffer
-                    , Y = x.DataView
-                    , K = P(0)
-                    , Q = P(2)
-                    , Z = P(3)
-                    , J = P(4)
-                    , $ = P(5)
-                    , ee = P(6)
-                    , te = M(!0)
-                    , ie = M(!1)
-                    , re = L.values
-                    , ne = L.keys
-                    , oe = L.entries
-                    , ae = q.lastIndexOf
-                    , se = q.reduce
-                    , xe = q.reduceRight
-                    , le = q.join
-                    , ce = q.sort
-                    , ue = q.slice
-                    , he = q.toString
-                    , fe = q.toLocaleString
-                    , de = T("iterator")
-                    , ge = T("toStringTag")
-                    , pe = S("typed_constructor")
-                    , me = S("def_constructor")
-                    , be = s.CONSTR
-                    , ve = s.TYPED
-                    , Ce = s.VIEW
-                    , ye = P(1, (function (e, t) {
-                        return Ge(N(e, e[me]), t)
-                    }
-                    ))
-                    , _e = o((function () {
-                        return 1 === new H(new Uint16Array([1]).buffer)[0]
-                    }
-                    ))
-                    , Ae = !!H && !!H.prototype.set && o((function () {
-                        new H(1).set({})
-                    }
-                    ))
-                    , Ie = function (e, t) {
-                        var i = d(e);
-                        if (i < 0 || i % t)
-                            throw V("Wrong offset!");
-                        return i
-                    }
-                    , we = function (e) {
-                        if (y(e) && ve in e)
-                            return e;
-                        throw z(e + " is not a typed array!")
-                    }
-                    , Ge = function (e, t) {
-                        if (!y(e) || !(pe in e))
-                            throw z("It is not a typed array constructor!");
-                        return new e(t)
-                    }
-                    , Ee = function (e, t) {
-                        return Se(N(e, e[me]), t)
-                    }
-                    , Se = function (e, t) {
-                        for (var i = 0, r = t.length, n = Ge(e, r); r > i;)
-                            n[i] = t[i++];
-                        return n
-                    }
-                    , Te = function (e, t, i) {
-                        W(e, t, {
-                            get: function () {
-                                return this._d[i]
+        ))
+    }
+    , function(e, t, i) {
+        var r = i(7)
+          , n = i(5)
+          , o = i(59)
+          , a = i(32)
+          , s = i(31)
+          , x = function(e, t, i) {
+            var l, c, u, h = e & x.F, f = e & x.G, d = e & x.S, g = e & x.P, p = e & x.B, m = e & x.W, b = f ? n : n[t] || (n[t] = {}), v = b.prototype, C = f ? r : d ? r[t] : (r[t] || {}).prototype;
+            for (l in f && (i = t),
+            i)
+                (c = !h && C && void 0 !== C[l]) && s(b, l) || (u = c ? C[l] : i[l],
+                b[l] = f && "function" != typeof C[l] ? i[l] : p && c ? o(u, r) : m && C[l] == u ? function(e) {
+                    var t = function(t, i, r) {
+                        if (this instanceof e) {
+                            switch (arguments.length) {
+                            case 0:
+                                return new e;
+                            case 1:
+                                return new e(t);
+                            case 2:
+                                return new e(t,i)
                             }
-                        })
-                    }
-                    , Pe = function (e) {
-                        var t, i, r, n, o, a, s = _(e), x = arguments.length, c = x > 1 ? arguments[1] : void 0, u = void 0 !== c, h = E(s);
-                        if (null != h && !A(h)) {
-                            for (a = h.call(s),
-                                r = [],
-                                t = 0; !(o = a.next()).done; t++)
-                                r.push(o.value);
-                            s = r
+                            return new e(t,i,r)
                         }
-                        for (u && x > 2 && (c = l(c, arguments[2], 2)),
-                            t = 0,
-                            i = g(s.length),
-                            n = Ge(this, i); i > t; t++)
-                            n[t] = u ? c(s[t], t) : s[t];
-                        return n
-                    }
-                    , Me = function () {
-                        for (var e = 0, t = arguments.length, i = Ge(this, t); t > e;)
-                            i[e] = arguments[e++];
-                        return i
-                    }
-                    , Ne = !!H && o((function () {
-                        fe.call(new H(1))
-                    }
-                    ))
-                    , Le = function () {
-                        return fe.apply(Ne ? ue.call(we(this)) : we(this), arguments)
-                    }
-                    , Re = {
-                        copyWithin: function (e, t) {
-                            return U.call(we(this), e, t, arguments.length > 2 ? arguments[2] : void 0)
-                        },
-                        every: function (e) {
-                            return J(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
-                        },
-                        fill: function (e) {
-                            return D.apply(we(this), arguments)
-                        },
-                        filter: function (e) {
-                            return Ee(this, Q(we(this), e, arguments.length > 1 ? arguments[1] : void 0))
-                        },
-                        find: function (e) {
-                            return $(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
-                        },
-                        findIndex: function (e) {
-                            return ee(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
-                        },
-                        forEach: function (e) {
-                            K(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
-                        },
-                        indexOf: function (e) {
-                            return ie(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
-                        },
-                        includes: function (e) {
-                            return te(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
-                        },
-                        join: function (e) {
-                            return le.apply(we(this), arguments)
-                        },
-                        lastIndexOf: function (e) {
-                            return ae.apply(we(this), arguments)
-                        },
-                        map: function (e) {
-                            return ye(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
-                        },
-                        reduce: function (e) {
-                            return se.apply(we(this), arguments)
-                        },
-                        reduceRight: function (e) {
-                            return xe.apply(we(this), arguments)
-                        },
-                        reverse: function () {
-                            for (var e, t = we(this).length, i = Math.floor(t / 2), r = 0; r < i;)
-                                e = this[r],
-                                    this[r++] = this[--t],
-                                    this[t] = e;
-                            return this
-                        },
-                        some: function (e) {
-                            return Z(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
-                        },
-                        sort: function (e) {
-                            return ce.call(we(this), e)
-                        },
-                        subarray: function (e, t) {
-                            var i = we(this)
-                                , r = i.length
-                                , n = m(e, r);
-                            return new (N(i, i[me]))(i.buffer, i.byteOffset + n * i.BYTES_PER_ELEMENT, g((void 0 === t ? r : m(t, r)) - n))
-                        }
-                    }
-                    , Oe = function (e, t) {
-                        return Ee(this, ue.call(we(this), e, t))
-                    }
-                    , Fe = function (e) {
-                        we(this);
-                        var t = Ie(arguments[1], 1)
-                            , i = this.length
-                            , r = _(e)
-                            , n = g(r.length)
-                            , o = 0;
-                        if (n + t > i)
-                            throw V("Wrong length!");
-                        for (; o < n;)
-                            this[t + o] = r[o++]
-                    }
-                    , De = {
-                        entries: function () {
-                            return oe.call(we(this))
-                        },
-                        keys: function () {
-                            return ne.call(we(this))
-                        },
-                        values: function () {
-                            return re.call(we(this))
-                        }
-                    }
-                    , Ue = function (e, t) {
-                        return y(e) && e[ve] && "symbol" != typeof t && t in e && String(+t) == String(t)
-                    }
-                    , ke = function (e, t) {
-                        return Ue(e, t = b(t, !0)) ? u(2, e[t]) : j(e, t)
-                    }
-                    , Be = function (e, t, i) {
-                        return !(Ue(e, t = b(t, !0)) && y(i) && v(i, "value")) || v(i, "get") || v(i, "set") || i.configurable || v(i, "writable") && !i.writable || v(i, "enumerable") && !i.enumerable ? W(e, t, i) : (e[t] = i.value,
-                            e)
+                        return e.apply(this, arguments)
                     };
-                be || (B.f = ke,
-                    k.f = Be),
-                    a(a.S + a.F * !be, "Object", {
-                        getOwnPropertyDescriptor: ke,
-                        defineProperty: Be
-                    }),
-                    o((function () {
-                        he.call({})
-                    }
-                    )) && (he = fe = function () {
-                        return le.call(this)
-                    }
-                    );
-                var We = f({}, Re);
-                f(We, De),
-                    h(We, de, De.values),
-                    f(We, {
-                        slice: Oe,
-                        set: Fe,
-                        constructor: function () { },
-                        toString: he,
-                        toLocaleString: Le
-                    }),
-                    Te(We, "buffer", "b"),
-                    Te(We, "byteOffset", "o"),
-                    Te(We, "byteLength", "l"),
-                    Te(We, "length", "e"),
-                    W(We, ge, {
-                        get: function () {
-                            return this[ve]
-                        }
-                    }),
-                    e.exports = function (e, t, i, x) {
-                        var l = e + ((x = !!x) ? "Clamped" : "") + "Array"
-                            , u = "get" + e
-                            , f = "set" + e
-                            , d = n[l]
-                            , m = d || {}
-                            , b = d && w(d)
-                            , v = !d || !s.ABV
-                            , _ = {}
-                            , A = d && d.prototype
-                            , E = function (e, i) {
-                                W(e, i, {
-                                    get: function () {
-                                        return function (e, i) {
-                                            var r = e._d;
-                                            return r.v[u](i * t + r.o, _e)
-                                        }(this, i)
-                                    },
-                                    set: function (e) {
-                                        return function (e, i, r) {
-                                            var n = e._d;
-                                            x && (r = (r = Math.round(r)) < 0 ? 0 : r > 255 ? 255 : 255 & r),
-                                                n.v[f](i * t + n.o, r, _e)
-                                        }(this, i, e)
-                                    },
-                                    enumerable: !0
-                                })
-                            };
-                        v ? (d = i((function (e, i, r, n) {
-                            c(e, d, l, "_d");
-                            var o, a, s, x, u = 0, f = 0;
-                            if (y(i)) {
-                                if (!(i instanceof X || "ArrayBuffer" == (x = C(i)) || "SharedArrayBuffer" == x))
-                                    return ve in i ? Se(d, i) : Pe.call(d, i);
-                                o = i,
-                                    f = Ie(r, t);
-                                var m = i.byteLength;
-                                if (void 0 === n) {
-                                    if (m % t)
-                                        throw V("Wrong length!");
-                                    if ((a = m - f) < 0)
-                                        throw V("Wrong length!")
-                                } else if ((a = g(n) * t) + f > m)
-                                    throw V("Wrong length!");
-                                s = a / t
-                            } else
-                                s = p(i),
-                                    o = new X(a = s * t);
-                            for (h(e, "_d", {
-                                b: o,
-                                o: f,
-                                l: a,
-                                e: s,
-                                v: new Y(o)
-                            }); u < s;)
-                                E(e, u++)
-                        }
-                        )),
-                            A = d.prototype = I(We),
-                            h(A, "constructor", d)) : o((function () {
-                                d(1)
-                            }
-                            )) && o((function () {
-                                new d(-1)
-                            }
-                            )) && O((function (e) {
-                                new d,
-                                    new d(null),
-                                    new d(1.5),
-                                    new d(e)
-                            }
-                            ), !0) || (d = i((function (e, i, r, n) {
-                                var o;
-                                return c(e, d, l),
-                                    y(i) ? i instanceof X || "ArrayBuffer" == (o = C(i)) || "SharedArrayBuffer" == o ? void 0 !== n ? new m(i, Ie(r, t), n) : void 0 !== r ? new m(i, Ie(r, t)) : new m(i) : ve in i ? Se(d, i) : Pe.call(d, i) : new m(p(i))
-                            }
-                            )),
-                                K(b !== Function.prototype ? G(m).concat(G(b)) : G(m), (function (e) {
-                                    e in d || h(d, e, m[e])
-                                }
-                                )),
-                                d.prototype = A,
-                                r || (A.constructor = d));
-                        var S = A[de]
-                            , T = !!S && ("values" == S.name || null == S.name)
-                            , P = De.values;
-                        h(d, pe, !0),
-                            h(A, ve, l),
-                            h(A, Ce, !0),
-                            h(A, me, d),
-                            (x ? new d(1)[ge] == l : ge in A) || W(A, ge, {
-                                get: function () {
-                                    return l
-                                }
-                            }),
-                            _[l] = d,
-                            a(a.G + a.W + a.F * (d != m), _),
-                            a(a.S, l, {
-                                BYTES_PER_ELEMENT: t
-                            }),
-                            a(a.S + a.F * o((function () {
-                                m.of.call(d, 1)
-                            }
-                            )), l, {
-                                from: Pe,
-                                of: Me
-                            }),
-                            "BYTES_PER_ELEMENT" in A || h(A, "BYTES_PER_ELEMENT", t),
-                            a(a.P, l, Re),
-                            F(l),
-                            a(a.P + a.F * Ae, l, {
-                                set: Fe
-                            }),
-                            a(a.P + a.F * !T, l, De),
-                            r || A.toString == he || (A.toString = he),
-                            a(a.P + a.F * o((function () {
-                                new d(1).slice()
-                            }
-                            )), l, {
-                                slice: Oe
-                            }),
-                            a(a.P + a.F * (o((function () {
-                                return [1, 2].toLocaleString() != new d([1, 2]).toLocaleString()
-                            }
-                            )) || !o((function () {
-                                A.toLocaleString.call([1, 2])
-                            }
-                            ))), l, {
-                                toLocaleString: Le
-                            }),
-                            R[l] = T ? S : P,
-                            r || T || h(A, de, P)
-                    }
-            } else
-                e.exports = function () { }
-        }
-        , function (e, t) {
-            e.exports = !1
-        }
-        , function (e, t) {
-            e.exports = {}
-        }
-        , function (e, t, i) {
-            var r = i(100)
-                , n = i(38);
-            e.exports = function (e) {
-                return r(n(e))
-            }
-        }
-        , function (e, t) {
-            e.exports = function (e) {
-                if (null == e)
-                    throw TypeError("Can't call method on  " + e);
-                return e
-            }
-        }
-        , function (e, t, i) {
-            var r = i(156)
-                , n = i(56);
-            e.exports = function (e) {
-                return r(n(e))
-            }
-        }
-        , function (e, t) {
-            e.exports = function (e) {
-                try {
-                    return !!e()
-                } catch (e) {
-                    return !0
-                }
-            }
-        }
-        , function (e, t, i) {
-            var r = i(102)
-                , n = i(71).concat("length", "prototype");
-            t.f = Object.getOwnPropertyNames || function (e) {
-                return r(e, n)
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(97)
-                , n = i(148)
-                , o = i(36)
-                , a = i(37);
-            e.exports = i(149)(Array, "Array", (function (e, t) {
-                this._t = a(e),
-                    this._i = 0,
-                    this._k = t
-            }
-            ), (function () {
-                var e = this._t
-                    , t = this._k
-                    , i = this._i++;
-                return !e || i >= e.length ? (this._t = void 0,
-                    n(1)) : n(0, "keys" == t ? i : "values" == t ? e[i] : [i, e[i]])
-            }
-            ), "values"),
-                o.Arguments = o.Array,
-                r("keys"),
-                r("values"),
-                r("entries")
-        }
-        , function (e, t) {
-            var i = e.exports = {
-                version: "2.6.11"
-            };
-            "number" == typeof __e && (__e = i)
-        }
-        , function (e, t, i) {
-            var r = i(21);
-            e.exports = function (e, t) {
-                if (!r(e))
-                    return e;
-                var i, n;
-                if (t && "function" == typeof (i = e.toString) && !r(n = i.call(e)))
-                    return n;
-                if ("function" == typeof (i = e.valueOf) && !r(n = i.call(e)))
-                    return n;
-                if (!t && "function" == typeof (i = e.toString) && !r(n = i.call(e)))
-                    return n;
-                throw TypeError("Can't convert object to primitive value")
-            }
-        }
-        , function (e, t) {
-            e.exports = function (e, t) {
-                return {
-                    enumerable: !(1 & e),
-                    configurable: !(2 & e),
-                    writable: !(4 & e),
-                    value: t
-                }
-            }
-        }
-        , function (e, t) {
-            var i = {}.toString;
-            e.exports = function (e) {
-                return i.call(e).slice(8, -1)
-            }
-        }
-        , function (e, t) {
-            var i = {}.toString;
-            e.exports = function (e) {
-                return i.call(e).slice(8, -1)
-            }
-        }
-        , function (e, t) {
-            e.exports = !0
-        }
-        , function (e, t) {
-            e.exports = {}
-        }
-        , function (e, t, i) {
-            var r = i(43)
-                , n = i(10)
-                , o = n["__core-js_shared__"] || (n["__core-js_shared__"] = {});
-            (e.exports = function (e, t) {
-                return o[e] || (o[e] = void 0 !== t ? t : {})
-            }
-            )("versions", []).push({
-                version: r.version,
-                mode: i(35) ? "pure" : "global",
-                copyright: "漏 2019 Denis Pushkarev (zloirock.ru)"
-            })
-        }
-        , function (e, t, i) {
-            var r = i(101);
-            e.exports = function (e, t, i) {
-                if (r(e),
-                    void 0 === t)
-                    return e;
-                switch (i) {
-                    case 1:
-                        return function (i) {
-                            return e.call(t, i)
-                        }
-                            ;
-                    case 2:
-                        return function (i, r) {
-                            return e.call(t, i, r)
-                        }
-                            ;
-                    case 3:
-                        return function (i, r, n) {
-                            return e.call(t, i, r, n)
-                        }
-                }
-                return function () {
-                    return e.apply(t, arguments)
-                }
-            }
-        }
-        , function (e, t, i) {
-            var r = i(17)
-                , n = i(152)
-                , o = i(71)
-                , a = i(70)("IE_PROTO")
-                , s = function () { }
-                , x = function () {
-                    var e, t = i(99)("iframe"), r = o.length;
-                    for (t.style.display = "none",
-                        i(153).appendChild(t),
-                        t.src = "javascript:",
-                        (e = t.contentWindow.document).open(),
-                        e.write("<script>document.F=Object<\/script>"),
-                        e.close(),
-                        x = e.F; r--;)
-                        delete x.prototype[o[r]];
-                    return x()
-                };
-            e.exports = Object.create || function (e, t) {
-                var i;
-                return null !== e ? (s.prototype = r(e),
-                    i = new s,
-                    s.prototype = null,
-                    i[a] = e) : i = x(),
-                    void 0 === t ? i : n(i, t)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(102)
-                , n = i(71);
-            e.exports = Object.keys || function (e) {
-                return r(e, n)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(29)
-                , n = Math.max
-                , o = Math.min;
-            e.exports = function (e, t) {
-                return (e = r(e)) < 0 ? n(e + t, 0) : o(e, t)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(13).f
-                , n = i(24)
-                , o = i(4)("toStringTag");
-            e.exports = function (e, t, i) {
-                e && !n(e = i ? e : e.prototype, o) && r(e, o, {
-                    configurable: !0,
-                    value: t
-                })
-            }
-        }
-        , function (e, t) {
-            e.exports = function (e) {
-                if (null == e)
-                    throw TypeError("Can't call method on  " + e);
-                return e
-            }
-        }
-        , function (e, t, i) {
-            var r = i(105)
-                , n = i(76);
-            e.exports = Object.keys || function (e) {
-                return r(e, n)
-            }
-        }
-        , function (e, t) {
-            var i = 0
-                , r = Math.random();
-            e.exports = function (e) {
-                return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++i + r).toString(36))
-            }
-        }
-        , function (e, t, i) {
-            var r = i(60);
-            e.exports = function (e, t, i) {
-                if (r(e),
-                    void 0 === t)
-                    return e;
-                switch (i) {
-                    case 1:
-                        return function (i) {
-                            return e.call(t, i)
-                        }
-                            ;
-                    case 2:
-                        return function (i, r) {
-                            return e.call(t, i, r)
-                        }
-                            ;
-                    case 3:
-                        return function (i, r, n) {
-                            return e.call(t, i, r, n)
-                        }
-                }
-                return function () {
-                    return e.apply(t, arguments)
-                }
-            }
-        }
-        , function (e, t) {
-            e.exports = function (e) {
-                if ("function" != typeof e)
-                    throw TypeError(e + " is not a function!");
-                return e
-            }
-        }
-        , function (e, t) {
-            e.exports = function (e, t) {
-                return {
-                    enumerable: !(1 & e),
-                    configurable: !(2 & e),
-                    writable: !(4 & e),
-                    value: t
-                }
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(63)
-                , n = RegExp.prototype.exec;
-            e.exports = function (e, t) {
-                var i = e.exec;
-                if ("function" == typeof i) {
-                    var o = i.call(e, t);
-                    if ("object" != typeof o)
-                        throw new TypeError("RegExp exec method returned something other than an Object or null");
-                    return o
-                }
-                if ("RegExp" !== r(e))
-                    throw new TypeError("RegExp#exec called on incompatible receiver");
-                return n.call(e, t)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(46)
-                , n = i(4)("toStringTag")
-                , o = "Arguments" == r(function () {
-                    return arguments
-                }());
-            e.exports = function (e) {
-                var t, i, a;
-                return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (i = function (e, t) {
-                    try {
-                        return e[t]
-                    } catch (e) { }
-                }(t = Object(e), n)) ? i : o ? r(t) : "Object" == (a = r(t)) && "function" == typeof t.callee ? "Arguments" : a
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(17);
-            e.exports = function () {
-                var e = r(this)
-                    , t = "";
-                return e.global && (t += "g"),
-                    e.ignoreCase && (t += "i"),
-                    e.multiline && (t += "m"),
-                    e.unicode && (t += "u"),
-                    e.sticky && (t += "y"),
+                    return t.prototype = e.prototype,
                     t
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            i(163);
-            var r = i(22)
-                , n = i(20)
-                , o = i(18)
-                , a = i(38)
-                , s = i(4)
-                , x = i(82)
-                , l = s("species")
-                , c = !o((function () {
-                    var e = /./;
-                    return e.exec = function () {
-                        var e = [];
-                        return e.groups = {
-                            a: "7"
-                        },
-                            e
-                    }
-                        ,
-                        "7" !== "".replace(e, "$<a>")
-                }
-                ))
-                , u = function () {
-                    var e = /(?:)/
-                        , t = e.exec;
-                    e.exec = function () {
-                        return t.apply(this, arguments)
-                    }
-                        ;
-                    var i = "ab".split(e);
-                    return 2 === i.length && "a" === i[0] && "b" === i[1]
-                }();
-            e.exports = function (e, t, i) {
-                var h = s(e)
-                    , f = !o((function () {
-                        var t = {};
-                        return t[h] = function () {
-                            return 7
-                        }
-                            ,
-                            7 != ""[e](t)
-                    }
-                    ))
-                    , d = f ? !o((function () {
-                        var t = !1
-                            , i = /a/;
-                        return i.exec = function () {
-                            return t = !0,
-                                null
-                        }
-                            ,
-                            "split" === e && (i.constructor = {},
-                                i.constructor[l] = function () {
-                                    return i
-                                }
-                            ),
-                            i[h](""),
-                            !t
-                    }
-                    )) : void 0;
-                if (!f || !d || "replace" === e && !c || "split" === e && !u) {
-                    var g = /./[h]
-                        , p = i(a, h, ""[e], (function (e, t, i, r, n) {
-                            return t.exec === x ? f && !n ? {
-                                done: !0,
-                                value: g.call(t, i, r)
-                            } : {
-                                done: !0,
-                                value: e.call(i, t, r)
-                            } : {
-                                done: !1
-                            }
-                        }
-                        ))
-                        , m = p[0]
-                        , b = p[1];
-                    r(String.prototype, e, m),
-                        n(RegExp.prototype, h, 2 == t ? function (e, t) {
-                            return b.call(e, this, t)
-                        }
-                            : function (e) {
-                                return b.call(e, this)
-                            }
-                        )
-                }
-            }
-        }
-        , function (e, t, i) {
-            var r = i(26).f
-                , n = i(31)
-                , o = i(14)("toStringTag");
-            e.exports = function (e, t, i) {
-                e && !n(e = i ? e : e.prototype, o) && r(e, o, {
-                    configurable: !0,
-                    value: t
-                })
-            }
-        }
-        , function (e, t, i) {
-            var r = i(93)
-                , n = i(45)
-                , o = i(37)
-                , a = i(44)
-                , s = i(24)
-                , x = i(98)
-                , l = Object.getOwnPropertyDescriptor;
-            t.f = i(11) ? l : function (e, t) {
-                if (e = o(e),
-                    t = a(t, !0),
-                    x)
-                    try {
-                        return l(e, t)
-                    } catch (e) { }
-                if (s(e, t))
-                    return n(!r.f.call(e, t), e[t])
-            }
-        }
-        , function (e, t, i) {
-            e.exports = i(214)
-        }
-        , function (e, t, i) {
-            for (var r = i(42), n = i(53), o = i(22), a = i(10), s = i(20), x = i(36), l = i(4), c = l("iterator"), u = l("toStringTag"), h = x.Array, f = {
-                CSSRuleList: !0,
-                CSSStyleDeclaration: !1,
-                CSSValueList: !1,
-                ClientRectList: !1,
-                DOMRectList: !1,
-                DOMStringList: !1,
-                DOMTokenList: !0,
-                DataTransferItemList: !1,
-                FileList: !1,
-                HTMLAllCollection: !1,
-                HTMLCollection: !1,
-                HTMLFormElement: !1,
-                HTMLSelectElement: !1,
-                MediaList: !0,
-                MimeTypeArray: !1,
-                NamedNodeMap: !1,
-                NodeList: !0,
-                PaintRequestList: !1,
-                Plugin: !1,
-                PluginArray: !1,
-                SVGLengthList: !1,
-                SVGNumberList: !1,
-                SVGPathSegList: !1,
-                SVGPointList: !1,
-                SVGStringList: !1,
-                SVGTransformList: !1,
-                SourceBufferList: !1,
-                StyleSheetList: !0,
-                TextTrackCueList: !1,
-                TextTrackList: !1,
-                TouchList: !1
-            }, d = n(f), g = 0; g < d.length; g++) {
-                var p, m = d[g], b = f[m], v = a[m], C = v && v.prototype;
-                if (C && (C[c] || s(C, c, h),
-                    C[u] || s(C, u, m),
-                    x[m] = h,
-                    b))
-                    for (p in r)
-                        C[p] || o(C, p, r[p], !0)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(50)("keys")
-                , n = i(28);
-            e.exports = function (e) {
-                return r[e] || (r[e] = n(e))
-            }
-        }
-        , function (e, t) {
-            e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
-        }
-        , function (e, t, i) {
-            var r = i(56);
-            e.exports = function (e) {
-                return Object(r(e))
-            }
-        }
-        , function (e, t) {
-            var i = Math.ceil
-                , r = Math.floor;
-            e.exports = function (e) {
-                return isNaN(e = +e) ? 0 : (e > 0 ? r : i)(e)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(75)("keys")
-                , n = i(58);
-            e.exports = function (e) {
-                return r[e] || (r[e] = n(e))
-            }
-        }
-        , function (e, t, i) {
-            var r = i(5)
-                , n = i(7)
-                , o = n["__core-js_shared__"] || (n["__core-js_shared__"] = {});
-            (e.exports = function (e, t) {
-                return o[e] || (o[e] = void 0 !== t ? t : {})
-            }
-            )("versions", []).push({
-                version: r.version,
-                mode: i(48) ? "pure" : "global",
-                copyright: "漏 2019 Denis Pushkarev (zloirock.ru)"
-            })
-        }
-        , function (e, t) {
-            e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
-        }
-        , function (e, t, i) {
-            var r = i(33)
-                , n = i(7).document
-                , o = r(n) && r(n.createElement);
-            e.exports = function (e) {
-                return o ? n.createElement(e) : {}
-            }
-        }
-        , function (e, t, i) {
-            var r = i(33);
-            e.exports = function (e, t) {
-                if (!r(e))
-                    return e;
-                var i, n;
-                if (t && "function" == typeof (i = e.toString) && !r(n = i.call(e)))
-                    return n;
-                if ("function" == typeof (i = e.valueOf) && !r(n = i.call(e)))
-                    return n;
-                if (!t && "function" == typeof (i = e.toString) && !r(n = i.call(e)))
-                    return n;
-                throw TypeError("Can't convert object to primitive value")
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(80)
-                , n = i(17)
-                , o = i(108)
-                , a = i(81)
-                , s = i(19)
-                , x = i(62)
-                , l = i(82)
-                , c = i(18)
-                , u = Math.min
-                , h = [].push
-                , f = "length"
-                , d = !c((function () {
-                    RegExp(4294967295, "y")
-                }
-                ));
-            i(65)("split", 2, (function (e, t, i, c) {
-                var g;
-                return g = "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1)[f] || 2 != "ab".split(/(?:ab)*/)[f] || 4 != ".".split(/(.?)(.?)/)[f] || ".".split(/()()/)[f] > 1 || "".split(/.?/)[f] ? function (e, t) {
-                    var n = String(this);
-                    if (void 0 === e && 0 === t)
-                        return [];
-                    if (!r(e))
-                        return i.call(n, e, t);
-                    for (var o, a, s, x = [], c = (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.unicode ? "u" : "") + (e.sticky ? "y" : ""), u = 0, d = void 0 === t ? 4294967295 : t >>> 0, g = new RegExp(e.source, c + "g"); (o = l.call(g, n)) && !((a = g.lastIndex) > u && (x.push(n.slice(u, o.index)),
-                        o[f] > 1 && o.index < n[f] && h.apply(x, o.slice(1)),
-                        s = o[0][f],
-                        u = a,
-                        x[f] >= d));)
-                        g.lastIndex === o.index && g.lastIndex++;
-                    return u === n[f] ? !s && g.test("") || x.push("") : x.push(n.slice(u)),
-                        x[f] > d ? x.slice(0, d) : x
-                }
-                    : "0".split(void 0, 0)[f] ? function (e, t) {
-                        return void 0 === e && 0 === t ? [] : i.call(this, e, t)
-                    }
-                        : i,
-                    [function (i, r) {
-                        var n = e(this)
-                            , o = null == i ? void 0 : i[t];
-                        return void 0 !== o ? o.call(i, n, r) : g.call(String(n), i, r)
-                    }
-                        , function (e, t) {
-                            var r = c(g, e, this, t, g !== i);
-                            if (r.done)
-                                return r.value;
-                            var l = n(e)
-                                , h = String(this)
-                                , f = o(l, RegExp)
-                                , p = l.unicode
-                                , m = (l.ignoreCase ? "i" : "") + (l.multiline ? "m" : "") + (l.unicode ? "u" : "") + (d ? "y" : "g")
-                                , b = new f(d ? l : "^(?:" + l.source + ")", m)
-                                , v = void 0 === t ? 4294967295 : t >>> 0;
-                            if (0 === v)
-                                return [];
-                            if (0 === h.length)
-                                return null === x(b, h) ? [h] : [];
-                            for (var C = 0, y = 0, _ = []; y < h.length;) {
-                                b.lastIndex = d ? y : 0;
-                                var A, I = x(b, d ? h : h.slice(y));
-                                if (null === I || (A = u(s(b.lastIndex + (d ? 0 : y)), h.length)) === C)
-                                    y = a(h, y, p);
-                                else {
-                                    if (_.push(h.slice(C, y)),
-                                        _.length === v)
-                                        return _;
-                                    for (var w = 1; w <= I.length - 1; w++)
-                                        if (_.push(I[w]),
-                                            _.length === v)
-                                            return _;
-                                    y = C = A
-                                }
-                            }
-                            return _.push(h.slice(C)),
-                                _
-                        }
-                    ]
-            }
-            ))
-        }
-        , function (e, t, i) {
-            var r = i(21)
-                , n = i(46)
-                , o = i(4)("match");
-            e.exports = function (e) {
-                var t;
-                return r(e) && (void 0 !== (t = e[o]) ? !!t : "RegExp" == n(e))
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(162)(!0);
-            e.exports = function (e, t, i) {
-                return t + (i ? r(e, t).length : 1)
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r, n, o = i(64), a = RegExp.prototype.exec, s = String.prototype.replace, x = a, l = (r = /a/,
-                n = /b*/g,
-                a.call(r, "a"),
-                a.call(n, "a"),
-                0 !== r.lastIndex || 0 !== n.lastIndex), c = void 0 !== /()??/.exec("")[1];
-            (l || c) && (x = function (e) {
-                var t, i, r, n, x = this;
-                return c && (i = new RegExp("^" + x.source + "$(?!\\s)", o.call(x))),
-                    l && (t = x.lastIndex),
-                    r = a.call(x, e),
-                    l && r && (x.lastIndex = x.global ? r.index + r[0].length : t),
-                    c && r && r.length > 1 && s.call(r[0], i, (function () {
-                        for (n = 1; n < arguments.length - 2; n++)
-                            void 0 === arguments[n] && (r[n] = void 0)
-                    }
-                    )),
-                    r
-            }
-            ),
-                e.exports = x
-        }
-        , function (e, t, i) {
-            var r = i(27)
-                , n = i(109)
-                , o = i(76)
-                , a = i(74)("IE_PROTO")
-                , s = function () { }
-                , x = function () {
-                    var e, t = i(77)("iframe"), r = o.length;
-                    for (t.style.display = "none",
-                        i(110).appendChild(t),
-                        t.src = "javascript:",
-                        (e = t.contentWindow.document).open(),
-                        e.write("<script>document.F=Object<\/script>"),
-                        e.close(),
-                        x = e.F; r--;)
-                        delete x.prototype[o[r]];
-                    return x()
-                };
-            e.exports = Object.create || function (e, t) {
-                var i;
-                return null !== e ? (s.prototype = r(e),
-                    i = new s,
-                    s.prototype = null,
-                    i[a] = e) : i = x(),
-                    void 0 === t ? i : n(i, t)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(13).f
-                , n = Function.prototype
-                , o = /^\s*function ([^ (]*)/;
-            "name" in n || i(11) && r(n, "name", {
-                configurable: !0,
-                get: function () {
-                    try {
-                        return ("" + this).match(o)[1]
-                    } catch (e) {
-                        return ""
-                    }
-                }
-            })
-        }
-        , function (e, t, i) {
-            "use strict";
-            i(166);
-            var r = i(17)
-                , n = i(64)
-                , o = i(11)
-                , a = /./.toString
-                , s = function (e) {
-                    i(22)(RegExp.prototype, "toString", e, !0)
-                };
-            i(18)((function () {
-                return "/a/b" != a.call({
-                    source: "a",
-                    flags: "b"
-                })
-            }
-            )) ? s((function () {
-                var e = r(this);
-                return "/".concat(e.source, "/", "flags" in e ? e.flags : !o && e instanceof RegExp ? n.call(e) : void 0)
-            }
-            )) : "toString" != a.name && s((function () {
-                return a.call(this)
-            }
-            ))
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(63)
-                , n = {};
-            n[i(4)("toStringTag")] = "z",
-                n + "" != "[object z]" && i(22)(Object.prototype, "toString", (function () {
-                    return "[object " + r(this) + "]"
-                }
-                ), !0)
-        }
-        , function (e, t) {
-            e.exports = "\t\n\v\f\r 聽釟�釥庘��鈥佲�傗�冣�勨�呪�嗏�団�堚�夆�娾�仧銆�\u2028\u2029\ufeff"
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(17)
-                , n = i(30)
-                , o = i(19)
-                , a = i(29)
-                , s = i(81)
-                , x = i(62)
-                , l = Math.max
-                , c = Math.min
-                , u = Math.floor
-                , h = /\$([$&`']|\d\d?|<[^>]*>)/g
-                , f = /\$([$&`']|\d\d?)/g;
-            i(65)("replace", 2, (function (e, t, i, d) {
-                return [function (r, n) {
-                    var o = e(this)
-                        , a = null == r ? void 0 : r[t];
-                    return void 0 !== a ? a.call(r, o, n) : i.call(String(o), r, n)
-                }
-                    , function (e, t) {
-                        var n = d(i, e, this, t);
-                        if (n.done)
-                            return n.value;
-                        var u = r(e)
-                            , h = String(this)
-                            , f = "function" == typeof t;
-                        f || (t = String(t));
-                        var p = u.global;
-                        if (p) {
-                            var m = u.unicode;
-                            u.lastIndex = 0
-                        }
-                        for (var b = []; ;) {
-                            var v = x(u, h);
-                            if (null === v)
-                                break;
-                            if (b.push(v),
-                                !p)
-                                break;
-                            "" === String(v[0]) && (u.lastIndex = s(h, o(u.lastIndex), m))
-                        }
-                        for (var C, y = "", _ = 0, A = 0; A < b.length; A++) {
-                            v = b[A];
-                            for (var I = String(v[0]), w = l(c(a(v.index), h.length), 0), G = [], E = 1; E < v.length; E++)
-                                G.push(void 0 === (C = v[E]) ? C : String(C));
-                            var S = v.groups;
-                            if (f) {
-                                var T = [I].concat(G, w, h);
-                                void 0 !== S && T.push(S);
-                                var P = String(t.apply(void 0, T))
-                            } else
-                                P = g(I, h, w, G, S, t);
-                            w >= _ && (y += h.slice(_, w) + P,
-                                _ = w + I.length)
-                        }
-                        return y + h.slice(_)
-                    }
-                ];
-                function g(e, t, r, o, a, s) {
-                    var x = r + e.length
-                        , l = o.length
-                        , c = f;
-                    return void 0 !== a && (a = n(a),
-                        c = h),
-                        i.call(s, c, (function (i, n) {
-                            var s;
-                            switch (n.charAt(0)) {
-                                case "$":
-                                    return "$";
-                                case "&":
-                                    return e;
-                                case "`":
-                                    return t.slice(0, r);
-                                case "'":
-                                    return t.slice(x);
-                                case "<":
-                                    s = a[n.slice(1, -1)];
-                                    break;
-                                default:
-                                    var c = +n;
-                                    if (0 === c)
-                                        return i;
-                                    if (c > l) {
-                                        var h = u(c / 10);
-                                        return 0 === h ? i : h <= l ? void 0 === o[h - 1] ? n.charAt(1) : o[h - 1] + n.charAt(1) : i
-                                    }
-                                    s = o[c - 1]
-                            }
-                            return void 0 === s ? "" : s
-                        }
-                        ))
-                }
-            }
-            ))
-        }
-        , function (e, t, i) {
-            t.f = i(14)
-        }
-        , function (e, t, i) {
-            var r = i(7)
-                , n = i(5)
-                , o = i(48)
-                , a = i(89)
-                , s = i(26).f;
-            e.exports = function (e) {
-                var t = n.Symbol || (n.Symbol = o ? {} : r.Symbol || {});
-                "_" == e.charAt(0) || e in t || s(t, e, {
-                    value: a.f(e)
-                })
-            }
-        }
-        , function (e, t) {
-            t.f = {}.propertyIsEnumerable
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(30)
-                , n = i(54)
-                , o = i(19);
-            e.exports = function (e) {
-                for (var t = r(this), i = o(t.length), a = arguments.length, s = n(a > 1 ? arguments[1] : void 0, i), x = a > 2 ? arguments[2] : void 0, l = void 0 === x ? i : n(x, i); l > s;)
-                    t[s++] = e;
-                return t
-            }
-        }
-        , function (e, t) {
-            t.f = {}.propertyIsEnumerable
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(60);
-            function n(e) {
-                var t, i;
-                this.promise = new e((function (e, r) {
-                    if (void 0 !== t || void 0 !== i)
-                        throw TypeError("Bad Promise constructor");
-                    t = e,
-                        i = r
-                }
-                )),
-                    this.resolve = r(t),
-                    this.reject = r(i)
-            }
-            e.exports.f = function (e) {
-                return new n(e)
-            }
-        }
-        , function (e, t) {
-            var i, r, n = e.exports = {};
-            function o() {
-                throw new Error("setTimeout has not been defined")
-            }
-            function a() {
-                throw new Error("clearTimeout has not been defined")
-            }
-            function s(e) {
-                if (i === setTimeout)
-                    return setTimeout(e, 0);
-                if ((i === o || !i) && setTimeout)
-                    return i = setTimeout,
-                        setTimeout(e, 0);
+                }(u) : g && "function" == typeof u ? o(Function.call, u) : u,
+                g && ((b.virtual || (b.virtual = {}))[l] = u,
+                e & x.R && v && !v[l] && a(v, l, u)))
+        };
+        x.F = 1,
+        x.G = 2,
+        x.S = 4,
+        x.P = 8,
+        x.B = 16,
+        x.W = 32,
+        x.U = 64,
+        x.R = 128,
+        e.exports = x
+    }
+    , function(e, t, i) {
+        var r = i(17)
+          , n = i(98)
+          , o = i(44)
+          , a = Object.defineProperty;
+        t.f = i(11) ? Object.defineProperty : function(e, t, i) {
+            if (r(e),
+            t = o(t, !0),
+            r(i),
+            n)
                 try {
-                    return i(e, 0)
-                } catch (t) {
-                    try {
-                        return i.call(null, e, 0)
-                    } catch (t) {
-                        return i.call(this, e, 0)
-                    }
-                }
-            }
-            !function () {
-                try {
-                    i = "function" == typeof setTimeout ? setTimeout : o
-                } catch (e) {
-                    i = o
-                }
-                try {
-                    r = "function" == typeof clearTimeout ? clearTimeout : a
-                } catch (e) {
-                    r = a
-                }
-            }();
-            var x, l = [], c = !1, u = -1;
-            function h() {
-                c && x && (c = !1,
-                    x.length ? l = x.concat(l) : u = -1,
-                    l.length && f())
-            }
-            function f() {
-                if (!c) {
-                    var e = s(h);
-                    c = !0;
-                    for (var t = l.length; t;) {
-                        for (x = l,
-                            l = []; ++u < t;)
-                            x && x[u].run();
-                        u = -1,
-                            t = l.length
-                    }
-                    x = null,
-                        c = !1,
-                        function (e) {
-                            if (r === clearTimeout)
-                                return clearTimeout(e);
-                            if ((r === a || !r) && clearTimeout)
-                                return r = clearTimeout,
-                                    clearTimeout(e);
-                            try {
-                                r(e)
-                            } catch (t) {
-                                try {
-                                    return r.call(null, e)
-                                } catch (t) {
-                                    return r.call(this, e)
-                                }
-                            }
-                        }(e)
-                }
-            }
-            function d(e, t) {
-                this.fun = e,
-                    this.array = t
-            }
-            function g() { }
-            n.nextTick = function (e) {
-                var t = new Array(arguments.length - 1);
-                if (arguments.length > 1)
-                    for (var i = 1; i < arguments.length; i++)
-                        t[i - 1] = arguments[i];
-                l.push(new d(e, t)),
-                    1 !== l.length || c || s(f)
-            }
-                ,
-                d.prototype.run = function () {
-                    this.fun.apply(null, this.array)
-                }
-                ,
-                n.title = "browser",
-                n.browser = !0,
-                n.env = {},
-                n.argv = [],
-                n.version = "",
-                n.versions = {},
-                n.on = g,
-                n.addListener = g,
-                n.once = g,
-                n.off = g,
-                n.removeListener = g,
-                n.removeAllListeners = g,
-                n.emit = g,
-                n.prependListener = g,
-                n.prependOnceListener = g,
-                n.listeners = function (e) {
-                    return []
-                }
-                ,
-                n.binding = function (e) {
-                    throw new Error("process.binding is not supported")
-                }
-                ,
-                n.cwd = function () {
-                    return "/"
-                }
-                ,
-                n.chdir = function (e) {
-                    throw new Error("process.chdir is not supported")
-                }
-                ,
-                n.umask = function () {
-                    return 0
-                }
+                    return a(e, t, i)
+                } catch (e) {}
+            if ("get"in i || "set"in i)
+                throw TypeError("Accessors not supported!");
+            return "value"in i && (e[t] = i.value),
+            e
         }
-        , function (e, t) {
-            e.exports = function (e) {
-                if (!e.webpackPolyfill) {
-                    var t = Object.create(e);
-                    t.children || (t.children = []),
-                        Object.defineProperty(t, "loaded", {
-                            enumerable: !0,
-                            get: function () {
-                                return t.l
-                            }
-                        }),
-                        Object.defineProperty(t, "id", {
-                            enumerable: !0,
-                            get: function () {
-                                return t.i
-                            }
-                        }),
-                        Object.defineProperty(t, "exports", {
-                            enumerable: !0
-                        }),
-                        t.webpackPolyfill = 1
-                }
-                return t
-            }
+    }
+    , function(e, t, i) {
+        var r = i(75)("wks")
+          , n = i(58)
+          , o = i(7).Symbol
+          , a = "function" == typeof o;
+        (e.exports = function(e) {
+            return r[e] || (r[e] = a && o[e] || (a ? o : n)("Symbol." + e))
         }
-        , function (e, t, i) {
-            var r = i(4)("unscopables")
-                , n = Array.prototype;
-            null == n[r] && i(20)(n, r, {}),
-                e.exports = function (e) {
-                    n[r][e] = !0
-                }
+        ).store = r
+    }
+    , function(e, t, i) {
+        e.exports = i(147)
+    }
+    , function(e, t, i) {
+        e.exports = i(164)
+    }
+    , function(e, t, i) {
+        var r = i(21);
+        e.exports = function(e) {
+            if (!r(e))
+                throw TypeError(e + " is not an object!");
+            return e
         }
-        , function (e, t, i) {
-            e.exports = !i(11) && !i(18)((function () {
-                return 7 != Object.defineProperty(i(99)("div"), "a", {
-                    get: function () {
-                        return 7
-                    }
-                }).a
-            }
-            ))
-        }
-        , function (e, t, i) {
-            var r = i(21)
-                , n = i(10).document
-                , o = r(n) && r(n.createElement);
-            e.exports = function (e) {
-                return o ? n.createElement(e) : {}
-            }
-        }
-        , function (e, t, i) {
-            var r = i(46);
-            e.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) {
-                return "String" == r(e) ? e.split("") : Object(e)
-            }
-        }
-        , function (e, t) {
-            e.exports = function (e) {
-                if ("function" != typeof e)
-                    throw TypeError(e + " is not a function!");
-                return e
-            }
-        }
-        , function (e, t, i) {
-            var r = i(24)
-                , n = i(37)
-                , o = i(103)(!1)
-                , a = i(70)("IE_PROTO");
-            e.exports = function (e, t) {
-                var i, s = n(e), x = 0, l = [];
-                for (i in s)
-                    i != a && r(s, i) && l.push(i);
-                for (; t.length > x;)
-                    r(s, i = t[x++]) && (~o(l, i) || l.push(i));
-                return l
-            }
-        }
-        , function (e, t, i) {
-            var r = i(37)
-                , n = i(19)
-                , o = i(54);
-            e.exports = function (e) {
-                return function (t, i, a) {
-                    var s, x = r(t), l = n(x.length), c = o(a, l);
-                    if (e && i != i) {
-                        for (; l > c;)
-                            if ((s = x[c++]) != s)
-                                return !0
-                    } else
-                        for (; l > c; c++)
-                            if ((e || c in x) && x[c] === i)
-                                return e || c || 0;
-                    return !e && -1
-                }
-            }
-        }
-        , function (e, t, i) {
-            var r = i(24)
-                , n = i(30)
-                , o = i(70)("IE_PROTO")
-                , a = Object.prototype;
-            e.exports = Object.getPrototypeOf || function (e) {
-                return e = n(e),
-                    r(e, o) ? e[o] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? a : null
-            }
-        }
-        , function (e, t, i) {
-            var r = i(31)
-                , n = i(39)
-                , o = i(157)(!1)
-                , a = i(74)("IE_PROTO");
-            e.exports = function (e, t) {
-                var i, s = n(e), x = 0, l = [];
-                for (i in s)
-                    i != a && r(s, i) && l.push(i);
-                for (; t.length > x;)
-                    r(s, i = t[x++]) && (~o(l, i) || l.push(i));
-                return l
-            }
-        }
-        , function (e, t, i) {
-            var r = i(73)
-                , n = Math.min;
-            e.exports = function (e) {
-                return e > 0 ? n(r(e), 9007199254740991) : 0
-            }
-        }
-        , function (e, t, i) {
-            e.exports = !i(25) && !i(40)((function () {
-                return 7 != Object.defineProperty(i(77)("div"), "a", {
-                    get: function () {
-                        return 7
-                    }
-                }).a
-            }
-            ))
-        }
-        , function (e, t, i) {
-            var r = i(17)
-                , n = i(101)
-                , o = i(4)("species");
-            e.exports = function (e, t) {
-                var i, a = r(e).constructor;
-                return void 0 === a || null == (i = r(a)[o]) ? t : n(i)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(26)
-                , n = i(27)
-                , o = i(57);
-            e.exports = i(25) ? Object.defineProperties : function (e, t) {
-                n(e);
-                for (var i, a = o(t), s = a.length, x = 0; s > x;)
-                    r.f(e, i = a[x++], t[i]);
-                return e
-            }
-        }
-        , function (e, t, i) {
-            var r = i(7).document;
-            e.exports = r && r.documentElement
-        }
-        , function (e, t, i) {
-            var r = i(47);
-            e.exports = Array.isArray || function (e) {
-                return "Array" == r(e)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(12)
-                , n = i(56)
-                , o = i(40)
-                , a = i(87)
-                , s = "[" + a + "]"
-                , x = RegExp("^" + s + s + "*")
-                , l = RegExp(s + s + "*$")
-                , c = function (e, t, i) {
-                    var n = {}
-                        , s = o((function () {
-                            return !!a[e]() || "鈥嬄�" != "鈥嬄�"[e]()
-                        }
-                        ))
-                        , x = n[e] = s ? t(u) : a[e];
-                    i && (n[i] = x),
-                        r(r.P + r.F * s, "String", n)
-                }
-                , u = c.trim = function (e, t) {
-                    return e = String(n(e)),
-                        1 & t && (e = e.replace(x, "")),
-                        2 & t && (e = e.replace(l, "")),
-                        e
-                }
-                ;
-            e.exports = c
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(177)(!0);
-            i(114)(String, "String", (function (e) {
-                this._t = String(e),
-                    this._i = 0
-            }
-            ), (function () {
-                var e, t = this._t, i = this._i;
-                return i >= t.length ? {
-                    value: void 0,
-                    done: !0
-                } : (e = r(t, i),
-                    this._i += e.length,
-                {
-                    value: e,
-                    done: !1
-                })
-            }
-            ))
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(48)
-                , n = i(12)
-                , o = i(115)
-                , a = i(32)
-                , s = i(49)
-                , x = i(178)
-                , l = i(66)
-                , c = i(179)
-                , u = i(14)("iterator")
-                , h = !([].keys && "next" in [].keys())
-                , f = function () {
-                    return this
-                };
-            e.exports = function (e, t, i, d, g, p, m) {
-                x(i, t, d);
-                var b, v, C, y = function (e) {
-                    if (!h && e in w)
-                        return w[e];
-                    switch (e) {
-                        case "keys":
-                        case "values":
-                            return function () {
-                                return new i(this, e)
-                            }
-                    }
-                    return function () {
-                        return new i(this, e)
-                    }
-                }, _ = t + " Iterator", A = "values" == g, I = !1, w = e.prototype, G = w[u] || w["@@iterator"] || g && w[g], E = G || y(g), S = g ? A ? y("entries") : E : void 0, T = "Array" == t && w.entries || G;
-                if (T && (C = c(T.call(new e))) !== Object.prototype && C.next && (l(C, _, !0),
-                    r || "function" == typeof C[u] || a(C, u, f)),
-                    A && G && "values" !== G.name && (I = !0,
-                        E = function () {
-                            return G.call(this)
-                        }
-                    ),
-                    r && !m || !h && !I && w[u] || a(w, u, E),
-                    s[t] = E,
-                    s[_] = f,
-                    g)
-                    if (b = {
-                        values: A ? E : y("values"),
-                        keys: p ? E : y("keys"),
-                        entries: S
-                    },
-                        m)
-                        for (v in b)
-                            v in w || o(w, v, b[v]);
-                    else
-                        n(n.P + n.F * (h || I), t, b);
-                return b
-            }
-        }
-        , function (e, t, i) {
-            e.exports = i(32)
-        }
-        , function (e, t, i) {
-            i(180);
-            for (var r = i(7), n = i(32), o = i(49), a = i(14)("toStringTag"), s = "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","), x = 0; x < s.length; x++) {
-                var l = s[x]
-                    , c = r[l]
-                    , u = c && c.prototype;
-                u && !u[a] && n(u, a, l),
-                    o[l] = o.Array
-            }
-        }
-        , function (e, t) {
-            t.f = Object.getOwnPropertySymbols
-        }
-        , function (e, t, i) {
-            var r = i(105)
-                , n = i(76).concat("length", "prototype");
-            t.f = Object.getOwnPropertyNames || function (e) {
-                return r(e, n)
-            }
-        }
-        , function (e, t) { }
-        , function (e, t, i) {
-            var r, n, o;
-            /**
-     * @license bytebuffer.js (c) 2015 Daniel Wirtz <dcode@dcode.io>
-     * Backing buffer: ArrayBuffer, Accessor: Uint8Array
-     * Released under the Apache License, Version 2.0
-     * see: https://github.com/dcodeIO/bytebuffer.js for details
-     */
-            n = [i(191)],
-                void 0 === (o = "function" == typeof (r = function (e) {
-                    "use strict";
-                    var t = function (e, i, n) {
-                        if (void 0 === e && (e = t.DEFAULT_CAPACITY),
-                            void 0 === i && (i = t.DEFAULT_ENDIAN),
-                            void 0 === n && (n = t.DEFAULT_NOASSERT),
-                            !n) {
-                            if ((e |= 0) < 0)
-                                throw RangeError("Illegal capacity");
-                            i = !!i,
-                                n = !!n
-                        }
-                        this.buffer = 0 === e ? r : new ArrayBuffer(e),
-                            this.view = 0 === e ? null : new Uint8Array(this.buffer),
-                            this.offset = 0,
-                            this.markedOffset = -1,
-                            this.limit = e,
-                            this.littleEndian = i,
-                            this.noAssert = n
-                    };
-                    t.VERSION = "5.0.1",
-                        t.LITTLE_ENDIAN = !0,
-                        t.BIG_ENDIAN = !1,
-                        t.DEFAULT_CAPACITY = 16,
-                        t.DEFAULT_ENDIAN = t.BIG_ENDIAN,
-                        t.DEFAULT_NOASSERT = !1,
-                        t.Long = e || null;
-                    var i = t.prototype;
-                    i.__isByteBuffer__,
-                        Object.defineProperty(i, "__isByteBuffer__", {
-                            value: !0,
-                            enumerable: !1,
-                            configurable: !1
-                        });
-                    var r = new ArrayBuffer(0)
-                        , n = String.fromCharCode;
-                    function o(e) {
-                        var t = 0;
-                        return function () {
-                            return t < e.length ? e.charCodeAt(t++) : null
-                        }
-                    }
-                    function a() {
-                        var e = []
-                            , t = [];
-                        return function () {
-                            if (0 === arguments.length)
-                                return t.join("") + n.apply(String, e);
-                            e.length + arguments.length > 1024 && (t.push(n.apply(String, e)),
-                                e.length = 0),
-                                Array.prototype.push.apply(e, arguments)
-                        }
-                    }
-                    function s(e, t, i, r, n) {
-                        var o, a, s = 8 * n - r - 1, x = (1 << s) - 1, l = x >> 1, c = -7, u = i ? n - 1 : 0, h = i ? -1 : 1, f = e[t + u];
-                        for (u += h,
-                            o = f & (1 << -c) - 1,
-                            f >>= -c,
-                            c += s; c > 0; o = 256 * o + e[t + u],
-                            u += h,
-                            c -= 8)
-                            ;
-                        for (a = o & (1 << -c) - 1,
-                            o >>= -c,
-                            c += r; c > 0; a = 256 * a + e[t + u],
-                            u += h,
-                            c -= 8)
-                            ;
-                        if (0 === o)
-                            o = 1 - l;
-                        else {
-                            if (o === x)
-                                return a ? NaN : 1 / 0 * (f ? -1 : 1);
-                            a += Math.pow(2, r),
-                                o -= l
-                        }
-                        return (f ? -1 : 1) * a * Math.pow(2, o - r)
-                    }
-                    function x(e, t, i, r, n, o) {
-                        var a, s, x, l = 8 * o - n - 1, c = (1 << l) - 1, u = c >> 1, h = 23 === n ? Math.pow(2, -24) - Math.pow(2, -77) : 0, f = r ? 0 : o - 1, d = r ? 1 : -1, g = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;
-                        for (t = Math.abs(t),
-                            isNaN(t) || t === 1 / 0 ? (s = isNaN(t) ? 1 : 0,
-                                a = c) : (a = Math.floor(Math.log(t) / Math.LN2),
-                                    t * (x = Math.pow(2, -a)) < 1 && (a--,
-                                        x *= 2),
-                                    (t += a + u >= 1 ? h / x : h * Math.pow(2, 1 - u)) * x >= 2 && (a++,
-                                        x /= 2),
-                                    a + u >= c ? (s = 0,
-                                        a = c) : a + u >= 1 ? (s = (t * x - 1) * Math.pow(2, n),
-                                            a += u) : (s = t * Math.pow(2, u - 1) * Math.pow(2, n),
-                                                a = 0)); n >= 8; e[i + f] = 255 & s,
-                                                f += d,
-                                                s /= 256,
-                            n -= 8)
-                            ;
-                        for (a = a << n | s,
-                            l += n; l > 0; e[i + f] = 255 & a,
-                            f += d,
-                            a /= 256,
-                            l -= 8)
-                            ;
-                        e[i + f - d] |= 128 * g
-                    }
-                    t.accessor = function () {
-                        return Uint8Array
-                    }
-                        ,
-                        t.allocate = function (e, i, r) {
-                            return new t(e, i, r)
-                        }
-                        ,
-                        t.concat = function (e, i, r, n) {
-                            "boolean" != typeof i && "string" == typeof i || (n = r,
-                                r = i,
-                                i = void 0);
-                            for (var o, a = 0, s = 0, x = e.length; s < x; ++s)
-                                t.isByteBuffer(e[s]) || (e[s] = t.wrap(e[s], i)),
-                                    (o = e[s].limit - e[s].offset) > 0 && (a += o);
-                            if (0 === a)
-                                return new t(0, r, n);
-                            var l, c = new t(a, r, n);
-                            for (s = 0; s < x;)
-                                (o = (l = e[s++]).limit - l.offset) <= 0 || (c.view.set(l.view.subarray(l.offset, l.limit), c.offset),
-                                    c.offset += o);
-                            return c.limit = c.offset,
-                                c.offset = 0,
-                                c
-                        }
-                        ,
-                        t.isByteBuffer = function (e) {
-                            return !0 === (e && e.__isByteBuffer__)
-                        }
-                        ,
-                        t.type = function () {
-                            return ArrayBuffer
-                        }
-                        ,
-                        t.wrap = function (e, r, n, o) {
-                            if ("string" != typeof r && (o = n,
-                                n = r,
-                                r = void 0),
-                                "string" == typeof e)
-                                switch (void 0 === r && (r = "utf8"),
-                                r) {
-                                    case "base64":
-                                        return t.fromBase64(e, n);
-                                    case "hex":
-                                        return t.fromHex(e, n);
-                                    case "binary":
-                                        return t.fromBinary(e, n);
-                                    case "utf8":
-                                        return t.fromUTF8(e, n);
-                                    case "debug":
-                                        return t.fromDebug(e, n);
-                                    default:
-                                        throw Error("Unsupported encoding: " + r)
-                                }
-                            if (null === e || "object" != typeof e)
-                                throw TypeError("Illegal buffer");
-                            var a;
-                            if (t.isByteBuffer(e))
-                                return (a = i.clone.call(e)).markedOffset = -1,
-                                    a;
-                            if (e instanceof Uint8Array)
-                                a = new t(0, n, o),
-                                    e.length > 0 && (a.buffer = e.buffer,
-                                        a.offset = e.byteOffset,
-                                        a.limit = e.byteOffset + e.byteLength,
-                                        a.view = new Uint8Array(e.buffer));
-                            else if (e instanceof ArrayBuffer)
-                                a = new t(0, n, o),
-                                    e.byteLength > 0 && (a.buffer = e,
-                                        a.offset = 0,
-                                        a.limit = e.byteLength,
-                                        a.view = e.byteLength > 0 ? new Uint8Array(e) : null);
-                            else {
-                                if ("[object Array]" !== Object.prototype.toString.call(e))
-                                    throw TypeError("Illegal buffer");
-                                (a = new t(e.length, n, o)).limit = e.length;
-                                for (var s = 0; s < e.length; ++s)
-                                    a.view[s] = e[s]
-                            }
-                            return a
-                        }
-                        ,
-                        i.writeBitSet = function (e, t) {
-                            var i = void 0 === t;
-                            if (i && (t = this.offset),
-                                !this.noAssert) {
-                                if (!(e instanceof Array))
-                                    throw TypeError("Illegal BitSet: Not an array");
-                                if ("number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            var r, n = t, o = e.length, a = o >> 3, s = 0;
-                            for (t += this.writeVarint32(o, t); a--;)
-                                r = 1 & !!e[s++] | (1 & !!e[s++]) << 1 | (1 & !!e[s++]) << 2 | (1 & !!e[s++]) << 3 | (1 & !!e[s++]) << 4 | (1 & !!e[s++]) << 5 | (1 & !!e[s++]) << 6 | (1 & !!e[s++]) << 7,
-                                    this.writeByte(r, t++);
-                            if (s < o) {
-                                var x = 0;
-                                for (r = 0; s < o;)
-                                    r |= (1 & !!e[s++]) << x++;
-                                this.writeByte(r, t++)
-                            }
-                            return i ? (this.offset = t,
-                                this) : t - n
-                        }
-                        ,
-                        i.readBitSet = function (e) {
-                            var t = void 0 === e;
-                            t && (e = this.offset);
-                            var i, r = this.readVarint32(e), n = r.value, o = n >> 3, a = 0, s = [];
-                            for (e += r.length; o--;)
-                                i = this.readByte(e++),
-                                    s[a++] = !!(1 & i),
-                                    s[a++] = !!(2 & i),
-                                    s[a++] = !!(4 & i),
-                                    s[a++] = !!(8 & i),
-                                    s[a++] = !!(16 & i),
-                                    s[a++] = !!(32 & i),
-                                    s[a++] = !!(64 & i),
-                                    s[a++] = !!(128 & i);
-                            if (a < n) {
-                                var x = 0;
-                                for (i = this.readByte(e++); a < n;)
-                                    s[a++] = !!(i >> x++ & 1)
-                            }
-                            return t && (this.offset = e),
-                                s
-                        }
-                        ,
-                        i.readBytes = function (e, t) {
-                            var i = void 0 === t;
-                            if (i && (t = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + e > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+" + e + ") <= " + this.buffer.byteLength)
-                            }
-                            var r = this.slice(t, t + e);
-                            return i && (this.offset += e),
-                                r
-                        }
-                        ,
-                        i.writeBytes = i.append,
-                        i.writeInt8 = function (e, t) {
-                            var i = void 0 === t;
-                            if (i && (t = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal value: " + e + " (not an integer)");
-                                if (e |= 0,
-                                    "number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            t += 1;
-                            var r = this.buffer.byteLength;
-                            return t > r && this.resize((r *= 2) > t ? r : t),
-                                t -= 1,
-                                this.view[t] = e,
-                                i && (this.offset += 1),
-                                this
-                        }
-                        ,
-                        i.writeByte = i.writeInt8,
-                        i.readInt8 = function (e) {
-                            var t = void 0 === e;
-                            if (t && (e = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength)
-                            }
-                            var i = this.view[e];
-                            return 128 == (128 & i) && (i = -(255 - i + 1)),
-                                t && (this.offset += 1),
-                                i
-                        }
-                        ,
-                        i.readByte = i.readInt8,
-                        i.writeUint8 = function (e, t) {
-                            var i = void 0 === t;
-                            if (i && (t = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal value: " + e + " (not an integer)");
-                                if (e >>>= 0,
-                                    "number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            t += 1;
-                            var r = this.buffer.byteLength;
-                            return t > r && this.resize((r *= 2) > t ? r : t),
-                                t -= 1,
-                                this.view[t] = e,
-                                i && (this.offset += 1),
-                                this
-                        }
-                        ,
-                        i.writeUInt8 = i.writeUint8,
-                        i.readUint8 = function (e) {
-                            var t = void 0 === e;
-                            if (t && (e = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength)
-                            }
-                            var i = this.view[e];
-                            return t && (this.offset += 1),
-                                i
-                        }
-                        ,
-                        i.readUInt8 = i.readUint8,
-                        i.writeInt16 = function (e, t) {
-                            var i = void 0 === t;
-                            if (i && (t = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal value: " + e + " (not an integer)");
-                                if (e |= 0,
-                                    "number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            t += 2;
-                            var r = this.buffer.byteLength;
-                            return t > r && this.resize((r *= 2) > t ? r : t),
-                                t -= 2,
-                                this.littleEndian ? (this.view[t + 1] = (65280 & e) >>> 8,
-                                    this.view[t] = 255 & e) : (this.view[t] = (65280 & e) >>> 8,
-                                        this.view[t + 1] = 255 & e),
-                                i && (this.offset += 2),
-                                this
-                        }
-                        ,
-                        i.writeShort = i.writeInt16,
-                        i.readInt16 = function (e) {
-                            var t = void 0 === e;
-                            if (t && (e = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 2 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+2) <= " + this.buffer.byteLength)
-                            }
-                            var i = 0;
-                            return this.littleEndian ? (i = this.view[e],
-                                i |= this.view[e + 1] << 8) : (i = this.view[e] << 8,
-                                    i |= this.view[e + 1]),
-                                32768 == (32768 & i) && (i = -(65535 - i + 1)),
-                                t && (this.offset += 2),
-                                i
-                        }
-                        ,
-                        i.readShort = i.readInt16,
-                        i.writeUint16 = function (e, t) {
-                            var i = void 0 === t;
-                            if (i && (t = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal value: " + e + " (not an integer)");
-                                if (e >>>= 0,
-                                    "number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            t += 2;
-                            var r = this.buffer.byteLength;
-                            return t > r && this.resize((r *= 2) > t ? r : t),
-                                t -= 2,
-                                this.littleEndian ? (this.view[t + 1] = (65280 & e) >>> 8,
-                                    this.view[t] = 255 & e) : (this.view[t] = (65280 & e) >>> 8,
-                                        this.view[t + 1] = 255 & e),
-                                i && (this.offset += 2),
-                                this
-                        }
-                        ,
-                        i.writeUInt16 = i.writeUint16,
-                        i.readUint16 = function (e) {
-                            var t = void 0 === e;
-                            if (t && (e = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 2 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+2) <= " + this.buffer.byteLength)
-                            }
-                            var i = 0;
-                            return this.littleEndian ? (i = this.view[e],
-                                i |= this.view[e + 1] << 8) : (i = this.view[e] << 8,
-                                    i |= this.view[e + 1]),
-                                t && (this.offset += 2),
-                                i
-                        }
-                        ,
-                        i.readUInt16 = i.readUint16,
-                        i.writeInt32 = function (e, t) {
-                            var i = void 0 === t;
-                            if (i && (t = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal value: " + e + " (not an integer)");
-                                if (e |= 0,
-                                    "number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            t += 4;
-                            var r = this.buffer.byteLength;
-                            return t > r && this.resize((r *= 2) > t ? r : t),
-                                t -= 4,
-                                this.littleEndian ? (this.view[t + 3] = e >>> 24 & 255,
-                                    this.view[t + 2] = e >>> 16 & 255,
-                                    this.view[t + 1] = e >>> 8 & 255,
-                                    this.view[t] = 255 & e) : (this.view[t] = e >>> 24 & 255,
-                                        this.view[t + 1] = e >>> 16 & 255,
-                                        this.view[t + 2] = e >>> 8 & 255,
-                                        this.view[t + 3] = 255 & e),
-                                i && (this.offset += 4),
-                                this
-                        }
-                        ,
-                        i.writeInt = i.writeInt32,
-                        i.readInt32 = function (e) {
-                            var t = void 0 === e;
-                            if (t && (e = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 4 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+4) <= " + this.buffer.byteLength)
-                            }
-                            var i = 0;
-                            return this.littleEndian ? (i = this.view[e + 2] << 16,
-                                i |= this.view[e + 1] << 8,
-                                i |= this.view[e],
-                                i += this.view[e + 3] << 24 >>> 0) : (i = this.view[e + 1] << 16,
-                                    i |= this.view[e + 2] << 8,
-                                    i |= this.view[e + 3],
-                                    i += this.view[e] << 24 >>> 0),
-                                i |= 0,
-                                t && (this.offset += 4),
-                                i
-                        }
-                        ,
-                        i.readInt = i.readInt32,
-                        i.writeUint32 = function (e, t) {
-                            var i = void 0 === t;
-                            if (i && (t = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal value: " + e + " (not an integer)");
-                                if (e >>>= 0,
-                                    "number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            t += 4;
-                            var r = this.buffer.byteLength;
-                            return t > r && this.resize((r *= 2) > t ? r : t),
-                                t -= 4,
-                                this.littleEndian ? (this.view[t + 3] = e >>> 24 & 255,
-                                    this.view[t + 2] = e >>> 16 & 255,
-                                    this.view[t + 1] = e >>> 8 & 255,
-                                    this.view[t] = 255 & e) : (this.view[t] = e >>> 24 & 255,
-                                        this.view[t + 1] = e >>> 16 & 255,
-                                        this.view[t + 2] = e >>> 8 & 255,
-                                        this.view[t + 3] = 255 & e),
-                                i && (this.offset += 4),
-                                this
-                        }
-                        ,
-                        i.writeUInt32 = i.writeUint32,
-                        i.readUint32 = function (e) {
-                            var t = void 0 === e;
-                            if (t && (e = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 4 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+4) <= " + this.buffer.byteLength)
-                            }
-                            var i = 0;
-                            return this.littleEndian ? (i = this.view[e + 2] << 16,
-                                i |= this.view[e + 1] << 8,
-                                i |= this.view[e],
-                                i += this.view[e + 3] << 24 >>> 0) : (i = this.view[e + 1] << 16,
-                                    i |= this.view[e + 2] << 8,
-                                    i |= this.view[e + 3],
-                                    i += this.view[e] << 24 >>> 0),
-                                t && (this.offset += 4),
-                                i
-                        }
-                        ,
-                        i.readUInt32 = i.readUint32,
-                        e && (i.writeInt64 = function (t, i) {
-                            var r = void 0 === i;
-                            if (r && (i = this.offset),
-                                !this.noAssert) {
-                                if ("number" == typeof t)
-                                    t = e.fromNumber(t);
-                                else if ("string" == typeof t)
-                                    t = e.fromString(t);
-                                else if (!(t && t instanceof e))
-                                    throw TypeError("Illegal value: " + t + " (not an integer or Long)");
-                                if ("number" != typeof i || i % 1 != 0)
-                                    throw TypeError("Illegal offset: " + i + " (not an integer)");
-                                if ((i >>>= 0) < 0 || i + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + i + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            "number" == typeof t ? t = e.fromNumber(t) : "string" == typeof t && (t = e.fromString(t)),
-                                i += 8;
-                            var n = this.buffer.byteLength;
-                            i > n && this.resize((n *= 2) > i ? n : i),
-                                i -= 8;
-                            var o = t.low
-                                , a = t.high;
-                            return this.littleEndian ? (this.view[i + 3] = o >>> 24 & 255,
-                                this.view[i + 2] = o >>> 16 & 255,
-                                this.view[i + 1] = o >>> 8 & 255,
-                                this.view[i] = 255 & o,
-                                i += 4,
-                                this.view[i + 3] = a >>> 24 & 255,
-                                this.view[i + 2] = a >>> 16 & 255,
-                                this.view[i + 1] = a >>> 8 & 255,
-                                this.view[i] = 255 & a) : (this.view[i] = a >>> 24 & 255,
-                                    this.view[i + 1] = a >>> 16 & 255,
-                                    this.view[i + 2] = a >>> 8 & 255,
-                                    this.view[i + 3] = 255 & a,
-                                    i += 4,
-                                    this.view[i] = o >>> 24 & 255,
-                                    this.view[i + 1] = o >>> 16 & 255,
-                                    this.view[i + 2] = o >>> 8 & 255,
-                                    this.view[i + 3] = 255 & o),
-                                r && (this.offset += 8),
-                                this
-                        }
-                            ,
-                            i.writeLong = i.writeInt64,
-                            i.readInt64 = function (t) {
-                                var i = void 0 === t;
-                                if (i && (t = this.offset),
-                                    !this.noAssert) {
-                                    if ("number" != typeof t || t % 1 != 0)
-                                        throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                    if ((t >>>= 0) < 0 || t + 8 > this.buffer.byteLength)
-                                        throw RangeError("Illegal offset: 0 <= " + t + " (+8) <= " + this.buffer.byteLength)
-                                }
-                                var r = 0
-                                    , n = 0;
-                                this.littleEndian ? (r = this.view[t + 2] << 16,
-                                    r |= this.view[t + 1] << 8,
-                                    r |= this.view[t],
-                                    r += this.view[t + 3] << 24 >>> 0,
-                                    t += 4,
-                                    n = this.view[t + 2] << 16,
-                                    n |= this.view[t + 1] << 8,
-                                    n |= this.view[t],
-                                    n += this.view[t + 3] << 24 >>> 0) : (n = this.view[t + 1] << 16,
-                                        n |= this.view[t + 2] << 8,
-                                        n |= this.view[t + 3],
-                                        n += this.view[t] << 24 >>> 0,
-                                        t += 4,
-                                        r = this.view[t + 1] << 16,
-                                        r |= this.view[t + 2] << 8,
-                                        r |= this.view[t + 3],
-                                        r += this.view[t] << 24 >>> 0);
-                                var o = new e(r, n, !1);
-                                return i && (this.offset += 8),
-                                    o
-                            }
-                            ,
-                            i.readLong = i.readInt64,
-                            i.writeUint64 = function (t, i) {
-                                var r = void 0 === i;
-                                if (r && (i = this.offset),
-                                    !this.noAssert) {
-                                    if ("number" == typeof t)
-                                        t = e.fromNumber(t);
-                                    else if ("string" == typeof t)
-                                        t = e.fromString(t);
-                                    else if (!(t && t instanceof e))
-                                        throw TypeError("Illegal value: " + t + " (not an integer or Long)");
-                                    if ("number" != typeof i || i % 1 != 0)
-                                        throw TypeError("Illegal offset: " + i + " (not an integer)");
-                                    if ((i >>>= 0) < 0 || i + 0 > this.buffer.byteLength)
-                                        throw RangeError("Illegal offset: 0 <= " + i + " (+0) <= " + this.buffer.byteLength)
-                                }
-                                "number" == typeof t ? t = e.fromNumber(t) : "string" == typeof t && (t = e.fromString(t)),
-                                    i += 8;
-                                var n = this.buffer.byteLength;
-                                i > n && this.resize((n *= 2) > i ? n : i),
-                                    i -= 8;
-                                var o = t.low
-                                    , a = t.high;
-                                return this.littleEndian ? (this.view[i + 3] = o >>> 24 & 255,
-                                    this.view[i + 2] = o >>> 16 & 255,
-                                    this.view[i + 1] = o >>> 8 & 255,
-                                    this.view[i] = 255 & o,
-                                    i += 4,
-                                    this.view[i + 3] = a >>> 24 & 255,
-                                    this.view[i + 2] = a >>> 16 & 255,
-                                    this.view[i + 1] = a >>> 8 & 255,
-                                    this.view[i] = 255 & a) : (this.view[i] = a >>> 24 & 255,
-                                        this.view[i + 1] = a >>> 16 & 255,
-                                        this.view[i + 2] = a >>> 8 & 255,
-                                        this.view[i + 3] = 255 & a,
-                                        i += 4,
-                                        this.view[i] = o >>> 24 & 255,
-                                        this.view[i + 1] = o >>> 16 & 255,
-                                        this.view[i + 2] = o >>> 8 & 255,
-                                        this.view[i + 3] = 255 & o),
-                                    r && (this.offset += 8),
-                                    this
-                            }
-                            ,
-                            i.writeUInt64 = i.writeUint64,
-                            i.readUint64 = function (t) {
-                                var i = void 0 === t;
-                                if (i && (t = this.offset),
-                                    !this.noAssert) {
-                                    if ("number" != typeof t || t % 1 != 0)
-                                        throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                    if ((t >>>= 0) < 0 || t + 8 > this.buffer.byteLength)
-                                        throw RangeError("Illegal offset: 0 <= " + t + " (+8) <= " + this.buffer.byteLength)
-                                }
-                                var r = 0
-                                    , n = 0;
-                                this.littleEndian ? (r = this.view[t + 2] << 16,
-                                    r |= this.view[t + 1] << 8,
-                                    r |= this.view[t],
-                                    r += this.view[t + 3] << 24 >>> 0,
-                                    t += 4,
-                                    n = this.view[t + 2] << 16,
-                                    n |= this.view[t + 1] << 8,
-                                    n |= this.view[t],
-                                    n += this.view[t + 3] << 24 >>> 0) : (n = this.view[t + 1] << 16,
-                                        n |= this.view[t + 2] << 8,
-                                        n |= this.view[t + 3],
-                                        n += this.view[t] << 24 >>> 0,
-                                        t += 4,
-                                        r = this.view[t + 1] << 16,
-                                        r |= this.view[t + 2] << 8,
-                                        r |= this.view[t + 3],
-                                        r += this.view[t] << 24 >>> 0);
-                                var o = new e(r, n, !0);
-                                return i && (this.offset += 8),
-                                    o
-                            }
-                            ,
-                            i.readUInt64 = i.readUint64),
-                        i.writeFloat32 = function (e, t) {
-                            var i = void 0 === t;
-                            if (i && (t = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e)
-                                    throw TypeError("Illegal value: " + e + " (not a number)");
-                                if ("number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            t += 4;
-                            var r = this.buffer.byteLength;
-                            return t > r && this.resize((r *= 2) > t ? r : t),
-                                t -= 4,
-                                x(this.view, e, t, this.littleEndian, 23, 4),
-                                i && (this.offset += 4),
-                                this
-                        }
-                        ,
-                        i.writeFloat = i.writeFloat32,
-                        i.readFloat32 = function (e) {
-                            var t = void 0 === e;
-                            if (t && (e = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 4 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+4) <= " + this.buffer.byteLength)
-                            }
-                            var i = s(this.view, e, this.littleEndian, 23, 4);
-                            return t && (this.offset += 4),
-                                i
-                        }
-                        ,
-                        i.readFloat = i.readFloat32,
-                        i.writeFloat64 = function (e, t) {
-                            var i = void 0 === t;
-                            if (i && (t = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e)
-                                    throw TypeError("Illegal value: " + e + " (not a number)");
-                                if ("number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            t += 8;
-                            var r = this.buffer.byteLength;
-                            return t > r && this.resize((r *= 2) > t ? r : t),
-                                t -= 8,
-                                x(this.view, e, t, this.littleEndian, 52, 8),
-                                i && (this.offset += 8),
-                                this
-                        }
-                        ,
-                        i.writeDouble = i.writeFloat64,
-                        i.readFloat64 = function (e) {
-                            var t = void 0 === e;
-                            if (t && (e = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 8 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+8) <= " + this.buffer.byteLength)
-                            }
-                            var i = s(this.view, e, this.littleEndian, 52, 8);
-                            return t && (this.offset += 8),
-                                i
-                        }
-                        ,
-                        i.readDouble = i.readFloat64,
-                        t.MAX_VARINT32_BYTES = 5,
-                        t.calculateVarint32 = function (e) {
-                            return (e >>>= 0) < 128 ? 1 : e < 16384 ? 2 : e < 1 << 21 ? 3 : e < 1 << 28 ? 4 : 5
-                        }
-                        ,
-                        t.zigZagEncode32 = function (e) {
-                            return ((e |= 0) << 1 ^ e >> 31) >>> 0
-                        }
-                        ,
-                        t.zigZagDecode32 = function (e) {
-                            return e >>> 1 ^ -(1 & e) | 0
-                        }
-                        ,
-                        i.writeVarint32 = function (e, i) {
-                            var r = void 0 === i;
-                            if (r && (i = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal value: " + e + " (not an integer)");
-                                if (e |= 0,
-                                    "number" != typeof i || i % 1 != 0)
-                                    throw TypeError("Illegal offset: " + i + " (not an integer)");
-                                if ((i >>>= 0) < 0 || i + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + i + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            var n, o = t.calculateVarint32(e);
-                            i += o;
-                            var a = this.buffer.byteLength;
-                            for (i > a && this.resize((a *= 2) > i ? a : i),
-                                i -= o,
-                                e >>>= 0; e >= 128;)
-                                n = 127 & e | 128,
-                                    this.view[i++] = n,
-                                    e >>>= 7;
-                            return this.view[i++] = e,
-                                r ? (this.offset = i,
-                                    this) : o
-                        }
-                        ,
-                        i.writeVarint32ZigZag = function (e, i) {
-                            return this.writeVarint32(t.zigZagEncode32(e), i)
-                        }
-                        ,
-                        i.readVarint32 = function (e) {
-                            var t = void 0 === e;
-                            if (t && (e = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength)
-                            }
-                            var i, r = 0, n = 0;
-                            do {
-                                if (!this.noAssert && e > this.limit) {
-                                    var o = Error("Truncated");
-                                    throw o.truncated = !0,
-                                    o
-                                }
-                                i = this.view[e++],
-                                    r < 5 && (n |= (127 & i) << 7 * r),
-                                    ++r
-                            } while (0 != (128 & i)); return n |= 0,
-                                t ? (this.offset = e,
-                                    n) : {
-                                    value: n,
-                                    length: r
-                                }
-                        }
-                        ,
-                        i.readVarint32ZigZag = function (e) {
-                            var i = this.readVarint32(e);
-                            return "object" == typeof i ? i.value = t.zigZagDecode32(i.value) : i = t.zigZagDecode32(i),
-                                i
-                        }
-                        ,
-                        e && (t.MAX_VARINT64_BYTES = 10,
-                            t.calculateVarint64 = function (t) {
-                                "number" == typeof t ? t = e.fromNumber(t) : "string" == typeof t && (t = e.fromString(t));
-                                var i = t.toInt() >>> 0
-                                    , r = t.shiftRightUnsigned(28).toInt() >>> 0
-                                    , n = t.shiftRightUnsigned(56).toInt() >>> 0;
-                                return 0 == n ? 0 == r ? i < 16384 ? i < 128 ? 1 : 2 : i < 1 << 21 ? 3 : 4 : r < 16384 ? r < 128 ? 5 : 6 : r < 1 << 21 ? 7 : 8 : n < 128 ? 9 : 10
-                            }
-                            ,
-                            t.zigZagEncode64 = function (t) {
-                                return "number" == typeof t ? t = e.fromNumber(t, !1) : "string" == typeof t ? t = e.fromString(t, !1) : !1 !== t.unsigned && (t = t.toSigned()),
-                                    t.shiftLeft(1).xor(t.shiftRight(63)).toUnsigned()
-                            }
-                            ,
-                            t.zigZagDecode64 = function (t) {
-                                return "number" == typeof t ? t = e.fromNumber(t, !1) : "string" == typeof t ? t = e.fromString(t, !1) : !1 !== t.unsigned && (t = t.toSigned()),
-                                    t.shiftRightUnsigned(1).xor(t.and(e.ONE).toSigned().negate()).toSigned()
-                            }
-                            ,
-                            i.writeVarint64 = function (i, r) {
-                                var n = void 0 === r;
-                                if (n && (r = this.offset),
-                                    !this.noAssert) {
-                                    if ("number" == typeof i)
-                                        i = e.fromNumber(i);
-                                    else if ("string" == typeof i)
-                                        i = e.fromString(i);
-                                    else if (!(i && i instanceof e))
-                                        throw TypeError("Illegal value: " + i + " (not an integer or Long)");
-                                    if ("number" != typeof r || r % 1 != 0)
-                                        throw TypeError("Illegal offset: " + r + " (not an integer)");
-                                    if ((r >>>= 0) < 0 || r + 0 > this.buffer.byteLength)
-                                        throw RangeError("Illegal offset: 0 <= " + r + " (+0) <= " + this.buffer.byteLength)
-                                }
-                                "number" == typeof i ? i = e.fromNumber(i, !1) : "string" == typeof i ? i = e.fromString(i, !1) : !1 !== i.unsigned && (i = i.toSigned());
-                                var o = t.calculateVarint64(i)
-                                    , a = i.toInt() >>> 0
-                                    , s = i.shiftRightUnsigned(28).toInt() >>> 0
-                                    , x = i.shiftRightUnsigned(56).toInt() >>> 0;
-                                r += o;
-                                var l = this.buffer.byteLength;
-                                switch (r > l && this.resize((l *= 2) > r ? l : r),
-                                r -= o,
-                                o) {
-                                    case 10:
-                                        this.view[r + 9] = x >>> 7 & 1;
-                                    case 9:
-                                        this.view[r + 8] = 9 !== o ? 128 | x : 127 & x;
-                                    case 8:
-                                        this.view[r + 7] = 8 !== o ? s >>> 21 | 128 : s >>> 21 & 127;
-                                    case 7:
-                                        this.view[r + 6] = 7 !== o ? s >>> 14 | 128 : s >>> 14 & 127;
-                                    case 6:
-                                        this.view[r + 5] = 6 !== o ? s >>> 7 | 128 : s >>> 7 & 127;
-                                    case 5:
-                                        this.view[r + 4] = 5 !== o ? 128 | s : 127 & s;
-                                    case 4:
-                                        this.view[r + 3] = 4 !== o ? a >>> 21 | 128 : a >>> 21 & 127;
-                                    case 3:
-                                        this.view[r + 2] = 3 !== o ? a >>> 14 | 128 : a >>> 14 & 127;
-                                    case 2:
-                                        this.view[r + 1] = 2 !== o ? a >>> 7 | 128 : a >>> 7 & 127;
-                                    case 1:
-                                        this.view[r] = 1 !== o ? 128 | a : 127 & a
-                                }
-                                return n ? (this.offset += o,
-                                    this) : o
-                            }
-                            ,
-                            i.writeVarint64ZigZag = function (e, i) {
-                                return this.writeVarint64(t.zigZagEncode64(e), i)
-                            }
-                            ,
-                            i.readVarint64 = function (t) {
-                                var i = void 0 === t;
-                                if (i && (t = this.offset),
-                                    !this.noAssert) {
-                                    if ("number" != typeof t || t % 1 != 0)
-                                        throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                    if ((t >>>= 0) < 0 || t + 1 > this.buffer.byteLength)
-                                        throw RangeError("Illegal offset: 0 <= " + t + " (+1) <= " + this.buffer.byteLength)
-                                }
-                                var r = t
-                                    , n = 0
-                                    , o = 0
-                                    , a = 0
-                                    , s = 0;
-                                if (n = 127 & (s = this.view[t++]),
-                                    128 & s && (n |= (127 & (s = this.view[t++])) << 7,
-                                        (128 & s || this.noAssert && void 0 === s) && (n |= (127 & (s = this.view[t++])) << 14,
-                                            (128 & s || this.noAssert && void 0 === s) && (n |= (127 & (s = this.view[t++])) << 21,
-                                                (128 & s || this.noAssert && void 0 === s) && (o = 127 & (s = this.view[t++]),
-                                                    (128 & s || this.noAssert && void 0 === s) && (o |= (127 & (s = this.view[t++])) << 7,
-                                                        (128 & s || this.noAssert && void 0 === s) && (o |= (127 & (s = this.view[t++])) << 14,
-                                                            (128 & s || this.noAssert && void 0 === s) && (o |= (127 & (s = this.view[t++])) << 21,
-                                                                (128 & s || this.noAssert && void 0 === s) && (a = 127 & (s = this.view[t++]),
-                                                                    (128 & s || this.noAssert && void 0 === s) && (a |= (127 & (s = this.view[t++])) << 7,
-                                                                        128 & s || this.noAssert && void 0 === s))))))))))
-                                    throw Error("Buffer overrun");
-                                var x = e.fromBits(n | o << 28, o >>> 4 | a << 24, !1);
-                                return i ? (this.offset = t,
-                                    x) : {
-                                    value: x,
-                                    length: t - r
-                                }
-                            }
-                            ,
-                            i.readVarint64ZigZag = function (i) {
-                                var r = this.readVarint64(i);
-                                return r && r.value instanceof e ? r.value = t.zigZagDecode64(r.value) : r = t.zigZagDecode64(r),
-                                    r
-                            }
-                        ),
-                        i.writeCString = function (e, t) {
-                            var i = void 0 === t;
-                            i && (t = this.offset);
-                            var r, n = e.length;
-                            if (!this.noAssert) {
-                                if ("string" != typeof e)
-                                    throw TypeError("Illegal str: Not a string");
-                                for (r = 0; r < n; ++r)
-                                    if (0 === e.charCodeAt(r))
-                                        throw RangeError("Illegal str: Contains NULL-characters");
-                                if ("number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            n = c.calculateUTF16asUTF8(o(e))[1],
-                                t += n + 1;
-                            var a = this.buffer.byteLength;
-                            return t > a && this.resize((a *= 2) > t ? a : t),
-                                t -= n + 1,
-                                c.encodeUTF16toUTF8(o(e), function (e) {
-                                    this.view[t++] = e
-                                }
-                                    .bind(this)),
-                                this.view[t++] = 0,
-                                i ? (this.offset = t,
-                                    this) : n
-                        }
-                        ,
-                        i.readCString = function (e) {
-                            var t = void 0 === e;
-                            if (t && (e = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength)
-                            }
-                            var i, r = e, n = -1;
-                            return c.decodeUTF8toUTF16(function () {
-                                if (0 === n)
-                                    return null;
-                                if (e >= this.limit)
-                                    throw RangeError("Illegal range: Truncated data, " + e + " < " + this.limit);
-                                return 0 === (n = this.view[e++]) ? null : n
-                            }
-                                .bind(this), i = a(), !0),
-                                t ? (this.offset = e,
-                                    i()) : {
-                                    string: i(),
-                                    length: e - r
-                                }
-                        }
-                        ,
-                        i.writeIString = function (e, t) {
-                            var i = void 0 === t;
-                            if (i && (t = this.offset),
-                                !this.noAssert) {
-                                if ("string" != typeof e)
-                                    throw TypeError("Illegal str: Not a string");
-                                if ("number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            var r, n = t;
-                            r = c.calculateUTF16asUTF8(o(e), this.noAssert)[1],
-                                t += 4 + r;
-                            var a = this.buffer.byteLength;
-                            if (t > a && this.resize((a *= 2) > t ? a : t),
-                                t -= 4 + r,
-                                this.littleEndian ? (this.view[t + 3] = r >>> 24 & 255,
-                                    this.view[t + 2] = r >>> 16 & 255,
-                                    this.view[t + 1] = r >>> 8 & 255,
-                                    this.view[t] = 255 & r) : (this.view[t] = r >>> 24 & 255,
-                                        this.view[t + 1] = r >>> 16 & 255,
-                                        this.view[t + 2] = r >>> 8 & 255,
-                                        this.view[t + 3] = 255 & r),
-                                t += 4,
-                                c.encodeUTF16toUTF8(o(e), function (e) {
-                                    this.view[t++] = e
-                                }
-                                    .bind(this)),
-                                t !== n + 4 + r)
-                                throw RangeError("Illegal range: Truncated data, " + t + " == " + (t + 4 + r));
-                            return i ? (this.offset = t,
-                                this) : t - n
-                        }
-                        ,
-                        i.readIString = function (e) {
-                            var i = void 0 === e;
-                            if (i && (e = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 4 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+4) <= " + this.buffer.byteLength)
-                            }
-                            var r = e
-                                , n = this.readUint32(e)
-                                , o = this.readUTF8String(n, t.METRICS_BYTES, e += 4);
-                            return e += o.length,
-                                i ? (this.offset = e,
-                                    o.string) : {
-                                    string: o.string,
-                                    length: e - r
-                                }
-                        }
-                        ,
-                        t.METRICS_CHARS = "c",
-                        t.METRICS_BYTES = "b",
-                        i.writeUTF8String = function (e, t) {
-                            var i, r = void 0 === t;
-                            if (r && (t = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: " + t + " (not an integer)");
-                                if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            var n = t;
-                            i = c.calculateUTF16asUTF8(o(e))[1],
-                                t += i;
-                            var a = this.buffer.byteLength;
-                            return t > a && this.resize((a *= 2) > t ? a : t),
-                                t -= i,
-                                c.encodeUTF16toUTF8(o(e), function (e) {
-                                    this.view[t++] = e
-                                }
-                                    .bind(this)),
-                                r ? (this.offset = t,
-                                    this) : t - n
-                        }
-                        ,
-                        i.writeString = i.writeUTF8String,
-                        t.calculateUTF8Chars = function (e) {
-                            return c.calculateUTF16asUTF8(o(e))[0]
-                        }
-                        ,
-                        t.calculateUTF8Bytes = function (e) {
-                            return c.calculateUTF16asUTF8(o(e))[1]
-                        }
-                        ,
-                        t.calculateString = t.calculateUTF8Bytes,
-                        i.readUTF8String = function (e, i, r) {
-                            "number" == typeof i && (r = i,
-                                i = void 0);
-                            var n = void 0 === r;
-                            if (n && (r = this.offset),
-                                void 0 === i && (i = t.METRICS_CHARS),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal length: " + e + " (not an integer)");
-                                if (e |= 0,
-                                    "number" != typeof r || r % 1 != 0)
-                                    throw TypeError("Illegal offset: " + r + " (not an integer)");
-                                if ((r >>>= 0) < 0 || r + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + r + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            var o, s = 0, x = r;
-                            if (i === t.METRICS_CHARS) {
-                                if (o = a(),
-                                    c.decodeUTF8(function () {
-                                        return s < e && r < this.limit ? this.view[r++] : null
-                                    }
-                                        .bind(this), (function (e) {
-                                            ++s,
-                                                c.UTF8toUTF16(e, o)
-                                        }
-                                    )),
-                                    s !== e)
-                                    throw RangeError("Illegal range: Truncated data, " + s + " == " + e);
-                                return n ? (this.offset = r,
-                                    o()) : {
-                                    string: o(),
-                                    length: r - x
-                                }
-                            }
-                            if (i === t.METRICS_BYTES) {
-                                if (!this.noAssert) {
-                                    if ("number" != typeof r || r % 1 != 0)
-                                        throw TypeError("Illegal offset: " + r + " (not an integer)");
-                                    if ((r >>>= 0) < 0 || r + e > this.buffer.byteLength)
-                                        throw RangeError("Illegal offset: 0 <= " + r + " (+" + e + ") <= " + this.buffer.byteLength)
-                                }
-                                var l = r + e;
-                                if (c.decodeUTF8toUTF16(function () {
-                                    return r < l ? this.view[r++] : null
-                                }
-                                    .bind(this), o = a(), this.noAssert),
-                                    r !== l)
-                                    throw RangeError("Illegal range: Truncated data, " + r + " == " + l);
-                                return n ? (this.offset = r,
-                                    o()) : {
-                                    string: o(),
-                                    length: r - x
-                                }
-                            }
-                            throw TypeError("Unsupported metrics: " + i)
-                        }
-                        ,
-                        i.readString = i.readUTF8String,
-                        i.writeVString = function (e, i) {
-                            var r = void 0 === i;
-                            if (r && (i = this.offset),
-                                !this.noAssert) {
-                                if ("string" != typeof e)
-                                    throw TypeError("Illegal str: Not a string");
-                                if ("number" != typeof i || i % 1 != 0)
-                                    throw TypeError("Illegal offset: " + i + " (not an integer)");
-                                if ((i >>>= 0) < 0 || i + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + i + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            var n, a, s = i;
-                            n = c.calculateUTF16asUTF8(o(e), this.noAssert)[1],
-                                a = t.calculateVarint32(n),
-                                i += a + n;
-                            var x = this.buffer.byteLength;
-                            if (i > x && this.resize((x *= 2) > i ? x : i),
-                                i -= a + n,
-                                i += this.writeVarint32(n, i),
-                                c.encodeUTF16toUTF8(o(e), function (e) {
-                                    this.view[i++] = e
-                                }
-                                    .bind(this)),
-                                i !== s + n + a)
-                                throw RangeError("Illegal range: Truncated data, " + i + " == " + (i + n + a));
-                            return r ? (this.offset = i,
-                                this) : i - s
-                        }
-                        ,
-                        i.readVString = function (e) {
-                            var i = void 0 === e;
-                            if (i && (e = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength)
-                            }
-                            var r = e
-                                , n = this.readVarint32(e)
-                                , o = this.readUTF8String(n.value, t.METRICS_BYTES, e += n.length);
-                            return e += o.length,
-                                i ? (this.offset = e,
-                                    o.string) : {
-                                    string: o.string,
-                                    length: e - r
-                                }
-                        }
-                        ,
-                        i.append = function (e, i, r) {
-                            "number" != typeof i && "string" == typeof i || (r = i,
-                                i = void 0);
-                            var n = void 0 === r;
-                            if (n && (r = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof r || r % 1 != 0)
-                                    throw TypeError("Illegal offset: " + r + " (not an integer)");
-                                if ((r >>>= 0) < 0 || r + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + r + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            e instanceof t || (e = t.wrap(e, i));
-                            var o = e.limit - e.offset;
-                            if (o <= 0)
-                                return this;
-                            r += o;
-                            var a = this.buffer.byteLength;
-                            return r > a && this.resize((a *= 2) > r ? a : r),
-                                r -= o,
-                                this.view.set(e.view.subarray(e.offset, e.limit), r),
-                                e.offset += o,
-                                n && (this.offset += o),
-                                this
-                        }
-                        ,
-                        i.appendTo = function (e, t) {
-                            return e.append(this, t),
-                                this
-                        }
-                        ,
-                        i.assert = function (e) {
-                            return this.noAssert = !e,
-                                this
-                        }
-                        ,
-                        i.capacity = function () {
-                            return this.buffer.byteLength
-                        }
-                        ,
-                        i.clear = function () {
-                            return this.offset = 0,
-                                this.limit = this.buffer.byteLength,
-                                this.markedOffset = -1,
-                                this
-                        }
-                        ,
-                        i.clone = function (e) {
-                            var i = new t(0, this.littleEndian, this.noAssert);
-                            return e ? (i.buffer = new ArrayBuffer(this.buffer.byteLength),
-                                i.view = new Uint8Array(i.buffer)) : (i.buffer = this.buffer,
-                                    i.view = this.view),
-                                i.offset = this.offset,
-                                i.markedOffset = this.markedOffset,
-                                i.limit = this.limit,
-                                i
-                        }
-                        ,
-                        i.compact = function (e, t) {
-                            if (void 0 === e && (e = this.offset),
-                                void 0 === t && (t = this.limit),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal begin: Not an integer");
-                                if (e >>>= 0,
-                                    "number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal end: Not an integer");
-                                if (t >>>= 0,
-                                    e < 0 || e > t || t > this.buffer.byteLength)
-                                    throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength)
-                            }
-                            if (0 === e && t === this.buffer.byteLength)
-                                return this;
-                            var i = t - e;
-                            if (0 === i)
-                                return this.buffer = r,
-                                    this.view = null,
-                                    this.markedOffset >= 0 && (this.markedOffset -= e),
-                                    this.offset = 0,
-                                    this.limit = 0,
-                                    this;
-                            var n = new ArrayBuffer(i)
-                                , o = new Uint8Array(n);
-                            return o.set(this.view.subarray(e, t)),
-                                this.buffer = n,
-                                this.view = o,
-                                this.markedOffset >= 0 && (this.markedOffset -= e),
-                                this.offset = 0,
-                                this.limit = i,
-                                this
-                        }
-                        ,
-                        i.copy = function (e, i) {
-                            if (void 0 === e && (e = this.offset),
-                                void 0 === i && (i = this.limit),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal begin: Not an integer");
-                                if (e >>>= 0,
-                                    "number" != typeof i || i % 1 != 0)
-                                    throw TypeError("Illegal end: Not an integer");
-                                if (i >>>= 0,
-                                    e < 0 || e > i || i > this.buffer.byteLength)
-                                    throw RangeError("Illegal range: 0 <= " + e + " <= " + i + " <= " + this.buffer.byteLength)
-                            }
-                            if (e === i)
-                                return new t(0, this.littleEndian, this.noAssert);
-                            var r = i - e
-                                , n = new t(r, this.littleEndian, this.noAssert);
-                            return n.offset = 0,
-                                n.limit = r,
-                                n.markedOffset >= 0 && (n.markedOffset -= e),
-                                this.copyTo(n, 0, e, i),
-                                n
-                        }
-                        ,
-                        i.copyTo = function (e, i, r, n) {
-                            var o, a;
-                            if (!this.noAssert && !t.isByteBuffer(e))
-                                throw TypeError("Illegal target: Not a ByteBuffer");
-                            if (i = (a = void 0 === i) ? e.offset : 0 | i,
-                                r = (o = void 0 === r) ? this.offset : 0 | r,
-                                n = void 0 === n ? this.limit : 0 | n,
-                                i < 0 || i > e.buffer.byteLength)
-                                throw RangeError("Illegal target range: 0 <= " + i + " <= " + e.buffer.byteLength);
-                            if (r < 0 || n > this.buffer.byteLength)
-                                throw RangeError("Illegal source range: 0 <= " + r + " <= " + this.buffer.byteLength);
-                            var s = n - r;
-                            return 0 === s ? e : (e.ensureCapacity(i + s),
-                                e.view.set(this.view.subarray(r, n), i),
-                                o && (this.offset += s),
-                                a && (e.offset += s),
-                                this)
-                        }
-                        ,
-                        i.ensureCapacity = function (e) {
-                            var t = this.buffer.byteLength;
-                            return t < e ? this.resize((t *= 2) > e ? t : e) : this
-                        }
-                        ,
-                        i.fill = function (e, t, i) {
-                            var r = void 0 === t;
-                            if (r && (t = this.offset),
-                                "string" == typeof e && e.length > 0 && (e = e.charCodeAt(0)),
-                                void 0 === t && (t = this.offset),
-                                void 0 === i && (i = this.limit),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal value: " + e + " (not an integer)");
-                                if (e |= 0,
-                                    "number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal begin: Not an integer");
-                                if (t >>>= 0,
-                                    "number" != typeof i || i % 1 != 0)
-                                    throw TypeError("Illegal end: Not an integer");
-                                if (i >>>= 0,
-                                    t < 0 || t > i || i > this.buffer.byteLength)
-                                    throw RangeError("Illegal range: 0 <= " + t + " <= " + i + " <= " + this.buffer.byteLength)
-                            }
-                            if (t >= i)
-                                return this;
-                            for (; t < i;)
-                                this.view[t++] = e;
-                            return r && (this.offset = t),
-                                this
-                        }
-                        ,
-                        i.flip = function () {
-                            return this.limit = this.offset,
-                                this.offset = 0,
-                                this
-                        }
-                        ,
-                        i.mark = function (e) {
-                            if (e = void 0 === e ? this.offset : e,
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal offset: " + e + " (not an integer)");
-                                if ((e >>>= 0) < 0 || e + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + e + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            return this.markedOffset = e,
-                                this
-                        }
-                        ,
-                        i.order = function (e) {
-                            if (!this.noAssert && "boolean" != typeof e)
-                                throw TypeError("Illegal littleEndian: Not a boolean");
-                            return this.littleEndian = !!e,
-                                this
-                        }
-                        ,
-                        i.LE = function (e) {
-                            return this.littleEndian = void 0 === e || !!e,
-                                this
-                        }
-                        ,
-                        i.BE = function (e) {
-                            return this.littleEndian = void 0 !== e && !e,
-                                this
-                        }
-                        ,
-                        i.prepend = function (e, i, r) {
-                            "number" != typeof i && "string" == typeof i || (r = i,
-                                i = void 0);
-                            var n = void 0 === r;
-                            if (n && (r = this.offset),
-                                !this.noAssert) {
-                                if ("number" != typeof r || r % 1 != 0)
-                                    throw TypeError("Illegal offset: " + r + " (not an integer)");
-                                if ((r >>>= 0) < 0 || r + 0 > this.buffer.byteLength)
-                                    throw RangeError("Illegal offset: 0 <= " + r + " (+0) <= " + this.buffer.byteLength)
-                            }
-                            e instanceof t || (e = t.wrap(e, i));
-                            var o = e.limit - e.offset;
-                            if (o <= 0)
-                                return this;
-                            var a = o - r;
-                            if (a > 0) {
-                                var s = new ArrayBuffer(this.buffer.byteLength + a)
-                                    , x = new Uint8Array(s);
-                                x.set(this.view.subarray(r, this.buffer.byteLength), o),
-                                    this.buffer = s,
-                                    this.view = x,
-                                    this.offset += a,
-                                    this.markedOffset >= 0 && (this.markedOffset += a),
-                                    this.limit += a,
-                                    r += a
-                            } else
-                                new Uint8Array(this.buffer);
-                            return this.view.set(e.view.subarray(e.offset, e.limit), r - o),
-                                e.offset = e.limit,
-                                n && (this.offset -= o),
-                                this
-                        }
-                        ,
-                        i.prependTo = function (e, t) {
-                            return e.prepend(this, t),
-                                this
-                        }
-                        ,
-                        i.printDebug = function (e) {
-                            "function" != typeof e && (e = console.log.bind(console)),
-                                e(this.toString() + "\n-------------------------------------------------------------------\n" + this.toDebug(!0))
-                        }
-                        ,
-                        i.remaining = function () {
-                            return this.limit - this.offset
-                        }
-                        ,
-                        i.reset = function () {
-                            return this.markedOffset >= 0 ? (this.offset = this.markedOffset,
-                                this.markedOffset = -1) : this.offset = 0,
-                                this
-                        }
-                        ,
-                        i.resize = function (e) {
-                            if (!this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal capacity: " + e + " (not an integer)");
-                                if ((e |= 0) < 0)
-                                    throw RangeError("Illegal capacity: 0 <= " + e)
-                            }
-                            if (this.buffer.byteLength < e) {
-                                var t = new ArrayBuffer(e)
-                                    , i = new Uint8Array(t);
-                                i.set(this.view),
-                                    this.buffer = t,
-                                    this.view = i
-                            }
-                            return this
-                        }
-                        ,
-                        i.reverse = function (e, t) {
-                            if (void 0 === e && (e = this.offset),
-                                void 0 === t && (t = this.limit),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal begin: Not an integer");
-                                if (e >>>= 0,
-                                    "number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal end: Not an integer");
-                                if (t >>>= 0,
-                                    e < 0 || e > t || t > this.buffer.byteLength)
-                                    throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength)
-                            }
-                            return e === t || Array.prototype.reverse.call(this.view.subarray(e, t)),
-                                this
-                        }
-                        ,
-                        i.skip = function (e) {
-                            if (!this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal length: " + e + " (not an integer)");
-                                e |= 0
-                            }
-                            var t = this.offset + e;
-                            if (!this.noAssert && (t < 0 || t > this.buffer.byteLength))
-                                throw RangeError("Illegal length: 0 <= " + this.offset + " + " + e + " <= " + this.buffer.byteLength);
-                            return this.offset = t,
-                                this
-                        }
-                        ,
-                        i.slice = function (e, t) {
-                            if (void 0 === e && (e = this.offset),
-                                void 0 === t && (t = this.limit),
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal begin: Not an integer");
-                                if (e >>>= 0,
-                                    "number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal end: Not an integer");
-                                if (t >>>= 0,
-                                    e < 0 || e > t || t > this.buffer.byteLength)
-                                    throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength)
-                            }
-                            var i = this.clone();
-                            return i.offset = e,
-                                i.limit = t,
-                                i
-                        }
-                        ,
-                        i.toBuffer = function (e) {
-                            var t = this.offset
-                                , i = this.limit;
-                            if (!this.noAssert) {
-                                if ("number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal offset: Not an integer");
-                                if (t >>>= 0,
-                                    "number" != typeof i || i % 1 != 0)
-                                    throw TypeError("Illegal limit: Not an integer");
-                                if (i >>>= 0,
-                                    t < 0 || t > i || i > this.buffer.byteLength)
-                                    throw RangeError("Illegal range: 0 <= " + t + " <= " + i + " <= " + this.buffer.byteLength)
-                            }
-                            if (!e && 0 === t && i === this.buffer.byteLength)
-                                return this.buffer;
-                            if (t === i)
-                                return r;
-                            var n = new ArrayBuffer(i - t);
-                            return new Uint8Array(n).set(new Uint8Array(this.buffer).subarray(t, i), 0),
-                                n
-                        }
-                        ,
-                        i.toArrayBuffer = i.toBuffer,
-                        i.toString = function (e, t, i) {
-                            if (void 0 === e)
-                                return "ByteBufferAB(offset=" + this.offset + ",markedOffset=" + this.markedOffset + ",limit=" + this.limit + ",capacity=" + this.capacity() + ")";
-                            switch ("number" == typeof e && (i = t = e = "utf8"),
-                            e) {
-                                case "utf8":
-                                    return this.toUTF8(t, i);
-                                case "base64":
-                                    return this.toBase64(t, i);
-                                case "hex":
-                                    return this.toHex(t, i);
-                                case "binary":
-                                    return this.toBinary(t, i);
-                                case "debug":
-                                    return this.toDebug();
-                                case "columns":
-                                    return this.toColumns();
-                                default:
-                                    throw Error("Unsupported encoding: " + e)
-                            }
-                        }
-                        ;
-                    var l = function () {
-                        for (var e = {}, t = [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, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47], i = [], r = 0, n = t.length; r < n; ++r)
-                            i[t[r]] = r;
-                        return e.encode = function (e, i) {
-                            for (var r, n; null !== (r = e());)
-                                i(t[r >> 2 & 63]),
-                                    n = (3 & r) << 4,
-                                    null !== (r = e()) ? (i(t[63 & ((n |= r >> 4 & 15) | r >> 4 & 15)]),
-                                        n = (15 & r) << 2,
-                                        null !== (r = e()) ? (i(t[63 & (n | r >> 6 & 3)]),
-                                            i(t[63 & r])) : (i(t[63 & n]),
-                                                i(61))) : (i(t[63 & n]),
-                                                    i(61),
-                                                    i(61))
-                        }
-                            ,
-                            e.decode = function (e, t) {
-                                var r, n, o;
-                                function a(e) {
-                                    throw Error("Illegal character code: " + e)
-                                }
-                                for (; null !== (r = e());)
-                                    if (void 0 === (n = i[r]) && a(r),
-                                        null !== (r = e()) && (void 0 === (o = i[r]) && a(r),
-                                            t(n << 2 >>> 0 | (48 & o) >> 4),
-                                            null !== (r = e()))) {
-                                        if (void 0 === (n = i[r])) {
-                                            if (61 === r)
-                                                break;
-                                            a(r)
-                                        }
-                                        if (t((15 & o) << 4 >>> 0 | (60 & n) >> 2),
-                                            null !== (r = e())) {
-                                            if (void 0 === (o = i[r])) {
-                                                if (61 === r)
-                                                    break;
-                                                a(r)
-                                            }
-                                            t((3 & n) << 6 >>> 0 | o)
-                                        }
-                                    }
-                            }
-                            ,
-                            e.test = function (e) {
-                                return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)
-                            }
-                            ,
-                            e
-                    }();
-                    i.toBase64 = function (e, t) {
-                        if (void 0 === e && (e = this.offset),
-                            void 0 === t && (t = this.limit),
-                            t |= 0,
-                            (e |= 0) < 0 || t > this.capacity || e > t)
-                            throw RangeError("begin, end");
-                        var i;
-                        return l.encode(function () {
-                            return e < t ? this.view[e++] : null
-                        }
-                            .bind(this), i = a()),
-                            i()
-                    }
-                        ,
-                        t.fromBase64 = function (e, i) {
-                            if ("string" != typeof e)
-                                throw TypeError("str");
-                            var r = new t(e.length / 4 * 3, i)
-                                , n = 0;
-                            return l.decode(o(e), (function (e) {
-                                r.view[n++] = e
-                            }
-                            )),
-                                r.limit = n,
-                                r
-                        }
-                        ,
-                        t.btoa = function (e) {
-                            return t.fromBinary(e).toBase64()
-                        }
-                        ,
-                        t.atob = function (e) {
-                            return t.fromBase64(e).toBinary()
-                        }
-                        ,
-                        i.toBinary = function (e, t) {
-                            if (void 0 === e && (e = this.offset),
-                                void 0 === t && (t = this.limit),
-                                t |= 0,
-                                (e |= 0) < 0 || t > this.capacity() || e > t)
-                                throw RangeError("begin, end");
-                            if (e === t)
-                                return "";
-                            for (var i = [], r = []; e < t;)
-                                i.push(this.view[e++]),
-                                    i.length >= 1024 && (r.push(String.fromCharCode.apply(String, i)),
-                                        i = []);
-                            return r.join("") + String.fromCharCode.apply(String, i)
-                        }
-                        ,
-                        t.fromBinary = function (e, i) {
-                            if ("string" != typeof e)
-                                throw TypeError("str");
-                            for (var r, n = 0, o = e.length, a = new t(o, i); n < o;) {
-                                if ((r = e.charCodeAt(n)) > 255)
-                                    throw RangeError("illegal char code: " + r);
-                                a.view[n++] = r
-                            }
-                            return a.limit = o,
-                                a
-                        }
-                        ,
-                        i.toDebug = function (e) {
-                            for (var t, i = -1, r = this.buffer.byteLength, n = "", o = "", a = ""; i < r;) {
-                                if (-1 !== i && (n += (t = this.view[i]) < 16 ? "0" + t.toString(16).toUpperCase() : t.toString(16).toUpperCase(),
-                                    e && (o += t > 32 && t < 127 ? String.fromCharCode(t) : ".")),
-                                    ++i,
-                                    e && i > 0 && i % 16 == 0 && i !== r) {
-                                    for (; n.length < 51;)
-                                        n += " ";
-                                    a += n + o + "\n",
-                                        n = o = ""
-                                }
-                                i === this.offset && i === this.limit ? n += i === this.markedOffset ? "!" : "|" : i === this.offset ? n += i === this.markedOffset ? "[" : "<" : i === this.limit ? n += i === this.markedOffset ? "]" : ">" : n += i === this.markedOffset ? "'" : e || 0 !== i && i !== r ? " " : ""
-                            }
-                            if (e && " " !== n) {
-                                for (; n.length < 51;)
-                                    n += " ";
-                                a += n + o + "\n"
-                            }
-                            return e ? a : n
-                        }
-                        ,
-                        t.fromDebug = function (e, i, r) {
-                            for (var n, o, a = e.length, s = new t((a + 1) / 3 | 0, i, r), x = 0, l = 0, c = !1, u = !1, h = !1, f = !1, d = !1; x < a;) {
-                                switch (n = e.charAt(x++)) {
-                                    case "!":
-                                        if (!r) {
-                                            if (u || h || f) {
-                                                d = !0;
-                                                break
-                                            }
-                                            u = h = f = !0
-                                        }
-                                        s.offset = s.markedOffset = s.limit = l,
-                                            c = !1;
-                                        break;
-                                    case "|":
-                                        if (!r) {
-                                            if (u || f) {
-                                                d = !0;
-                                                break
-                                            }
-                                            u = f = !0
-                                        }
-                                        s.offset = s.limit = l,
-                                            c = !1;
-                                        break;
-                                    case "[":
-                                        if (!r) {
-                                            if (u || h) {
-                                                d = !0;
-                                                break
-                                            }
-                                            u = h = !0
-                                        }
-                                        s.offset = s.markedOffset = l,
-                                            c = !1;
-                                        break;
-                                    case "<":
-                                        if (!r) {
-                                            if (u) {
-                                                d = !0;
-                                                break
-                                            }
-                                            u = !0
-                                        }
-                                        s.offset = l,
-                                            c = !1;
-                                        break;
-                                    case "]":
-                                        if (!r) {
-                                            if (f || h) {
-                                                d = !0;
-                                                break
-                                            }
-                                            f = h = !0
-                                        }
-                                        s.limit = s.markedOffset = l,
-                                            c = !1;
-                                        break;
-                                    case ">":
-                                        if (!r) {
-                                            if (f) {
-                                                d = !0;
-                                                break
-                                            }
-                                            f = !0
-                                        }
-                                        s.limit = l,
-                                            c = !1;
-                                        break;
-                                    case "'":
-                                        if (!r) {
-                                            if (h) {
-                                                d = !0;
-                                                break
-                                            }
-                                            h = !0
-                                        }
-                                        s.markedOffset = l,
-                                            c = !1;
-                                        break;
-                                    case " ":
-                                        c = !1;
-                                        break;
-                                    default:
-                                        if (!r && c) {
-                                            d = !0;
-                                            break
-                                        }
-                                        if (o = parseInt(n + e.charAt(x++), 16),
-                                            !r && (isNaN(o) || o < 0 || o > 255))
-                                            throw TypeError("Illegal str: Not a debug encoded string");
-                                        s.view[l++] = o,
-                                            c = !0
-                                }
-                                if (d)
-                                    throw TypeError("Illegal str: Invalid symbol at " + x)
-                            }
-                            if (!r) {
-                                if (!u || !f)
-                                    throw TypeError("Illegal str: Missing offset or limit");
-                                if (l < s.buffer.byteLength)
-                                    throw TypeError("Illegal str: Not a debug encoded string (is it hex?) " + l + " < " + a)
-                            }
-                            return s
-                        }
-                        ,
-                        i.toHex = function (e, t) {
-                            if (e = void 0 === e ? this.offset : e,
-                                t = void 0 === t ? this.limit : t,
-                                !this.noAssert) {
-                                if ("number" != typeof e || e % 1 != 0)
-                                    throw TypeError("Illegal begin: Not an integer");
-                                if (e >>>= 0,
-                                    "number" != typeof t || t % 1 != 0)
-                                    throw TypeError("Illegal end: Not an integer");
-                                if (t >>>= 0,
-                                    e < 0 || e > t || t > this.buffer.byteLength)
-                                    throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength)
-                            }
-                            for (var i, r = new Array(t - e); e < t;)
-                                (i = this.view[e++]) < 16 ? r.push("0", i.toString(16)) : r.push(i.toString(16));
-                            return r.join("")
-                        }
-                        ,
-                        t.fromHex = function (e, i, r) {
-                            if (!r) {
-                                if ("string" != typeof e)
-                                    throw TypeError("Illegal str: Not a string");
-                                if (e.length % 2 != 0)
-                                    throw TypeError("Illegal str: Length not a multiple of 2")
-                            }
-                            for (var n, o = e.length, a = new t(o / 2 | 0, i), s = 0, x = 0; s < o; s += 2) {
-                                if (n = parseInt(e.substring(s, s + 2), 16),
-                                    !r && (!isFinite(n) || n < 0 || n > 255))
-                                    throw TypeError("Illegal str: Contains non-hex characters");
-                                a.view[x++] = n
-                            }
-                            return a.limit = x,
-                                a
-                        }
-                        ;
-                    var c = function () {
-                        var e = {
-                            MAX_CODEPOINT: 1114111,
-                            encodeUTF8: function (e, t) {
-                                var i = null;
-                                for ("number" == typeof e && (i = e,
-                                    e = function () {
-                                        return null
-                                    }
-                                ); null !== i || null !== (i = e());)
-                                    i < 128 ? t(127 & i) : i < 2048 ? (t(i >> 6 & 31 | 192),
-                                        t(63 & i | 128)) : i < 65536 ? (t(i >> 12 & 15 | 224),
-                                            t(i >> 6 & 63 | 128),
-                                            t(63 & i | 128)) : (t(i >> 18 & 7 | 240),
-                                                t(i >> 12 & 63 | 128),
-                                                t(i >> 6 & 63 | 128),
-                                                t(63 & i | 128)),
-                                        i = null
-                            },
-                            decodeUTF8: function (e, t) {
-                                for (var i, r, n, o, a = function (e) {
-                                    e = e.slice(0, e.indexOf(null));
-                                    var t = Error(e.toString());
-                                    throw t.name = "TruncatedError",
-                                    t.bytes = e,
-                                    t
-                                }; null !== (i = e());)
-                                    if (0 == (128 & i))
-                                        t(i);
-                                    else if (192 == (224 & i))
-                                        null === (r = e()) && a([i, r]),
-                                            t((31 & i) << 6 | 63 & r);
-                                    else if (224 == (240 & i))
-                                        (null === (r = e()) || null === (n = e())) && a([i, r, n]),
-                                            t((15 & i) << 12 | (63 & r) << 6 | 63 & n);
-                                    else {
-                                        if (240 != (248 & i))
-                                            throw RangeError("Illegal starting byte: " + i);
-                                        (null === (r = e()) || null === (n = e()) || null === (o = e())) && a([i, r, n, o]),
-                                            t((7 & i) << 18 | (63 & r) << 12 | (63 & n) << 6 | 63 & o)
-                                    }
-                            },
-                            UTF16toUTF8: function (e, t) {
-                                for (var i, r = null; null !== (i = null !== r ? r : e());)
-                                    i >= 55296 && i <= 57343 && null !== (r = e()) && r >= 56320 && r <= 57343 ? (t(1024 * (i - 55296) + r - 56320 + 65536),
-                                        r = null) : t(i);
-                                null !== r && t(r)
-                            },
-                            UTF8toUTF16: function (e, t) {
-                                var i = null;
-                                for ("number" == typeof e && (i = e,
-                                    e = function () {
-                                        return null
-                                    }
-                                ); null !== i || null !== (i = e());)
-                                    i <= 65535 ? t(i) : (t(55296 + ((i -= 65536) >> 10)),
-                                        t(i % 1024 + 56320)),
-                                        i = null
-                            },
-                            encodeUTF16toUTF8: function (t, i) {
-                                e.UTF16toUTF8(t, (function (t) {
-                                    e.encodeUTF8(t, i)
-                                }
-                                ))
-                            },
-                            decodeUTF8toUTF16: function (t, i) {
-                                e.decodeUTF8(t, (function (t) {
-                                    e.UTF8toUTF16(t, i)
-                                }
-                                ))
-                            },
-                            calculateCodePoint: function (e) {
-                                return e < 128 ? 1 : e < 2048 ? 2 : e < 65536 ? 3 : 4
-                            },
-                            calculateUTF8: function (e) {
-                                for (var t, i = 0; null !== (t = e());)
-                                    i += t < 128 ? 1 : t < 2048 ? 2 : t < 65536 ? 3 : 4;
-                                return i
-                            },
-                            calculateUTF16asUTF8: function (t) {
-                                var i = 0
-                                    , r = 0;
-                                return e.UTF16toUTF8(t, (function (e) {
-                                    ++i,
-                                        r += e < 128 ? 1 : e < 2048 ? 2 : e < 65536 ? 3 : 4
-                                }
-                                )),
-                                    [i, r]
-                            }
-                        };
-                        return e
-                    }();
-                    return i.toUTF8 = function (e, t) {
-                        if (void 0 === e && (e = this.offset),
-                            void 0 === t && (t = this.limit),
-                            !this.noAssert) {
-                            if ("number" != typeof e || e % 1 != 0)
-                                throw TypeError("Illegal begin: Not an integer");
-                            if (e >>>= 0,
-                                "number" != typeof t || t % 1 != 0)
-                                throw TypeError("Illegal end: Not an integer");
-                            if (t >>>= 0,
-                                e < 0 || e > t || t > this.buffer.byteLength)
-                                throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength)
-                        }
-                        var i;
-                        try {
-                            c.decodeUTF8toUTF16(function () {
-                                return e < t ? this.view[e++] : null
-                            }
-                                .bind(this), i = a())
-                        } catch (i) {
-                            if (e !== t)
-                                throw RangeError("Illegal range: Truncated data, " + e + " != " + t)
-                        }
-                        return i()
-                    }
-                        ,
-                        t.fromUTF8 = function (e, i, r) {
-                            if (!r && "string" != typeof e)
-                                throw TypeError("Illegal str: Not a string");
-                            var n = new t(c.calculateUTF16asUTF8(o(e), !0)[1], i, r)
-                                , a = 0;
-                            return c.encodeUTF16toUTF8(o(e), (function (e) {
-                                n.view[a++] = e
-                            }
-                            )),
-                                n.limit = a,
-                                n
-                        }
-                        ,
-                        t
-                }
-                ) ? r.apply(t, n) : r) || (e.exports = o)
-        }
-        , function (e, t) {
-            (function (t) {
-                e.exports = t
-            }
-            ).call(this, {})
-        }
-        , function (e, t, i) {
-            (function (e) {
-                function i(e, t) {
-                    for (var i = 0, r = e.length - 1; r >= 0; r--) {
-                        var n = e[r];
-                        "." === n ? e.splice(r, 1) : ".." === n ? (e.splice(r, 1),
-                            i++) : i && (e.splice(r, 1),
-                                i--)
-                    }
-                    if (t)
-                        for (; i--; i)
-                            e.unshift("..");
-                    return e
-                }
-                function r(e, t) {
-                    if (e.filter)
-                        return e.filter(t);
-                    for (var i = [], r = 0; r < e.length; r++)
-                        t(e[r], r, e) && i.push(e[r]);
-                    return i
-                }
-                t.resolve = function () {
-                    for (var t = "", n = !1, o = arguments.length - 1; o >= -1 && !n; o--) {
-                        var a = o >= 0 ? arguments[o] : e.cwd();
-                        if ("string" != typeof a)
-                            throw new TypeError("Arguments to path.resolve must be strings");
-                        a && (t = a + "/" + t,
-                            n = "/" === a.charAt(0))
-                    }
-                    return (n ? "/" : "") + (t = i(r(t.split("/"), (function (e) {
-                        return !!e
-                    }
-                    )), !n).join("/")) || "."
-                }
-                    ,
-                    t.normalize = function (e) {
-                        var o = t.isAbsolute(e)
-                            , a = "/" === n(e, -1);
-                        return (e = i(r(e.split("/"), (function (e) {
-                            return !!e
-                        }
-                        )), !o).join("/")) || o || (e = "."),
-                            e && a && (e += "/"),
-                            (o ? "/" : "") + e
-                    }
-                    ,
-                    t.isAbsolute = function (e) {
-                        return "/" === e.charAt(0)
-                    }
-                    ,
-                    t.join = function () {
-                        var e = Array.prototype.slice.call(arguments, 0);
-                        return t.normalize(r(e, (function (e, t) {
-                            if ("string" != typeof e)
-                                throw new TypeError("Arguments to path.join must be strings");
-                            return e
-                        }
-                        )).join("/"))
-                    }
-                    ,
-                    t.relative = function (e, i) {
-                        function r(e) {
-                            for (var t = 0; t < e.length && "" === e[t]; t++)
-                                ;
-                            for (var i = e.length - 1; i >= 0 && "" === e[i]; i--)
-                                ;
-                            return t > i ? [] : e.slice(t, i - t + 1)
-                        }
-                        e = t.resolve(e).substr(1),
-                            i = t.resolve(i).substr(1);
-                        for (var n = r(e.split("/")), o = r(i.split("/")), a = Math.min(n.length, o.length), s = a, x = 0; x < a; x++)
-                            if (n[x] !== o[x]) {
-                                s = x;
-                                break
-                            }
-                        var l = [];
-                        for (x = s; x < n.length; x++)
-                            l.push("..");
-                        return (l = l.concat(o.slice(s))).join("/")
-                    }
-                    ,
-                    t.sep = "/",
-                    t.delimiter = ":",
-                    t.dirname = function (e) {
-                        if ("string" != typeof e && (e += ""),
-                            0 === e.length)
-                            return ".";
-                        for (var t = e.charCodeAt(0), i = 47 === t, r = -1, n = !0, o = e.length - 1; o >= 1; --o)
-                            if (47 === (t = e.charCodeAt(o))) {
-                                if (!n) {
-                                    r = o;
-                                    break
-                                }
-                            } else
-                                n = !1;
-                        return -1 === r ? i ? "/" : "." : i && 1 === r ? "/" : e.slice(0, r)
-                    }
-                    ,
-                    t.basename = function (e, t) {
-                        var i = function (e) {
-                            "string" != typeof e && (e += "");
-                            var t, i = 0, r = -1, n = !0;
-                            for (t = e.length - 1; t >= 0; --t)
-                                if (47 === e.charCodeAt(t)) {
-                                    if (!n) {
-                                        i = t + 1;
-                                        break
-                                    }
-                                } else
-                                    -1 === r && (n = !1,
-                                        r = t + 1);
-                            return -1 === r ? "" : e.slice(i, r)
-                        }(e);
-                        return t && i.substr(-1 * t.length) === t && (i = i.substr(0, i.length - t.length)),
-                            i
-                    }
-                    ,
-                    t.extname = function (e) {
-                        "string" != typeof e && (e += "");
-                        for (var t = -1, i = 0, r = -1, n = !0, o = 0, a = e.length - 1; a >= 0; --a) {
-                            var s = e.charCodeAt(a);
-                            if (47 !== s)
-                                -1 === r && (n = !1,
-                                    r = a + 1),
-                                    46 === s ? -1 === t ? t = a : 1 !== o && (o = 1) : -1 !== t && (o = -1);
-                            else if (!n) {
-                                i = a + 1;
-                                break
-                            }
-                        }
-                        return -1 === t || -1 === r || 0 === o || 1 === o && t === r - 1 && t === i + 1 ? "" : e.slice(t, r)
-                    }
-                    ;
-                var n = "b" === "ab".substr(-1) ? function (e, t, i) {
-                    return e.substr(t, i)
-                }
-                    : function (e, t, i) {
-                        return t < 0 && (t = e.length + t),
-                            e.substr(t, i)
-                    }
-            }
-            ).call(this, i(95))
-        }
-        , function (e, t, i) {
-            for (var r, n = i(10), o = i(20), a = i(28), s = a("typed_array"), x = a("view"), l = !(!n.ArrayBuffer || !n.DataView), c = l, u = 0, h = "Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(","); u < 9;)
-                (r = n[h[u++]]) ? (o(r.prototype, s, !0),
-                    o(r.prototype, x, !0)) : c = !1;
-            e.exports = {
-                ABV: l,
-                CONSTR: c,
-                TYPED: s,
-                VIEW: x
-            }
-        }
-        , function (e, t, i) {
-            var r = i(22);
-            e.exports = function (e, t, i) {
-                for (var n in t)
-                    r(e, n, t[n], i);
-                return e
-            }
-        }
-        , function (e, t) {
-            e.exports = function (e, t, i, r) {
-                if (!(e instanceof t) || void 0 !== r && r in e)
-                    throw TypeError(i + ": incorrect invocation!");
-                return e
-            }
-        }
-        , function (e, t, i) {
-            var r = i(29)
-                , n = i(19);
-            e.exports = function (e) {
-                if (void 0 === e)
-                    return 0;
-                var t = r(e)
-                    , i = n(t);
-                if (t !== i)
-                    throw RangeError("Wrong length!");
-                return i
-            }
-        }
-        , function (e, t, i) {
-            var r = i(46);
-            e.exports = Array.isArray || function (e) {
-                return "Array" == r(e)
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(10)
-                , n = i(13)
-                , o = i(11)
-                , a = i(4)("species");
-            e.exports = function (e) {
-                var t = r[e];
-                o && t && !t[a] && n.f(t, a, {
-                    configurable: !0,
-                    get: function () {
-                        return this
-                    }
-                })
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(23)
-                , n = i(19)
-                , o = i(130)
-                , a = "".endsWith;
-            r(r.P + r.F * i(131)("endsWith"), "String", {
-                endsWith: function (e) {
-                    var t = o(this, e, "endsWith")
-                        , i = arguments.length > 1 ? arguments[1] : void 0
-                        , r = n(t.length)
-                        , s = void 0 === i ? r : Math.min(n(i), r)
-                        , x = String(e);
-                    return a ? a.call(t, x, s) : t.slice(s - x.length, s) === x
-                }
-            })
-        }
-        , function (e, t, i) {
-            var r = i(80)
-                , n = i(38);
-            e.exports = function (e, t, i) {
-                if (r(t))
-                    throw TypeError("String#" + i + " doesn't accept regex!");
-                return String(n(e))
-            }
-        }
-        , function (e, t, i) {
-            var r = i(4)("match");
-            e.exports = function (e) {
-                var t = /./;
-                try {
-                    "/./"[e](t)
-                } catch (i) {
-                    try {
-                        return t[r] = !1,
-                            !"/./"[e](t)
-                    } catch (e) { }
-                }
+    }
+    , function(e, t) {
+        e.exports = function(e) {
+            try {
+                return !!e()
+            } catch (e) {
                 return !0
             }
         }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(23)
-                , n = i(19)
-                , o = i(130)
-                , a = "".startsWith;
-            r(r.P + r.F * i(131)("startsWith"), "String", {
-                startsWith: function (e) {
-                    var t = o(this, e, "startsWith")
-                        , i = n(Math.min(arguments.length > 1 ? arguments[1] : void 0, t.length))
-                        , r = String(e);
-                    return a ? a.call(t, r, i) : t.slice(i, i + r.length) === r
-                }
-            })
+    }
+    , function(e, t, i) {
+        var r = i(29)
+          , n = Math.min;
+        e.exports = function(e) {
+            return e > 0 ? n(r(e), 9007199254740991) : 0
         }
-        , function (e, t, i) {
-            var r = i(47)
-                , n = i(14)("toStringTag")
-                , o = "Arguments" == r(function () {
-                    return arguments
-                }());
-            e.exports = function (e) {
-                var t, i, a;
-                return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (i = function (e, t) {
-                    try {
-                        return e[t]
-                    } catch (e) { }
-                }(t = Object(e), n)) ? i : o ? r(t) : "Object" == (a = r(t)) && "function" == typeof t.callee ? "Arguments" : a
-            }
+    }
+    , function(e, t, i) {
+        var r = i(13)
+          , n = i(45);
+        e.exports = i(11) ? function(e, t, i) {
+            return r.f(e, t, n(1, i))
         }
-        , function (e, t, i) {
-            var r = i(27)
-                , n = i(60)
-                , o = i(14)("species");
-            e.exports = function (e, t) {
-                var i, a = r(e).constructor;
-                return void 0 === a || null == (i = r(a)[o]) ? t : n(i)
-            }
+        : function(e, t, i) {
+            return e[t] = i,
+            e
         }
-        , function (e, t, i) {
-            var r, n, o, a = i(59), s = i(221), x = i(110), l = i(77), c = i(7), u = c.process, h = c.setImmediate, f = c.clearImmediate, d = c.MessageChannel, g = c.Dispatch, p = 0, m = {}, b = function () {
-                var e = +this;
-                if (m.hasOwnProperty(e)) {
-                    var t = m[e];
-                    delete m[e],
-                        t()
-                }
-            }, v = function (e) {
-                b.call(e.data)
-            };
-            h && f || (h = function (e) {
-                for (var t = [], i = 1; arguments.length > i;)
-                    t.push(arguments[i++]);
-                return m[++p] = function () {
-                    s("function" == typeof e ? e : Function(e), t)
-                }
-                    ,
-                    r(p),
-                    p
-            }
-                ,
-                f = function (e) {
-                    delete m[e]
-                }
-                ,
-                "process" == i(47)(u) ? r = function (e) {
-                    u.nextTick(a(b, e, 1))
-                }
-                    : g && g.now ? r = function (e) {
-                        g.now(a(b, e, 1))
-                    }
-                        : d ? (o = (n = new d).port2,
-                            n.port1.onmessage = v,
-                            r = a(o.postMessage, o, 1)) : c.addEventListener && "function" == typeof postMessage && !c.importScripts ? (r = function (e) {
-                                c.postMessage(e + "", "*")
-                            }
-                                ,
-                                c.addEventListener("message", v, !1)) : r = "onreadystatechange" in l("script") ? function (e) {
-                                    x.appendChild(l("script")).onreadystatechange = function () {
-                                        x.removeChild(this),
-                                            b.call(e)
-                                    }
-                                }
-                                    : function (e) {
-                                        setTimeout(a(b, e, 1), 0)
-                                    }
-            ),
-                e.exports = {
-                    set: h,
-                    clear: f
-                }
+    }
+    , function(e, t) {
+        e.exports = function(e) {
+            return "object" == typeof e ? null !== e : "function" == typeof e
         }
-        , function (e, t) {
-            e.exports = function (e) {
+    }
+    , function(e, t, i) {
+        var r = i(10)
+          , n = i(20)
+          , o = i(24)
+          , a = i(28)("src")
+          , s = i(150)
+          , x = ("" + s).split("toString");
+        i(43).inspectSource = function(e) {
+            return s.call(e)
+        }
+        ,
+        (e.exports = function(e, t, i, s) {
+            var l = "function" == typeof i;
+            l && (o(i, "name") || n(i, "name", t)),
+            e[t] !== i && (l && (o(i, a) || n(i, a, e[t] ? "" + e[t] : x.join(String(t)))),
+            e === r ? e[t] = i : s ? e[t] ? e[t] = i : n(e, t, i) : (delete e[t],
+            n(e, t, i)))
+        }
+        )(Function.prototype, "toString", (function() {
+            return "function" == typeof this && this[a] || s.call(this)
+        }
+        ))
+    }
+    , function(e, t, i) {
+        var r = i(10)
+          , n = i(43)
+          , o = i(20)
+          , a = i(22)
+          , s = i(51)
+          , x = function(e, t, i) {
+            var l, c, u, h, f = e & x.F, d = e & x.G, g = e & x.S, p = e & x.P, m = e & x.B, b = d ? r : g ? r[t] || (r[t] = {}) : (r[t] || {}).prototype, v = d ? n : n[t] || (n[t] = {}), C = v.prototype || (v.prototype = {});
+            for (l in d && (i = t),
+            i)
+                u = ((c = !f && b && void 0 !== b[l]) ? b : i)[l],
+                h = m && c ? s(u, r) : p && "function" == typeof u ? s(Function.call, u) : u,
+                b && a(b, l, u, e & x.U),
+                v[l] != u && o(v, l, h),
+                p && C[l] != u && (C[l] = u)
+        };
+        r.core = n,
+        x.F = 1,
+        x.G = 2,
+        x.S = 4,
+        x.P = 8,
+        x.B = 16,
+        x.W = 32,
+        x.U = 64,
+        x.R = 128,
+        e.exports = x
+    }
+    , function(e, t) {
+        var i = {}.hasOwnProperty;
+        e.exports = function(e, t) {
+            return i.call(e, t)
+        }
+    }
+    , function(e, t, i) {
+        e.exports = !i(40)((function() {
+            return 7 != Object.defineProperty({}, "a", {
+                get: function() {
+                    return 7
+                }
+            }).a
+        }
+        ))
+    }
+    , function(e, t, i) {
+        var r = i(27)
+          , n = i(107)
+          , o = i(78)
+          , a = Object.defineProperty;
+        t.f = i(25) ? Object.defineProperty : function(e, t, i) {
+            if (r(e),
+            t = o(t, !0),
+            r(i),
+            n)
                 try {
-                    return {
-                        e: !1,
-                        v: e()
-                    }
-                } catch (e) {
-                    return {
-                        e: !0,
-                        v: e
-                    }
-                }
-            }
+                    return a(e, t, i)
+                } catch (e) {}
+            if ("get"in i || "set"in i)
+                throw TypeError("Accessors not supported!");
+            return "value"in i && (e[t] = i.value),
+            e
         }
-        , function (e, t, i) {
-            var r = i(27)
-                , n = i(33)
-                , o = i(94);
-            e.exports = function (e, t) {
-                if (r(e),
-                    n(t) && t.constructor === e)
-                    return t;
-                var i = o.f(e);
-                return (0,
-                    i.resolve)(t),
-                    i.promise
-            }
+    }
+    , function(e, t, i) {
+        var r = i(33);
+        e.exports = function(e) {
+            if (!r(e))
+                throw TypeError(e + " is not an object!");
+            return e
         }
-        , function (e, t, i) {
-            var r = i(10)
-                , n = i(43)
-                , o = i(35)
-                , a = i(139)
-                , s = i(13).f;
-            e.exports = function (e) {
-                var t = n.Symbol || (n.Symbol = o ? {} : r.Symbol || {});
-                "_" == e.charAt(0) || e in t || s(t, e, {
-                    value: a.f(e)
-                })
-            }
+    }
+    , function(e, t) {
+        var i = 0
+          , r = Math.random();
+        e.exports = function(e) {
+            return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++i + r).toString(36))
         }
-        , function (e, t, i) {
-            t.f = i(4)
+    }
+    , function(e, t) {
+        var i = Math.ceil
+          , r = Math.floor;
+        e.exports = function(e) {
+            return isNaN(e = +e) ? 0 : (e > 0 ? r : i)(e)
         }
-        , function (e, t) {
-            t.f = Object.getOwnPropertySymbols
+    }
+    , function(e, t, i) {
+        var r = i(38);
+        e.exports = function(e) {
+            return Object(r(e))
         }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(10)
-                , n = i(24)
-                , o = i(46)
-                , a = i(142)
-                , s = i(44)
-                , x = i(18)
-                , l = i(41).f
-                , c = i(67).f
-                , u = i(13).f
-                , h = i(235).trim
-                , f = r.Number
-                , d = f
-                , g = f.prototype
-                , p = "Number" == o(i(52)(g))
-                , m = "trim" in String.prototype
-                , b = function (e) {
-                    var t = s(e, !1);
-                    if ("string" == typeof t && t.length > 2) {
-                        var i, r, n, o = (t = m ? t.trim() : h(t, 3)).charCodeAt(0);
-                        if (43 === o || 45 === o) {
-                            if (88 === (i = t.charCodeAt(2)) || 120 === i)
-                                return NaN
-                        } else if (48 === o) {
-                            switch (t.charCodeAt(1)) {
-                                case 66:
-                                case 98:
-                                    r = 2,
-                                        n = 49;
-                                    break;
-                                case 79:
-                                case 111:
-                                    r = 8,
-                                        n = 55;
-                                    break;
-                                default:
-                                    return +t
-                            }
-                            for (var a, x = t.slice(2), l = 0, c = x.length; l < c; l++)
-                                if ((a = x.charCodeAt(l)) < 48 || a > n)
-                                    return NaN;
-                            return parseInt(x, r)
-                        }
-                    }
-                    return +t
-                };
-            if (!f(" 0o1") || !f("0b1") || f("+0x1")) {
-                f = function (e) {
-                    var t = arguments.length < 1 ? 0 : e
-                        , i = this;
-                    return i instanceof f && (p ? x((function () {
-                        g.valueOf.call(i)
-                    }
-                    )) : "Number" != o(i)) ? a(new d(b(t)), i, f) : b(t)
-                }
-                    ;
-                for (var v, C = i(11) ? l(d) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","), y = 0; C.length > y; y++)
-                    n(d, v = C[y]) && !n(f, v) && u(f, v, c(d, v));
-                f.prototype = g,
-                    g.constructor = f,
-                    i(22)(r, "Number", f)
-            }
+    }
+    , function(e, t) {
+        var i = {}.hasOwnProperty;
+        e.exports = function(e, t) {
+            return i.call(e, t)
         }
-        , function (e, t, i) {
-            var r = i(21)
-                , n = i(234).set;
-            e.exports = function (e, t, i) {
-                var o, a = t.constructor;
-                return a !== i && "function" == typeof a && (o = a.prototype) !== i.prototype && r(o) && n && n(e, o),
-                    e
-            }
+    }
+    , function(e, t, i) {
+        var r = i(26)
+          , n = i(61);
+        e.exports = i(25) ? function(e, t, i) {
+            return r.f(e, t, n(1, i))
         }
-        , function (e, t, i) {
-            var r = i(10)
-                , n = i(142)
-                , o = i(13).f
-                , a = i(41).f
-                , s = i(80)
-                , x = i(64)
-                , l = r.RegExp
-                , c = l
-                , u = l.prototype
-                , h = /a/g
-                , f = /a/g
-                , d = new l(h) !== h;
-            if (i(11) && (!d || i(18)((function () {
-                return f[i(4)("match")] = !1,
-                    l(h) != h || l(f) == f || "/a/i" != l(h, "i")
-            }
-            )))) {
-                l = function (e, t) {
-                    var i = this instanceof l
-                        , r = s(e)
-                        , o = void 0 === t;
-                    return !i && r && e.constructor === l && o ? e : n(d ? new c(r && !o ? e.source : e, t) : c((r = e instanceof l) ? e.source : e, r && o ? x.call(e) : t), i ? this : u, l)
-                }
-                    ;
-                for (var g = function (e) {
-                    e in l || o(l, e, {
-                        configurable: !0,
-                        get: function () {
-                            return c[e]
-                        },
-                        set: function (t) {
-                            c[e] = t
-                        }
-                    })
-                }, p = a(c), m = 0; p.length > m;)
-                    g(p[m++]);
-                u.constructor = l,
-                    l.prototype = u,
-                    i(22)(r, "RegExp", l)
-            }
-            i(128)("RegExp")
+        : function(e, t, i) {
+            return e[t] = i,
+            e
         }
-        , function (e, t, i) {
-            e.exports = i(193)
+    }
+    , function(e, t) {
+        e.exports = function(e) {
+            return "object" == typeof e ? null !== e : "function" == typeof e
         }
-        , function (e, t, i) {
-            e.exports = i(209)
-        }
-        , function (e, t, i) {
-            "use strict";
-            (function (e, t) {
-                var r = i(15)
-                    , n = i.n(r)
-                    , o = (i(69),
-                        i(42),
-                        i(9))
-                    , a = i.n(o)
-                    , s = i(3)
-                    , x = i.n(s)
-                    , l = (i(79),
-                        i(16))
-                    , c = i.n(l)
-                    , u = (i(84),
-                        i(85),
-                        i(86),
-                        i(8))
-                    , h = i.n(u)
-                    , f = i(2)
-                    , d = i.n(f)
-                    , g = i(1)
-                    , p = i.n(g)
-                    , m = (i(88),
-                        i(0))
-                    , b = i.n(m);
-                !function (e, r) {
-                    var n = i(120);
-                    window.dcodeIO = window.dcodeIO || {},
-                        window.dcodeIO.ByteBuffer = n,
-                        "function" == typeof define && i(121) ? define(["bytebuffer"], r) : "object" === b()(t) && t && t.exports ? t.exports = r(i(120), !0) : (e.dcodeIO = e.dcodeIO || {}).ProtoBuf = r(e.dcodeIO.ByteBuffer)
-                }(window, (function (t, r) {
-                    var o, s = {};
-                    return s.ByteBuffer = t,
-                        s.Long = t.Long || null,
-                        s.VERSION = "5.0.1",
-                        s.WIRE_TYPES = {},
-                        s.WIRE_TYPES.VARINT = 0,
-                        s.WIRE_TYPES.BITS64 = 1,
-                        s.WIRE_TYPES.LDELIM = 2,
-                        s.WIRE_TYPES.STARTGROUP = 3,
-                        s.WIRE_TYPES.ENDGROUP = 4,
-                        s.WIRE_TYPES.BITS32 = 5,
-                        s.PACKABLE_WIRE_TYPES = [s.WIRE_TYPES.VARINT, s.WIRE_TYPES.BITS64, s.WIRE_TYPES.BITS32],
-                        s.TYPES = {
-                            int32: {
-                                name: "int32",
-                                wireType: s.WIRE_TYPES.VARINT,
-                                defaultValue: 0
-                            },
-                            uint32: {
-                                name: "uint32",
-                                wireType: s.WIRE_TYPES.VARINT,
-                                defaultValue: 0
-                            },
-                            sint32: {
-                                name: "sint32",
-                                wireType: s.WIRE_TYPES.VARINT,
-                                defaultValue: 0
-                            },
-                            int64: {
-                                name: "int64",
-                                wireType: s.WIRE_TYPES.VARINT,
-                                defaultValue: s.Long ? s.Long.ZERO : void 0
-                            },
-                            uint64: {
-                                name: "uint64",
-                                wireType: s.WIRE_TYPES.VARINT,
-                                defaultValue: s.Long ? s.Long.UZERO : void 0
-                            },
-                            sint64: {
-                                name: "sint64",
-                                wireType: s.WIRE_TYPES.VARINT,
-                                defaultValue: s.Long ? s.Long.ZERO : void 0
-                            },
-                            bool: {
-                                name: "bool",
-                                wireType: s.WIRE_TYPES.VARINT,
-                                defaultValue: !1
-                            },
-                            double: {
-                                name: "double",
-                                wireType: s.WIRE_TYPES.BITS64,
-                                defaultValue: 0
-                            },
-                            string: {
-                                name: "string",
-                                wireType: s.WIRE_TYPES.LDELIM,
-                                defaultValue: ""
-                            },
-                            bytes: {
-                                name: "bytes",
-                                wireType: s.WIRE_TYPES.LDELIM,
-                                defaultValue: null
-                            },
-                            fixed32: {
-                                name: "fixed32",
-                                wireType: s.WIRE_TYPES.BITS32,
-                                defaultValue: 0
-                            },
-                            sfixed32: {
-                                name: "sfixed32",
-                                wireType: s.WIRE_TYPES.BITS32,
-                                defaultValue: 0
-                            },
-                            fixed64: {
-                                name: "fixed64",
-                                wireType: s.WIRE_TYPES.BITS64,
-                                defaultValue: s.Long ? s.Long.UZERO : void 0
-                            },
-                            sfixed64: {
-                                name: "sfixed64",
-                                wireType: s.WIRE_TYPES.BITS64,
-                                defaultValue: s.Long ? s.Long.ZERO : void 0
-                            },
-                            float: {
-                                name: "float",
-                                wireType: s.WIRE_TYPES.BITS32,
-                                defaultValue: 0
-                            },
-                            enum: {
-                                name: "enum",
-                                wireType: s.WIRE_TYPES.VARINT,
-                                defaultValue: 0
-                            },
-                            message: {
-                                name: "message",
-                                wireType: s.WIRE_TYPES.LDELIM,
-                                defaultValue: null
-                            },
-                            group: {
-                                name: "group",
-                                wireType: s.WIRE_TYPES.STARTGROUP,
-                                defaultValue: null
-                            }
-                        },
-                        s.MAP_KEY_TYPES = [s.TYPES.int32, s.TYPES.sint32, s.TYPES.sfixed32, s.TYPES.uint32, s.TYPES.fixed32, s.TYPES.int64, s.TYPES.sint64, s.TYPES.sfixed64, s.TYPES.uint64, s.TYPES.fixed64, s.TYPES.bool, s.TYPES.string, s.TYPES.bytes],
-                        s.ID_MIN = 1,
-                        s.ID_MAX = 536870911,
-                        s.convertFieldsToCamelCase = !1,
-                        s.populateAccessors = !0,
-                        s.populateDefaults = !0,
-                        s.Util = ((o = {}).IS_NODE = !("object" !== (void 0 === e ? "undefined" : b()(e)) || "[object process]" != e + "" || e.browser),
-                            o.XHR = function () {
-                                for (var e = [function () {
-                                    return new XMLHttpRequest
-                                }
-                                    , function () {
-                                        return new ActiveXObject("Msxml2.XMLHTTP")
-                                    }
-                                    , function () {
-                                        return new ActiveXObject("Msxml3.XMLHTTP")
-                                    }
-                                    , function () {
-                                        return new ActiveXObject("Microsoft.XMLHTTP")
-                                    }
-                                ], t = null, i = 0; i < e.length; i++) {
-                                    try {
-                                        t = e[i]()
-                                    } catch (e) {
-                                        continue
-                                    }
-                                    break
-                                }
-                                if (!t)
-                                    throw Error("XMLHttpRequest is not supported");
-                                return t
-                            }
-                            ,
-                            o.fetch = function (e, t) {
-                                if (t && "function" != typeof t && (t = null),
-                                    o.IS_NODE) {
-                                    var r = i(192);
-                                    if (t)
-                                        r.readFile(e, (function (e, i) {
-                                            t(e ? null : "" + i)
-                                        }
-                                        ));
-                                    else
-                                        try {
-                                            return r.readFileSync(e)
-                                        } catch (e) {
-                                            return null
-                                        }
-                                } else {
-                                    var n = o.XHR();
-                                    if (n.open("GET", e, !!t),
-                                        n.setRequestHeader("Accept", "text/plain"),
-                                        "function" == typeof n.overrideMimeType && n.overrideMimeType("text/plain"),
-                                        !t)
-                                        return n.send(null),
-                                            200 == n.status || 0 == n.status && "string" == typeof n.responseText ? n.responseText : null;
-                                    n.onreadystatechange = function () {
-                                        4 == n.readyState && (200 == n.status || 0 == n.status && "string" == typeof n.responseText ? t(n.responseText) : t(null))
-                                    }
-                                        ,
-                                        4 != n.readyState && n.send(null)
-                                }
-                            }
-                            ,
-                            o.toCamelCase = function (e) {
-                                return e.replace(/_([a-zA-Z])/g, (function (e, t) {
-                                    return t.toUpperCase()
-                                }
-                                ))
-                            }
-                            ,
-                            o),
-                        s.Lang = {
-                            DELIM: /[\s\{\}=;:\[\],'"\(\)<>]/g,
-                            RULE: /^(?:required|optional|repeated|map)$/,
-                            TYPE: /^(?:double|float|int32|uint32|sint32|int64|uint64|sint64|fixed32|sfixed32|fixed64|sfixed64|bool|string|bytes)$/,
-                            NAME: /^[a-zA-Z_][a-zA-Z_0-9]*$/,
-                            TYPEDEF: /^[a-zA-Z][a-zA-Z_0-9]*$/,
-                            TYPEREF: /^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)+$/,
-                            FQTYPEREF: /^(?:\.[a-zA-Z][a-zA-Z_0-9]*)+$/,
-                            NUMBER: /^-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+|([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?)|inf|nan)$/,
-                            NUMBER_DEC: /^(?:[1-9][0-9]*|0)$/,
-                            NUMBER_HEX: /^0[xX][0-9a-fA-F]+$/,
-                            NUMBER_OCT: /^0[0-7]+$/,
-                            NUMBER_FLT: /^([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?|inf|nan)$/,
-                            BOOL: /^(?:true|false)$/i,
-                            ID: /^(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,
-                            NEGID: /^\-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,
-                            WHITESPACE: /\s/,
-                            STRING: /(?:"([^"\\]*(?:\\.[^"\\]*)*)")|(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,
-                            STRING_DQ: /(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,
-                            STRING_SQ: /(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g
-                        },
-                        s.DotProto = function (e, t) {
-                            function i(e, i) {
-                                var r = -1
-                                    , n = 1;
-                                if ("-" == e.charAt(0) && (n = -1,
-                                    e = e.substring(1)),
-                                    t.NUMBER_DEC.test(e))
-                                    r = p()(e);
-                                else if (t.NUMBER_HEX.test(e))
-                                    r = p()(e.substring(2), 16);
-                                else {
-                                    if (!t.NUMBER_OCT.test(e))
-                                        throw Error("illegal id value: " + (0 > n ? "-" : "") + e);
-                                    r = p()(e.substring(1), 8)
-                                }
-                                if (r = n * r | 0,
-                                    !i && 0 > r)
-                                    throw Error("illegal id value: " + (0 > n ? "-" : "") + e);
-                                return r
-                            }
-                            function r(e) {
-                                var i = 1;
-                                if ("-" == e.charAt(0) && (i = -1,
-                                    e = e.substring(1)),
-                                    t.NUMBER_DEC.test(e))
-                                    return i * p()(e, 10);
-                                if (t.NUMBER_HEX.test(e))
-                                    return i * p()(e.substring(2), 16);
-                                if (t.NUMBER_OCT.test(e))
-                                    return i * p()(e.substring(1), 8);
-                                if ("inf" === e)
-                                    return 1 / 0 * i;
-                                if ("nan" === e)
-                                    return NaN;
-                                if (t.NUMBER_FLT.test(e))
-                                    return i * d()(e);
-                                throw Error("illegal number value: " + (0 > i ? "-" : "") + e)
-                            }
-                            function n(e, t, i) {
-                                void 0 === e[t] ? e[t] = i : (h()(e[t]) || (e[t] = [e[t]]),
-                                    e[t].push(i))
-                            }
-                            var o = {}
-                                , a = function (e) {
-                                    this.source = e + "",
-                                        this.index = 0,
-                                        this.line = 1,
-                                        this.stack = [],
-                                        this._stringOpen = null
-                                };
-                            (s = a.prototype)._readString = function () {
-                                var e = '"' === this._stringOpen ? t.STRING_DQ : t.STRING_SQ;
-                                e.lastIndex = this.index - 1;
-                                var i = e.exec(this.source);
-                                if (!i)
-                                    throw Error("unterminated string");
-                                return this.index = e.lastIndex,
-                                    this.stack.push(this._stringOpen),
-                                    this._stringOpen = null,
-                                    i[1]
-                            }
-                                ,
-                                s.next = function () {
-                                    if (0 < this.stack.length)
-                                        return this.stack.shift();
-                                    if (this.index >= this.source.length)
-                                        return null;
-                                    if (null !== this._stringOpen)
-                                        return this._readString();
-                                    var e, i;
-                                    do {
-                                        for (e = !1; t.WHITESPACE.test(i = this.source.charAt(this.index));)
-                                            if ("\n" === i && ++this.line,
-                                                ++this.index === this.source.length)
-                                                return null;
-                                        if ("/" === this.source.charAt(this.index))
-                                            if (++this.index,
-                                                "/" === this.source.charAt(this.index)) {
-                                                for (; "\n" !== this.source.charAt(++this.index);)
-                                                    if (this.index == this.source.length)
-                                                        return null;
-                                                ++this.index,
-                                                    ++this.line,
-                                                    e = !0
-                                            } else {
-                                                if ("*" !== (i = this.source.charAt(this.index)))
-                                                    return "/";
-                                                do {
-                                                    if ("\n" === i && ++this.line,
-                                                        ++this.index === this.source.length)
-                                                        return null;
-                                                    e = i,
-                                                        i = this.source.charAt(this.index)
-                                                } while ("*" !== e || "/" !== i); ++this.index,
-                                                    e = !0
-                                            }
-                                    } while (e); if (this.index === this.source.length)
-                                        return null;
-                                    if (i = this.index,
-                                        t.DELIM.lastIndex = 0,
-                                        !t.DELIM.test(this.source.charAt(i++)))
-                                        for (; i < this.source.length && !t.DELIM.test(this.source.charAt(i));)
-                                            ++i;
-                                    return '"' !== (i = this.source.substring(this.index, this.index = i)) && "'" !== i || (this._stringOpen = i),
-                                        i
-                                }
-                                ,
-                                s.peek = function () {
-                                    if (0 === this.stack.length) {
-                                        var e = this.next();
-                                        if (null === e)
-                                            return null;
-                                        this.stack.push(e)
-                                    }
-                                    return this.stack[0]
-                                }
-                                ,
-                                s.skip = function (e) {
-                                    var t = this.next();
-                                    if (t !== e)
-                                        throw Error("illegal '" + t + "', '" + e + "' expected")
-                                }
-                                ,
-                                s.omit = function (e) {
-                                    return this.peek() === e && (this.next(),
-                                        !0)
-                                }
-                                ,
-                                s.toString = function () {
-                                    return "Tokenizer (" + this.index + "/" + this.source.length + " at line " + this.line + ")"
-                                }
-                                ,
-                                o.Tokenizer = a;
-                            var s, x = function (e) {
-                                this.tn = new a(e),
-                                    this.proto3 = !1
-                            };
-                            return (s = x.prototype).parse = function () {
-                                var e, i, r = {
-                                    name: "[ROOT]",
-                                    package: null,
-                                    messages: [],
-                                    enums: [],
-                                    imports: [],
-                                    options: {},
-                                    services: []
-                                }, n = !0;
-                                try {
-                                    for (; e = this.tn.next();)
-                                        switch (e) {
-                                            case "package":
-                                                if (!n || null !== r.package)
-                                                    throw Error("unexpected 'package'");
-                                                if (e = this.tn.next(),
-                                                    !t.TYPEREF.test(e))
-                                                    throw Error("illegal package name: " + e);
-                                                this.tn.skip(";"),
-                                                    r.package = e;
-                                                break;
-                                            case "import":
-                                                if (!n)
-                                                    throw Error("unexpected 'import'");
-                                                ("public" === (e = this.tn.peek()) || (i = "weak" === e)) && this.tn.next(),
-                                                    e = this._readString(),
-                                                    this.tn.skip(";"),
-                                                    i || r.imports.push(e);
-                                                break;
-                                            case "syntax":
-                                                if (!n)
-                                                    throw Error("unexpected 'syntax'");
-                                                this.tn.skip("="),
-                                                    "proto3" === (r.syntax = this._readString()) && (this.proto3 = !0),
-                                                    this.tn.skip(";");
-                                                break;
-                                            case "message":
-                                                this._parseMessage(r, null),
-                                                    n = !1;
-                                                break;
-                                            case "enum":
-                                                this._parseEnum(r),
-                                                    n = !1;
-                                                break;
-                                            case "option":
-                                                this._parseOption(r);
-                                                break;
-                                            case "service":
-                                                this._parseService(r);
-                                                break;
-                                            case "extend":
-                                                this._parseExtend(r);
-                                                break;
-                                            default:
-                                                throw Error("unexpected '" + e + "'")
-                                        }
-                                } catch (e) {
-                                    throw e.message = "Parse error at line " + this.tn.line + ": " + e.message,
-                                    e
-                                }
-                                return delete r.name,
-                                    r
-                            }
-                                ,
-                                x.parse = function (e) {
-                                    return new x(e).parse()
-                                }
-                                ,
-                                s._readString = function () {
-                                    var e, t = "";
-                                    do {
-                                        if ("'" !== (e = this.tn.next()) && '"' !== e)
-                                            throw Error("illegal string delimiter: " + e);
-                                        t += this.tn.next(),
-                                            this.tn.skip(e),
-                                            e = this.tn.peek()
-                                    } while ('"' === e || '"' === e); return t
-                                }
-                                ,
-                                s._readValue = function (e) {
-                                    var i = this.tn.peek();
-                                    if ('"' === i || "'" === i)
-                                        return this._readString();
-                                    if (this.tn.next(),
-                                        t.NUMBER.test(i))
-                                        return r(i);
-                                    if (t.BOOL.test(i))
-                                        return "true" === i.toLowerCase();
-                                    if (e && t.TYPEREF.test(i))
-                                        return i;
-                                    throw Error("illegal value: " + i)
-                                }
-                                ,
-                                s._parseOption = function (e, i) {
-                                    var r = this.tn.next()
-                                        , n = !1;
-                                    if ("(" === r && (n = !0,
-                                        r = this.tn.next()),
-                                        !t.TYPEREF.test(r))
-                                        throw Error("illegal option name: " + r);
-                                    var o = r;
-                                    n && (this.tn.skip(")"),
-                                        o = "(" + o + ")",
-                                        r = this.tn.peek(),
-                                        t.FQTYPEREF.test(r) && (o += r,
-                                            this.tn.next())),
-                                        this.tn.skip("="),
-                                        this._parseOptionValue(e, o),
-                                        i || this.tn.skip(";")
-                                }
-                                ,
-                                s._parseOptionValue = function (e, i) {
-                                    var r = this.tn.peek();
-                                    if ("{" !== r)
-                                        n(e.options, i, this._readValue(!0));
-                                    else
-                                        for (this.tn.skip("{"); "}" !== (r = this.tn.next());) {
-                                            if (!t.NAME.test(r))
-                                                throw Error("illegal option name: " + i + "." + r);
-                                            this.tn.omit(":") ? n(e.options, i + "." + r, this._readValue(!0)) : this._parseOptionValue(e, i + "." + r)
-                                        }
-                                }
-                                ,
-                                s._parseService = function (e) {
-                                    var i = this.tn.next();
-                                    if (!t.NAME.test(i))
-                                        throw Error("illegal service name at line " + this.tn.line + ": " + i);
-                                    var r = {
-                                        name: i,
-                                        rpc: {},
-                                        options: {}
-                                    };
-                                    for (this.tn.skip("{"); "}" !== (i = this.tn.next());)
-                                        if ("option" === i)
-                                            this._parseOption(r);
-                                        else {
-                                            if ("rpc" !== i)
-                                                throw Error("illegal service token: " + i);
-                                            this._parseServiceRPC(r)
-                                        }
-                                    this.tn.omit(";"),
-                                        e.services.push(r)
-                                }
-                                ,
-                                s._parseServiceRPC = function (e) {
-                                    var i = this.tn.next();
-                                    if (!t.NAME.test(i))
-                                        throw Error("illegal rpc service method name: " + i);
-                                    var r = i
-                                        , n = {
-                                            request: null,
-                                            response: null,
-                                            request_stream: !1,
-                                            response_stream: !1,
-                                            options: {}
-                                        };
-                                    if (this.tn.skip("("),
-                                        "stream" === (i = this.tn.next()).toLowerCase() && (n.request_stream = !0,
-                                            i = this.tn.next()),
-                                        !t.TYPEREF.test(i))
-                                        throw Error("illegal rpc service request type: " + i);
-                                    if (n.request = i,
-                                        this.tn.skip(")"),
-                                        "returns" !== (i = this.tn.next()).toLowerCase())
-                                        throw Error("illegal rpc service request type delimiter: " + i);
-                                    if (this.tn.skip("("),
-                                        "stream" === (i = this.tn.next()).toLowerCase() && (n.response_stream = !0,
-                                            i = this.tn.next()),
-                                        n.response = i,
-                                        this.tn.skip(")"),
-                                        "{" === (i = this.tn.peek())) {
-                                        for (this.tn.next(); "}" !== (i = this.tn.next());) {
-                                            if ("option" !== i)
-                                                throw Error("illegal rpc service token: " + i);
-                                            this._parseOption(n)
-                                        }
-                                        this.tn.omit(";")
-                                    } else
-                                        this.tn.skip(";");
-                                    void 0 === e.rpc && (e.rpc = {}),
-                                        e.rpc[r] = n
-                                }
-                                ,
-                                s._parseMessage = function (e, r) {
-                                    var n = !!r
-                                        , o = this.tn.next()
-                                        , a = {
-                                            name: "",
-                                            fields: [],
-                                            enums: [],
-                                            messages: [],
-                                            options: {},
-                                            services: [],
-                                            oneofs: {}
-                                        };
-                                    if (!t.NAME.test(o))
-                                        throw Error("illegal " + (n ? "group" : "message") + " name: " + o);
-                                    for (a.name = o,
-                                        n && (this.tn.skip("="),
-                                            r.id = i(this.tn.next()),
-                                            a.isGroup = !0),
-                                        "[" === (o = this.tn.peek()) && r && this._parseFieldOptions(r),
-                                        this.tn.skip("{"); "}" !== (o = this.tn.next());)
-                                        if (t.RULE.test(o))
-                                            this._parseMessageField(a, o);
-                                        else if ("oneof" === o)
-                                            this._parseMessageOneOf(a);
-                                        else if ("enum" === o)
-                                            this._parseEnum(a);
-                                        else if ("message" === o)
-                                            this._parseMessage(a);
-                                        else if ("option" === o)
-                                            this._parseOption(a);
-                                        else if ("service" === o)
-                                            this._parseService(a);
-                                        else if ("extensions" === o)
-                                            a.hasOwnProperty("extensions") ? a.extensions = a.extensions.concat(this._parseExtensionRanges()) : a.extensions = this._parseExtensionRanges();
-                                        else if ("reserved" === o)
-                                            this._parseIgnored();
-                                        else if ("extend" === o)
-                                            this._parseExtend(a);
-                                        else {
-                                            if (!t.TYPEREF.test(o))
-                                                throw Error("illegal message token: " + o);
-                                            if (!this.proto3)
-                                                throw Error("illegal field rule: " + o);
-                                            this._parseMessageField(a, "optional", o)
-                                        }
-                                    return this.tn.omit(";"),
-                                        e.messages.push(a),
-                                        a
-                                }
-                                ,
-                                s._parseIgnored = function () {
-                                    for (; ";" !== this.tn.peek();)
-                                        this.tn.next();
-                                    this.tn.skip(";")
-                                }
-                                ,
-                                s._parseMessageField = function (e, r, n) {
-                                    if (!t.RULE.test(r))
-                                        throw Error("illegal message field rule: " + r);
-                                    var o = {
-                                        rule: r,
-                                        type: "",
-                                        name: "",
-                                        options: {},
-                                        id: 0
-                                    };
-                                    if ("map" === r) {
-                                        if (n)
-                                            throw Error("illegal type: " + n);
-                                        if (this.tn.skip("<"),
-                                            r = this.tn.next(),
-                                            !t.TYPE.test(r) && !t.TYPEREF.test(r))
-                                            throw Error("illegal message field type: " + r);
-                                        if (o.keytype = r,
-                                            this.tn.skip(","),
-                                            r = this.tn.next(),
-                                            !t.TYPE.test(r) && !t.TYPEREF.test(r))
-                                            throw Error("illegal message field: " + r);
-                                        if (o.type = r,
-                                            this.tn.skip(">"),
-                                            r = this.tn.next(),
-                                            !t.NAME.test(r))
-                                            throw Error("illegal message field name: " + r);
-                                        o.name = r,
-                                            this.tn.skip("="),
-                                            o.id = i(this.tn.next()),
-                                            "[" === (r = this.tn.peek()) && this._parseFieldOptions(o),
-                                            this.tn.skip(";")
-                                    } else if ("group" === (n = void 0 !== n ? n : this.tn.next())) {
-                                        if (r = this._parseMessage(e, o),
-                                            !/^[A-Z]/.test(r.name))
-                                            throw Error("illegal group name: " + r.name);
-                                        o.type = r.name,
-                                            o.name = r.name.toLowerCase(),
-                                            this.tn.omit(";")
-                                    } else {
-                                        if (!t.TYPE.test(n) && !t.TYPEREF.test(n))
-                                            throw Error("illegal message field type: " + n);
-                                        if (o.type = n,
-                                            r = this.tn.next(),
-                                            !t.NAME.test(r))
-                                            throw Error("illegal message field name: " + r);
-                                        o.name = r,
-                                            this.tn.skip("="),
-                                            o.id = i(this.tn.next()),
-                                            "[" === (r = this.tn.peek()) && this._parseFieldOptions(o),
-                                            this.tn.skip(";")
-                                    }
-                                    return e.fields.push(o),
-                                        o
-                                }
-                                ,
-                                s._parseMessageOneOf = function (e) {
-                                    var i = this.tn.next();
-                                    if (!t.NAME.test(i))
-                                        throw Error("illegal oneof name: " + i);
-                                    var r = i
-                                        , n = [];
-                                    for (this.tn.skip("{"); "}" !== (i = this.tn.next());)
-                                        (i = this._parseMessageField(e, "optional", i)).oneof = r,
-                                            n.push(i.id);
-                                    this.tn.omit(";"),
-                                        e.oneofs[r] = n
-                                }
-                                ,
-                                s._parseFieldOptions = function (e) {
-                                    this.tn.skip("[");
-                                    for (var t = !0; "]" !== this.tn.peek();)
-                                        t || this.tn.skip(","),
-                                            this._parseOption(e, !0),
-                                            t = !1;
-                                    this.tn.next()
-                                }
-                                ,
-                                s._parseEnum = function (e) {
-                                    var r = {
-                                        name: "",
-                                        values: [],
-                                        options: {}
-                                    }
-                                        , n = this.tn.next();
-                                    if (!t.NAME.test(n))
-                                        throw Error("illegal name: " + n);
-                                    for (r.name = n,
-                                        this.tn.skip("{"); "}" !== (n = this.tn.next());)
-                                        if ("option" === n)
-                                            this._parseOption(r);
-                                        else {
-                                            if (!t.NAME.test(n))
-                                                throw Error("illegal name: " + n);
-                                            this.tn.skip("=");
-                                            var o = {
-                                                name: n,
-                                                id: i(this.tn.next(), !0)
-                                            };
-                                            "[" === (n = this.tn.peek()) && this._parseFieldOptions({
-                                                options: {}
-                                            }),
-                                                this.tn.skip(";"),
-                                                r.values.push(o)
-                                        }
-                                    this.tn.omit(";"),
-                                        e.enums.push(r)
-                                }
-                                ,
-                                s._parseExtensionRanges = function () {
-                                    var t, i, n = [];
-                                    do {
-                                        for (i = []; ;) {
-                                            switch (t = this.tn.next()) {
-                                                case "min":
-                                                    t = e.ID_MIN;
-                                                    break;
-                                                case "max":
-                                                    t = e.ID_MAX;
-                                                    break;
-                                                default:
-                                                    t = r(t)
-                                            }
-                                            if (i.push(t),
-                                                2 === i.length)
-                                                break;
-                                            if ("to" !== this.tn.peek()) {
-                                                i.push(t);
-                                                break
-                                            }
-                                            this.tn.next()
-                                        }
-                                        n.push(i)
-                                    } while (this.tn.omit(",")); return this.tn.skip(";"),
-                                        n
-                                }
-                                ,
-                                s._parseExtend = function (e) {
-                                    var i = this.tn.next();
-                                    if (!t.TYPEREF.test(i))
-                                        throw Error("illegal extend reference: " + i);
-                                    var r = {
-                                        ref: i,
-                                        fields: []
-                                    };
-                                    for (this.tn.skip("{"); "}" !== (i = this.tn.next());)
-                                        if (t.RULE.test(i))
-                                            this._parseMessageField(r, i);
-                                        else {
-                                            if (!t.TYPEREF.test(i))
-                                                throw Error("illegal extend token: " + i);
-                                            if (!this.proto3)
-                                                throw Error("illegal field rule: " + i);
-                                            this._parseMessageField(r, "optional", i)
-                                        }
-                                    return this.tn.omit(";"),
-                                        e.messages.push(r),
-                                        r
-                                }
-                                ,
-                                s.toString = function () {
-                                    return "Parser at line " + this.tn.line
-                                }
-                                ,
-                                o.Parser = x,
-                                o
-                        }(s, s.Lang),
-                        s.Reflect = function (e) {
-                            function i(t, i) {
-                                if (t && "number" == typeof t.low && "number" == typeof t.high && "boolean" == typeof t.unsigned && t.low == t.low && t.high == t.high)
-                                    return new e.Long(t.low, t.high, void 0 === i ? t.unsigned : i);
-                                if ("string" == typeof t)
-                                    return e.Long.fromString(t, i || !1, 10);
-                                if ("number" == typeof t)
-                                    return e.Long.fromNumber(t, i || !1);
-                                throw Error("not convertible to Long")
-                            }
-                            function r(t, i) {
-                                var n = 7 & (o = i.readVarint32())
-                                    , o = o >>> 3;
-                                switch (n) {
-                                    case e.WIRE_TYPES.VARINT:
-                                        do {
-                                            o = i.readUint8()
-                                        } while (128 == (128 & o)); break;
-                                    case e.WIRE_TYPES.BITS64:
-                                        i.offset += 8;
-                                        break;
-                                    case e.WIRE_TYPES.LDELIM:
-                                        o = i.readVarint32(),
-                                            i.offset += o;
-                                        break;
-                                    case e.WIRE_TYPES.STARTGROUP:
-                                        r(o, i);
-                                        break;
-                                    case e.WIRE_TYPES.ENDGROUP:
-                                        if (o === t)
-                                            return !1;
-                                        throw Error("Illegal GROUPEND after unknown group: " + o + " (" + t + " expected)");
-                                    case e.WIRE_TYPES.BITS32:
-                                        i.offset += 4;
-                                        break;
-                                    default:
-                                        throw Error("Illegal wire type in unknown group " + t + ": " + n)
-                                }
-                                return !0
-                            }
-                            var o = {}
-                                , s = function (e, t, i) {
-                                    this.builder = e,
-                                        this.parent = t,
-                                        this.name = i
-                                };
-                            (l = s.prototype).fqn = function () {
-                                for (var e = this.name, t = this; ;) {
-                                    if (null == (t = t.parent))
-                                        break;
-                                    e = t.name + "." + e
-                                }
-                                return e
-                            }
-                                ,
-                                l.toString = function (e) {
-                                    return (e ? this.className + " " : "") + this.fqn()
-                                }
-                                ,
-                                l.build = function () {
-                                    throw Error(this.toString(!0) + " cannot be built directly")
-                                }
-                                ,
-                                o.T = s;
-                            var l, u = function (e, t, i, r, n) {
-                                s.call(this, e, t, i),
-                                    this.className = "Namespace",
-                                    this.children = [],
-                                    this.options = r || {},
-                                    this.syntax = n || "proto2"
-                            };
-                            (l = u.prototype = c()(s.prototype)).getChildren = function (e) {
-                                if (null == (e = e || null))
-                                    return this.children.slice();
-                                for (var t = [], i = 0, r = this.children.length; i < r; ++i)
-                                    this.children[i] instanceof e && t.push(this.children[i]);
-                                return t
-                            }
-                                ,
-                                l.addChild = function (e) {
-                                    var t;
-                                    if (t = this.getChild(e.name))
-                                        if (t instanceof g.Field && t.name !== t.originalName && null === this.getChild(t.originalName))
-                                            t.name = t.originalName;
-                                        else {
-                                            if (!(e instanceof g.Field && e.name !== e.originalName && null === this.getChild(e.originalName)))
-                                                throw Error("Duplicate name in namespace " + this.toString(!0) + ": " + e.name);
-                                            e.name = e.originalName
-                                        }
-                                    this.children.push(e)
-                                }
-                                ,
-                                l.getChild = function (e) {
-                                    for (var t = "number" == typeof e ? "id" : "name", i = 0, r = this.children.length; i < r; ++i)
-                                        if (this.children[i][t] === e)
-                                            return this.children[i];
-                                    return null
-                                }
-                                ,
-                                l.resolve = function (e, t) {
-                                    var i = "string" == typeof e ? e.split(".") : e
-                                        , r = this
-                                        , n = 0;
-                                    if ("" === i[n]) {
-                                        for (; null !== r.parent;)
-                                            r = r.parent;
-                                        n++
-                                    }
-                                    do {
-                                        do {
-                                            if (!(r instanceof o.Namespace)) {
-                                                r = null;
-                                                break
-                                            }
-                                            if (!((r = r.getChild(i[n])) && r instanceof o.T) || t && !(r instanceof o.Namespace)) {
-                                                r = null;
-                                                break
-                                            }
-                                            n++
-                                        } while (n < i.length); if (null != r)
-                                            break;
-                                        if (null !== this.parent)
-                                            return this.parent.resolve(e, t)
-                                    } while (null != r); return r
-                                }
-                                ,
-                                l.qn = function (e) {
-                                    var t = []
-                                        , i = e;
-                                    do {
-                                        t.unshift(i.name),
-                                            i = i.parent
-                                    } while (null !== i); for (i = 1; i <= t.length; i++) {
-                                        var r = t.slice(t.length - i);
-                                        if (e === this.resolve(r, e instanceof o.Namespace))
-                                            return r.join(".")
-                                    }
-                                    return e.fqn()
-                                }
-                                ,
-                                l.build = function () {
-                                    for (var e, t = {}, i = this.children, r = 0, n = i.length; r < n; ++r)
-                                        (e = i[r]) instanceof u && (t[e.name] = e.build());
-                                    return x.a && x()(t, "$options", {
-                                        value: this.buildOpt()
-                                    }),
-                                        t
-                                }
-                                ,
-                                l.buildOpt = function () {
-                                    for (var e = {}, t = a()(this.options), i = 0, r = t.length; i < r; ++i)
-                                        e[t[i]] = this.options[t[i]];
-                                    return e
-                                }
-                                ,
-                                l.getOption = function (e) {
-                                    return void 0 === e ? this.options : void 0 !== this.options[e] ? this.options[e] : null
-                                }
-                                ,
-                                o.Namespace = u;
-                            var f = function (t, i, r, n, o) {
-                                if (this.type = t,
-                                    this.resolvedType = i,
-                                    this.isMapKey = r,
-                                    this.syntax = n,
-                                    this.name = o,
-                                    r && 0 > e.MAP_KEY_TYPES.indexOf(t))
-                                    throw Error("Invalid map key type: " + t.name)
-                            }
-                                , d = f.prototype;
-                            f.defaultFieldValue = function (i) {
-                                if ("string" == typeof i && (i = e.TYPES[i]),
-                                    void 0 === i.defaultValue)
-                                    throw Error("default value for type " + i.name + " is not supported");
-                                return i == e.TYPES.bytes ? new t(0) : i.defaultValue
-                            }
-                                ,
-                                d.toString = function () {
-                                    return (this.name || "") + (this.isMapKey ? "map" : "value") + " element"
-                                }
-                                ,
-                                d.verifyValue = function (r) {
-                                    function n(e, t) {
-                                        throw Error("Illegal value for " + o.toString(!0) + " of type " + o.type.name + ": " + e + " (" + t + ")")
-                                    }
-                                    var o = this;
-                                    switch (this.type) {
-                                        case e.TYPES.int32:
-                                        case e.TYPES.sint32:
-                                        case e.TYPES.sfixed32:
-                                            return ("number" != typeof r || r == r && 0 != r % 1) && n(b()(r), "not an integer"),
-                                                4294967295 < r ? 0 | r : r;
-                                        case e.TYPES.uint32:
-                                        case e.TYPES.fixed32:
-                                            return ("number" != typeof r || r == r && 0 != r % 1) && n(b()(r), "not an integer"),
-                                                0 > r ? r >>> 0 : r;
-                                        case e.TYPES.int64:
-                                        case e.TYPES.sint64:
-                                        case e.TYPES.sfixed64:
-                                            if (e.Long)
-                                                try {
-                                                    return i(r, !1)
-                                                } catch (e) {
-                                                    n(b()(r), e.message)
-                                                }
-                                            else
-                                                n(b()(r), "requires Long.js");
-                                        case e.TYPES.uint64:
-                                        case e.TYPES.fixed64:
-                                            if (e.Long)
-                                                try {
-                                                    return i(r, !0)
-                                                } catch (e) {
-                                                    n(b()(r), e.message)
-                                                }
-                                            else
-                                                n(b()(r), "requires Long.js");
-                                        case e.TYPES.bool:
-                                            return "boolean" != typeof r && n(b()(r), "not a boolean"),
-                                                r;
-                                        case e.TYPES.float:
-                                        case e.TYPES.double:
-                                            return "number" != typeof r && n(b()(r), "not a number"),
-                                                r;
-                                        case e.TYPES.string:
-                                            return "string" == typeof r || r && r instanceof String || n(b()(r), "not a string"),
-                                                "" + r;
-                                        case e.TYPES.bytes:
-                                            return t.isByteBuffer(r) ? r : t.wrap(r, "base64");
-                                        case e.TYPES.enum:
-                                            for (var a = this.resolvedType.getChildren(e.Reflect.Enum.Value), s = 0; s < a.length; s++)
-                                                if (a[s].name == r || a[s].id == r)
-                                                    return a[s].id;
-                                            if ("proto3" === this.syntax)
-                                                return ("number" != typeof r || r == r && 0 != r % 1) && n(b()(r), "not an integer"),
-                                                    (4294967295 < r || 0 > r) && n(b()(r), "not in range for uint32"),
-                                                    r;
-                                            n(r, "not a valid enum value");
-                                        case e.TYPES.group:
-                                        case e.TYPES.message:
-                                            if (r && "object" === b()(r) || n(b()(r), "object expected"),
-                                                r instanceof this.resolvedType.clazz)
-                                                return r;
-                                            if (r instanceof e.Builder.Message) {
-                                                a = {};
-                                                for (s in r)
-                                                    r.hasOwnProperty(s) && (a[s] = r[s]);
-                                                r = a
-                                            }
-                                            return new this.resolvedType.clazz(r)
-                                    }
-                                    throw Error("[INTERNAL] Illegal value for " + this.toString(!0) + ": " + r + " (undefined type " + this.type + ")")
-                                }
-                                ,
-                                d.calculateLength = function (i, r) {
-                                    if (null === r)
-                                        return 0;
-                                    var n;
-                                    switch (this.type) {
-                                        case e.TYPES.int32:
-                                            return 0 > r ? t.calculateVarint64(r) : t.calculateVarint32(r);
-                                        case e.TYPES.uint32:
-                                            return t.calculateVarint32(r);
-                                        case e.TYPES.sint32:
-                                            return t.calculateVarint32(t.zigZagEncode32(r));
-                                        case e.TYPES.fixed32:
-                                        case e.TYPES.sfixed32:
-                                        case e.TYPES.float:
-                                            return 4;
-                                        case e.TYPES.int64:
-                                        case e.TYPES.uint64:
-                                            return t.calculateVarint64(r);
-                                        case e.TYPES.sint64:
-                                            return t.calculateVarint64(t.zigZagEncode64(r));
-                                        case e.TYPES.fixed64:
-                                        case e.TYPES.sfixed64:
-                                            return 8;
-                                        case e.TYPES.bool:
-                                            return 1;
-                                        case e.TYPES.enum:
-                                            return t.calculateVarint32(r);
-                                        case e.TYPES.double:
-                                            return 8;
-                                        case e.TYPES.string:
-                                            return n = t.calculateUTF8Bytes(r),
-                                                t.calculateVarint32(n) + n;
-                                        case e.TYPES.bytes:
-                                            if (0 > r.remaining())
-                                                throw Error("Illegal value for " + this.toString(!0) + ": " + r.remaining() + " bytes remaining");
-                                            return t.calculateVarint32(r.remaining()) + r.remaining();
-                                        case e.TYPES.message:
-                                            return n = this.resolvedType.calculate(r),
-                                                t.calculateVarint32(n) + n;
-                                        case e.TYPES.group:
-                                            return (n = this.resolvedType.calculate(r)) + t.calculateVarint32(i << 3 | e.WIRE_TYPES.ENDGROUP)
-                                    }
-                                    throw Error("[INTERNAL] Illegal value to encode in " + this.toString(!0) + ": " + r + " (unknown type)")
-                                }
-                                ,
-                                d.encodeValue = function (i, r, n) {
-                                    if (null === r)
-                                        return n;
-                                    switch (this.type) {
-                                        case e.TYPES.int32:
-                                            0 > r ? n.writeVarint64(r) : n.writeVarint32(r);
-                                            break;
-                                        case e.TYPES.uint32:
-                                            n.writeVarint32(r);
-                                            break;
-                                        case e.TYPES.sint32:
-                                            n.writeVarint32ZigZag(r);
-                                            break;
-                                        case e.TYPES.fixed32:
-                                            n.writeUint32(r);
-                                            break;
-                                        case e.TYPES.sfixed32:
-                                            n.writeInt32(r);
-                                            break;
-                                        case e.TYPES.int64:
-                                        case e.TYPES.uint64:
-                                            n.writeVarint64(r);
-                                            break;
-                                        case e.TYPES.sint64:
-                                            n.writeVarint64ZigZag(r);
-                                            break;
-                                        case e.TYPES.fixed64:
-                                            n.writeUint64(r);
-                                            break;
-                                        case e.TYPES.sfixed64:
-                                            n.writeInt64(r);
-                                            break;
-                                        case e.TYPES.bool:
-                                            "string" == typeof r ? n.writeVarint32("false" === r.toLowerCase() ? 0 : !!r) : n.writeVarint32(r ? 1 : 0);
-                                            break;
-                                        case e.TYPES.enum:
-                                            n.writeVarint32(r);
-                                            break;
-                                        case e.TYPES.float:
-                                            n.writeFloat32(r);
-                                            break;
-                                        case e.TYPES.double:
-                                            n.writeFloat64(r);
-                                            break;
-                                        case e.TYPES.string:
-                                            n.writeVString(r);
-                                            break;
-                                        case e.TYPES.bytes:
-                                            if (0 > r.remaining())
-                                                throw Error("Illegal value for " + this.toString(!0) + ": " + r.remaining() + " bytes remaining");
-                                            i = r.offset,
-                                                n.writeVarint32(r.remaining()),
-                                                n.append(r),
-                                                r.offset = i;
-                                            break;
-                                        case e.TYPES.message:
-                                            i = (new t).LE(),
-                                                this.resolvedType.encode(r, i),
-                                                n.writeVarint32(i.offset),
-                                                n.append(i.flip());
-                                            break;
-                                        case e.TYPES.group:
-                                            this.resolvedType.encode(r, n),
-                                                n.writeVarint32(i << 3 | e.WIRE_TYPES.ENDGROUP);
-                                            break;
-                                        default:
-                                            throw Error("[INTERNAL] Illegal value to encode in " + this.toString(!0) + ": " + r + " (unknown type)")
-                                    }
-                                    return n
-                                }
-                                ,
-                                d.decode = function (t, i, r) {
-                                    if (i != this.type.wireType)
-                                        throw Error("Unexpected wire type for element");
-                                    switch (this.type) {
-                                        case e.TYPES.int32:
-                                            return 0 | t.readVarint32();
-                                        case e.TYPES.uint32:
-                                            return t.readVarint32() >>> 0;
-                                        case e.TYPES.sint32:
-                                            return 0 | t.readVarint32ZigZag();
-                                        case e.TYPES.fixed32:
-                                            return t.readUint32() >>> 0;
-                                        case e.TYPES.sfixed32:
-                                            return 0 | t.readInt32();
-                                        case e.TYPES.int64:
-                                            return t.readVarint64();
-                                        case e.TYPES.uint64:
-                                            return t.readVarint64().toUnsigned();
-                                        case e.TYPES.sint64:
-                                            return t.readVarint64ZigZag();
-                                        case e.TYPES.fixed64:
-                                            return t.readUint64();
-                                        case e.TYPES.sfixed64:
-                                            return t.readInt64();
-                                        case e.TYPES.bool:
-                                            return !!t.readVarint32();
-                                        case e.TYPES.enum:
-                                            return t.readVarint32();
-                                        case e.TYPES.float:
-                                            return t.readFloat();
-                                        case e.TYPES.double:
-                                            return t.readDouble();
-                                        case e.TYPES.string:
-                                            return t.readVString();
-                                        case e.TYPES.bytes:
-                                            if (r = t.readVarint32(),
-                                                t.remaining() < r)
-                                                throw Error("Illegal number of bytes for " + this.toString(!0) + ": " + r + " required but got only " + t.remaining());
-                                            return (i = t.clone()).limit = i.offset + r,
-                                                t.offset += r,
-                                                i;
-                                        case e.TYPES.message:
-                                            return r = t.readVarint32(),
-                                                this.resolvedType.decode(t, r);
-                                        case e.TYPES.group:
-                                            return this.resolvedType.decode(t, -1, r)
-                                    }
-                                    throw Error("[INTERNAL] Illegal decode type")
-                                }
-                                ,
-                                d.valueFromString = function (i) {
-                                    if (!this.isMapKey)
-                                        throw Error("valueFromString() called on non-map-key element");
-                                    switch (this.type) {
-                                        case e.TYPES.int32:
-                                        case e.TYPES.sint32:
-                                        case e.TYPES.sfixed32:
-                                        case e.TYPES.uint32:
-                                        case e.TYPES.fixed32:
-                                            return this.verifyValue(p()(i));
-                                        case e.TYPES.int64:
-                                        case e.TYPES.sint64:
-                                        case e.TYPES.sfixed64:
-                                        case e.TYPES.uint64:
-                                        case e.TYPES.fixed64:
-                                            return this.verifyValue(i);
-                                        case e.TYPES.bool:
-                                            return "true" === i;
-                                        case e.TYPES.string:
-                                            return this.verifyValue(i);
-                                        case e.TYPES.bytes:
-                                            return t.fromBinary(i)
-                                    }
-                                }
-                                ,
-                                d.valueToString = function (t) {
-                                    if (!this.isMapKey)
-                                        throw Error("valueToString() called on non-map-key element");
-                                    return this.type === e.TYPES.bytes ? t.toString("binary") : t.toString()
-                                }
-                                ,
-                                o.Element = f;
-                            var g = function (e, t, i, r, n, o) {
-                                u.call(this, e, t, i, r, o),
-                                    this.className = "Message",
-                                    this.extensions = void 0,
-                                    this.clazz = null,
-                                    this.isGroup = !!n,
-                                    this._fieldsByName = this._fieldsById = this._fields = null
-                            };
-                            (d = g.prototype = c()(u.prototype)).build = function (i) {
-                                if (this.clazz && !i)
-                                    return this.clazz;
-                                i = function (e, i) {
-                                    function r(i, n, o, a) {
-                                        if (null === i || "object" !== b()(i)) {
-                                            if (a && a instanceof e.Reflect.Enum)
-                                                if (null !== (c = e.Reflect.Enum.getName(a.object, i)))
-                                                    return c;
-                                            return i
-                                        }
-                                        if (t.isByteBuffer(i))
-                                            return n ? i.toBase64() : i.toBuffer();
-                                        if (e.Long.isLong(i))
-                                            return o ? i.toString() : e.Long.fromValue(i);
-                                        var s;
-                                        if (h()(i))
-                                            return s = [],
-                                                i.forEach((function (e, t) {
-                                                    s[t] = r(e, n, o, a)
-                                                }
-                                                )),
-                                                s;
-                                        if (s = {},
-                                            i instanceof e.Map) {
-                                            for (var x = (c = i.entries()).next(); !x.done; x = c.next())
-                                                s[i.keyElem.valueToString(x.value[0])] = r(x.value[1], n, o, i.valueElem.resolvedType);
-                                            return s
-                                        }
-                                        var l, c = i.$type;
-                                        x = void 0;
-                                        for (l in i)
-                                            i.hasOwnProperty(l) && (c && (x = c.getChild(l)) ? s[l] = r(i[l], n, o, x.resolvedType) : s[l] = r(i[l], n, o));
-                                        return s
-                                    }
-                                    var o = i.getChildren(e.Reflect.Message.Field)
-                                        , a = i.getChildren(e.Reflect.Message.OneOf)
-                                        , s = function r(n, s) {
-                                            e.Builder.Message.call(this);
-                                            for (var x = 0, l = a.length; x < l; ++x)
-                                                this[a[x].name] = null;
-                                            for (x = 0,
-                                                l = o.length; x < l; ++x) {
-                                                var c = o[x];
-                                                this[c.name] = c.repeated ? [] : c.map ? new e.Map(c) : null,
-                                                    !c.required && "proto3" !== i.syntax || null === c.defaultValue || (this[c.name] = c.defaultValue)
-                                            }
-                                            if (0 < arguments.length)
-                                                if (1 !== arguments.length || null === n || "object" !== b()(n) || !("function" != typeof n.encode || n instanceof r) || h()(n) || n instanceof e.Map || t.isByteBuffer(n) || n instanceof ArrayBuffer || e.Long && n instanceof e.Long)
-                                                    for (x = 0,
-                                                        l = arguments.length; x < l; ++x)
-                                                        void 0 !== (c = arguments[x]) && this.$set(o[x].name, c);
-                                                else
-                                                    this.$set(n)
-                                        }
-                                        , l = s.prototype = c()(e.Builder.Message.prototype);
-                                    l.add = function (t, r, n) {
-                                        var o = i._fieldsByName[t];
-                                        if (!n) {
-                                            if (!o)
-                                                throw Error(this + "#" + t + " is undefined");
-                                            if (!(o instanceof e.Reflect.Message.Field))
-                                                throw Error(this + "#" + t + " is not a field: " + o.toString(!0));
-                                            if (!o.repeated)
-                                                throw Error(this + "#" + t + " is not a repeated field");
-                                            r = o.verifyValue(r, !0)
-                                        }
-                                        return null === this[t] && (this[t] = []),
-                                            this[t].push(r),
-                                            this
-                                    }
-                                        ,
-                                        l.$add = l.add,
-                                        l.set = function (t, r, n) {
-                                            if (t && "object" === b()(t)) {
-                                                for (var o in n = r,
-                                                    t)
-                                                    t.hasOwnProperty(o) && void 0 !== (r = t[o]) && this.$set(o, r, n);
-                                                return this
-                                            }
-                                            if (o = i._fieldsByName[t],
-                                                n)
-                                                this[t] = r;
-                                            else {
-                                                if (!o)
-                                                    throw Error(this + "#" + t + " is not a field: undefined");
-                                                if (!(o instanceof e.Reflect.Message.Field))
-                                                    throw Error(this + "#" + t + " is not a field: " + o.toString(!0));
-                                                this[o.name] = r = o.verifyValue(r)
-                                            }
-                                            return o && o.oneof && (n = this[o.oneof.name],
-                                                null !== r ? (null !== n && n !== o.name && (this[n] = null),
-                                                    this[o.oneof.name] = o.name) : n === t && (this[o.oneof.name] = null)),
-                                                this
-                                        }
-                                        ,
-                                        l.$set = l.set,
-                                        l.get = function (t, r) {
-                                            if (r)
-                                                return this[t];
-                                            var n = i._fieldsByName[t];
-                                            if (!(n && n instanceof e.Reflect.Message.Field))
-                                                throw Error(this + "#" + t + " is not a field: undefined");
-                                            if (!(n instanceof e.Reflect.Message.Field))
-                                                throw Error(this + "#" + t + " is not a field: " + n.toString(!0));
-                                            return this[n.name]
-                                        }
-                                        ,
-                                        l.$get = l.get;
-                                    for (var u = 0; u < o.length; u++) {
-                                        var f = o[u];
-                                        f instanceof e.Reflect.Message.ExtensionField || i.builder.options.populateAccessors && function (e) {
-                                            var t = (t = e.originalName.replace(/(_[a-zA-Z])/g, (function (e) {
-                                                return e.toUpperCase().replace("_", "")
-                                            }
-                                            ))).substring(0, 1).toUpperCase() + t.substring(1)
-                                                , r = e.originalName.replace(/([A-Z])/g, (function (e) {
-                                                    return "_" + e
-                                                }
-                                                ))
-                                                , n = function (t, i) {
-                                                    return this[e.name] = i ? t : e.verifyValue(t),
-                                                        this
-                                                }
-                                                , o = function () {
-                                                    return this[e.name]
-                                                };
-                                            null === i.getChild("set" + t) && (l["set" + t] = n),
-                                                null === i.getChild("set_" + r) && (l["set_" + r] = n),
-                                                null === i.getChild("get" + t) && (l["get" + t] = o),
-                                                null === i.getChild("get_" + r) && (l["get_" + r] = o)
-                                        }(f)
-                                    }
-                                    return l.encode = function (e, r) {
-                                        "boolean" == typeof e && (r = e,
-                                            e = void 0);
-                                        var n = !1;
-                                        e || (e = new t,
-                                            n = !0);
-                                        var o = e.littleEndian;
-                                        try {
-                                            return i.encode(this, e.LE(), r),
-                                                (n ? e.flip() : e).LE(o)
-                                        } catch (t) {
-                                            throw e.LE(o),
-                                            t
-                                        }
-                                    }
-                                        ,
-                                        s.encode = function (e, t, i) {
-                                            return new s(e).encode(t, i)
-                                        }
-                                        ,
-                                        l.calculate = function () {
-                                            return i.calculate(this)
-                                        }
-                                        ,
-                                        l.encodeDelimited = function (e, r) {
-                                            var n = !1;
-                                            e || (e = new t,
-                                                n = !0);
-                                            var o = (new t).LE();
-                                            return i.encode(this, o, r).flip(),
-                                                e.writeVarint32(o.remaining()),
-                                                e.append(o),
-                                                n ? e.flip() : e
-                                        }
-                                        ,
-                                        l.encodeAB = function () {
-                                            try {
-                                                return this.encode().toArrayBuffer()
-                                            } catch (e) {
-                                                throw e.encoded && (e.encoded = e.encoded.toArrayBuffer()),
-                                                e
-                                            }
-                                        }
-                                        ,
-                                        l.toArrayBuffer = l.encodeAB,
-                                        l.encodeNB = function () {
-                                            try {
-                                                return this.encode().toBuffer()
-                                            } catch (e) {
-                                                throw e.encoded && (e.encoded = e.encoded.toBuffer()),
-                                                e
-                                            }
-                                        }
-                                        ,
-                                        l.toBuffer = l.encodeNB,
-                                        l.encode64 = function () {
-                                            try {
-                                                return this.encode().toBase64()
-                                            } catch (e) {
-                                                throw e.encoded && (e.encoded = e.encoded.toBase64()),
-                                                e
-                                            }
-                                        }
-                                        ,
-                                        l.toBase64 = l.encode64,
-                                        l.encodeHex = function () {
-                                            try {
-                                                return this.encode().toHex()
-                                            } catch (e) {
-                                                throw e.encoded && (e.encoded = e.encoded.toHex()),
-                                                e
-                                            }
-                                        }
-                                        ,
-                                        l.toHex = l.encodeHex,
-                                        l.toRaw = function (e, t) {
-                                            return r(this, !!e, !!t, this.$type)
-                                        }
-                                        ,
-                                        l.encodeJSON = function () {
-                                            return n()(r(this, !0, !0, this.$type))
-                                        }
-                                        ,
-                                        s.decode = function (e, r, n) {
-                                            "string" == typeof r && (n = r,
-                                                r = -1),
-                                                "string" == typeof e ? e = t.wrap(e, n || "base64") : t.isByteBuffer(e) || (e = t.wrap(e)),
-                                                n = e.littleEndian;
-                                            try {
-                                                var o = i.decode(e.LE(), r);
-                                                return e.LE(n),
-                                                    o
-                                            } catch (t) {
-                                                throw e.LE(n),
-                                                t
-                                            }
-                                        }
-                                        ,
-                                        s.decodeDelimited = function (e, r) {
-                                            if ("string" == typeof e ? e = t.wrap(e, r || "base64") : t.isByteBuffer(e) || (e = t.wrap(e)),
-                                                1 > e.remaining())
-                                                return null;
-                                            var n = e.offset
-                                                , o = e.readVarint32();
-                                            if (e.remaining() < o)
-                                                return e.offset = n,
-                                                    null;
-                                            try {
-                                                var a = i.decode(e.slice(e.offset, e.offset + o).LE());
-                                                return e.offset += o,
-                                                    a
-                                            } catch (t) {
-                                                throw e.offset += o,
-                                                t
-                                            }
-                                        }
-                                        ,
-                                        s.decode64 = function (e) {
-                                            return s.decode(e, "base64")
-                                        }
-                                        ,
-                                        s.decodeHex = function (e) {
-                                            return s.decode(e, "hex")
-                                        }
-                                        ,
-                                        s.decodeJSON = function (e) {
-                                            return new s(JSON.parse(e))
-                                        }
-                                        ,
-                                        l.toString = function () {
-                                            return i.toString()
-                                        }
-                                        ,
-                                        x.a && (x()(s, "$options", {
-                                            value: i.buildOpt()
-                                        }),
-                                            x()(l, "$options", {
-                                                value: s.$options
-                                            }),
-                                            x()(s, "$type", {
-                                                value: i
-                                            }),
-                                            x()(l, "$type", {
-                                                value: i
-                                            })),
-                                        s
-                                }(e, this),
-                                    this._fields = [],
-                                    this._fieldsById = {},
-                                    this._fieldsByName = {};
-                                for (var r, o = 0, a = this.children.length; o < a; o++)
-                                    if ((r = this.children[o]) instanceof v || r instanceof g || r instanceof y) {
-                                        if (i.hasOwnProperty(r.name))
-                                            throw Error("Illegal reflect child of " + this.toString(!0) + ": " + r.toString(!0) + " cannot override static property '" + r.name + "'");
-                                        i[r.name] = r.build()
-                                    } else if (r instanceof g.Field)
-                                        r.build(),
-                                            this._fields.push(r),
-                                            this._fieldsById[r.id] = r,
-                                            this._fieldsByName[r.name] = r;
-                                    else if (!(r instanceof g.OneOf || r instanceof C))
-                                        throw Error("Illegal reflect child of " + this.toString(!0) + ": " + this.children[o].toString(!0));
-                                return this.clazz = i
-                            }
-                                ,
-                                d.encode = function (e, t, i) {
-                                    for (var r, n, o = null, a = 0, s = this._fields.length; a < s; ++a)
-                                        n = e[(r = this._fields[a]).name],
-                                            r.required && null === n ? null === o && (o = r) : r.encode(i ? n : r.verifyValue(n), t, e);
-                                    if (null !== o)
-                                        throw (e = Error("Missing at least one required field for " + this.toString(!0) + ": " + o)).encoded = t,
-                                        e;
-                                    return t
-                                }
-                                ,
-                                d.calculate = function (e) {
-                                    for (var t, i, r = 0, n = 0, o = this._fields.length; n < o; ++n) {
-                                        if (i = e[(t = this._fields[n]).name],
-                                            t.required && null === i)
-                                            throw Error("Missing at least one required field for " + this.toString(!0) + ": " + t);
-                                        r += t.calculate(i, e)
-                                    }
-                                    return r
-                                }
-                                ,
-                                d.decode = function (t, i, n) {
-                                    "number" != typeof i && (i = -1);
-                                    for (var o, a, s, x = t.offset, l = new this.clazz; t.offset < x + i || -1 === i && 0 < t.remaining();) {
-                                        if (s = (o = t.readVarint32()) >>> 3,
-                                            (a = 7 & o) === e.WIRE_TYPES.ENDGROUP) {
-                                            if (s !== n)
-                                                throw Error("Illegal group end indicator for " + this.toString(!0) + ": " + s + " (" + (n ? n + " expected" : "not a group") + ")");
-                                            break
-                                        }
-                                        if (o = this._fieldsById[s])
-                                            o.repeated && !o.options.packed ? l[o.name].push(o.decode(a, t)) : o.map ? (a = o.decode(a, t),
-                                                l[o.name].set(a[0], a[1])) : (l[o.name] = o.decode(a, t),
-                                                    o.oneof && (null !== (a = l[o.oneof.name]) && a !== o.name && (l[a] = null),
-                                                        l[o.oneof.name] = o.name));
-                                        else
-                                            switch (a) {
-                                                case e.WIRE_TYPES.VARINT:
-                                                    t.readVarint32();
-                                                    break;
-                                                case e.WIRE_TYPES.BITS32:
-                                                    t.offset += 4;
-                                                    break;
-                                                case e.WIRE_TYPES.BITS64:
-                                                    t.offset += 8;
-                                                    break;
-                                                case e.WIRE_TYPES.LDELIM:
-                                                    o = t.readVarint32(),
-                                                        t.offset += o;
-                                                    break;
-                                                case e.WIRE_TYPES.STARTGROUP:
-                                                    for (; r(s, t);)
-                                                        ;
-                                                    break;
-                                                default:
-                                                    throw Error("Illegal wire type for unknown field " + s + " in " + this.toString(!0) + "#decode: " + a)
-                                            }
-                                    }
-                                    for (t = 0,
-                                        i = this._fields.length; t < i; ++t)
-                                        if (null === l[(o = this._fields[t]).name])
-                                            if ("proto3" === this.syntax)
-                                                l[o.name] = o.defaultValue;
-                                            else {
-                                                if (o.required)
-                                                    throw (t = Error("Missing at least one required field for " + this.toString(!0) + ": " + o.name)).decoded = l,
-                                                    t;
-                                                e.populateDefaults && null !== o.defaultValue && (l[o.name] = o.defaultValue)
-                                            }
-                                    return l
-                                }
-                                ,
-                                o.Message = g;
-                            var m = function (t, i, r, n, o, a, x, l, c, u) {
-                                s.call(this, t, i, a),
-                                    this.className = "Message.Field",
-                                    this.required = "required" === r,
-                                    this.repeated = "repeated" === r,
-                                    this.map = "map" === r,
-                                    this.keyType = n || null,
-                                    this.type = o,
-                                    this.resolvedType = null,
-                                    this.id = x,
-                                    this.options = l || {},
-                                    this.defaultValue = null,
-                                    this.oneof = c || null,
-                                    this.syntax = u || "proto2",
-                                    this.originalName = this.name,
-                                    this.keyElement = this.element = null,
-                                    !this.builder.options.convertFieldsToCamelCase || this instanceof g.ExtensionField || (this.name = e.Util.toCamelCase(this.name))
-                            };
-                            (d = m.prototype = c()(s.prototype)).build = function () {
-                                this.element = new f(this.type, this.resolvedType, !1, this.syntax, this.name),
-                                    this.map && (this.keyElement = new f(this.keyType, void 0, !0, this.syntax, this.name)),
-                                    "proto3" !== this.syntax || this.repeated || this.map ? void 0 !== this.options.default && (this.defaultValue = this.verifyValue(this.options.default)) : this.defaultValue = f.defaultFieldValue(this.type)
-                            }
-                                ,
-                                d.verifyValue = function (t, i) {
-                                    function r(e, t) {
-                                        throw Error("Illegal value for " + o.toString(!0) + " of type " + o.type.name + ": " + e + " (" + t + ")")
-                                    }
-                                    i = i || !1;
-                                    var n, o = this;
-                                    if (null === t)
-                                        return this.required && r(b()(t), "required"),
-                                            "proto3" === this.syntax && this.type !== e.TYPES.message && r(b()(t), "proto3 field without field presence cannot be null"),
-                                            null;
-                                    if (this.repeated && !i) {
-                                        h()(t) || (t = [t]);
-                                        var a = [];
-                                        for (n = 0; n < t.length; n++)
-                                            a.push(this.element.verifyValue(t[n]));
-                                        return a
-                                    }
-                                    return this.map && !i ? t instanceof e.Map ? t : (t instanceof Object || r(b()(t), "expected ProtoBuf.Map or raw object for map field"),
-                                        new e.Map(this, t)) : (!this.repeated && h()(t) && r(b()(t), "no array expected"),
-                                            this.element.verifyValue(t))
-                                }
-                                ,
-                                d.hasWirePresence = function (t, i) {
-                                    if ("proto3" !== this.syntax)
-                                        return null !== t;
-                                    if (this.oneof && i[this.oneof.name] === this.name)
-                                        return !0;
-                                    switch (this.type) {
-                                        case e.TYPES.int32:
-                                        case e.TYPES.sint32:
-                                        case e.TYPES.sfixed32:
-                                        case e.TYPES.uint32:
-                                        case e.TYPES.fixed32:
-                                            return 0 !== t;
-                                        case e.TYPES.int64:
-                                        case e.TYPES.sint64:
-                                        case e.TYPES.sfixed64:
-                                        case e.TYPES.uint64:
-                                        case e.TYPES.fixed64:
-                                            return 0 !== t.low || 0 !== t.high;
-                                        case e.TYPES.bool:
-                                            return t;
-                                        case e.TYPES.float:
-                                        case e.TYPES.double:
-                                            return 0 !== t;
-                                        case e.TYPES.string:
-                                            return 0 < t.length;
-                                        case e.TYPES.bytes:
-                                            return 0 < t.remaining();
-                                        case e.TYPES.enum:
-                                            return 0 !== t;
-                                        case e.TYPES.message:
-                                            return null !== t;
-                                        default:
-                                            return !0
-                                    }
-                                }
-                                ,
-                                d.encode = function (i, r, n) {
-                                    if (null === this.type || "object" !== b()(this.type))
-                                        throw Error("[INTERNAL] Unresolved type in " + this.toString(!0) + ": " + this.type);
-                                    if (null === i || this.repeated && 0 == i.length)
-                                        return r;
-                                    try {
-                                        var o;
-                                        if (this.repeated)
-                                            if (this.options.packed && 0 <= e.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)) {
-                                                r.writeVarint32(this.id << 3 | e.WIRE_TYPES.LDELIM),
-                                                    r.ensureCapacity(r.offset += 1);
-                                                var a = r.offset;
-                                                for (o = 0; o < i.length; o++)
-                                                    this.element.encodeValue(this.id, i[o], r);
-                                                var s = r.offset - a
-                                                    , x = t.calculateVarint32(s);
-                                                if (1 < x) {
-                                                    var l = r.slice(a, r.offset);
-                                                    a = a + (x - 1);
-                                                    r.offset = a,
-                                                        r.append(l)
-                                                }
-                                                r.writeVarint32(s, a - x)
-                                            } else
-                                                for (o = 0; o < i.length; o++)
-                                                    r.writeVarint32(this.id << 3 | this.type.wireType),
-                                                        this.element.encodeValue(this.id, i[o], r);
-                                        else
-                                            this.map ? i.forEach((function (i, n, o) {
-                                                o = t.calculateVarint32(8 | this.keyType.wireType) + this.keyElement.calculateLength(1, n) + t.calculateVarint32(16 | this.type.wireType) + this.element.calculateLength(2, i),
-                                                    r.writeVarint32(this.id << 3 | e.WIRE_TYPES.LDELIM),
-                                                    r.writeVarint32(o),
-                                                    r.writeVarint32(8 | this.keyType.wireType),
-                                                    this.keyElement.encodeValue(1, n, r),
-                                                    r.writeVarint32(16 | this.type.wireType),
-                                                    this.element.encodeValue(2, i, r)
-                                            }
-                                            ), this) : this.hasWirePresence(i, n) && (r.writeVarint32(this.id << 3 | this.type.wireType),
-                                                this.element.encodeValue(this.id, i, r))
-                                    } catch (e) {
-                                        throw Error("Illegal value for " + this.toString(!0) + ": " + i + " (" + e + ")")
-                                    }
-                                    return r
-                                }
-                                ,
-                                d.calculate = function (i, r) {
-                                    if (i = this.verifyValue(i),
-                                        null === this.type || "object" !== b()(this.type))
-                                        throw Error("[INTERNAL] Unresolved type in " + this.toString(!0) + ": " + this.type);
-                                    if (null === i || this.repeated && 0 == i.length)
-                                        return 0;
-                                    var n = 0;
-                                    try {
-                                        var o, a;
-                                        if (this.repeated)
-                                            if (this.options.packed && 0 <= e.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)) {
-                                                for (n += t.calculateVarint32(this.id << 3 | e.WIRE_TYPES.LDELIM),
-                                                    o = a = 0; o < i.length; o++)
-                                                    a += this.element.calculateLength(this.id, i[o]);
-                                                n += t.calculateVarint32(a),
-                                                    n += a
-                                            } else
-                                                for (o = 0; o < i.length; o++)
-                                                    n += t.calculateVarint32(this.id << 3 | this.type.wireType),
-                                                        n += this.element.calculateLength(this.id, i[o]);
-                                        else
-                                            this.map ? i.forEach((function (i, r, o) {
-                                                i = t.calculateVarint32(8 | this.keyType.wireType) + this.keyElement.calculateLength(1, r) + t.calculateVarint32(16 | this.type.wireType) + this.element.calculateLength(2, i),
-                                                    n += t.calculateVarint32(this.id << 3 | e.WIRE_TYPES.LDELIM),
-                                                    n += t.calculateVarint32(i),
-                                                    n += i
-                                            }
-                                            ), this) : this.hasWirePresence(i, r) && (n += t.calculateVarint32(this.id << 3 | this.type.wireType),
-                                                n += this.element.calculateLength(this.id, i))
-                                    } catch (e) {
-                                        throw Error("Illegal value for " + this.toString(!0) + ": " + i + " (" + e + ")")
-                                    }
-                                    return n
-                                }
-                                ,
-                                d.decode = function (t, i, r) {
-                                    if (!(!this.map && t == this.type.wireType || !r && this.repeated && this.options.packed && t == e.WIRE_TYPES.LDELIM || this.map && t == e.WIRE_TYPES.LDELIM))
-                                        throw Error("Illegal wire type for field " + this.toString(!0) + ": " + t + " (" + this.type.wireType + " expected)");
-                                    if (t == e.WIRE_TYPES.LDELIM && this.repeated && this.options.packed && 0 <= e.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType) && !r) {
-                                        for (t = i.readVarint32(),
-                                            t = i.offset + t,
-                                            r = []; i.offset < t;)
-                                            r.push(this.decode(this.type.wireType, i, !0));
-                                        return r
-                                    }
-                                    if (this.map) {
-                                        var n = f.defaultFieldValue(this.keyType);
-                                        if (r = f.defaultFieldValue(this.type),
-                                            t = i.readVarint32(),
-                                            i.remaining() < t)
-                                            throw Error("Illegal number of bytes for " + this.toString(!0) + ": " + t + " required but got only " + i.remaining());
-                                        var o = i.clone();
-                                        for (o.limit = o.offset + t,
-                                            i.offset += t; 0 < o.remaining();)
-                                            if (t = 7 & (i = o.readVarint32()),
-                                                1 === (i >>>= 3))
-                                                n = this.keyElement.decode(o, t, i);
-                                            else {
-                                                if (2 !== i)
-                                                    throw Error("Unexpected tag in map field key/value submessage");
-                                                r = this.element.decode(o, t, i)
-                                            }
-                                        return [n, r]
-                                    }
-                                    return this.element.decode(i, t, this.id)
-                                }
-                                ,
-                                o.Message.Field = m,
-                                (d = function (e, t, i, r, n, o, a) {
-                                    m.call(this, e, t, i, null, r, n, o, a)
-                                }
-                                ).prototype = c()(m.prototype),
-                                o.Message.ExtensionField = d,
-                                o.Message.OneOf = function (e, t, i) {
-                                    s.call(this, e, t, i),
-                                        this.fields = []
-                                }
-                                ;
-                            var v = function (e, t, i, r, n) {
-                                u.call(this, e, t, i, r, n),
-                                    this.className = "Enum",
-                                    this.object = null
-                            };
-                            v.getName = function (e, t) {
-                                for (var i, r = a()(e), n = 0; n < r.length; ++n)
-                                    if (e[i = r[n]] === t)
-                                        return i;
-                                return null
-                            }
-                                ,
-                                (v.prototype = c()(u.prototype)).build = function (t) {
-                                    if (this.object && !t)
-                                        return this.object;
-                                    t = new e.Builder.Enum;
-                                    for (var i = this.getChildren(v.Value), r = 0, n = i.length; r < n; ++r)
-                                        t[i[r].name] = i[r].id;
-                                    return x.a && x()(t, "$options", {
-                                        value: this.buildOpt(),
-                                        enumerable: !1
-                                    }),
-                                        this.object = t
-                                }
-                                ,
-                                o.Enum = v,
-                                (d = function (e, t, i, r) {
-                                    s.call(this, e, t, i),
-                                        this.className = "Enum.Value",
-                                        this.id = r
-                                }
-                                ).prototype = c()(s.prototype),
-                                o.Enum.Value = d;
-                            var C = function (e, t, i, r) {
-                                s.call(this, e, t, i),
-                                    this.field = r
-                            };
-                            C.prototype = c()(s.prototype),
-                                o.Extension = C;
-                            var y = function (e, t, i, r) {
-                                u.call(this, e, t, i, r),
-                                    this.className = "Service",
-                                    this.clazz = null
-                            };
-                            (y.prototype = c()(u.prototype)).build = function (i) {
-                                return this.clazz && !i ? this.clazz : this.clazz = function (e, i) {
-                                    for (var r = function (t) {
-                                        e.Builder.Service.call(this),
-                                            this.rpcImpl = t || function (e, t, i) {
-                                                setTimeout(i.bind(this, Error("Not implemented, see: https://github.com/dcodeIO/ProtoBuf.js/wiki/Services")), 0)
-                                            }
-                                    }, n = r.prototype = c()(e.Builder.Service.prototype), o = i.getChildren(e.Reflect.Service.RPCMethod), a = 0; a < o.length; a++)
-                                        !function (e) {
-                                            n[e.name] = function (r, n) {
-                                                try {
-                                                    try {
-                                                        r = e.resolvedRequestType.clazz.decode(t.wrap(r))
-                                                    } catch (e) {
-                                                        if (!(e instanceof TypeError))
-                                                            throw e
-                                                    }
-                                                    if (null === r || "object" !== b()(r))
-                                                        throw Error("Illegal arguments");
-                                                    r instanceof e.resolvedRequestType.clazz || (r = new e.resolvedRequestType.clazz(r)),
-                                                        this.rpcImpl(e.fqn(), r, (function (t, r) {
-                                                            if (t)
-                                                                n(t);
-                                                            else {
-                                                                null === r && (r = "");
-                                                                try {
-                                                                    r = e.resolvedResponseType.clazz.decode(r)
-                                                                } catch (e) { }
-                                                                r && r instanceof e.resolvedResponseType.clazz ? n(null, r) : n(Error("Illegal response type received in service method " + i.name + "#" + e.name))
-                                                            }
-                                                        }
-                                                        ))
-                                                } catch (e) {
-                                                    setTimeout(n.bind(this, e), 0)
-                                                }
-                                            }
-                                                ,
-                                                r[e.name] = function (t, i, n) {
-                                                    new r(t)[e.name](i, n)
-                                                }
-                                                ,
-                                                x.a && (x()(r[e.name], "$options", {
-                                                    value: e.buildOpt()
-                                                }),
-                                                    x()(n[e.name], "$options", {
-                                                        value: r[e.name].$options
-                                                    }))
-                                        }(o[a]);
-                                    return x.a && (x()(r, "$options", {
-                                        value: i.buildOpt()
-                                    }),
-                                        x()(n, "$options", {
-                                            value: r.$options
-                                        }),
-                                        x()(r, "$type", {
-                                            value: i
-                                        }),
-                                        x()(n, "$type", {
-                                            value: i
-                                        })),
-                                        r
-                                }(e, this)
-                            }
-                                ,
-                                o.Service = y;
-                            var _ = function (e, t, i, r) {
-                                s.call(this, e, t, i),
-                                    this.className = "Service.Method",
-                                    this.options = r || {}
-                            };
-                            return (_.prototype = c()(s.prototype)).buildOpt = l.buildOpt,
-                                o.Service.Method = _,
-                                (l = function (e, t, i, r, n, o, a, s) {
-                                    _.call(this, e, t, i, s),
-                                        this.className = "Service.RPCMethod",
-                                        this.requestName = r,
-                                        this.responseName = n,
-                                        this.requestStream = o,
-                                        this.responseStream = a,
-                                        this.resolvedResponseType = this.resolvedRequestType = null
-                                }
-                                ).prototype = c()(_.prototype),
-                                o.Service.RPCMethod = l,
-                                o
-                        }(s),
-                        s.Builder = function (e, t, r) {
-                            var o = function (e) {
-                                this.ptr = this.ns = new r.Namespace(this, null, ""),
-                                    this.resolved = !1,
-                                    this.result = null,
-                                    this.files = {},
-                                    this.importRoot = null,
-                                    this.options = e || {}
-                            }
-                                , s = o.prototype;
-                            return o.isMessage = function (e) {
-                                return "string" == typeof e.name && void 0 === e.values && void 0 === e.rpc
-                            }
-                                ,
-                                o.isMessageField = function (e) {
-                                    return "string" == typeof e.rule && "string" == typeof e.name && "string" == typeof e.type && void 0 !== e.id
-                                }
-                                ,
-                                o.isEnum = function (e) {
-                                    return !("string" != typeof e.name || void 0 === e.values || !h()(e.values) || 0 === e.values.length)
-                                }
-                                ,
-                                o.isService = function (e) {
-                                    return !("string" != typeof e.name || "object" !== b()(e.rpc) || !e.rpc)
-                                }
-                                ,
-                                o.isExtend = function (e) {
-                                    return "string" == typeof e.ref
-                                }
-                                ,
-                                s.reset = function () {
-                                    return this.ptr = this.ns,
-                                        this
-                                }
-                                ,
-                                s.define = function (e) {
-                                    if ("string" != typeof e || !t.TYPEREF.test(e))
-                                        throw Error("illegal namespace: " + e);
-                                    return e.split(".").forEach((function (e) {
-                                        var t = this.ptr.getChild(e);
-                                        null === t && this.ptr.addChild(t = new r.Namespace(this, this.ptr, e)),
-                                            this.ptr = t
-                                    }
-                                    ), this),
-                                        this
-                                }
-                                ,
-                                s.create = function (t) {
-                                    if (!t)
-                                        return this;
-                                    if (h()(t)) {
-                                        if (0 === t.length)
-                                            return this;
-                                        t = t.slice()
-                                    } else
-                                        t = [t];
-                                    for (var i = [t]; 0 < i.length;) {
-                                        if (t = i.pop(),
-                                            !h()(t))
-                                            throw Error("not a valid namespace: " + n()(t));
-                                        for (; 0 < t.length;) {
-                                            var s = t.shift();
-                                            if (o.isMessage(s)) {
-                                                var x = new r.Message(this, this.ptr, s.name, s.options, s.isGroup, s.syntax)
-                                                    , l = {};
-                                                s.oneofs && a()(s.oneofs).forEach((function (e) {
-                                                    x.addChild(l[e] = new r.Message.OneOf(this, x, e))
-                                                }
-                                                ), this),
-                                                    s.fields && s.fields.forEach((function (e) {
-                                                        if (null !== x.getChild(0 | e.id))
-                                                            throw Error("duplicate or invalid field id in " + x.name + ": " + e.id);
-                                                        if (e.options && "object" !== b()(e.options))
-                                                            throw Error("illegal field options in " + x.name + "#" + e.name);
-                                                        var t = null;
-                                                        if ("string" == typeof e.oneof && !(t = l[e.oneof]))
-                                                            throw Error("illegal oneof in " + x.name + "#" + e.name + ": " + e.oneof);
-                                                        e = new r.Message.Field(this, x, e.rule, e.keytype, e.type, e.name, e.id, e.options, t, s.syntax),
-                                                            t && t.fields.push(e),
-                                                            x.addChild(e)
-                                                    }
-                                                    ), this);
-                                                var c = [];
-                                                if (s.enums && s.enums.forEach((function (e) {
-                                                    c.push(e)
-                                                }
-                                                )),
-                                                    s.messages && s.messages.forEach((function (e) {
-                                                        c.push(e)
-                                                    }
-                                                    )),
-                                                    s.services && s.services.forEach((function (e) {
-                                                        c.push(e)
-                                                    }
-                                                    )),
-                                                    s.extensions && (x.extensions = "number" == typeof s.extensions[0] ? [s.extensions] : s.extensions),
-                                                    this.ptr.addChild(x),
-                                                    0 < c.length) {
-                                                    i.push(t),
-                                                        t = c,
-                                                        c = null,
-                                                        this.ptr = x,
-                                                        x = null;
-                                                    continue
-                                                }
-                                                c = null
-                                            } else if (o.isEnum(s))
-                                                x = new r.Enum(this, this.ptr, s.name, s.options, s.syntax),
-                                                    s.values.forEach((function (e) {
-                                                        x.addChild(new r.Enum.Value(this, x, e.name, e.id))
-                                                    }
-                                                    ), this),
-                                                    this.ptr.addChild(x);
-                                            else if (o.isService(s))
-                                                x = new r.Service(this, this.ptr, s.name, s.options),
-                                                    a()(s.rpc).forEach((function (e) {
-                                                        var t = s.rpc[e];
-                                                        x.addChild(new r.Service.RPCMethod(this, x, e, t.request, t.response, !!t.request_stream, !!t.response_stream, t.options))
-                                                    }
-                                                    ), this),
-                                                    this.ptr.addChild(x);
-                                            else {
-                                                if (!o.isExtend(s))
-                                                    throw Error("not a valid definition: " + n()(s));
-                                                if (x = this.ptr.resolve(s.ref, !0))
-                                                    s.fields.forEach((function (t) {
-                                                        if (null !== x.getChild(0 | t.id))
-                                                            throw Error("duplicate extended field id in " + x.name + ": " + t.id);
-                                                        if (x.extensions) {
-                                                            var i = !1;
-                                                            if (x.extensions.forEach((function (e) {
-                                                                t.id >= e[0] && t.id <= e[1] && (i = !0)
-                                                            }
-                                                            )),
-                                                                !i)
-                                                                throw Error("illegal extended field id in " + x.name + ": " + t.id + " (not within valid ranges)")
-                                                        }
-                                                        var n = t.name;
-                                                        this.options.convertFieldsToCamelCase && (n = e.Util.toCamelCase(n));
-                                                        n = new r.Message.ExtensionField(this, x, t.rule, t.type, this.ptr.fqn() + "." + n, t.id, t.options);
-                                                        var o = new r.Extension(this, this.ptr, t.name, n);
-                                                        n.extension = o,
-                                                            this.ptr.addChild(o),
-                                                            x.addChild(n)
-                                                    }
-                                                    ), this);
-                                                else if (!/\.?google\.protobuf\./.test(s.ref))
-                                                    throw Error("extended message " + s.ref + " is not defined")
-                                            }
-                                            x = s = null
-                                        }
-                                        t = null,
-                                            this.ptr = this.ptr.parent
-                                    }
-                                    return this.resolved = !1,
-                                        this.result = null,
-                                        this
-                                }
-                                ,
-                                s.import = function (t, r) {
-                                    var n = "/";
-                                    if ("string" == typeof r) {
-                                        if (e.Util.IS_NODE && (r = i(122).resolve(r)),
-                                            !0 === this.files[r])
-                                            return this.reset();
-                                        this.files[r] = !0
-                                    } else if ("object" === b()(r)) {
-                                        var o = r.root;
-                                        if (e.Util.IS_NODE && (o = i(122).resolve(o)),
-                                            (0 <= o.indexOf("\\") || 0 <= r.file.indexOf("\\")) && (n = "\\"),
-                                            o = o + n + r.file,
-                                            !0 === this.files[o])
-                                            return this.reset();
-                                        this.files[o] = !0
-                                    }
-                                    if (t.imports && 0 < t.imports.length) {
-                                        var s = !1;
-                                        "object" === b()(r) ? (this.importRoot = r.root,
-                                            s = !0,
-                                            o = this.importRoot,
-                                            r = r.file,
-                                            (0 <= o.indexOf("\\") || 0 <= r.indexOf("\\")) && (n = "\\")) : "string" == typeof r ? this.importRoot ? o = this.importRoot : 0 <= r.indexOf("/") ? "" === (o = r.replace(/\/[^\/]*$/, "")) && (o = "/") : 0 <= r.indexOf("\\") ? (o = r.replace(/\\[^\\]*$/, ""),
-                                                n = "\\") : o = "." : o = null;
-                                        for (var x = 0; x < t.imports.length; x++)
-                                            if ("string" == typeof t.imports[x]) {
-                                                if (!o)
-                                                    throw Error("cannot determine import root");
-                                                var l = t.imports[x];
-                                                if ("google/protobuf/descriptor.proto" !== l && (l = o + n + l,
-                                                    !0 !== this.files[l])) {
-                                                    /\.proto$/i.test(l) && !e.DotProto && (l = l.replace(/\.proto$/, ".json"));
-                                                    var c = e.Util.fetch(l);
-                                                    if (null === c)
-                                                        throw Error("failed to import '" + l + "' in '" + r + "': file not found");
-                                                    /\.json$/i.test(l) ? this.import(JSON.parse(c + ""), l) : this.import(e.DotProto.Parser.parse(c), l)
-                                                }
-                                            } else
-                                                r ? /\.(\w+)$/.test(r) ? this.import(t.imports[x], r.replace(/^(.+)\.(\w+)$/, (function (e, t, i) {
-                                                    return t + "_import" + x + "." + i
-                                                }
-                                                ))) : this.import(t.imports[x], r + "_import" + x) : this.import(t.imports[x]);
-                                        s && (this.importRoot = null)
-                                    }
-                                    t.package && this.define(t.package),
-                                        t.syntax && function e(t) {
-                                            t.messages && t.messages.forEach((function (i) {
-                                                i.syntax = t.syntax,
-                                                    e(i)
-                                            }
-                                            )),
-                                                t.enums && t.enums.forEach((function (e) {
-                                                    e.syntax = t.syntax
-                                                }
-                                                ))
-                                        }(t);
-                                    var u = this.ptr;
-                                    return t.options && a()(t.options).forEach((function (e) {
-                                        u.options[e] = t.options[e]
-                                    }
-                                    )),
-                                        t.messages && (this.create(t.messages),
-                                            this.ptr = u),
-                                        t.enums && (this.create(t.enums),
-                                            this.ptr = u),
-                                        t.services && (this.create(t.services),
-                                            this.ptr = u),
-                                        t.extends && this.create(t.extends),
-                                        this.reset()
-                                }
-                                ,
-                                s.resolveAll = function () {
-                                    var i;
-                                    if (null == this.ptr || "object" === b()(this.ptr.type))
-                                        return this;
-                                    if (this.ptr instanceof r.Namespace)
-                                        this.ptr.children.forEach((function (e) {
-                                            this.ptr = e,
-                                                this.resolveAll()
-                                        }
-                                        ), this);
-                                    else if (this.ptr instanceof r.Message.Field) {
-                                        if (t.TYPE.test(this.ptr.type))
-                                            this.ptr.type = e.TYPES[this.ptr.type];
-                                        else {
-                                            if (!t.TYPEREF.test(this.ptr.type))
-                                                throw Error("illegal type reference in " + this.ptr.toString(!0) + ": " + this.ptr.type);
-                                            if (!(i = (this.ptr instanceof r.Message.ExtensionField ? this.ptr.extension.parent : this.ptr.parent).resolve(this.ptr.type, !0)))
-                                                throw Error("unresolvable type reference in " + this.ptr.toString(!0) + ": " + this.ptr.type);
-                                            if (this.ptr.resolvedType = i,
-                                                i instanceof r.Enum) {
-                                                if (this.ptr.type = e.TYPES.enum,
-                                                    "proto3" === this.ptr.syntax && "proto3" !== i.syntax)
-                                                    throw Error("proto3 message cannot reference proto2 enum")
-                                            } else {
-                                                if (!(i instanceof r.Message))
-                                                    throw Error("illegal type reference in " + this.ptr.toString(!0) + ": " + this.ptr.type);
-                                                this.ptr.type = i.isGroup ? e.TYPES.group : e.TYPES.message
-                                            }
-                                        }
-                                        if (this.ptr.map) {
-                                            if (!t.TYPE.test(this.ptr.keyType))
-                                                throw Error("illegal key type for map field in " + this.ptr.toString(!0) + ": " + this.ptr.keyType);
-                                            this.ptr.keyType = e.TYPES[this.ptr.keyType]
-                                        }
-                                    } else if (this.ptr instanceof e.Reflect.Service.Method) {
-                                        if (!(this.ptr instanceof e.Reflect.Service.RPCMethod))
-                                            throw Error("illegal service type in " + this.ptr.toString(!0));
-                                        if (!((i = this.ptr.parent.resolve(this.ptr.requestName, !0)) && i instanceof e.Reflect.Message))
-                                            throw Error("Illegal type reference in " + this.ptr.toString(!0) + ": " + this.ptr.requestName);
-                                        if (this.ptr.resolvedRequestType = i,
-                                            !((i = this.ptr.parent.resolve(this.ptr.responseName, !0)) && i instanceof e.Reflect.Message))
-                                            throw Error("Illegal type reference in " + this.ptr.toString(!0) + ": " + this.ptr.responseName);
-                                        this.ptr.resolvedResponseType = i
-                                    } else if (!(this.ptr instanceof e.Reflect.Message.OneOf || this.ptr instanceof e.Reflect.Extension || this.ptr instanceof e.Reflect.Enum.Value))
-                                        throw Error("illegal object in namespace: " + b()(this.ptr) + ": " + this.ptr);
-                                    return this.reset()
-                                }
-                                ,
-                                s.build = function (e) {
-                                    if (this.reset(),
-                                        this.resolved || (this.resolveAll(),
-                                            this.resolved = !0,
-                                            this.result = null),
-                                        null === this.result && (this.result = this.ns.build()),
-                                        !e)
-                                        return this.result;
-                                    e = "string" == typeof e ? e.split(".") : e;
-                                    for (var t = this.result, i = 0; i < e.length; i++) {
-                                        if (!t[e[i]]) {
-                                            t = null;
-                                            break
-                                        }
-                                        t = t[e[i]]
-                                    }
-                                    return t
-                                }
-                                ,
-                                s.lookup = function (e, t) {
-                                    return e ? this.ns.resolve(e, t) : this.ns
-                                }
-                                ,
-                                s.toString = function () {
-                                    return "Builder"
-                                }
-                                ,
-                                o.Message = function () { }
-                                ,
-                                o.Enum = function () { }
-                                ,
-                                o.Service = function () { }
-                                ,
-                                o
-                        }(s, s.Lang, s.Reflect),
-                        s.Map = function (e, t) {
-                            function i(e) {
-                                var t = 0;
-                                return {
-                                    next: function () {
-                                        return t < e.length ? {
-                                            done: !1,
-                                            value: e[t++]
-                                        } : {
-                                            done: !0
-                                        }
-                                    }
-                                }
-                            }
-                            var r = function (e, i) {
-                                if (!e.map)
-                                    throw Error("field is not a map");
-                                if (this.field = e,
-                                    this.keyElem = new t.Element(e.keyType, null, !0, e.syntax),
-                                    this.valueElem = new t.Element(e.type, e.resolvedType, !1, e.syntax),
-                                    this.map = {},
-                                    x()(this, "size", {
-                                        get: function () {
-                                            return a()(this.map).length
-                                        }
-                                    }),
-                                    i)
-                                    for (var r = a()(i), n = 0; n < r.length; n++) {
-                                        var o = this.keyElem.valueFromString(r[n])
-                                            , s = this.valueElem.verifyValue(i[r[n]]);
-                                        this.map[this.keyElem.valueToString(o)] = {
-                                            key: o,
-                                            value: s
-                                        }
-                                    }
-                            }
-                                , n = r.prototype;
-                            return n.clear = function () {
-                                this.map = {}
-                            }
-                                ,
-                                n.delete = function (e) {
-                                    var t = (e = this.keyElem.valueToString(this.keyElem.verifyValue(e))) in this.map;
-                                    return delete this.map[e],
-                                        t
-                                }
-                                ,
-                                n.entries = function () {
-                                    for (var e, t = [], r = a()(this.map), n = 0; n < r.length; n++)
-                                        t.push([(e = this.map[r[n]]).key, e.value]);
-                                    return i(t)
-                                }
-                                ,
-                                n.keys = function () {
-                                    for (var e = [], t = a()(this.map), r = 0; r < t.length; r++)
-                                        e.push(this.map[t[r]].key);
-                                    return i(e)
-                                }
-                                ,
-                                n.values = function () {
-                                    for (var e = [], t = a()(this.map), r = 0; r < t.length; r++)
-                                        e.push(this.map[t[r]].value);
-                                    return i(e)
-                                }
-                                ,
-                                n.forEach = function (e, t) {
-                                    for (var i, r = a()(this.map), n = 0; n < r.length; n++)
-                                        e.call(t, (i = this.map[r[n]]).value, i.key, this)
-                                }
-                                ,
-                                n.set = function (e, t) {
-                                    var i = this.keyElem.verifyValue(e)
-                                        , r = this.valueElem.verifyValue(t);
-                                    return this.map[this.keyElem.valueToString(i)] = {
-                                        key: i,
-                                        value: r
-                                    },
-                                        this
-                                }
-                                ,
-                                n.get = function (e) {
-                                    return (e = this.keyElem.valueToString(this.keyElem.verifyValue(e))) in this.map ? this.map[e].value : void 0
-                                }
-                                ,
-                                n.has = function (e) {
-                                    return this.keyElem.valueToString(this.keyElem.verifyValue(e)) in this.map
-                                }
-                                ,
-                                r
-                        }(0, s.Reflect),
-                        s.loadProto = function (e, t, i) {
-                            return ("string" == typeof t || t && "string" == typeof t.file && "string" == typeof t.root) && (i = t,
-                                t = void 0),
-                                s.loadJson(s.DotProto.Parser.parse(e), t, i)
-                        }
-                        ,
-                        s.protoFromString = s.loadProto,
-                        s.loadProtoFile = function (e, t, i) {
-                            if (t && "object" === b()(t) ? (i = t,
-                                t = null) : t && "function" == typeof t || (t = null),
-                                t)
-                                return s.Util.fetch("string" == typeof e ? e : e.root + "/" + e.file, (function (r) {
-                                    if (null === r)
-                                        t(Error("Failed to fetch file"));
-                                    else
-                                        try {
-                                            t(null, s.loadProto(r, i, e))
-                                        } catch (e) {
-                                            t(e)
-                                        }
-                                }
-                                ));
-                            var r = s.Util.fetch("object" === b()(e) ? e.root + "/" + e.file : e);
-                            return null === r ? null : s.loadProto(r, i, e)
-                        }
-                        ,
-                        s.protoFromFile = s.loadProtoFile,
-                        s.newBuilder = function (e) {
-                            return void 0 === (e = e || {}).convertFieldsToCamelCase && (e.convertFieldsToCamelCase = s.convertFieldsToCamelCase),
-                                void 0 === e.populateAccessors && (e.populateAccessors = s.populateAccessors),
-                                new s.Builder(e)
-                        }
-                        ,
-                        s.loadJson = function (e, t, i) {
-                            return ("string" == typeof t || t && "string" == typeof t.file && "string" == typeof t.root) && (i = t,
-                                t = null),
-                                t && "object" === b()(t) || (t = s.newBuilder()),
-                                "string" == typeof e && (e = JSON.parse(e)),
-                                t.import(e, i),
-                                t.resolveAll(),
-                                t
-                        }
-                        ,
-                        s.loadJsonFile = function (e, t, i) {
-                            if (t && "object" === b()(t) ? (i = t,
-                                t = null) : t && "function" == typeof t || (t = null),
-                                t)
-                                return s.Util.fetch("string" == typeof e ? e : e.root + "/" + e.file, (function (r) {
-                                    if (null === r)
-                                        t(Error("Failed to fetch file"));
-                                    else
-                                        try {
-                                            t(null, s.loadJson(JSON.parse(r), i, e))
-                                        } catch (e) {
-                                            t(e)
-                                        }
-                                }
-                                ));
-                            var r = s.Util.fetch("object" === b()(e) ? e.root + "/" + e.file : e);
-                            return null === r ? null : s.loadJson(JSON.parse(r), i, e)
-                        }
-                        ,
-                        s
-                }
-                ))
-            }
-            ).call(this, i(95), i(96)(e))
-        }
-        , function (e, t, i) {
-            var r = i(5)
-                , n = r.JSON || (r.JSON = {
-                    stringify: JSON.stringify
-                });
-            e.exports = function (e) {
-                return n.stringify.apply(n, arguments)
-            }
-        }
-        , function (e, t) {
-            e.exports = function (e, t) {
-                return {
-                    value: t,
-                    done: !!e
-                }
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
+    }
+    , function(e, t, i) {
+        "use strict";
+        if (i(11)) {
             var r = i(35)
-                , n = i(23)
-                , o = i(22)
-                , a = i(20)
-                , s = i(36)
-                , x = i(151)
-                , l = i(55)
-                , c = i(104)
-                , u = i(4)("iterator")
-                , h = !([].keys && "next" in [].keys())
-                , f = function () {
+              , n = i(10)
+              , o = i(18)
+              , a = i(23)
+              , s = i(123)
+              , x = i(196)
+              , l = i(51)
+              , c = i(125)
+              , u = i(45)
+              , h = i(20)
+              , f = i(124)
+              , d = i(29)
+              , g = i(19)
+              , p = i(126)
+              , m = i(54)
+              , b = i(44)
+              , v = i(24)
+              , C = i(63)
+              , y = i(21)
+              , _ = i(30)
+              , A = i(197)
+              , I = i(52)
+              , w = i(104)
+              , G = i(41).f
+              , E = i(198)
+              , S = i(28)
+              , T = i(4)
+              , P = i(199)
+              , M = i(103)
+              , N = i(108)
+              , L = i(42)
+              , R = i(36)
+              , O = i(202)
+              , F = i(128)
+              , D = i(92)
+              , U = i(203)
+              , k = i(13)
+              , B = i(67)
+              , W = k.f
+              , j = B.f
+              , V = n.RangeError
+              , z = n.TypeError
+              , H = n.Uint8Array
+              , q = Array.prototype
+              , X = x.ArrayBuffer
+              , Y = x.DataView
+              , K = P(0)
+              , Q = P(2)
+              , Z = P(3)
+              , J = P(4)
+              , $ = P(5)
+              , ee = P(6)
+              , te = M(!0)
+              , ie = M(!1)
+              , re = L.values
+              , ne = L.keys
+              , oe = L.entries
+              , ae = q.lastIndexOf
+              , se = q.reduce
+              , xe = q.reduceRight
+              , le = q.join
+              , ce = q.sort
+              , ue = q.slice
+              , he = q.toString
+              , fe = q.toLocaleString
+              , de = T("iterator")
+              , ge = T("toStringTag")
+              , pe = S("typed_constructor")
+              , me = S("def_constructor")
+              , be = s.CONSTR
+              , ve = s.TYPED
+              , Ce = s.VIEW
+              , ye = P(1, (function(e, t) {
+                return Ge(N(e, e[me]), t)
+            }
+            ))
+              , _e = o((function() {
+                return 1 === new H(new Uint16Array([1]).buffer)[0]
+            }
+            ))
+              , Ae = !!H && !!H.prototype.set && o((function() {
+                new H(1).set({})
+            }
+            ))
+              , Ie = function(e, t) {
+                var i = d(e);
+                if (i < 0 || i % t)
+                    throw V("Wrong offset!");
+                return i
+            }
+              , we = function(e) {
+                if (y(e) && ve in e)
+                    return e;
+                throw z(e + " is not a typed array!")
+            }
+              , Ge = function(e, t) {
+                if (!y(e) || !(pe in e))
+                    throw z("It is not a typed array constructor!");
+                return new e(t)
+            }
+              , Ee = function(e, t) {
+                return Se(N(e, e[me]), t)
+            }
+              , Se = function(e, t) {
+                for (var i = 0, r = t.length, n = Ge(e, r); r > i; )
+                    n[i] = t[i++];
+                return n
+            }
+              , Te = function(e, t, i) {
+                W(e, t, {
+                    get: function() {
+                        return this._d[i]
+                    }
+                })
+            }
+              , Pe = function(e) {
+                var t, i, r, n, o, a, s = _(e), x = arguments.length, c = x > 1 ? arguments[1] : void 0, u = void 0 !== c, h = E(s);
+                if (null != h && !A(h)) {
+                    for (a = h.call(s),
+                    r = [],
+                    t = 0; !(o = a.next()).done; t++)
+                        r.push(o.value);
+                    s = r
+                }
+                for (u && x > 2 && (c = l(c, arguments[2], 2)),
+                t = 0,
+                i = g(s.length),
+                n = Ge(this, i); i > t; t++)
+                    n[t] = u ? c(s[t], t) : s[t];
+                return n
+            }
+              , Me = function() {
+                for (var e = 0, t = arguments.length, i = Ge(this, t); t > e; )
+                    i[e] = arguments[e++];
+                return i
+            }
+              , Ne = !!H && o((function() {
+                fe.call(new H(1))
+            }
+            ))
+              , Le = function() {
+                return fe.apply(Ne ? ue.call(we(this)) : we(this), arguments)
+            }
+              , Re = {
+                copyWithin: function(e, t) {
+                    return U.call(we(this), e, t, arguments.length > 2 ? arguments[2] : void 0)
+                },
+                every: function(e) {
+                    return J(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
+                },
+                fill: function(e) {
+                    return D.apply(we(this), arguments)
+                },
+                filter: function(e) {
+                    return Ee(this, Q(we(this), e, arguments.length > 1 ? arguments[1] : void 0))
+                },
+                find: function(e) {
+                    return $(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
+                },
+                findIndex: function(e) {
+                    return ee(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
+                },
+                forEach: function(e) {
+                    K(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
+                },
+                indexOf: function(e) {
+                    return ie(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
+                },
+                includes: function(e) {
+                    return te(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
+                },
+                join: function(e) {
+                    return le.apply(we(this), arguments)
+                },
+                lastIndexOf: function(e) {
+                    return ae.apply(we(this), arguments)
+                },
+                map: function(e) {
+                    return ye(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
+                },
+                reduce: function(e) {
+                    return se.apply(we(this), arguments)
+                },
+                reduceRight: function(e) {
+                    return xe.apply(we(this), arguments)
+                },
+                reverse: function() {
+                    for (var e, t = we(this).length, i = Math.floor(t / 2), r = 0; r < i; )
+                        e = this[r],
+                        this[r++] = this[--t],
+                        this[t] = e;
                     return this
-                };
-            e.exports = function (e, t, i, d, g, p, m) {
-                x(i, t, d);
-                var b, v, C, y = function (e) {
-                    if (!h && e in w)
-                        return w[e];
-                    switch (e) {
-                        case "keys":
-                        case "values":
-                            return function () {
-                                return new i(this, e)
-                            }
-                    }
-                    return function () {
-                        return new i(this, e)
-                    }
-                }, _ = t + " Iterator", A = "values" == g, I = !1, w = e.prototype, G = w[u] || w["@@iterator"] || g && w[g], E = G || y(g), S = g ? A ? y("entries") : E : void 0, T = "Array" == t && w.entries || G;
-                if (T && (C = c(T.call(new e))) !== Object.prototype && C.next && (l(C, _, !0),
-                    r || "function" == typeof C[u] || a(C, u, f)),
-                    A && G && "values" !== G.name && (I = !0,
-                        E = function () {
-                            return G.call(this)
-                        }
-                    ),
-                    r && !m || !h && !I && w[u] || a(w, u, E),
-                    s[t] = E,
-                    s[_] = f,
-                    g)
-                    if (b = {
-                        values: A ? E : y("values"),
-                        keys: p ? E : y("keys"),
-                        entries: S
-                    },
-                        m)
-                        for (v in b)
-                            v in w || o(w, v, b[v]);
-                    else
-                        n(n.P + n.F * (h || I), t, b);
-                return b
-            }
-        }
-        , function (e, t, i) {
-            e.exports = i(50)("native-function-to-string", Function.toString)
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(52)
-                , n = i(45)
-                , o = i(55)
-                , a = {};
-            i(20)(a, i(4)("iterator"), (function () {
-                return this
-            }
-            )),
-                e.exports = function (e, t, i) {
-                    e.prototype = r(a, {
-                        next: n(1, i)
-                    }),
-                        o(e, t + " Iterator")
-                }
-        }
-        , function (e, t, i) {
-            var r = i(13)
-                , n = i(17)
-                , o = i(53);
-            e.exports = i(11) ? Object.defineProperties : function (e, t) {
-                n(e);
-                for (var i, a = o(t), s = a.length, x = 0; s > x;)
-                    r.f(e, i = a[x++], t[i]);
-                return e
-            }
-        }
-        , function (e, t, i) {
-            var r = i(10).document;
-            e.exports = r && r.documentElement
-        }
-        , function (e, t, i) {
-            i(155),
-                e.exports = i(5).Object.keys
-        }
-        , function (e, t, i) {
-            var r = i(72)
-                , n = i(57);
-            i(159)("keys", (function () {
-                return function (e) {
-                    return n(r(e))
-                }
-            }
-            ))
-        }
-        , function (e, t, i) {
-            var r = i(47);
-            e.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) {
-                return "String" == r(e) ? e.split("") : Object(e)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(39)
-                , n = i(106)
-                , o = i(158);
-            e.exports = function (e) {
-                return function (t, i, a) {
-                    var s, x = r(t), l = n(x.length), c = o(a, l);
-                    if (e && i != i) {
-                        for (; l > c;)
-                            if ((s = x[c++]) != s)
-                                return !0
-                    } else
-                        for (; l > c; c++)
-                            if ((e || c in x) && x[c] === i)
-                                return e || c || 0;
-                    return !e && -1
-                }
-            }
-        }
-        , function (e, t, i) {
-            var r = i(73)
-                , n = Math.max
-                , o = Math.min;
-            e.exports = function (e, t) {
-                return (e = r(e)) < 0 ? n(e + t, 0) : o(e, t)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(12)
-                , n = i(5)
-                , o = i(40);
-            e.exports = function (e, t) {
-                var i = (n.Object || {})[e] || Object[e]
-                    , a = {};
-                a[e] = t(i),
-                    r(r.S + r.F * o((function () {
-                        i(1)
-                    }
-                    )), "Object", a)
-            }
-        }
-        , function (e, t, i) {
-            i(161);
-            var r = i(5).Object;
-            e.exports = function (e, t, i) {
-                return r.defineProperty(e, t, i)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(12);
-            r(r.S + r.F * !i(25), "Object", {
-                defineProperty: i(26).f
-            })
-        }
-        , function (e, t, i) {
-            var r = i(29)
-                , n = i(38);
-            e.exports = function (e) {
-                return function (t, i) {
-                    var o, a, s = String(n(t)), x = r(i), l = s.length;
-                    return x < 0 || x >= l ? e ? "" : void 0 : (o = s.charCodeAt(x)) < 55296 || o > 56319 || x + 1 === l || (a = s.charCodeAt(x + 1)) < 56320 || a > 57343 ? e ? s.charAt(x) : o : e ? s.slice(x, x + 2) : a - 56320 + (o - 55296 << 10) + 65536
-                }
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(82);
-            i(23)({
-                target: "RegExp",
-                proto: !0,
-                forced: r !== /./.exec
-            }, {
-                exec: r
-            })
-        }
-        , function (e, t, i) {
-            i(165);
-            var r = i(5).Object;
-            e.exports = function (e, t) {
-                return r.create(e, t)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(12);
-            r(r.S, "Object", {
-                create: i(83)
-            })
-        }
-        , function (e, t, i) {
-            i(11) && "g" != /./g.flags && i(13).f(RegExp.prototype, "flags", {
-                configurable: !0,
-                get: i(64)
-            })
-        }
-        , function (e, t, i) {
-            i(168),
-                e.exports = i(5).Array.isArray
-        }
-        , function (e, t, i) {
-            var r = i(12);
-            r(r.S, "Array", {
-                isArray: i(111)
-            })
-        }
-        , function (e, t, i) {
-            i(170),
-                e.exports = i(5).parseFloat
-        }
-        , function (e, t, i) {
-            var r = i(12)
-                , n = i(171);
-            r(r.G + r.F * (parseFloat != n), {
-                parseFloat: n
-            })
-        }
-        , function (e, t, i) {
-            var r = i(7).parseFloat
-                , n = i(112).trim;
-            e.exports = 1 / r(i(87) + "-0") != -1 / 0 ? function (e) {
-                var t = n(String(e), 3)
-                    , i = r(t);
-                return 0 === i && "-" == t.charAt(0) ? -0 : i
-            }
-                : r
-        }
-        , function (e, t, i) {
-            i(173),
-                e.exports = i(5).parseInt
-        }
-        , function (e, t, i) {
-            var r = i(12)
-                , n = i(174);
-            r(r.G + r.F * (parseInt != n), {
-                parseInt: n
-            })
-        }
-        , function (e, t, i) {
-            var r = i(7).parseInt
-                , n = i(112).trim
-                , o = i(87)
-                , a = /^[-+]?0[xX]/;
-            e.exports = 8 !== r(o + "08") || 22 !== r(o + "0x16") ? function (e, t) {
-                var i = n(String(e), 3);
-                return r(i, t >>> 0 || (a.test(i) ? 16 : 10))
-            }
-                : r
-        }
-        , function (e, t, i) {
-            e.exports = i(176)
-        }
-        , function (e, t, i) {
-            i(113),
-                i(116),
-                e.exports = i(89).f("iterator")
-        }
-        , function (e, t, i) {
-            var r = i(73)
-                , n = i(56);
-            e.exports = function (e) {
-                return function (t, i) {
-                    var o, a, s = String(n(t)), x = r(i), l = s.length;
-                    return x < 0 || x >= l ? e ? "" : void 0 : (o = s.charCodeAt(x)) < 55296 || o > 56319 || x + 1 === l || (a = s.charCodeAt(x + 1)) < 56320 || a > 57343 ? e ? s.charAt(x) : o : e ? s.slice(x, x + 2) : a - 56320 + (o - 55296 << 10) + 65536
-                }
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(83)
-                , n = i(61)
-                , o = i(66)
-                , a = {};
-            i(32)(a, i(14)("iterator"), (function () {
-                return this
-            }
-            )),
-                e.exports = function (e, t, i) {
-                    e.prototype = r(a, {
-                        next: n(1, i)
-                    }),
-                        o(e, t + " Iterator")
-                }
-        }
-        , function (e, t, i) {
-            var r = i(31)
-                , n = i(72)
-                , o = i(74)("IE_PROTO")
-                , a = Object.prototype;
-            e.exports = Object.getPrototypeOf || function (e) {
-                return e = n(e),
-                    r(e, o) ? e[o] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? a : null
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(181)
-                , n = i(182)
-                , o = i(49)
-                , a = i(39);
-            e.exports = i(114)(Array, "Array", (function (e, t) {
-                this._t = a(e),
-                    this._i = 0,
-                    this._k = t
-            }
-            ), (function () {
-                var e = this._t
-                    , t = this._k
-                    , i = this._i++;
-                return !e || i >= e.length ? (this._t = void 0,
-                    n(1)) : n(0, "keys" == t ? i : "values" == t ? e[i] : [i, e[i]])
-            }
-            ), "values"),
-                o.Arguments = o.Array,
-                r("keys"),
-                r("values"),
-                r("entries")
-        }
-        , function (e, t) {
-            e.exports = function () { }
-        }
-        , function (e, t) {
-            e.exports = function (e, t) {
-                return {
-                    value: t,
-                    done: !!e
-                }
-            }
-        }
-        , function (e, t, i) {
-            i(184),
-                i(119),
-                i(189),
-                i(190),
-                e.exports = i(5).Symbol
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(7)
-                , n = i(31)
-                , o = i(25)
-                , a = i(12)
-                , s = i(115)
-                , x = i(185).KEY
-                , l = i(40)
-                , c = i(75)
-                , u = i(66)
-                , h = i(58)
-                , f = i(14)
-                , d = i(89)
-                , g = i(90)
-                , p = i(186)
-                , m = i(111)
-                , b = i(27)
-                , v = i(33)
-                , C = i(72)
-                , y = i(39)
-                , _ = i(78)
-                , A = i(61)
-                , I = i(83)
-                , w = i(187)
-                , G = i(188)
-                , E = i(117)
-                , S = i(26)
-                , T = i(57)
-                , P = G.f
-                , M = S.f
-                , N = w.f
-                , L = r.Symbol
-                , R = r.JSON
-                , O = R && R.stringify
-                , F = f("_hidden")
-                , D = f("toPrimitive")
-                , U = {}.propertyIsEnumerable
-                , k = c("symbol-registry")
-                , B = c("symbols")
-                , W = c("op-symbols")
-                , j = Object.prototype
-                , V = "function" == typeof L && !!E.f
-                , z = r.QObject
-                , H = !z || !z.prototype || !z.prototype.findChild
-                , q = o && l((function () {
-                    return 7 != I(M({}, "a", {
-                        get: function () {
-                            return M(this, "a", {
-                                value: 7
-                            }).a
-                        }
-                    })).a
-                }
-                )) ? function (e, t, i) {
-                    var r = P(j, t);
-                    r && delete j[t],
-                        M(e, t, i),
-                        r && e !== j && M(j, t, r)
-                }
-                    : M
-                , X = function (e) {
-                    var t = B[e] = I(L.prototype);
-                    return t._k = e,
-                        t
-                }
-                , Y = V && "symbol" == typeof L.iterator ? function (e) {
-                    return "symbol" == typeof e
-                }
-                    : function (e) {
-                        return e instanceof L
-                    }
-                , K = function (e, t, i) {
-                    return e === j && K(W, t, i),
-                        b(e),
-                        t = _(t, !0),
-                        b(i),
-                        n(B, t) ? (i.enumerable ? (n(e, F) && e[F][t] && (e[F][t] = !1),
-                            i = I(i, {
-                                enumerable: A(0, !1)
-                            })) : (n(e, F) || M(e, F, A(1, {})),
-                                e[F][t] = !0),
-                            q(e, t, i)) : M(e, t, i)
-                }
-                , Q = function (e, t) {
-                    b(e);
-                    for (var i, r = p(t = y(t)), n = 0, o = r.length; o > n;)
-                        K(e, i = r[n++], t[i]);
-                    return e
-                }
-                , Z = function (e) {
-                    var t = U.call(this, e = _(e, !0));
-                    return !(this === j && n(B, e) && !n(W, e)) && (!(t || !n(this, e) || !n(B, e) || n(this, F) && this[F][e]) || t)
-                }
-                , J = function (e, t) {
-                    if (e = y(e),
-                        t = _(t, !0),
-                        e !== j || !n(B, t) || n(W, t)) {
-                        var i = P(e, t);
-                        return !i || !n(B, t) || n(e, F) && e[F][t] || (i.enumerable = !0),
-                            i
-                    }
-                }
-                , $ = function (e) {
-                    for (var t, i = N(y(e)), r = [], o = 0; i.length > o;)
-                        n(B, t = i[o++]) || t == F || t == x || r.push(t);
-                    return r
-                }
-                , ee = function (e) {
-                    for (var t, i = e === j, r = N(i ? W : y(e)), o = [], a = 0; r.length > a;)
-                        !n(B, t = r[a++]) || i && !n(j, t) || o.push(B[t]);
-                    return o
-                };
-            V || (s((L = function () {
-                if (this instanceof L)
-                    throw TypeError("Symbol is not a constructor!");
-                var e = h(arguments.length > 0 ? arguments[0] : void 0)
-                    , t = function (i) {
-                        this === j && t.call(W, i),
-                            n(this, F) && n(this[F], e) && (this[F][e] = !1),
-                            q(this, e, A(1, i))
-                    };
-                return o && H && q(j, e, {
-                    configurable: !0,
-                    set: t
-                }),
-                    X(e)
-            }
-            ).prototype, "toString", (function () {
-                return this._k
-            }
-            )),
-                G.f = J,
-                S.f = K,
-                i(118).f = w.f = $,
-                i(91).f = Z,
-                E.f = ee,
-                o && !i(48) && s(j, "propertyIsEnumerable", Z, !0),
-                d.f = function (e) {
-                    return X(f(e))
-                }
-            ),
-                a(a.G + a.W + a.F * !V, {
-                    Symbol: L
-                });
-            for (var te = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), ie = 0; te.length > ie;)
-                f(te[ie++]);
-            for (var re = T(f.store), ne = 0; re.length > ne;)
-                g(re[ne++]);
-            a(a.S + a.F * !V, "Symbol", {
-                for: function (e) {
-                    return n(k, e += "") ? k[e] : k[e] = L(e)
                 },
-                keyFor: function (e) {
-                    if (!Y(e))
-                        throw TypeError(e + " is not a symbol!");
-                    for (var t in k)
-                        if (k[t] === e)
-                            return t
+                some: function(e) {
+                    return Z(we(this), e, arguments.length > 1 ? arguments[1] : void 0)
                 },
-                useSetter: function () {
-                    H = !0
+                sort: function(e) {
+                    return ce.call(we(this), e)
                 },
-                useSimple: function () {
-                    H = !1
-                }
-            }),
-                a(a.S + a.F * !V, "Object", {
-                    create: function (e, t) {
-                        return void 0 === t ? I(e) : Q(I(e), t)
-                    },
-                    defineProperty: K,
-                    defineProperties: Q,
-                    getOwnPropertyDescriptor: J,
-                    getOwnPropertyNames: $,
-                    getOwnPropertySymbols: ee
-                });
-            var oe = l((function () {
-                E.f(1)
-            }
-            ));
-            a(a.S + a.F * oe, "Object", {
-                getOwnPropertySymbols: function (e) {
-                    return E.f(C(e))
-                }
-            }),
-                R && a(a.S + a.F * (!V || l((function () {
-                    var e = L();
-                    return "[null]" != O([e]) || "{}" != O({
-                        a: e
-                    }) || "{}" != O(Object(e))
-                }
-                ))), "JSON", {
-                    stringify: function (e) {
-                        for (var t, i, r = [e], n = 1; arguments.length > n;)
-                            r.push(arguments[n++]);
-                        if (i = t = r[1],
-                            (v(t) || void 0 !== e) && !Y(e))
-                            return m(t) || (t = function (e, t) {
-                                if ("function" == typeof i && (t = i.call(this, e, t)),
-                                    !Y(t))
-                                    return t
-                            }
-                            ),
-                                r[1] = t,
-                                O.apply(R, r)
-                    }
-                }),
-                L.prototype[D] || i(32)(L.prototype, D, L.prototype.valueOf),
-                u(L, "Symbol"),
-                u(Math, "Math", !0),
-                u(r.JSON, "JSON", !0)
-        }
-        , function (e, t, i) {
-            var r = i(58)("meta")
-                , n = i(33)
-                , o = i(31)
-                , a = i(26).f
-                , s = 0
-                , x = Object.isExtensible || function () {
-                    return !0
-                }
-                , l = !i(40)((function () {
-                    return x(Object.preventExtensions({}))
-                }
-                ))
-                , c = function (e) {
-                    a(e, r, {
-                        value: {
-                            i: "O" + ++s,
-                            w: {}
-                        }
-                    })
-                }
-                , u = e.exports = {
-                    KEY: r,
-                    NEED: !1,
-                    fastKey: function (e, t) {
-                        if (!n(e))
-                            return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e;
-                        if (!o(e, r)) {
-                            if (!x(e))
-                                return "F";
-                            if (!t)
-                                return "E";
-                            c(e)
-                        }
-                        return e[r].i
-                    },
-                    getWeak: function (e, t) {
-                        if (!o(e, r)) {
-                            if (!x(e))
-                                return !0;
-                            if (!t)
-                                return !1;
-                            c(e)
-                        }
-                        return e[r].w
-                    },
-                    onFreeze: function (e) {
-                        return l && u.NEED && x(e) && !o(e, r) && c(e),
-                            e
-                    }
-                }
-        }
-        , function (e, t, i) {
-            var r = i(57)
-                , n = i(117)
-                , o = i(91);
-            e.exports = function (e) {
-                var t = r(e)
-                    , i = n.f;
-                if (i)
-                    for (var a, s = i(e), x = o.f, l = 0; s.length > l;)
-                        x.call(e, a = s[l++]) && t.push(a);
-                return t
-            }
-        }
-        , function (e, t, i) {
-            var r = i(39)
-                , n = i(118).f
-                , o = {}.toString
-                , a = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
-            e.exports.f = function (e) {
-                return a && "[object Window]" == o.call(e) ? function (e) {
-                    try {
-                        return n(e)
-                    } catch (e) {
-                        return a.slice()
-                    }
-                }(e) : n(r(e))
-            }
-        }
-        , function (e, t, i) {
-            var r = i(91)
-                , n = i(61)
-                , o = i(39)
-                , a = i(78)
-                , s = i(31)
-                , x = i(107)
-                , l = Object.getOwnPropertyDescriptor;
-            t.f = i(25) ? l : function (e, t) {
-                if (e = o(e),
-                    t = a(t, !0),
-                    x)
-                    try {
-                        return l(e, t)
-                    } catch (e) { }
-                if (s(e, t))
-                    return n(!r.f.call(e, t), e[t])
-            }
-        }
-        , function (e, t, i) {
-            i(90)("asyncIterator")
-        }
-        , function (e, t, i) {
-            i(90)("observable")
-        }
-        , function (e, t, i) {
-            var r, n, o;
-            /**
-     * @license long.js (c) 2013 Daniel Wirtz <dcode@dcode.io>
-     * Released under the Apache License, Version 2.0
-     * see: https://github.com/dcodeIO/long.js for details
-     */
-            n = [],
-                void 0 === (o = "function" == typeof (r = function () {
-                    "use strict";
-                    function e(e, t, i) {
-                        this.low = 0 | e,
-                            this.high = 0 | t,
-                            this.unsigned = !!i
-                    }
-                    function t(e) {
-                        return !0 === (e && e.__isLong__)
-                    }
-                    e.prototype.__isLong__,
-                        Object.defineProperty(e.prototype, "__isLong__", {
-                            value: !0,
-                            enumerable: !1,
-                            configurable: !1
-                        }),
-                        e.isLong = t;
-                    var i = {}
-                        , r = {};
-                    function n(e, t) {
-                        var n, o, s;
-                        return t ? (s = 0 <= (e >>>= 0) && e < 256) && (o = r[e]) ? o : (n = a(e, (0 | e) < 0 ? -1 : 0, !0),
-                            s && (r[e] = n),
-                            n) : (s = -128 <= (e |= 0) && e < 128) && (o = i[e]) ? o : (n = a(e, e < 0 ? -1 : 0, !1),
-                                s && (i[e] = n),
-                                n)
-                    }
-                    function o(e, t) {
-                        if (isNaN(e) || !isFinite(e))
-                            return t ? g : d;
-                        if (t) {
-                            if (e < 0)
-                                return g;
-                            if (e >= u)
-                                return C
-                        } else {
-                            if (e <= -h)
-                                return y;
-                            if (e + 1 >= h)
-                                return v
-                        }
-                        return e < 0 ? o(-e, t).neg() : a(e % c | 0, e / c | 0, t)
-                    }
-                    function a(t, i, r) {
-                        return new e(t, i, r)
-                    }
-                    e.fromInt = n,
-                        e.fromNumber = o,
-                        e.fromBits = a;
-                    var s = Math.pow;
-                    function x(e, t, i) {
-                        if (0 === e.length)
-                            throw Error("empty string");
-                        if ("NaN" === e || "Infinity" === e || "+Infinity" === e || "-Infinity" === e)
-                            return d;
-                        if ("number" == typeof t ? (i = t,
-                            t = !1) : t = !!t,
-                            (i = i || 10) < 2 || 36 < i)
-                            throw RangeError("radix");
-                        var r;
-                        if ((r = e.indexOf("-")) > 0)
-                            throw Error("interior hyphen");
-                        if (0 === r)
-                            return x(e.substring(1), t, i).neg();
-                        for (var n = o(s(i, 8)), a = d, l = 0; l < e.length; l += 8) {
-                            var c = Math.min(8, e.length - l)
-                                , u = parseInt(e.substring(l, l + c), i);
-                            if (c < 8) {
-                                var h = o(s(i, c));
-                                a = a.mul(h).add(o(u))
-                            } else
-                                a = (a = a.mul(n)).add(o(u))
-                        }
-                        return a.unsigned = t,
-                            a
-                    }
-                    function l(t) {
-                        return t instanceof e ? t : "number" == typeof t ? o(t) : "string" == typeof t ? x(t) : a(t.low, t.high, t.unsigned)
-                    }
-                    e.fromString = x,
-                        e.fromValue = l;
-                    var c = 4294967296
-                        , u = c * c
-                        , h = u / 2
-                        , f = n(1 << 24)
-                        , d = n(0);
-                    e.ZERO = d;
-                    var g = n(0, !0);
-                    e.UZERO = g;
-                    var p = n(1);
-                    e.ONE = p;
-                    var m = n(1, !0);
-                    e.UONE = m;
-                    var b = n(-1);
-                    e.NEG_ONE = b;
-                    var v = a(-1, 2147483647, !1);
-                    e.MAX_VALUE = v;
-                    var C = a(-1, -1, !0);
-                    e.MAX_UNSIGNED_VALUE = C;
-                    var y = a(0, -2147483648, !1);
-                    e.MIN_VALUE = y;
-                    var _ = e.prototype;
-                    return _.toInt = function () {
-                        return this.unsigned ? this.low >>> 0 : this.low
-                    }
-                        ,
-                        _.toNumber = function () {
-                            return this.unsigned ? (this.high >>> 0) * c + (this.low >>> 0) : this.high * c + (this.low >>> 0)
-                        }
-                        ,
-                        _.toString = function (e) {
-                            if ((e = e || 10) < 2 || 36 < e)
-                                throw RangeError("radix");
-                            if (this.isZero())
-                                return "0";
-                            if (this.isNegative()) {
-                                if (this.eq(y)) {
-                                    var t = o(e)
-                                        , i = this.div(t)
-                                        , r = i.mul(t).sub(this);
-                                    return i.toString(e) + r.toInt().toString(e)
-                                }
-                                return "-" + this.neg().toString(e)
-                            }
-                            for (var n = o(s(e, 6), this.unsigned), a = this, x = ""; ;) {
-                                var l = a.div(n)
-                                    , c = (a.sub(l.mul(n)).toInt() >>> 0).toString(e);
-                                if ((a = l).isZero())
-                                    return c + x;
-                                for (; c.length < 6;)
-                                    c = "0" + c;
-                                x = "" + c + x
-                            }
-                        }
-                        ,
-                        _.getHighBits = function () {
-                            return this.high
-                        }
-                        ,
-                        _.getHighBitsUnsigned = function () {
-                            return this.high >>> 0
-                        }
-                        ,
-                        _.getLowBits = function () {
-                            return this.low
-                        }
-                        ,
-                        _.getLowBitsUnsigned = function () {
-                            return this.low >>> 0
-                        }
-                        ,
-                        _.getNumBitsAbs = function () {
-                            if (this.isNegative())
-                                return this.eq(y) ? 64 : this.neg().getNumBitsAbs();
-                            for (var e = 0 != this.high ? this.high : this.low, t = 31; t > 0 && 0 == (e & 1 << t); t--)
-                                ;
-                            return 0 != this.high ? t + 33 : t + 1
-                        }
-                        ,
-                        _.isZero = function () {
-                            return 0 === this.high && 0 === this.low
-                        }
-                        ,
-                        _.isNegative = function () {
-                            return !this.unsigned && this.high < 0
-                        }
-                        ,
-                        _.isPositive = function () {
-                            return this.unsigned || this.high >= 0
-                        }
-                        ,
-                        _.isOdd = function () {
-                            return 1 == (1 & this.low)
-                        }
-                        ,
-                        _.isEven = function () {
-                            return 0 == (1 & this.low)
-                        }
-                        ,
-                        _.equals = function (e) {
-                            return t(e) || (e = l(e)),
-                                (this.unsigned === e.unsigned || this.high >>> 31 != 1 || e.high >>> 31 != 1) && this.high === e.high && this.low === e.low
-                        }
-                        ,
-                        _.eq = _.equals,
-                        _.notEquals = function (e) {
-                            return !this.eq(e)
-                        }
-                        ,
-                        _.neq = _.notEquals,
-                        _.lessThan = function (e) {
-                            return this.comp(e) < 0
-                        }
-                        ,
-                        _.lt = _.lessThan,
-                        _.lessThanOrEqual = function (e) {
-                            return this.comp(e) <= 0
-                        }
-                        ,
-                        _.lte = _.lessThanOrEqual,
-                        _.greaterThan = function (e) {
-                            return this.comp(e) > 0
-                        }
-                        ,
-                        _.gt = _.greaterThan,
-                        _.greaterThanOrEqual = function (e) {
-                            return this.comp(e) >= 0
-                        }
-                        ,
-                        _.gte = _.greaterThanOrEqual,
-                        _.compare = function (e) {
-                            if (t(e) || (e = l(e)),
-                                this.eq(e))
-                                return 0;
-                            var i = this.isNegative()
-                                , r = e.isNegative();
-                            return i && !r ? -1 : !i && r ? 1 : this.unsigned ? e.high >>> 0 > this.high >>> 0 || e.high === this.high && e.low >>> 0 > this.low >>> 0 ? -1 : 1 : this.sub(e).isNegative() ? -1 : 1
-                        }
-                        ,
-                        _.comp = _.compare,
-                        _.negate = function () {
-                            return !this.unsigned && this.eq(y) ? y : this.not().add(p)
-                        }
-                        ,
-                        _.neg = _.negate,
-                        _.add = function (e) {
-                            t(e) || (e = l(e));
-                            var i = this.high >>> 16
-                                , r = 65535 & this.high
-                                , n = this.low >>> 16
-                                , o = 65535 & this.low
-                                , s = e.high >>> 16
-                                , x = 65535 & e.high
-                                , c = e.low >>> 16
-                                , u = 0
-                                , h = 0
-                                , f = 0
-                                , d = 0;
-                            return f += (d += o + (65535 & e.low)) >>> 16,
-                                h += (f += n + c) >>> 16,
-                                u += (h += r + x) >>> 16,
-                                u += i + s,
-                                a((f &= 65535) << 16 | (d &= 65535), (u &= 65535) << 16 | (h &= 65535), this.unsigned)
-                        }
-                        ,
-                        _.subtract = function (e) {
-                            return t(e) || (e = l(e)),
-                                this.add(e.neg())
-                        }
-                        ,
-                        _.sub = _.subtract,
-                        _.multiply = function (e) {
-                            if (this.isZero())
-                                return d;
-                            if (t(e) || (e = l(e)),
-                                e.isZero())
-                                return d;
-                            if (this.eq(y))
-                                return e.isOdd() ? y : d;
-                            if (e.eq(y))
-                                return this.isOdd() ? y : d;
-                            if (this.isNegative())
-                                return e.isNegative() ? this.neg().mul(e.neg()) : this.neg().mul(e).neg();
-                            if (e.isNegative())
-                                return this.mul(e.neg()).neg();
-                            if (this.lt(f) && e.lt(f))
-                                return o(this.toNumber() * e.toNumber(), this.unsigned);
-                            var i = this.high >>> 16
-                                , r = 65535 & this.high
-                                , n = this.low >>> 16
-                                , s = 65535 & this.low
-                                , x = e.high >>> 16
-                                , c = 65535 & e.high
-                                , u = e.low >>> 16
-                                , h = 65535 & e.low
-                                , g = 0
-                                , p = 0
-                                , m = 0
-                                , b = 0;
-                            return m += (b += s * h) >>> 16,
-                                p += (m += n * h) >>> 16,
-                                m &= 65535,
-                                p += (m += s * u) >>> 16,
-                                g += (p += r * h) >>> 16,
-                                p &= 65535,
-                                g += (p += n * u) >>> 16,
-                                p &= 65535,
-                                g += (p += s * c) >>> 16,
-                                g += i * h + r * u + n * c + s * x,
-                                a((m &= 65535) << 16 | (b &= 65535), (g &= 65535) << 16 | (p &= 65535), this.unsigned)
-                        }
-                        ,
-                        _.mul = _.multiply,
-                        _.divide = function (e) {
-                            if (t(e) || (e = l(e)),
-                                e.isZero())
-                                throw Error("division by zero");
-                            if (this.isZero())
-                                return this.unsigned ? g : d;
-                            var i, r, n;
-                            if (this.unsigned) {
-                                if (e.unsigned || (e = e.toUnsigned()),
-                                    e.gt(this))
-                                    return g;
-                                if (e.gt(this.shru(1)))
-                                    return m;
-                                n = g
-                            } else {
-                                if (this.eq(y))
-                                    return e.eq(p) || e.eq(b) ? y : e.eq(y) ? p : (i = this.shr(1).div(e).shl(1)).eq(d) ? e.isNegative() ? p : b : (r = this.sub(e.mul(i)),
-                                        n = i.add(r.div(e)));
-                                if (e.eq(y))
-                                    return this.unsigned ? g : d;
-                                if (this.isNegative())
-                                    return e.isNegative() ? this.neg().div(e.neg()) : this.neg().div(e).neg();
-                                if (e.isNegative())
-                                    return this.div(e.neg()).neg();
-                                n = d
-                            }
-                            for (r = this; r.gte(e);) {
-                                i = Math.max(1, Math.floor(r.toNumber() / e.toNumber()));
-                                for (var a = Math.ceil(Math.log(i) / Math.LN2), x = a <= 48 ? 1 : s(2, a - 48), c = o(i), u = c.mul(e); u.isNegative() || u.gt(r);)
-                                    u = (c = o(i -= x, this.unsigned)).mul(e);
-                                c.isZero() && (c = p),
-                                    n = n.add(c),
-                                    r = r.sub(u)
-                            }
-                            return n
-                        }
-                        ,
-                        _.div = _.divide,
-                        _.modulo = function (e) {
-                            return t(e) || (e = l(e)),
-                                this.sub(this.div(e).mul(e))
-                        }
-                        ,
-                        _.mod = _.modulo,
-                        _.not = function () {
-                            return a(~this.low, ~this.high, this.unsigned)
-                        }
-                        ,
-                        _.and = function (e) {
-                            return t(e) || (e = l(e)),
-                                a(this.low & e.low, this.high & e.high, this.unsigned)
-                        }
-                        ,
-                        _.or = function (e) {
-                            return t(e) || (e = l(e)),
-                                a(this.low | e.low, this.high | e.high, this.unsigned)
-                        }
-                        ,
-                        _.xor = function (e) {
-                            return t(e) || (e = l(e)),
-                                a(this.low ^ e.low, this.high ^ e.high, this.unsigned)
-                        }
-                        ,
-                        _.shiftLeft = function (e) {
-                            return t(e) && (e = e.toInt()),
-                                0 == (e &= 63) ? this : e < 32 ? a(this.low << e, this.high << e | this.low >>> 32 - e, this.unsigned) : a(0, this.low << e - 32, this.unsigned)
-                        }
-                        ,
-                        _.shl = _.shiftLeft,
-                        _.shiftRight = function (e) {
-                            return t(e) && (e = e.toInt()),
-                                0 == (e &= 63) ? this : e < 32 ? a(this.low >>> e | this.high << 32 - e, this.high >> e, this.unsigned) : a(this.high >> e - 32, this.high >= 0 ? 0 : -1, this.unsigned)
-                        }
-                        ,
-                        _.shr = _.shiftRight,
-                        _.shiftRightUnsigned = function (e) {
-                            if (t(e) && (e = e.toInt()),
-                                0 == (e &= 63))
-                                return this;
-                            var i = this.high;
-                            return e < 32 ? a(this.low >>> e | i << 32 - e, i >>> e, this.unsigned) : a(32 === e ? i : i >>> e - 32, 0, this.unsigned)
-                        }
-                        ,
-                        _.shru = _.shiftRightUnsigned,
-                        _.toSigned = function () {
-                            return this.unsigned ? a(this.low, this.high, !1) : this
-                        }
-                        ,
-                        _.toUnsigned = function () {
-                            return this.unsigned ? this : a(this.low, this.high, !0)
-                        }
-                        ,
-                        _.toBytes = function (e) {
-                            return e ? this.toBytesLE() : this.toBytesBE()
-                        }
-                        ,
-                        _.toBytesLE = function () {
-                            var e = this.high
-                                , t = this.low;
-                            return [255 & t, t >>> 8 & 255, t >>> 16 & 255, t >>> 24 & 255, 255 & e, e >>> 8 & 255, e >>> 16 & 255, e >>> 24 & 255]
-                        }
-                        ,
-                        _.toBytesBE = function () {
-                            var e = this.high
-                                , t = this.low;
-                            return [e >>> 24 & 255, e >>> 16 & 255, e >>> 8 & 255, 255 & e, t >>> 24 & 255, t >>> 16 & 255, t >>> 8 & 255, 255 & t]
-                        }
-                        ,
-                        e
-                }
-                ) ? r.apply(t, n) : r) || (e.exports = o)
-        }
-        , function (e, t) { }
-        , function (e, t, i) {
-            i(194);
-            var r = i(5).Object;
-            e.exports = function (e, t) {
-                return r.defineProperties(e, t)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(12);
-            r(r.S + r.F * !i(25), "Object", {
-                defineProperties: i(109)
-            })
-        }
-        , function (e, t, i) {
-            i(34)("Uint8", 1, (function (e) {
-                return function (t, i, r) {
-                    return e(this, t, i, r)
+                subarray: function(e, t) {
+                    var i = we(this)
+                      , r = i.length
+                      , n = m(e, r);
+                    return new (N(i, i[me]))(i.buffer,i.byteOffset + n * i.BYTES_PER_ELEMENT,g((void 0 === t ? r : m(t, r)) - n))
                 }
             }
-            ), !0)
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(10)
-                , n = i(11)
-                , o = i(35)
-                , a = i(123)
-                , s = i(20)
-                , x = i(124)
-                , l = i(18)
-                , c = i(125)
-                , u = i(29)
-                , h = i(19)
-                , f = i(126)
-                , d = i(41).f
-                , g = i(13).f
-                , p = i(92)
-                , m = i(55)
-                , b = r.ArrayBuffer
-                , v = r.DataView
-                , C = r.Math
-                , y = r.RangeError
-                , _ = r.Infinity
-                , A = b
-                , I = C.abs
-                , w = C.pow
-                , G = C.floor
-                , E = C.log
-                , S = C.LN2
-                , T = n ? "_b" : "buffer"
-                , P = n ? "_l" : "byteLength"
-                , M = n ? "_o" : "byteOffset";
-            function N(e, t, i) {
-                var r, n, o, a = new Array(i), s = 8 * i - t - 1, x = (1 << s) - 1, l = x >> 1, c = 23 === t ? w(2, -24) - w(2, -77) : 0, u = 0, h = e < 0 || 0 === e && 1 / e < 0 ? 1 : 0;
-                for ((e = I(e)) != e || e === _ ? (n = e != e ? 1 : 0,
-                    r = x) : (r = G(E(e) / S),
-                        e * (o = w(2, -r)) < 1 && (r--,
-                            o *= 2),
-                        (e += r + l >= 1 ? c / o : c * w(2, 1 - l)) * o >= 2 && (r++,
-                            o /= 2),
-                        r + l >= x ? (n = 0,
-                            r = x) : r + l >= 1 ? (n = (e * o - 1) * w(2, t),
-                                r += l) : (n = e * w(2, l - 1) * w(2, t),
-                                    r = 0)); t >= 8; a[u++] = 255 & n,
-                                    n /= 256,
-                    t -= 8)
-                    ;
-                for (r = r << t | n,
-                    s += t; s > 0; a[u++] = 255 & r,
-                    r /= 256,
-                    s -= 8)
-                    ;
-                return a[--u] |= 128 * h,
-                    a
+              , Oe = function(e, t) {
+                return Ee(this, ue.call(we(this), e, t))
             }
-            function L(e, t, i) {
-                var r, n = 8 * i - t - 1, o = (1 << n) - 1, a = o >> 1, s = n - 7, x = i - 1, l = e[x--], c = 127 & l;
-                for (l >>= 7; s > 0; c = 256 * c + e[x],
-                    x--,
-                    s -= 8)
-                    ;
-                for (r = c & (1 << -s) - 1,
-                    c >>= -s,
-                    s += t; s > 0; r = 256 * r + e[x],
-                    x--,
-                    s -= 8)
-                    ;
-                if (0 === c)
-                    c = 1 - a;
-                else {
-                    if (c === o)
-                        return r ? NaN : l ? -_ : _;
-                    r += w(2, t),
-                        c -= a
-                }
-                return (l ? -1 : 1) * r * w(2, c - t)
+              , Fe = function(e) {
+                we(this);
+                var t = Ie(arguments[1], 1)
+                  , i = this.length
+                  , r = _(e)
+                  , n = g(r.length)
+                  , o = 0;
+                if (n + t > i)
+                    throw V("Wrong length!");
+                for (; o < n; )
+                    this[t + o] = r[o++]
             }
-            function R(e) {
-                return e[3] << 24 | e[2] << 16 | e[1] << 8 | e[0]
-            }
-            function O(e) {
-                return [255 & e]
-            }
-            function F(e) {
-                return [255 & e, e >> 8 & 255]
-            }
-            function D(e) {
-                return [255 & e, e >> 8 & 255, e >> 16 & 255, e >> 24 & 255]
-            }
-            function U(e) {
-                return N(e, 52, 8)
-            }
-            function k(e) {
-                return N(e, 23, 4)
-            }
-            function B(e, t, i) {
-                g(e.prototype, t, {
-                    get: function () {
-                        return this[i]
-                    }
-                })
-            }
-            function W(e, t, i, r) {
-                var n = f(+i);
-                if (n + t > e[P])
-                    throw y("Wrong index!");
-                var o = e[T]._b
-                    , a = n + e[M]
-                    , s = o.slice(a, a + t);
-                return r ? s : s.reverse()
-            }
-            function j(e, t, i, r, n, o) {
-                var a = f(+i);
-                if (a + t > e[P])
-                    throw y("Wrong index!");
-                for (var s = e[T]._b, x = a + e[M], l = r(+n), c = 0; c < t; c++)
-                    s[x + c] = l[o ? c : t - c - 1]
-            }
-            if (a.ABV) {
-                if (!l((function () {
-                    b(1)
-                }
-                )) || !l((function () {
-                    new b(-1)
-                }
-                )) || l((function () {
-                    return new b,
-                        new b(1.5),
-                        new b(NaN),
-                        "ArrayBuffer" != b.name
-                }
-                ))) {
-                    for (var V, z = (b = function (e) {
-                        return c(this, b),
-                            new A(f(e))
-                    }
-                    ).prototype = A.prototype, H = d(A), q = 0; H.length > q;)
-                        (V = H[q++]) in b || s(b, V, A[V]);
-                    o || (z.constructor = b)
-                }
-                var X = new v(new b(2))
-                    , Y = v.prototype.setInt8;
-                X.setInt8(0, 2147483648),
-                    X.setInt8(1, 2147483649),
-                    !X.getInt8(0) && X.getInt8(1) || x(v.prototype, {
-                        setInt8: function (e, t) {
-                            Y.call(this, e, t << 24 >> 24)
-                        },
-                        setUint8: function (e, t) {
-                            Y.call(this, e, t << 24 >> 24)
-                        }
-                    }, !0)
-            } else
-                b = function (e) {
-                    c(this, b, "ArrayBuffer");
-                    var t = f(e);
-                    this._b = p.call(new Array(t), 0),
-                        this[P] = t
-                }
-                    ,
-                    v = function (e, t, i) {
-                        c(this, v, "DataView"),
-                            c(e, b, "DataView");
-                        var r = e[P]
-                            , n = u(t);
-                        if (n < 0 || n > r)
-                            throw y("Wrong offset!");
-                        if (n + (i = void 0 === i ? r - n : h(i)) > r)
-                            throw y("Wrong length!");
-                        this[T] = e,
-                            this[M] = n,
-                            this[P] = i
-                    }
-                    ,
-                    n && (B(b, "byteLength", "_l"),
-                        B(v, "buffer", "_b"),
-                        B(v, "byteLength", "_l"),
-                        B(v, "byteOffset", "_o")),
-                    x(v.prototype, {
-                        getInt8: function (e) {
-                            return W(this, 1, e)[0] << 24 >> 24
-                        },
-                        getUint8: function (e) {
-                            return W(this, 1, e)[0]
-                        },
-                        getInt16: function (e) {
-                            var t = W(this, 2, e, arguments[1]);
-                            return (t[1] << 8 | t[0]) << 16 >> 16
-                        },
-                        getUint16: function (e) {
-                            var t = W(this, 2, e, arguments[1]);
-                            return t[1] << 8 | t[0]
-                        },
-                        getInt32: function (e) {
-                            return R(W(this, 4, e, arguments[1]))
-                        },
-                        getUint32: function (e) {
-                            return R(W(this, 4, e, arguments[1])) >>> 0
-                        },
-                        getFloat32: function (e) {
-                            return L(W(this, 4, e, arguments[1]), 23, 4)
-                        },
-                        getFloat64: function (e) {
-                            return L(W(this, 8, e, arguments[1]), 52, 8)
-                        },
-                        setInt8: function (e, t) {
-                            j(this, 1, e, O, t)
-                        },
-                        setUint8: function (e, t) {
-                            j(this, 1, e, O, t)
-                        },
-                        setInt16: function (e, t) {
-                            j(this, 2, e, F, t, arguments[2])
-                        },
-                        setUint16: function (e, t) {
-                            j(this, 2, e, F, t, arguments[2])
-                        },
-                        setInt32: function (e, t) {
-                            j(this, 4, e, D, t, arguments[2])
-                        },
-                        setUint32: function (e, t) {
-                            j(this, 4, e, D, t, arguments[2])
-                        },
-                        setFloat32: function (e, t) {
-                            j(this, 4, e, k, t, arguments[2])
-                        },
-                        setFloat64: function (e, t) {
-                            j(this, 8, e, U, t, arguments[2])
-                        }
-                    });
-            m(b, "ArrayBuffer"),
-                m(v, "DataView"),
-                s(v.prototype, a.VIEW, !0),
-                t.ArrayBuffer = b,
-                t.DataView = v
-        }
-        , function (e, t, i) {
-            var r = i(36)
-                , n = i(4)("iterator")
-                , o = Array.prototype;
-            e.exports = function (e) {
-                return void 0 !== e && (r.Array === e || o[n] === e)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(63)
-                , n = i(4)("iterator")
-                , o = i(36);
-            e.exports = i(43).getIteratorMethod = function (e) {
-                if (null != e)
-                    return e[n] || e["@@iterator"] || o[r(e)]
-            }
-        }
-        , function (e, t, i) {
-            var r = i(51)
-                , n = i(100)
-                , o = i(30)
-                , a = i(19)
-                , s = i(200);
-            e.exports = function (e, t) {
-                var i = 1 == e
-                    , x = 2 == e
-                    , l = 3 == e
-                    , c = 4 == e
-                    , u = 6 == e
-                    , h = 5 == e || u
-                    , f = t || s;
-                return function (t, s, d) {
-                    for (var g, p, m = o(t), b = n(m), v = r(s, d, 3), C = a(b.length), y = 0, _ = i ? f(t, C) : x ? f(t, 0) : void 0; C > y; y++)
-                        if ((h || y in b) && (p = v(g = b[y], y, m),
-                            e))
-                            if (i)
-                                _[y] = p;
-                            else if (p)
-                                switch (e) {
-                                    case 3:
-                                        return !0;
-                                    case 5:
-                                        return g;
-                                    case 6:
-                                        return y;
-                                    case 2:
-                                        _.push(g)
-                                }
-                            else if (c)
-                                return !1;
-                    return u ? -1 : l || c ? c : _
+              , De = {
+                entries: function() {
+                    return oe.call(we(this))
+                },
+                keys: function() {
+                    return ne.call(we(this))
+                },
+                values: function() {
+                    return re.call(we(this))
                 }
             }
-        }
-        , function (e, t, i) {
-            var r = i(201);
-            e.exports = function (e, t) {
-                return new (r(e))(t)
+              , Ue = function(e, t) {
+                return y(e) && e[ve] && "symbol" != typeof t && t in e && String(+t) == String(t)
             }
-        }
-        , function (e, t, i) {
-            var r = i(21)
-                , n = i(127)
-                , o = i(4)("species");
-            e.exports = function (e) {
-                var t;
-                return n(e) && ("function" != typeof (t = e.constructor) || t !== Array && !n(t.prototype) || (t = void 0),
-                    r(t) && null === (t = t[o]) && (t = void 0)),
-                    void 0 === t ? Array : t
+              , ke = function(e, t) {
+                return Ue(e, t = b(t, !0)) ? u(2, e[t]) : j(e, t)
             }
-        }
-        , function (e, t, i) {
-            var r = i(4)("iterator")
-                , n = !1;
-            try {
-                var o = [7][r]();
-                o.return = function () {
-                    n = !0
-                }
-                    ,
-                    Array.from(o, (function () {
-                        throw 2
-                    }
-                    ))
-            } catch (e) { }
-            e.exports = function (e, t) {
-                if (!t && !n)
-                    return !1;
-                var i = !1;
-                try {
-                    var o = [7]
-                        , a = o[r]();
-                    a.next = function () {
-                        return {
-                            done: i = !0
-                        }
-                    }
-                        ,
-                        o[r] = function () {
-                            return a
-                        }
-                        ,
-                        e(o)
-                } catch (e) { }
-                return i
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(30)
-                , n = i(54)
-                , o = i(19);
-            e.exports = [].copyWithin || function (e, t) {
-                var i = r(this)
-                    , a = o(i.length)
-                    , s = n(e, a)
-                    , x = n(t, a)
-                    , l = arguments.length > 2 ? arguments[2] : void 0
-                    , c = Math.min((void 0 === l ? a : n(l, a)) - x, a - s)
-                    , u = 1;
-                for (x < s && s < x + c && (u = -1,
-                    x += c - 1,
-                    s += c - 1); c-- > 0;)
-                    x in i ? i[s] = i[x] : delete i[s],
-                        s += u,
-                        x += u;
-                return i
-            }
-        }
-        , function (e, t, i) {
-            i(34)("Uint32", 4, (function (e) {
-                return function (t, i, r) {
-                    return e(this, t, i, r)
-                }
-            }
-            ))
-        }
-        , function (e, t, i) {
-            i(34)("Float64", 8, (function (e) {
-                return function (t, i, r) {
-                    return e(this, t, i, r)
-                }
-            }
-            ))
-        }
-        , function (e, t, i) {
-            i(34)("Uint8", 1, (function (e) {
-                return function (t, i, r) {
-                    return e(this, t, i, r)
-                }
-            }
-            ))
-        }
-        , function (e, t, i) {
-            i(34)("Int16", 2, (function (e) {
-                return function (t, i, r) {
-                    return e(this, t, i, r)
-                }
-            }
-            ))
-        }
-        , function (e, t, i) {
-            var r = i(23);
-            r(r.S, "Math", {
-                log2: function (e) {
-                    return Math.log(e) / Math.LN2
-                }
-            })
-        }
-        , function (e, t, i) {
-            i(210),
-                e.exports = i(5).Date.now
-        }
-        , function (e, t, i) {
-            var r = i(12);
-            r(r.S, "Date", {
-                now: function () {
-                    return (new Date).getTime()
-                }
-            })
-        }
-        , function (e, t, i) {
-            i(34)("Uint16", 2, (function (e) {
-                return function (t, i, r) {
-                    return e(this, t, i, r)
-                }
-            }
-            ))
-        }
-        , function (e, t, i) {
-            var r = i(23);
-            r(r.P, "Array", {
-                fill: i(92)
-            }),
-                i(97)("fill")
-        }
-        , function (e, t, i) {
-            i(34)("Float32", 4, (function (e) {
-                return function (t, i, r) {
-                    return e(this, t, i, r)
-                }
-            }
-            ))
-        }
-        , function (e, t, i) {
-            i(119),
-                i(113),
-                i(116),
-                i(215),
-                i(227),
-                i(228),
-                e.exports = i(5).Promise
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r, n, o, a, s = i(48), x = i(7), l = i(59), c = i(133), u = i(12), h = i(33), f = i(60), d = i(216), g = i(217), p = i(134), m = i(135).set, b = i(222)(), v = i(94), C = i(136), y = i(223), _ = i(137), A = x.TypeError, I = x.process, w = I && I.versions, G = w && w.v8 || "", E = x.Promise, S = "process" == c(I), T = function () { }, P = n = v.f, M = !!function () {
-                try {
-                    var e = E.resolve(1)
-                        , t = (e.constructor = {})[i(14)("species")] = function (e) {
-                            e(T, T)
-                        }
-                        ;
-                    return (S || "function" == typeof PromiseRejectionEvent) && e.then(T) instanceof t && 0 !== G.indexOf("6.6") && -1 === y.indexOf("Chrome/66")
-                } catch (e) { }
-            }(), N = function (e) {
-                var t;
-                return !(!h(e) || "function" != typeof (t = e.then)) && t
-            }, L = function (e, t) {
-                if (!e._n) {
-                    e._n = !0;
-                    var i = e._c;
-                    b((function () {
-                        for (var r = e._v, n = 1 == e._s, o = 0, a = function (t) {
-                            var i, o, a, s = n ? t.ok : t.fail, x = t.resolve, l = t.reject, c = t.domain;
-                            try {
-                                s ? (n || (2 == e._h && F(e),
-                                    e._h = 1),
-                                    !0 === s ? i = r : (c && c.enter(),
-                                        i = s(r),
-                                        c && (c.exit(),
-                                            a = !0)),
-                                    i === t.promise ? l(A("Promise-chain cycle")) : (o = N(i)) ? o.call(i, x, l) : x(i)) : l(r)
-                            } catch (e) {
-                                c && !a && c.exit(),
-                                    l(e)
-                            }
-                        }; i.length > o;)
-                            a(i[o++]);
-                        e._c = [],
-                            e._n = !1,
-                            t && !e._h && R(e)
-                    }
-                    ))
-                }
-            }, R = function (e) {
-                m.call(x, (function () {
-                    var t, i, r, n = e._v, o = O(e);
-                    if (o && (t = C((function () {
-                        S ? I.emit("unhandledRejection", n, e) : (i = x.onunhandledrejection) ? i({
-                            promise: e,
-                            reason: n
-                        }) : (r = x.console) && r.error && r.error("Unhandled promise rejection", n)
-                    }
-                    )),
-                        e._h = S || O(e) ? 2 : 1),
-                        e._a = void 0,
-                        o && t.e)
-                        throw t.v
-                }
-                ))
-            }, O = function (e) {
-                return 1 !== e._h && 0 === (e._a || e._c).length
-            }, F = function (e) {
-                m.call(x, (function () {
-                    var t;
-                    S ? I.emit("rejectionHandled", e) : (t = x.onrejectionhandled) && t({
-                        promise: e,
-                        reason: e._v
-                    })
-                }
-                ))
-            }, D = function (e) {
-                var t = this;
-                t._d || (t._d = !0,
-                    (t = t._w || t)._v = e,
-                    t._s = 2,
-                    t._a || (t._a = t._c.slice()),
-                    L(t, !0))
-            }, U = function (e) {
-                var t, i = this;
-                if (!i._d) {
-                    i._d = !0,
-                        i = i._w || i;
-                    try {
-                        if (i === e)
-                            throw A("Promise can't be resolved itself");
-                        (t = N(e)) ? b((function () {
-                            var r = {
-                                _w: i,
-                                _d: !1
-                            };
-                            try {
-                                t.call(e, l(U, r, 1), l(D, r, 1))
-                            } catch (e) {
-                                D.call(r, e)
-                            }
-                        }
-                        )) : (i._v = e,
-                            i._s = 1,
-                            L(i, !1))
-                    } catch (e) {
-                        D.call({
-                            _w: i,
-                            _d: !1
-                        }, e)
-                    }
-                }
+              , Be = function(e, t, i) {
+                return !(Ue(e, t = b(t, !0)) && y(i) && v(i, "value")) || v(i, "get") || v(i, "set") || i.configurable || v(i, "writable") && !i.writable || v(i, "enumerable") && !i.enumerable ? W(e, t, i) : (e[t] = i.value,
+                e)
             };
-            M || (E = function (e) {
-                d(this, E, "Promise", "_h"),
-                    f(e),
-                    r.call(this);
-                try {
-                    e(l(U, this, 1), l(D, this, 1))
-                } catch (e) {
-                    D.call(this, e)
-                }
+            be || (B.f = ke,
+            k.f = Be),
+            a(a.S + a.F * !be, "Object", {
+                getOwnPropertyDescriptor: ke,
+                defineProperty: Be
+            }),
+            o((function() {
+                he.call({})
             }
-                ,
-                (r = function (e) {
-                    this._c = [],
-                        this._a = void 0,
-                        this._s = 0,
-                        this._d = !1,
-                        this._v = void 0,
-                        this._h = 0,
-                        this._n = !1
-                }
-                ).prototype = i(224)(E.prototype, {
-                    then: function (e, t) {
-                        var i = P(p(this, E));
-                        return i.ok = "function" != typeof e || e,
-                            i.fail = "function" == typeof t && t,
-                            i.domain = S ? I.domain : void 0,
-                            this._c.push(i),
-                            this._a && this._a.push(i),
-                            this._s && L(this, !1),
-                            i.promise
-                    },
-                    catch: function (e) {
-                        return this.then(void 0, e)
-                    }
-                }),
-                o = function () {
-                    var e = new r;
-                    this.promise = e,
-                        this.resolve = l(U, e, 1),
-                        this.reject = l(D, e, 1)
-                }
-                ,
-                v.f = P = function (e) {
-                    return e === E || e === a ? new o(e) : n(e)
-                }
-            ),
-                u(u.G + u.W + u.F * !M, {
-                    Promise: E
-                }),
-                i(66)(E, "Promise"),
-                i(225)("Promise"),
-                a = i(5).Promise,
-                u(u.S + u.F * !M, "Promise", {
-                    reject: function (e) {
-                        var t = P(this);
-                        return (0,
-                            t.reject)(e),
-                            t.promise
-                    }
-                }),
-                u(u.S + u.F * (s || !M), "Promise", {
-                    resolve: function (e) {
-                        return _(s && this === a ? E : this, e)
-                    }
-                }),
-                u(u.S + u.F * !(M && i(226)((function (e) {
-                    E.all(e).catch(T)
-                }
-                ))), "Promise", {
-                    all: function (e) {
-                        var t = this
-                            , i = P(t)
-                            , r = i.resolve
-                            , n = i.reject
-                            , o = C((function () {
-                                var i = []
-                                    , o = 0
-                                    , a = 1;
-                                g(e, !1, (function (e) {
-                                    var s = o++
-                                        , x = !1;
-                                    i.push(void 0),
-                                        a++,
-                                        t.resolve(e).then((function (e) {
-                                            x || (x = !0,
-                                                i[s] = e,
-                                                --a || r(i))
-                                        }
-                                        ), n)
-                                }
-                                )),
-                                    --a || r(i)
-                            }
-                            ));
-                        return o.e && n(o.v),
-                            i.promise
-                    },
-                    race: function (e) {
-                        var t = this
-                            , i = P(t)
-                            , r = i.reject
-                            , n = C((function () {
-                                g(e, !1, (function (e) {
-                                    t.resolve(e).then(i.resolve, r)
-                                }
-                                ))
-                            }
-                            ));
-                        return n.e && r(n.v),
-                            i.promise
-                    }
-                })
-        }
-        , function (e, t) {
-            e.exports = function (e, t, i, r) {
-                if (!(e instanceof t) || void 0 !== r && r in e)
-                    throw TypeError(i + ": incorrect invocation!");
-                return e
+            )) && (he = fe = function() {
+                return le.call(this)
             }
-        }
-        , function (e, t, i) {
-            var r = i(59)
-                , n = i(218)
-                , o = i(219)
-                , a = i(27)
-                , s = i(106)
-                , x = i(220)
-                , l = {}
-                , c = {};
-            (t = e.exports = function (e, t, i, u, h) {
-                var f, d, g, p, m = h ? function () {
-                    return e
-                }
-                    : x(e), b = r(i, u, t ? 2 : 1), v = 0;
-                if ("function" != typeof m)
-                    throw TypeError(e + " is not iterable!");
-                if (o(m)) {
-                    for (f = s(e.length); f > v; v++)
-                        if ((p = t ? b(a(d = e[v])[0], d[1]) : b(e[v])) === l || p === c)
-                            return p
-                } else
-                    for (g = m.call(e); !(d = g.next()).done;)
-                        if ((p = n(g, b, d.value, t)) === l || p === c)
-                            return p
-            }
-            ).BREAK = l,
-                t.RETURN = c
-        }
-        , function (e, t, i) {
-            var r = i(27);
-            e.exports = function (e, t, i, n) {
-                try {
-                    return n ? t(r(i)[0], i[1]) : t(i)
-                } catch (t) {
-                    var o = e.return;
-                    throw void 0 !== o && r(o.call(e)),
-                    t
-                }
-            }
-        }
-        , function (e, t, i) {
-            var r = i(49)
-                , n = i(14)("iterator")
-                , o = Array.prototype;
-            e.exports = function (e) {
-                return void 0 !== e && (r.Array === e || o[n] === e)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(133)
-                , n = i(14)("iterator")
-                , o = i(49);
-            e.exports = i(5).getIteratorMethod = function (e) {
-                if (null != e)
-                    return e[n] || e["@@iterator"] || o[r(e)]
-            }
-        }
-        , function (e, t) {
-            e.exports = function (e, t, i) {
-                var r = void 0 === i;
-                switch (t.length) {
-                    case 0:
-                        return r ? e() : e.call(i);
-                    case 1:
-                        return r ? e(t[0]) : e.call(i, t[0]);
-                    case 2:
-                        return r ? e(t[0], t[1]) : e.call(i, t[0], t[1]);
-                    case 3:
-                        return r ? e(t[0], t[1], t[2]) : e.call(i, t[0], t[1], t[2]);
-                    case 4:
-                        return r ? e(t[0], t[1], t[2], t[3]) : e.call(i, t[0], t[1], t[2], t[3])
-                }
-                return e.apply(i, t)
-            }
-        }
-        , function (e, t, i) {
-            var r = i(7)
-                , n = i(135).set
-                , o = r.MutationObserver || r.WebKitMutationObserver
-                , a = r.process
-                , s = r.Promise
-                , x = "process" == i(47)(a);
-            e.exports = function () {
-                var e, t, i, l = function () {
-                    var r, n;
-                    for (x && (r = a.domain) && r.exit(); e;) {
-                        n = e.fn,
-                            e = e.next;
-                        try {
-                            n()
-                        } catch (r) {
-                            throw e ? i() : t = void 0,
-                            r
-                        }
-                    }
-                    t = void 0,
-                        r && r.enter()
-                };
-                if (x)
-                    i = function () {
-                        a.nextTick(l)
-                    }
-                        ;
-                else if (!o || r.navigator && r.navigator.standalone)
-                    if (s && s.resolve) {
-                        var c = s.resolve(void 0);
-                        i = function () {
-                            c.then(l)
-                        }
-                    } else
-                        i = function () {
-                            n.call(r, l)
-                        }
-                            ;
-                else {
-                    var u = !0
-                        , h = document.createTextNode("");
-                    new o(l).observe(h, {
-                        characterData: !0
-                    }),
-                        i = function () {
-                            h.data = u = !u
-                        }
-                }
-                return function (r) {
-                    var n = {
-                        fn: r,
-                        next: void 0
-                    };
-                    t && (t.next = n),
-                        e || (e = n,
-                            i()),
-                        t = n
-                }
-            }
-        }
-        , function (e, t, i) {
-            var r = i(7).navigator;
-            e.exports = r && r.userAgent || ""
-        }
-        , function (e, t, i) {
-            var r = i(32);
-            e.exports = function (e, t, i) {
-                for (var n in t)
-                    i && e[n] ? e[n] = t[n] : r(e, n, t[n]);
-                return e
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(7)
-                , n = i(5)
-                , o = i(26)
-                , a = i(25)
-                , s = i(14)("species");
-            e.exports = function (e) {
-                var t = "function" == typeof n[e] ? n[e] : r[e];
-                a && t && !t[s] && o.f(t, s, {
-                    configurable: !0,
-                    get: function () {
-                        return this
-                    }
-                })
-            }
-        }
-        , function (e, t, i) {
-            var r = i(14)("iterator")
-                , n = !1;
-            try {
-                var o = [7][r]();
-                o.return = function () {
-                    n = !0
-                }
-                    ,
-                    Array.from(o, (function () {
-                        throw 2
-                    }
-                    ))
-            } catch (e) { }
-            e.exports = function (e, t) {
-                if (!t && !n)
-                    return !1;
-                var i = !1;
-                try {
-                    var o = [7]
-                        , a = o[r]();
-                    a.next = function () {
-                        return {
-                            done: i = !0
-                        }
-                    }
-                        ,
-                        o[r] = function () {
-                            return a
-                        }
-                        ,
-                        e(o)
-                } catch (e) { }
-                return i
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(12)
-                , n = i(5)
-                , o = i(7)
-                , a = i(134)
-                , s = i(137);
-            r(r.P + r.R, "Promise", {
-                finally: function (e) {
-                    var t = a(this, n.Promise || o.Promise)
-                        , i = "function" == typeof e;
-                    return this.then(i ? function (i) {
-                        return s(t, e()).then((function () {
-                            return i
-                        }
-                        ))
-                    }
-                        : e, i ? function (i) {
-                            return s(t, e()).then((function () {
-                                throw i
-                            }
-                            ))
-                        }
-                        : e)
-                }
-            })
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(12)
-                , n = i(94)
-                , o = i(136);
-            r(r.S, "Promise", {
-                try: function (e) {
-                    var t = n.f(this)
-                        , i = o(e);
-                    return (i.e ? t.reject : t.resolve)(i.v),
-                        t.promise
-                }
-            })
-        }
-        , function (e, t, i) {
-            i(138)("asyncIterator")
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(10)
-                , n = i(24)
-                , o = i(11)
-                , a = i(23)
-                , s = i(22)
-                , x = i(231).KEY
-                , l = i(18)
-                , c = i(50)
-                , u = i(55)
-                , h = i(28)
-                , f = i(4)
-                , d = i(139)
-                , g = i(138)
-                , p = i(232)
-                , m = i(127)
-                , b = i(17)
-                , v = i(21)
-                , C = i(30)
-                , y = i(37)
-                , _ = i(44)
-                , A = i(45)
-                , I = i(52)
-                , w = i(233)
-                , G = i(67)
-                , E = i(140)
-                , S = i(13)
-                , T = i(53)
-                , P = G.f
-                , M = S.f
-                , N = w.f
-                , L = r.Symbol
-                , R = r.JSON
-                , O = R && R.stringify
-                , F = f("_hidden")
-                , D = f("toPrimitive")
-                , U = {}.propertyIsEnumerable
-                , k = c("symbol-registry")
-                , B = c("symbols")
-                , W = c("op-symbols")
-                , j = Object.prototype
-                , V = "function" == typeof L && !!E.f
-                , z = r.QObject
-                , H = !z || !z.prototype || !z.prototype.findChild
-                , q = o && l((function () {
-                    return 7 != I(M({}, "a", {
-                        get: function () {
-                            return M(this, "a", {
-                                value: 7
-                            }).a
-                        }
-                    })).a
-                }
-                )) ? function (e, t, i) {
-                    var r = P(j, t);
-                    r && delete j[t],
-                        M(e, t, i),
-                        r && e !== j && M(j, t, r)
-                }
-                    : M
-                , X = function (e) {
-                    var t = B[e] = I(L.prototype);
-                    return t._k = e,
-                        t
-                }
-                , Y = V && "symbol" == typeof L.iterator ? function (e) {
-                    return "symbol" == typeof e
-                }
-                    : function (e) {
-                        return e instanceof L
-                    }
-                , K = function (e, t, i) {
-                    return e === j && K(W, t, i),
-                        b(e),
-                        t = _(t, !0),
-                        b(i),
-                        n(B, t) ? (i.enumerable ? (n(e, F) && e[F][t] && (e[F][t] = !1),
-                            i = I(i, {
-                                enumerable: A(0, !1)
-                            })) : (n(e, F) || M(e, F, A(1, {})),
-                                e[F][t] = !0),
-                            q(e, t, i)) : M(e, t, i)
-                }
-                , Q = function (e, t) {
-                    b(e);
-                    for (var i, r = p(t = y(t)), n = 0, o = r.length; o > n;)
-                        K(e, i = r[n++], t[i]);
-                    return e
-                }
-                , Z = function (e) {
-                    var t = U.call(this, e = _(e, !0));
-                    return !(this === j && n(B, e) && !n(W, e)) && (!(t || !n(this, e) || !n(B, e) || n(this, F) && this[F][e]) || t)
-                }
-                , J = function (e, t) {
-                    if (e = y(e),
-                        t = _(t, !0),
-                        e !== j || !n(B, t) || n(W, t)) {
-                        var i = P(e, t);
-                        return !i || !n(B, t) || n(e, F) && e[F][t] || (i.enumerable = !0),
-                            i
-                    }
-                }
-                , $ = function (e) {
-                    for (var t, i = N(y(e)), r = [], o = 0; i.length > o;)
-                        n(B, t = i[o++]) || t == F || t == x || r.push(t);
-                    return r
-                }
-                , ee = function (e) {
-                    for (var t, i = e === j, r = N(i ? W : y(e)), o = [], a = 0; r.length > a;)
-                        !n(B, t = r[a++]) || i && !n(j, t) || o.push(B[t]);
-                    return o
-                };
-            V || (s((L = function () {
-                if (this instanceof L)
-                    throw TypeError("Symbol is not a constructor!");
-                var e = h(arguments.length > 0 ? arguments[0] : void 0)
-                    , t = function (i) {
-                        this === j && t.call(W, i),
-                            n(this, F) && n(this[F], e) && (this[F][e] = !1),
-                            q(this, e, A(1, i))
-                    };
-                return o && H && q(j, e, {
-                    configurable: !0,
-                    set: t
-                }),
-                    X(e)
-            }
-            ).prototype, "toString", (function () {
-                return this._k
-            }
-            )),
-                G.f = J,
-                S.f = K,
-                i(41).f = w.f = $,
-                i(93).f = Z,
-                E.f = ee,
-                o && !i(35) && s(j, "propertyIsEnumerable", Z, !0),
-                d.f = function (e) {
-                    return X(f(e))
-                }
-            ),
-                a(a.G + a.W + a.F * !V, {
-                    Symbol: L
-                });
-            for (var te = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), ie = 0; te.length > ie;)
-                f(te[ie++]);
-            for (var re = T(f.store), ne = 0; re.length > ne;)
-                g(re[ne++]);
-            a(a.S + a.F * !V, "Symbol", {
-                for: function (e) {
-                    return n(k, e += "") ? k[e] : k[e] = L(e)
-                },
-                keyFor: function (e) {
-                    if (!Y(e))
-                        throw TypeError(e + " is not a symbol!");
-                    for (var t in k)
-                        if (k[t] === e)
-                            return t
-                },
-                useSetter: function () {
-                    H = !0
-                },
-                useSimple: function () {
-                    H = !1
+            );
+            var We = f({}, Re);
+            f(We, De),
+            h(We, de, De.values),
+            f(We, {
+                slice: Oe,
+                set: Fe,
+                constructor: function() {},
+                toString: he,
+                toLocaleString: Le
+            }),
+            Te(We, "buffer", "b"),
+            Te(We, "byteOffset", "o"),
+            Te(We, "byteLength", "l"),
+            Te(We, "length", "e"),
+            W(We, ge, {
+                get: function() {
+                    return this[ve]
                 }
             }),
-                a(a.S + a.F * !V, "Object", {
-                    create: function (e, t) {
-                        return void 0 === t ? I(e) : Q(I(e), t)
-                    },
-                    defineProperty: K,
-                    defineProperties: Q,
-                    getOwnPropertyDescriptor: J,
-                    getOwnPropertyNames: $,
-                    getOwnPropertySymbols: ee
-                });
-            var oe = l((function () {
-                E.f(1)
-            }
-            ));
-            a(a.S + a.F * oe, "Object", {
-                getOwnPropertySymbols: function (e) {
-                    return E.f(C(e))
-                }
-            }),
-                R && a(a.S + a.F * (!V || l((function () {
-                    var e = L();
-                    return "[null]" != O([e]) || "{}" != O({
-                        a: e
-                    }) || "{}" != O(Object(e))
-                }
-                ))), "JSON", {
-                    stringify: function (e) {
-                        for (var t, i, r = [e], n = 1; arguments.length > n;)
-                            r.push(arguments[n++]);
-                        if (i = t = r[1],
-                            (v(t) || void 0 !== e) && !Y(e))
-                            return m(t) || (t = function (e, t) {
-                                if ("function" == typeof i && (t = i.call(this, e, t)),
-                                    !Y(t))
-                                    return t
-                            }
-                            ),
-                                r[1] = t,
-                                O.apply(R, r)
-                    }
-                }),
-                L.prototype[D] || i(20)(L.prototype, D, L.prototype.valueOf),
-                u(L, "Symbol"),
-                u(Math, "Math", !0),
-                u(r.JSON, "JSON", !0)
-        }
-        , function (e, t, i) {
-            var r = i(28)("meta")
-                , n = i(21)
-                , o = i(24)
-                , a = i(13).f
-                , s = 0
-                , x = Object.isExtensible || function () {
-                    return !0
-                }
-                , l = !i(18)((function () {
-                    return x(Object.preventExtensions({}))
-                }
-                ))
-                , c = function (e) {
-                    a(e, r, {
-                        value: {
-                            i: "O" + ++s,
-                            w: {}
-                        }
+            e.exports = function(e, t, i, x) {
+                var l = e + ((x = !!x) ? "Clamped" : "") + "Array"
+                  , u = "get" + e
+                  , f = "set" + e
+                  , d = n[l]
+                  , m = d || {}
+                  , b = d && w(d)
+                  , v = !d || !s.ABV
+                  , _ = {}
+                  , A = d && d.prototype
+                  , E = function(e, i) {
+                    W(e, i, {
+                        get: function() {
+                            return function(e, i) {
+                                var r = e._d;
+                                return r.v[u](i * t + r.o, _e)
+                            }(this, i)
+                        },
+                        set: function(e) {
+                            return function(e, i, r) {
+                                var n = e._d;
+                                x && (r = (r = Math.round(r)) < 0 ? 0 : r > 255 ? 255 : 255 & r),
+                                n.v[f](i * t + n.o, r, _e)
+                            }(this, i, e)
+                        },
+                        enumerable: !0
                     })
-                }
-                , u = e.exports = {
-                    KEY: r,
-                    NEED: !1,
-                    fastKey: function (e, t) {
-                        if (!n(e))
-                            return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e;
-                        if (!o(e, r)) {
-                            if (!x(e))
-                                return "F";
-                            if (!t)
-                                return "E";
-                            c(e)
-                        }
-                        return e[r].i
-                    },
-                    getWeak: function (e, t) {
-                        if (!o(e, r)) {
-                            if (!x(e))
-                                return !0;
-                            if (!t)
-                                return !1;
-                            c(e)
-                        }
-                        return e[r].w
-                    },
-                    onFreeze: function (e) {
-                        return l && u.NEED && x(e) && !o(e, r) && c(e),
-                            e
-                    }
-                }
-        }
-        , function (e, t, i) {
-            var r = i(53)
-                , n = i(140)
-                , o = i(93);
-            e.exports = function (e) {
-                var t = r(e)
-                    , i = n.f;
-                if (i)
-                    for (var a, s = i(e), x = o.f, l = 0; s.length > l;)
-                        x.call(e, a = s[l++]) && t.push(a);
-                return t
-            }
-        }
-        , function (e, t, i) {
-            var r = i(37)
-                , n = i(41).f
-                , o = {}.toString
-                , a = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
-            e.exports.f = function (e) {
-                return a && "[object Window]" == o.call(e) ? function (e) {
-                    try {
-                        return n(e)
-                    } catch (e) {
-                        return a.slice()
-                    }
-                }(e) : n(r(e))
-            }
-        }
-        , function (e, t, i) {
-            var r = i(21)
-                , n = i(17)
-                , o = function (e, t) {
-                    if (n(e),
-                        !r(t) && null !== t)
-                        throw TypeError(t + ": can't set as prototype!")
                 };
-            e.exports = {
-                set: Object.setPrototypeOf || ("__proto__" in {} ? function (e, t, r) {
-                    try {
-                        (r = i(51)(Function.call, i(67).f(Object.prototype, "__proto__").set, 2))(e, []),
-                            t = !(e instanceof Array)
-                    } catch (e) {
-                        t = !0
+                v ? (d = i((function(e, i, r, n) {
+                    c(e, d, l, "_d");
+                    var o, a, s, x, u = 0, f = 0;
+                    if (y(i)) {
+                        if (!(i instanceof X || "ArrayBuffer" == (x = C(i)) || "SharedArrayBuffer" == x))
+                            return ve in i ? Se(d, i) : Pe.call(d, i);
+                        o = i,
+                        f = Ie(r, t);
+                        var m = i.byteLength;
+                        if (void 0 === n) {
+                            if (m % t)
+                                throw V("Wrong length!");
+                            if ((a = m - f) < 0)
+                                throw V("Wrong length!")
+                        } else if ((a = g(n) * t) + f > m)
+                            throw V("Wrong length!");
+                        s = a / t
+                    } else
+                        s = p(i),
+                        o = new X(a = s * t);
+                    for (h(e, "_d", {
+                        b: o,
+                        o: f,
+                        l: a,
+                        e: s,
+                        v: new Y(o)
+                    }); u < s; )
+                        E(e, u++)
+                }
+                )),
+                A = d.prototype = I(We),
+                h(A, "constructor", d)) : o((function() {
+                    d(1)
+                }
+                )) && o((function() {
+                    new d(-1)
+                }
+                )) && O((function(e) {
+                    new d,
+                    new d(null),
+                    new d(1.5),
+                    new d(e)
+                }
+                ), !0) || (d = i((function(e, i, r, n) {
+                    var o;
+                    return c(e, d, l),
+                    y(i) ? i instanceof X || "ArrayBuffer" == (o = C(i)) || "SharedArrayBuffer" == o ? void 0 !== n ? new m(i,Ie(r, t),n) : void 0 !== r ? new m(i,Ie(r, t)) : new m(i) : ve in i ? Se(d, i) : Pe.call(d, i) : new m(p(i))
+                }
+                )),
+                K(b !== Function.prototype ? G(m).concat(G(b)) : G(m), (function(e) {
+                    e in d || h(d, e, m[e])
+                }
+                )),
+                d.prototype = A,
+                r || (A.constructor = d));
+                var S = A[de]
+                  , T = !!S && ("values" == S.name || null == S.name)
+                  , P = De.values;
+                h(d, pe, !0),
+                h(A, ve, l),
+                h(A, Ce, !0),
+                h(A, me, d),
+                (x ? new d(1)[ge] == l : ge in A) || W(A, ge, {
+                    get: function() {
+                        return l
                     }
-                    return function (e, i) {
-                        return o(e, i),
-                            t ? e.__proto__ = i : r(e, i),
-                            e
-                    }
-                }({}, !1) : void 0),
-                check: o
+                }),
+                _[l] = d,
+                a(a.G + a.W + a.F * (d != m), _),
+                a(a.S, l, {
+                    BYTES_PER_ELEMENT: t
+                }),
+                a(a.S + a.F * o((function() {
+                    m.of.call(d, 1)
+                }
+                )), l, {
+                    from: Pe,
+                    of: Me
+                }),
+                "BYTES_PER_ELEMENT"in A || h(A, "BYTES_PER_ELEMENT", t),
+                a(a.P, l, Re),
+                F(l),
+                a(a.P + a.F * Ae, l, {
+                    set: Fe
+                }),
+                a(a.P + a.F * !T, l, De),
+                r || A.toString == he || (A.toString = he),
+                a(a.P + a.F * o((function() {
+                    new d(1).slice()
+                }
+                )), l, {
+                    slice: Oe
+                }),
+                a(a.P + a.F * (o((function() {
+                    return [1, 2].toLocaleString() != new d([1, 2]).toLocaleString()
+                }
+                )) || !o((function() {
+                    A.toLocaleString.call([1, 2])
+                }
+                ))), l, {
+                    toLocaleString: Le
+                }),
+                R[l] = T ? S : P,
+                r || T || h(A, de, P)
+            }
+        } else
+            e.exports = function() {}
+    }
+    , function(e, t) {
+        e.exports = !1
+    }
+    , function(e, t) {
+        e.exports = {}
+    }
+    , function(e, t, i) {
+        var r = i(100)
+          , n = i(38);
+        e.exports = function(e) {
+            return r(n(e))
+        }
+    }
+    , function(e, t) {
+        e.exports = function(e) {
+            if (null == e)
+                throw TypeError("Can't call method on  " + e);
+            return e
+        }
+    }
+    , function(e, t, i) {
+        var r = i(156)
+          , n = i(56);
+        e.exports = function(e) {
+            return r(n(e))
+        }
+    }
+    , function(e, t) {
+        e.exports = function(e) {
+            try {
+                return !!e()
+            } catch (e) {
+                return !0
             }
         }
-        , function (e, t, i) {
-            var r = i(23)
-                , n = i(38)
-                , o = i(18)
-                , a = i(236)
-                , s = "[" + a + "]"
-                , x = RegExp("^" + s + s + "*")
-                , l = RegExp(s + s + "*$")
-                , c = function (e, t, i) {
-                    var n = {}
-                        , s = o((function () {
-                            return !!a[e]() || "鈥嬄�" != "鈥嬄�"[e]()
-                        }
-                        ))
-                        , x = n[e] = s ? t(u) : a[e];
-                    i && (n[i] = x),
-                        r(r.P + r.F * s, "String", n)
-                }
-                , u = c.trim = function (e, t) {
-                    return e = String(n(e)),
-                        1 & t && (e = e.replace(x, "")),
-                        2 & t && (e = e.replace(l, "")),
-                        e
+    }
+    , function(e, t, i) {
+        var r = i(102)
+          , n = i(71).concat("length", "prototype");
+        t.f = Object.getOwnPropertyNames || function(e) {
+            return r(e, n)
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(97)
+          , n = i(148)
+          , o = i(36)
+          , a = i(37);
+        e.exports = i(149)(Array, "Array", (function(e, t) {
+            this._t = a(e),
+            this._i = 0,
+            this._k = t
+        }
+        ), (function() {
+            var e = this._t
+              , t = this._k
+              , i = this._i++;
+            return !e || i >= e.length ? (this._t = void 0,
+            n(1)) : n(0, "keys" == t ? i : "values" == t ? e[i] : [i, e[i]])
+        }
+        ), "values"),
+        o.Arguments = o.Array,
+        r("keys"),
+        r("values"),
+        r("entries")
+    }
+    , function(e, t) {
+        var i = e.exports = {
+            version: "2.6.11"
+        };
+        "number" == typeof __e && (__e = i)
+    }
+    , function(e, t, i) {
+        var r = i(21);
+        e.exports = function(e, t) {
+            if (!r(e))
+                return e;
+            var i, n;
+            if (t && "function" == typeof (i = e.toString) && !r(n = i.call(e)))
+                return n;
+            if ("function" == typeof (i = e.valueOf) && !r(n = i.call(e)))
+                return n;
+            if (!t && "function" == typeof (i = e.toString) && !r(n = i.call(e)))
+                return n;
+            throw TypeError("Can't convert object to primitive value")
+        }
+    }
+    , function(e, t) {
+        e.exports = function(e, t) {
+            return {
+                enumerable: !(1 & e),
+                configurable: !(2 & e),
+                writable: !(4 & e),
+                value: t
+            }
+        }
+    }
+    , function(e, t) {
+        var i = {}.toString;
+        e.exports = function(e) {
+            return i.call(e).slice(8, -1)
+        }
+    }
+    , function(e, t) {
+        var i = {}.toString;
+        e.exports = function(e) {
+            return i.call(e).slice(8, -1)
+        }
+    }
+    , function(e, t) {
+        e.exports = !0
+    }
+    , function(e, t) {
+        e.exports = {}
+    }
+    , function(e, t, i) {
+        var r = i(43)
+          , n = i(10)
+          , o = n["__core-js_shared__"] || (n["__core-js_shared__"] = {});
+        (e.exports = function(e, t) {
+            return o[e] || (o[e] = void 0 !== t ? t : {})
+        }
+        )("versions", []).push({
+            version: r.version,
+            mode: i(35) ? "pure" : "global",
+            copyright: "漏 2019 Denis Pushkarev (zloirock.ru)"
+        })
+    }
+    , function(e, t, i) {
+        var r = i(101);
+        e.exports = function(e, t, i) {
+            if (r(e),
+            void 0 === t)
+                return e;
+            switch (i) {
+            case 1:
+                return function(i) {
+                    return e.call(t, i)
                 }
                 ;
-            e.exports = c
+            case 2:
+                return function(i, r) {
+                    return e.call(t, i, r)
+                }
+                ;
+            case 3:
+                return function(i, r, n) {
+                    return e.call(t, i, r, n)
+                }
+            }
+            return function() {
+                return e.apply(t, arguments)
+            }
         }
-        , function (e, t) {
-            e.exports = "\t\n\v\f\r 聽釟�釥庘��鈥佲�傗�冣�勨�呪�嗏�団�堚�夆�娾�仧銆�\u2028\u2029\ufeff"
+    }
+    , function(e, t, i) {
+        var r = i(17)
+          , n = i(152)
+          , o = i(71)
+          , a = i(70)("IE_PROTO")
+          , s = function() {}
+          , x = function() {
+            var e, t = i(99)("iframe"), r = o.length;
+            for (t.style.display = "none",
+            i(153).appendChild(t),
+            t.src = "javascript:",
+            (e = t.contentWindow.document).open(),
+            e.write("<script>document.F=Object<\/script>"),
+            e.close(),
+            x = e.F; r--; )
+                delete x.prototype[o[r]];
+            return x()
+        };
+        e.exports = Object.create || function(e, t) {
+            var i;
+            return null !== e ? (s.prototype = r(e),
+            i = new s,
+            s.prototype = null,
+            i[a] = e) : i = x(),
+            void 0 === t ? i : n(i, t)
         }
-        , function (module, __webpack_exports__, __webpack_require__) {
-            "use strict";
-            (function (module, global) {
-                var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69), core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_0__), core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42), core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1___default = __webpack_require__.n(core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1__), _babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15), _babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2___default = __webpack_require__.n(_babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2__), core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(84), core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_3___default = __webpack_require__.n(core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_3__), _babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8), _babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default = __webpack_require__.n(_babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4__), core_js_modules_es6_string_ends_with__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(129), core_js_modules_es6_string_ends_with__WEBPACK_IMPORTED_MODULE_5___default = __webpack_require__.n(core_js_modules_es6_string_ends_with__WEBPACK_IMPORTED_MODULE_5__), core_js_modules_es6_string_starts_with__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(132), core_js_modules_es6_string_starts_with__WEBPACK_IMPORTED_MODULE_6___default = __webpack_require__.n(core_js_modules_es6_string_starts_with__WEBPACK_IMPORTED_MODULE_6__), _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1), _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default = __webpack_require__.n(_babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7__), core_js_modules_es6_number_constructor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(141), core_js_modules_es6_number_constructor__WEBPACK_IMPORTED_MODULE_8___default = __webpack_require__.n(core_js_modules_es6_number_constructor__WEBPACK_IMPORTED_MODULE_8__), core_js_modules_es6_regexp_search__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(239), core_js_modules_es6_regexp_search__WEBPACK_IMPORTED_MODULE_9___default = __webpack_require__.n(core_js_modules_es6_regexp_search__WEBPACK_IMPORTED_MODULE_9__), core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(88), core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_10___default = __webpack_require__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_10__), _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(0), _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default = __webpack_require__.n(_babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11__), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(2), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default = __webpack_require__.n(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12__), core_js_modules_es6_regexp_to_string__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(85), core_js_modules_es6_regexp_to_string__WEBPACK_IMPORTED_MODULE_13___default = __webpack_require__.n(core_js_modules_es6_regexp_to_string__WEBPACK_IMPORTED_MODULE_13__), core_js_modules_es6_object_to_string__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(86), core_js_modules_es6_object_to_string__WEBPACK_IMPORTED_MODULE_14___default = __webpack_require__.n(core_js_modules_es6_object_to_string__WEBPACK_IMPORTED_MODULE_14__), core_js_modules_es6_regexp_split__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(79), core_js_modules_es6_regexp_split__WEBPACK_IMPORTED_MODULE_15___default = __webpack_require__.n(core_js_modules_es6_regexp_split__WEBPACK_IMPORTED_MODULE_15__), core_js_modules_es6_regexp_match__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(241), core_js_modules_es6_regexp_match__WEBPACK_IMPORTED_MODULE_16___default = __webpack_require__.n(core_js_modules_es6_regexp_match__WEBPACK_IMPORTED_MODULE_16__), core_js_modules_es6_regexp_constructor__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(143), core_js_modules_es6_regexp_constructor__WEBPACK_IMPORTED_MODULE_17___default = __webpack_require__.n(core_js_modules_es6_regexp_constructor__WEBPACK_IMPORTED_MODULE_17__), require, require, e;
-                window.GeoGlobe = window.GeoGlobe || {},
-                    window.GeoGlobe.Class = window.GeoGlobe.Class || {},
-                    window.GeoGlobe.LngLatBounds = window.GeoGlobe.LngLatBounds || {},
-                    window.GeoGlobe.LngLat = window.GeoGlobe.LngLat || {},
-                    window.GeoGlobe.Filter = window.GeoGlobe.Filter || {},
-                    window.GeoGlobe.Format = window.GeoGlobe.Format || {},
-                    window.GeoGlobe.Protocol = window.GeoGlobe.Protocol || {},
-                    window.GeoGlobe.Query = window.GeoGlobe.Query || {},
-                    window.GeoGlobe.Service = window.GeoGlobe.Service || {},
-                    window.GeoGlobe.Analysis = window.GeoGlobe.Analysis || {},
-                    GeoGlobe.getScriptLocation = function (e) {
-                        for (var t = "", i = new RegExp("(^|(.*?\\/))(" + e + ")(\\?|$)"), r = document.getElementsByTagName("script"), n = 0, o = r.length; n < o; n++) {
-                            var a = r[n].getAttribute("src");
-                            if (a) {
-                                var s = a.match(i);
-                                if (s) {
-                                    t = s[1];
-                                    break
-                                }
-                            }
+    }
+    , function(e, t, i) {
+        var r = i(102)
+          , n = i(71);
+        e.exports = Object.keys || function(e) {
+            return r(e, n)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(29)
+          , n = Math.max
+          , o = Math.min;
+        e.exports = function(e, t) {
+            return (e = r(e)) < 0 ? n(e + t, 0) : o(e, t)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(13).f
+          , n = i(24)
+          , o = i(4)("toStringTag");
+        e.exports = function(e, t, i) {
+            e && !n(e = i ? e : e.prototype, o) && r(e, o, {
+                configurable: !0,
+                value: t
+            })
+        }
+    }
+    , function(e, t) {
+        e.exports = function(e) {
+            if (null == e)
+                throw TypeError("Can't call method on  " + e);
+            return e
+        }
+    }
+    , function(e, t, i) {
+        var r = i(105)
+          , n = i(76);
+        e.exports = Object.keys || function(e) {
+            return r(e, n)
+        }
+    }
+    , function(e, t) {
+        var i = 0
+          , r = Math.random();
+        e.exports = function(e) {
+            return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++i + r).toString(36))
+        }
+    }
+    , function(e, t, i) {
+        var r = i(60);
+        e.exports = function(e, t, i) {
+            if (r(e),
+            void 0 === t)
+                return e;
+            switch (i) {
+            case 1:
+                return function(i) {
+                    return e.call(t, i)
+                }
+                ;
+            case 2:
+                return function(i, r) {
+                    return e.call(t, i, r)
+                }
+                ;
+            case 3:
+                return function(i, r, n) {
+                    return e.call(t, i, r, n)
+                }
+            }
+            return function() {
+                return e.apply(t, arguments)
+            }
+        }
+    }
+    , function(e, t) {
+        e.exports = function(e) {
+            if ("function" != typeof e)
+                throw TypeError(e + " is not a function!");
+            return e
+        }
+    }
+    , function(e, t) {
+        e.exports = function(e, t) {
+            return {
+                enumerable: !(1 & e),
+                configurable: !(2 & e),
+                writable: !(4 & e),
+                value: t
+            }
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(63)
+          , n = RegExp.prototype.exec;
+        e.exports = function(e, t) {
+            var i = e.exec;
+            if ("function" == typeof i) {
+                var o = i.call(e, t);
+                if ("object" != typeof o)
+                    throw new TypeError("RegExp exec method returned something other than an Object or null");
+                return o
+            }
+            if ("RegExp" !== r(e))
+                throw new TypeError("RegExp#exec called on incompatible receiver");
+            return n.call(e, t)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(46)
+          , n = i(4)("toStringTag")
+          , o = "Arguments" == r(function() {
+            return arguments
+        }());
+        e.exports = function(e) {
+            var t, i, a;
+            return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (i = function(e, t) {
+                try {
+                    return e[t]
+                } catch (e) {}
+            }(t = Object(e), n)) ? i : o ? r(t) : "Object" == (a = r(t)) && "function" == typeof t.callee ? "Arguments" : a
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(17);
+        e.exports = function() {
+            var e = r(this)
+              , t = "";
+            return e.global && (t += "g"),
+            e.ignoreCase && (t += "i"),
+            e.multiline && (t += "m"),
+            e.unicode && (t += "u"),
+            e.sticky && (t += "y"),
+            t
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        i(163);
+        var r = i(22)
+          , n = i(20)
+          , o = i(18)
+          , a = i(38)
+          , s = i(4)
+          , x = i(82)
+          , l = s("species")
+          , c = !o((function() {
+            var e = /./;
+            return e.exec = function() {
+                var e = [];
+                return e.groups = {
+                    a: "7"
+                },
+                e
+            }
+            ,
+            "7" !== "".replace(e, "$<a>")
+        }
+        ))
+          , u = function() {
+            var e = /(?:)/
+              , t = e.exec;
+            e.exec = function() {
+                return t.apply(this, arguments)
+            }
+            ;
+            var i = "ab".split(e);
+            return 2 === i.length && "a" === i[0] && "b" === i[1]
+        }();
+        e.exports = function(e, t, i) {
+            var h = s(e)
+              , f = !o((function() {
+                var t = {};
+                return t[h] = function() {
+                    return 7
+                }
+                ,
+                7 != ""[e](t)
+            }
+            ))
+              , d = f ? !o((function() {
+                var t = !1
+                  , i = /a/;
+                return i.exec = function() {
+                    return t = !0,
+                    null
+                }
+                ,
+                "split" === e && (i.constructor = {},
+                i.constructor[l] = function() {
+                    return i
+                }
+                ),
+                i[h](""),
+                !t
+            }
+            )) : void 0;
+            if (!f || !d || "replace" === e && !c || "split" === e && !u) {
+                var g = /./[h]
+                  , p = i(a, h, ""[e], (function(e, t, i, r, n) {
+                    return t.exec === x ? f && !n ? {
+                        done: !0,
+                        value: g.call(t, i, r)
+                    } : {
+                        done: !0,
+                        value: e.call(i, t, r)
+                    } : {
+                        done: !1
+                    }
+                }
+                ))
+                  , m = p[0]
+                  , b = p[1];
+                r(String.prototype, e, m),
+                n(RegExp.prototype, h, 2 == t ? function(e, t) {
+                    return b.call(e, this, t)
+                }
+                : function(e) {
+                    return b.call(e, this)
+                }
+                )
+            }
+        }
+    }
+    , function(e, t, i) {
+        var r = i(26).f
+          , n = i(31)
+          , o = i(14)("toStringTag");
+        e.exports = function(e, t, i) {
+            e && !n(e = i ? e : e.prototype, o) && r(e, o, {
+                configurable: !0,
+                value: t
+            })
+        }
+    }
+    , function(e, t, i) {
+        var r = i(93)
+          , n = i(45)
+          , o = i(37)
+          , a = i(44)
+          , s = i(24)
+          , x = i(98)
+          , l = Object.getOwnPropertyDescriptor;
+        t.f = i(11) ? l : function(e, t) {
+            if (e = o(e),
+            t = a(t, !0),
+            x)
+                try {
+                    return l(e, t)
+                } catch (e) {}
+            if (s(e, t))
+                return n(!r.f.call(e, t), e[t])
+        }
+    }
+    , function(e, t, i) {
+        e.exports = i(214)
+    }
+    , function(e, t, i) {
+        for (var r = i(42), n = i(53), o = i(22), a = i(10), s = i(20), x = i(36), l = i(4), c = l("iterator"), u = l("toStringTag"), h = x.Array, f = {
+            CSSRuleList: !0,
+            CSSStyleDeclaration: !1,
+            CSSValueList: !1,
+            ClientRectList: !1,
+            DOMRectList: !1,
+            DOMStringList: !1,
+            DOMTokenList: !0,
+            DataTransferItemList: !1,
+            FileList: !1,
+            HTMLAllCollection: !1,
+            HTMLCollection: !1,
+            HTMLFormElement: !1,
+            HTMLSelectElement: !1,
+            MediaList: !0,
+            MimeTypeArray: !1,
+            NamedNodeMap: !1,
+            NodeList: !0,
+            PaintRequestList: !1,
+            Plugin: !1,
+            PluginArray: !1,
+            SVGLengthList: !1,
+            SVGNumberList: !1,
+            SVGPathSegList: !1,
+            SVGPointList: !1,
+            SVGStringList: !1,
+            SVGTransformList: !1,
+            SourceBufferList: !1,
+            StyleSheetList: !0,
+            TextTrackCueList: !1,
+            TextTrackList: !1,
+            TouchList: !1
+        }, d = n(f), g = 0; g < d.length; g++) {
+            var p, m = d[g], b = f[m], v = a[m], C = v && v.prototype;
+            if (C && (C[c] || s(C, c, h),
+            C[u] || s(C, u, m),
+            x[m] = h,
+            b))
+                for (p in r)
+                    C[p] || o(C, p, r[p], !0)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(50)("keys")
+          , n = i(28);
+        e.exports = function(e) {
+            return r[e] || (r[e] = n(e))
+        }
+    }
+    , function(e, t) {
+        e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
+    }
+    , function(e, t, i) {
+        var r = i(56);
+        e.exports = function(e) {
+            return Object(r(e))
+        }
+    }
+    , function(e, t) {
+        var i = Math.ceil
+          , r = Math.floor;
+        e.exports = function(e) {
+            return isNaN(e = +e) ? 0 : (e > 0 ? r : i)(e)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(75)("keys")
+          , n = i(58);
+        e.exports = function(e) {
+            return r[e] || (r[e] = n(e))
+        }
+    }
+    , function(e, t, i) {
+        var r = i(5)
+          , n = i(7)
+          , o = n["__core-js_shared__"] || (n["__core-js_shared__"] = {});
+        (e.exports = function(e, t) {
+            return o[e] || (o[e] = void 0 !== t ? t : {})
+        }
+        )("versions", []).push({
+            version: r.version,
+            mode: i(48) ? "pure" : "global",
+            copyright: "漏 2019 Denis Pushkarev (zloirock.ru)"
+        })
+    }
+    , function(e, t) {
+        e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
+    }
+    , function(e, t, i) {
+        var r = i(33)
+          , n = i(7).document
+          , o = r(n) && r(n.createElement);
+        e.exports = function(e) {
+            return o ? n.createElement(e) : {}
+        }
+    }
+    , function(e, t, i) {
+        var r = i(33);
+        e.exports = function(e, t) {
+            if (!r(e))
+                return e;
+            var i, n;
+            if (t && "function" == typeof (i = e.toString) && !r(n = i.call(e)))
+                return n;
+            if ("function" == typeof (i = e.valueOf) && !r(n = i.call(e)))
+                return n;
+            if (!t && "function" == typeof (i = e.toString) && !r(n = i.call(e)))
+                return n;
+            throw TypeError("Can't convert object to primitive value")
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(80)
+          , n = i(17)
+          , o = i(108)
+          , a = i(81)
+          , s = i(19)
+          , x = i(62)
+          , l = i(82)
+          , c = i(18)
+          , u = Math.min
+          , h = [].push
+          , f = "length"
+          , d = !c((function() {
+            RegExp(4294967295, "y")
+        }
+        ));
+        i(65)("split", 2, (function(e, t, i, c) {
+            var g;
+            return g = "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1)[f] || 2 != "ab".split(/(?:ab)*/)[f] || 4 != ".".split(/(.?)(.?)/)[f] || ".".split(/()()/)[f] > 1 || "".split(/.?/)[f] ? function(e, t) {
+                var n = String(this);
+                if (void 0 === e && 0 === t)
+                    return [];
+                if (!r(e))
+                    return i.call(n, e, t);
+                for (var o, a, s, x = [], c = (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.unicode ? "u" : "") + (e.sticky ? "y" : ""), u = 0, d = void 0 === t ? 4294967295 : t >>> 0, g = new RegExp(e.source,c + "g"); (o = l.call(g, n)) && !((a = g.lastIndex) > u && (x.push(n.slice(u, o.index)),
+                o[f] > 1 && o.index < n[f] && h.apply(x, o.slice(1)),
+                s = o[0][f],
+                u = a,
+                x[f] >= d)); )
+                    g.lastIndex === o.index && g.lastIndex++;
+                return u === n[f] ? !s && g.test("") || x.push("") : x.push(n.slice(u)),
+                x[f] > d ? x.slice(0, d) : x
+            }
+            : "0".split(void 0, 0)[f] ? function(e, t) {
+                return void 0 === e && 0 === t ? [] : i.call(this, e, t)
+            }
+            : i,
+            [function(i, r) {
+                var n = e(this)
+                  , o = null == i ? void 0 : i[t];
+                return void 0 !== o ? o.call(i, n, r) : g.call(String(n), i, r)
+            }
+            , function(e, t) {
+                var r = c(g, e, this, t, g !== i);
+                if (r.done)
+                    return r.value;
+                var l = n(e)
+                  , h = String(this)
+                  , f = o(l, RegExp)
+                  , p = l.unicode
+                  , m = (l.ignoreCase ? "i" : "") + (l.multiline ? "m" : "") + (l.unicode ? "u" : "") + (d ? "y" : "g")
+                  , b = new f(d ? l : "^(?:" + l.source + ")",m)
+                  , v = void 0 === t ? 4294967295 : t >>> 0;
+                if (0 === v)
+                    return [];
+                if (0 === h.length)
+                    return null === x(b, h) ? [h] : [];
+                for (var C = 0, y = 0, _ = []; y < h.length; ) {
+                    b.lastIndex = d ? y : 0;
+                    var A, I = x(b, d ? h : h.slice(y));
+                    if (null === I || (A = u(s(b.lastIndex + (d ? 0 : y)), h.length)) === C)
+                        y = a(h, y, p);
+                    else {
+                        if (_.push(h.slice(C, y)),
+                        _.length === v)
+                            return _;
+                        for (var w = 1; w <= I.length - 1; w++)
+                            if (_.push(I[w]),
+                            _.length === v)
+                                return _;
+                        y = C = A
+                    }
+                }
+                return _.push(h.slice(C)),
+                _
+            }
+            ]
+        }
+        ))
+    }
+    , function(e, t, i) {
+        var r = i(21)
+          , n = i(46)
+          , o = i(4)("match");
+        e.exports = function(e) {
+            var t;
+            return r(e) && (void 0 !== (t = e[o]) ? !!t : "RegExp" == n(e))
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(162)(!0);
+        e.exports = function(e, t, i) {
+            return t + (i ? r(e, t).length : 1)
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r, n, o = i(64), a = RegExp.prototype.exec, s = String.prototype.replace, x = a, l = (r = /a/,
+        n = /b*/g,
+        a.call(r, "a"),
+        a.call(n, "a"),
+        0 !== r.lastIndex || 0 !== n.lastIndex), c = void 0 !== /()??/.exec("")[1];
+        (l || c) && (x = function(e) {
+            var t, i, r, n, x = this;
+            return c && (i = new RegExp("^" + x.source + "$(?!\\s)",o.call(x))),
+            l && (t = x.lastIndex),
+            r = a.call(x, e),
+            l && r && (x.lastIndex = x.global ? r.index + r[0].length : t),
+            c && r && r.length > 1 && s.call(r[0], i, (function() {
+                for (n = 1; n < arguments.length - 2; n++)
+                    void 0 === arguments[n] && (r[n] = void 0)
+            }
+            )),
+            r
+        }
+        ),
+        e.exports = x
+    }
+    , function(e, t, i) {
+        var r = i(27)
+          , n = i(109)
+          , o = i(76)
+          , a = i(74)("IE_PROTO")
+          , s = function() {}
+          , x = function() {
+            var e, t = i(77)("iframe"), r = o.length;
+            for (t.style.display = "none",
+            i(110).appendChild(t),
+            t.src = "javascript:",
+            (e = t.contentWindow.document).open(),
+            e.write("<script>document.F=Object<\/script>"),
+            e.close(),
+            x = e.F; r--; )
+                delete x.prototype[o[r]];
+            return x()
+        };
+        e.exports = Object.create || function(e, t) {
+            var i;
+            return null !== e ? (s.prototype = r(e),
+            i = new s,
+            s.prototype = null,
+            i[a] = e) : i = x(),
+            void 0 === t ? i : n(i, t)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(13).f
+          , n = Function.prototype
+          , o = /^\s*function ([^ (]*)/;
+        "name"in n || i(11) && r(n, "name", {
+            configurable: !0,
+            get: function() {
+                try {
+                    return ("" + this).match(o)[1]
+                } catch (e) {
+                    return ""
+                }
+            }
+        })
+    }
+    , function(e, t, i) {
+        "use strict";
+        i(166);
+        var r = i(17)
+          , n = i(64)
+          , o = i(11)
+          , a = /./.toString
+          , s = function(e) {
+            i(22)(RegExp.prototype, "toString", e, !0)
+        };
+        i(18)((function() {
+            return "/a/b" != a.call({
+                source: "a",
+                flags: "b"
+            })
+        }
+        )) ? s((function() {
+            var e = r(this);
+            return "/".concat(e.source, "/", "flags"in e ? e.flags : !o && e instanceof RegExp ? n.call(e) : void 0)
+        }
+        )) : "toString" != a.name && s((function() {
+            return a.call(this)
+        }
+        ))
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(63)
+          , n = {};
+        n[i(4)("toStringTag")] = "z",
+        n + "" != "[object z]" && i(22)(Object.prototype, "toString", (function() {
+            return "[object " + r(this) + "]"
+        }
+        ), !0)
+    }
+    , function(e, t) {
+        e.exports = "\t\n\v\f\r 聽釟�釥庘��鈥佲�傗�冣�勨�呪�嗏�団�堚�夆�娾�仧銆�\u2028\u2029\ufeff"
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(17)
+          , n = i(30)
+          , o = i(19)
+          , a = i(29)
+          , s = i(81)
+          , x = i(62)
+          , l = Math.max
+          , c = Math.min
+          , u = Math.floor
+          , h = /\$([$&`']|\d\d?|<[^>]*>)/g
+          , f = /\$([$&`']|\d\d?)/g;
+        i(65)("replace", 2, (function(e, t, i, d) {
+            return [function(r, n) {
+                var o = e(this)
+                  , a = null == r ? void 0 : r[t];
+                return void 0 !== a ? a.call(r, o, n) : i.call(String(o), r, n)
+            }
+            , function(e, t) {
+                var n = d(i, e, this, t);
+                if (n.done)
+                    return n.value;
+                var u = r(e)
+                  , h = String(this)
+                  , f = "function" == typeof t;
+                f || (t = String(t));
+                var p = u.global;
+                if (p) {
+                    var m = u.unicode;
+                    u.lastIndex = 0
+                }
+                for (var b = []; ; ) {
+                    var v = x(u, h);
+                    if (null === v)
+                        break;
+                    if (b.push(v),
+                    !p)
+                        break;
+                    "" === String(v[0]) && (u.lastIndex = s(h, o(u.lastIndex), m))
+                }
+                for (var C, y = "", _ = 0, A = 0; A < b.length; A++) {
+                    v = b[A];
+                    for (var I = String(v[0]), w = l(c(a(v.index), h.length), 0), G = [], E = 1; E < v.length; E++)
+                        G.push(void 0 === (C = v[E]) ? C : String(C));
+                    var S = v.groups;
+                    if (f) {
+                        var T = [I].concat(G, w, h);
+                        void 0 !== S && T.push(S);
+                        var P = String(t.apply(void 0, T))
+                    } else
+                        P = g(I, h, w, G, S, t);
+                    w >= _ && (y += h.slice(_, w) + P,
+                    _ = w + I.length)
+                }
+                return y + h.slice(_)
+            }
+            ];
+            function g(e, t, r, o, a, s) {
+                var x = r + e.length
+                  , l = o.length
+                  , c = f;
+                return void 0 !== a && (a = n(a),
+                c = h),
+                i.call(s, c, (function(i, n) {
+                    var s;
+                    switch (n.charAt(0)) {
+                    case "$":
+                        return "$";
+                    case "&":
+                        return e;
+                    case "`":
+                        return t.slice(0, r);
+                    case "'":
+                        return t.slice(x);
+                    case "<":
+                        s = a[n.slice(1, -1)];
+                        break;
+                    default:
+                        var c = +n;
+                        if (0 === c)
+                            return i;
+                        if (c > l) {
+                            var h = u(c / 10);
+                            return 0 === h ? i : h <= l ? void 0 === o[h - 1] ? n.charAt(1) : o[h - 1] + n.charAt(1) : i
                         }
-                        return t
+                        s = o[c - 1]
                     }
-                    ,
-                    GeoGlobe.createNS = function (e) {
-                        for (var t = e.split("."), i = window, r = 0; r < t.length; r++)
-                            i[t[r]] || (i[t[r]] = {}),
-                                i = i[t[r]]
-                    }
-                    ,
-                    GeoGlobe.Class = function () {
-                        var e = arguments.length
-                            , t = arguments[0]
-                            , i = arguments[e - 1]
-                            , r = "function" == typeof i.initialize ? i.initialize : function () {
-                                t.prototype.initialize.apply(this, arguments)
-                            }
-                            ;
-                        return e > 1 ? [r, t].concat(Array.prototype.slice.call(arguments).slice(1, e - 1), i) : r.prototype = i,
-                            r
-                    }
-                    ,
-                    GeoGlobe.Class4OL = function () {
-                        var e = arguments.length
-                            , t = arguments[0]
-                            , i = arguments[e - 1]
-                            , r = "function" == typeof i.initialize ? i.initialize : function () {
-                                t.prototype.initialize.apply(this, arguments)
-                            }
-                            ;
-                        if (e > 1) {
-                            var n = [r, t].concat(Array.prototype.slice.call(arguments).slice(1, e - 1), i);
-                            GeoGlobe.inherit.apply(null, n)
-                        } else
-                            r.prototype = i;
-                        return r
-                    }
-                    ,
-                    GeoGlobe.inherit = function (e, t) {
-                        var i, r, n, o = function () { };
-                        for (o.prototype = t.prototype,
-                            e.prototype = new o,
-                            i = 2,
-                            r = arguments.length; i < r; i++)
-                            "function" == typeof (n = arguments[i]) && (n = n.prototype),
-                                GeoGlobe.Util.extend(e.prototype, n)
-                    }
-                    ,
-                    GeoGlobe.Util = GeoGlobe.Util || {},
-                    GeoGlobe.Util.extend = function (e, t) {
-                        if (e = e || {},
-                            t) {
-                            for (var i in t) {
-                                var r = t[i];
-                                void 0 !== r && (e[i] = r)
-                            }
-                            !("function" == typeof window.Event && t instanceof window.Event) && t.hasOwnProperty && t.hasOwnProperty("toString") && (e.toString = t.toString)
-                        }
-                        return e
-                    }
-                    ,
-                    GeoGlobe.Util.deepExtend = function (e) {
-                        for (var t = 1; t < arguments.length; t++)
-                            for (var i in arguments[t])
-                                if (arguments[t].hasOwnProperty(i))
-                                    switch (GeoGlobe.Util.getType(arguments[t][i])) {
-                                        case "array":
-                                            e.hasOwnProperty(i) && "array" === GeoGlobe.Util.getType(e[i]) ? GeoGlobe.Util.deepExtend(e[i], arguments[t][i]) : e[i] = GeoGlobe.Util.deepExtend([], arguments[t][i]);
-                                            break;
-                                        case "object":
-                                            e.hasOwnProperty(i) && "object" === GeoGlobe.Util.getType(e[i]) ? GeoGlobe.Util.deepExtend(e[i], arguments[t][i]) : e[i] = GeoGlobe.Util.deepExtend({}, arguments[t][i]);
-                                            break;
-                                        default:
-                                            e[i] = arguments[t][i]
-                                    }
-                        return e
-                    }
-                    ,
-                    GeoGlobe.Util = GeoGlobe.Util || {},
-                    GeoGlobe.Util.getElement = function () {
-                        for (var e = [], t = 0, i = arguments.length; t < i; t++) {
-                            var r = arguments[t];
-                            if ("string" == typeof r && (r = document.getElementById(r)),
-                                1 == arguments.length)
-                                return r;
-                            e.push(r)
-                        }
-                        return e
-                    }
-                    ,
-                    GeoGlobe.Util.isElement = function (e) {
-                        return !(!e || 1 !== e.nodeType)
-                    }
-                    ,
-                    GeoGlobe.Util.isArray = function (e) {
-                        return "[object Array]" === Object.prototype.toString.call(e)
-                    }
-                    ,
-                    GeoGlobe.Util.removeItem = function (e, t) {
-                        for (var i = e.length - 1; i >= 0; i--)
-                            e[i] == t && e.splice(i, 1);
-                        return e
-                    }
-                    ,
-                    GeoGlobe.Util.indexOf = function (e, t) {
-                        if ("function" == typeof e.indexOf)
-                            return e.indexOf(t);
-                        for (var i = 0, r = e.length; i < r; i++)
-                            if (e[i] == t)
-                                return i;
-                        return -1
-                    }
-                    ,
-                    GeoGlobe.Util.dotless = /\./g,
-                    GeoGlobe.IMAGE_RELOAD_ATTEMPTS = 0,
-                    GeoGlobe.Util.alphaHackNeeded = null,
-                    GeoGlobe.Util.alphaHack = function () {
-                        if (null == GeoGlobe.Util.alphaHackNeeded) {
-                            var e = navigator.appVersion.split("MSIE")
-                                , t = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e[1])
-                                , i = !1;
-                            try {
-                                i = !!document.body.filters
-                            } catch (e) { }
-                            GeoGlobe.Util.alphaHackNeeded = i && t >= 5.5 && t < 7
-                        }
-                        return GeoGlobe.Util.alphaHackNeeded
-                    }
-                    ,
-                    GeoGlobe.Util.upperCaseObject = function (e) {
-                        var t = {};
-                        for (var i in e)
-                            t[i.toUpperCase()] = e[i];
-                        return t
-                    }
-                    ,
-                    GeoGlobe.Util.applyDefaults = function (e, t) {
-                        e = e || {};
-                        var i = "function" == typeof window.Event && t instanceof window.Event;
-                        for (var r in t)
-                            (void 0 === e[r] || !i && t.hasOwnProperty && t.hasOwnProperty(r) && !e.hasOwnProperty(r)) && (e[r] = t[r]);
-                        return !i && t && t.hasOwnProperty && t.hasOwnProperty("toString") && !e.hasOwnProperty("toString") && (e.toString = t.toString),
-                            e
-                    }
-                    ,
-                    GeoGlobe.Util.getParameterString = function (e) {
-                        var t = [];
-                        for (var i in e) {
-                            var r = e[i];
-                            if (null != r && "function" != typeof r) {
-                                var n;
-                                if ("object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(r) && r.constructor == Array) {
-                                    for (var o, a = [], s = 0, x = r.length; s < x; s++)
-                                        o = r[s],
-                                            a.push(encodeURIComponent(null == o ? "" : o));
-                                    n = a.join(",")
-                                } else
-                                    n = encodeURIComponent(r);
-                                t.push(encodeURIComponent(i) + "=" + n)
-                            }
-                        }
-                        return t.join("&")
-                    }
-                    ,
-                    GeoGlobe.Util.urlAppend = function (e, t) {
-                        var i = e;
-                        if (t) {
-                            var r = (e + " ").split(/[?&]/);
-                            i += " " === r.pop() ? t : r.length ? "&" + t : "?" + t
-                        }
-                        return i
-                    }
-                    ,
-                    GeoGlobe.Util.getImagesLocation = function () {
-                        return GeoGlobe.ImgPath || GeoGlobe._getScriptLocation() + "img/"
-                    }
-                    ,
-                    GeoGlobe.Util.getImageLocation = function (e) {
-                        return GeoGlobe.Util.getImagesLocation() + e
-                    }
-                    ,
-                    GeoGlobe.Util.Try = function () {
-                        for (var e = null, t = 0, i = arguments.length; t < i; t++) {
-                            var r = arguments[t];
-                            try {
-                                e = r();
-                                break
-                            } catch (e) { }
-                        }
-                        return e
-                    }
-                    ,
-                    GeoGlobe.Util.getXmlNodeValue = function (e) {
-                        var t = null;
-                        return GeoGlobe.Util.Try((function () {
-                            (t = e.text) || (t = e.textContent),
-                                t || (t = e.firstChild.nodeValue)
-                        }
-                        ), (function () {
-                            t = e.textContent
-                        }
-                        )),
-                            t
-                    }
-                    ,
-                    GeoGlobe.Util.mouseLeft = function (e, t) {
-                        for (var i = e.relatedTarget ? e.relatedTarget : e.toElement; i != t && null != i;)
-                            i = i.parentNode;
-                        return i != t
-                    }
-                    ,
-                    GeoGlobe.Util.DEFAULT_PRECISION = 14,
-                    GeoGlobe.Util.toFloat = function (e, t) {
-                        return null == t && (t = GeoGlobe.Util.DEFAULT_PRECISION),
-                            "number" != typeof e && (e = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e)),
-                            0 === t ? e : _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.toPrecision(t))
-                    }
-                    ,
-                    GeoGlobe.Util.rad = function (e) {
-                        return e * Math.PI / 180
-                    }
-                    ,
-                    GeoGlobe.Util.deg = function (e) {
-                        return 180 * e / Math.PI
-                    }
-                    ,
-                    GeoGlobe.Util.VincentyConstants = {
-                        a: 6378137,
-                        b: 6356752.3142,
-                        f: 1 / 298.257223563
-                    },
-                    GeoGlobe.Util.distVincenty = function (e, t) {
-                        for (var i = GeoGlobe.Util.VincentyConstants, r = i.a, n = i.b, o = i.f, a = GeoGlobe.Util.rad(t.lng - e.lng), s = Math.atan((1 - o) * Math.tan(GeoGlobe.Util.rad(e.lat))), x = Math.atan((1 - o) * Math.tan(GeoGlobe.Util.rad(t.lat))), l = Math.sin(s), c = Math.cos(s), u = Math.sin(x), h = Math.cos(x), f = a, d = 2 * Math.PI, g = 20; Math.abs(f - d) > 1e-12 && --g > 0;) {
-                            var p = Math.sin(f)
-                                , m = Math.cos(f)
-                                , b = Math.sqrt(h * p * (h * p) + (c * u - l * h * m) * (c * u - l * h * m));
-                            if (0 == b)
-                                return 0;
-                            var v = l * u + c * h * m
-                                , C = Math.atan2(b, v)
-                                , y = Math.asin(c * h * p / b)
-                                , _ = Math.cos(y) * Math.cos(y)
-                                , A = v - 2 * l * u / _
-                                , I = o / 16 * _ * (4 + o * (4 - 3 * _));
-                            d = f,
-                                f = a + (1 - I) * o * Math.sin(y) * (C + I * b * (A + I * v * (2 * A * A - 1)))
-                        }
-                        if (0 == g)
-                            return NaN;
-                        var w = _ * (r * r - n * n) / (n * n)
-                            , G = w / 1024 * (256 + w * (w * (74 - 47 * w) - 128));
-                        return (n * (1 + w / 16384 * (4096 + w * (w * (320 - 175 * w) - 768))) * (C - G * b * (A + G / 4 * (v * (2 * A * A - 1) - G / 6 * A * (4 * b * b - 3) * (4 * A * A - 3))))).toFixed(3) / 1e3
-                    }
-                    ,
-                    GeoGlobe.Util.destinationVincenty = function (e, t, i) {
-                        for (var r = GeoGlobe.Util, n = r.VincentyConstants, o = n.a, a = n.b, s = n.f, x = e.lng, l = e.lat, c = i, u = r.rad(t), h = Math.sin(u), f = Math.cos(u), d = (1 - s) * Math.tan(r.rad(l)), g = 1 / Math.sqrt(1 + d * d), p = d * g, m = Math.atan2(d, f), b = g * h, v = 1 - b * b, C = v * (o * o - a * a) / (a * a), y = 1 + C / 16384 * (4096 + C * (C * (320 - 175 * C) - 768)), _ = C / 1024 * (256 + C * (C * (74 - 47 * C) - 128)), A = c / (a * y), I = 2 * Math.PI; Math.abs(A - I) > 1e-12;) {
-                            var w = Math.cos(2 * m + A)
-                                , G = Math.sin(A)
-                                , E = Math.cos(A);
-                            I = A,
-                                A = c / (a * y) + _ * G * (w + _ / 4 * (E * (2 * w * w - 1) - _ / 6 * w * (4 * G * G - 3) * (4 * w * w - 3)))
-                        }
-                        var S = p * G - g * E * f
-                            , T = Math.atan2(p * E + g * G * f, (1 - s) * Math.sqrt(b * b + S * S))
-                            , P = s / 16 * v * (4 + s * (4 - 3 * v))
-                            , M = Math.atan2(G * h, g * E - p * G * f) - (1 - P) * s * b * (A + P * G * (w + P * E * (2 * w * w - 1)));
-                        return Math.atan2(b, -S),
-                            new GeoGlobe.LngLat(x + r.deg(M), r.deg(T))
-                    }
-                    ,
-                    GeoGlobe.Util.getParameters = function (e, t) {
-                        t = t || {},
-                            e = null == e ? window.location.href : e;
-                        var i = "";
-                        if (GeoGlobe.String.contains(e, "?")) {
-                            var r = e.indexOf("?") + 1
-                                , n = GeoGlobe.String.contains(e, "#") ? e.indexOf("#") : e.length;
-                            i = e.substring(r, n)
-                        }
-                        for (var o = {}, a = i.split(/[&;]/), s = 0, x = a.length; s < x; ++s) {
-                            var l = a[s].split("=");
-                            if (l[0]) {
-                                var c = l[0];
-                                try {
-                                    c = decodeURIComponent(c)
-                                } catch (e) {
-                                    c = unescape(c)
-                                }
-                                var u = (l[1] || "").replace(/\+/g, " ");
-                                try {
-                                    u = decodeURIComponent(u)
-                                } catch (e) {
-                                    u = unescape(u)
-                                }
-                                !1 !== t.splitArgs && (u = u.split(",")),
-                                    1 == u.length && (u = u[0]),
-                                    o[c] = u
-                            }
-                        }
-                        return o
-                    }
-                    ,
-                    GeoGlobe.Util.lastSeqID = 0,
-                    GeoGlobe.Util.createUniqueID = function (e) {
-                        return e = null == e ? "id_" : e.replace(GeoGlobe.Util.dotless, "_"),
-                            GeoGlobe.Util.lastSeqID += 1,
-                            e + GeoGlobe.Util.lastSeqID
-                    }
-                    ,
-                    GeoGlobe.INCHES_PER_UNIT = {
-                        inches: 1,
-                        ft: 12,
-                        mi: 63360,
-                        m: 1 / .0254,
-                        km: 39370,
-                        dd: 4374754,
-                        yd: 36
-                    },
-                    GeoGlobe.INCHES_PER_UNIT.in = GeoGlobe.INCHES_PER_UNIT.inches,
-                    GeoGlobe.INCHES_PER_UNIT.degrees = GeoGlobe.INCHES_PER_UNIT.dd,
-                    GeoGlobe.INCHES_PER_UNIT.nmi = 1852 * GeoGlobe.INCHES_PER_UNIT.m,
-                    GeoGlobe.METERS_PER_INCH = .0254000508001016,
-                    GeoGlobe.Util.extend(GeoGlobe.INCHES_PER_UNIT, {
-                        Inch: GeoGlobe.INCHES_PER_UNIT.inches,
-                        Meter: 1 / GeoGlobe.METERS_PER_INCH,
-                        Foot: .3048006096012192 / GeoGlobe.METERS_PER_INCH,
-                        IFoot: .3048 / GeoGlobe.METERS_PER_INCH,
-                        ClarkeFoot: .3047972651151 / GeoGlobe.METERS_PER_INCH,
-                        SearsFoot: .30479947153867626 / GeoGlobe.METERS_PER_INCH,
-                        GoldCoastFoot: .3047997101815088 / GeoGlobe.METERS_PER_INCH,
-                        IInch: .0254 / GeoGlobe.METERS_PER_INCH,
-                        MicroInch: 254e-7 / GeoGlobe.METERS_PER_INCH,
-                        Mil: 2.54e-8 / GeoGlobe.METERS_PER_INCH,
-                        Centimeter: .01 / GeoGlobe.METERS_PER_INCH,
-                        Kilometer: 1e3 / GeoGlobe.METERS_PER_INCH,
-                        Yard: .9144018288036576 / GeoGlobe.METERS_PER_INCH,
-                        SearsYard: .914398414616029 / GeoGlobe.METERS_PER_INCH,
-                        IndianYard: .9143985307444408 / GeoGlobe.METERS_PER_INCH,
-                        IndianYd37: .91439523 / GeoGlobe.METERS_PER_INCH,
-                        IndianYd62: .9143988 / GeoGlobe.METERS_PER_INCH,
-                        IndianYd75: .9143985 / GeoGlobe.METERS_PER_INCH,
-                        IndianFoot: .30479951 / GeoGlobe.METERS_PER_INCH,
-                        IndianFt37: .30479841 / GeoGlobe.METERS_PER_INCH,
-                        IndianFt62: .3047996 / GeoGlobe.METERS_PER_INCH,
-                        IndianFt75: .3047995 / GeoGlobe.METERS_PER_INCH,
-                        Mile: 1609.3472186944373 / GeoGlobe.METERS_PER_INCH,
-                        IYard: .9144 / GeoGlobe.METERS_PER_INCH,
-                        IMile: 1609.344 / GeoGlobe.METERS_PER_INCH,
-                        NautM: 1852 / GeoGlobe.METERS_PER_INCH,
-                        "Lat-66": 110943.31648893273 / GeoGlobe.METERS_PER_INCH,
-                        "Lat-83": 110946.25736872235 / GeoGlobe.METERS_PER_INCH,
-                        Decimeter: .1 / GeoGlobe.METERS_PER_INCH,
-                        Millimeter: .001 / GeoGlobe.METERS_PER_INCH,
-                        Dekameter: 10 / GeoGlobe.METERS_PER_INCH,
-                        Decameter: 10 / GeoGlobe.METERS_PER_INCH,
-                        Hectometer: 100 / GeoGlobe.METERS_PER_INCH,
-                        GermanMeter: 1.0000135965 / GeoGlobe.METERS_PER_INCH,
-                        CaGrid: .999738 / GeoGlobe.METERS_PER_INCH,
-                        ClarkeChain: 20.1166194976 / GeoGlobe.METERS_PER_INCH,
-                        GunterChain: 20.11684023368047 / GeoGlobe.METERS_PER_INCH,
-                        BenoitChain: 20.116782494375872 / GeoGlobe.METERS_PER_INCH,
-                        SearsChain: 20.11676512155 / GeoGlobe.METERS_PER_INCH,
-                        ClarkeLink: .201166194976 / GeoGlobe.METERS_PER_INCH,
-                        GunterLink: .2011684023368047 / GeoGlobe.METERS_PER_INCH,
-                        BenoitLink: .20116782494375873 / GeoGlobe.METERS_PER_INCH,
-                        SearsLink: .2011676512155 / GeoGlobe.METERS_PER_INCH,
-                        Rod: 5.02921005842012 / GeoGlobe.METERS_PER_INCH,
-                        IntnlChain: 20.1168 / GeoGlobe.METERS_PER_INCH,
-                        IntnlLink: .201168 / GeoGlobe.METERS_PER_INCH,
-                        Perch: 5.02921005842012 / GeoGlobe.METERS_PER_INCH,
-                        Pole: 5.02921005842012 / GeoGlobe.METERS_PER_INCH,
-                        Furlong: 201.1684023368046 / GeoGlobe.METERS_PER_INCH,
-                        Rood: 3.778266898 / GeoGlobe.METERS_PER_INCH,
-                        CapeFoot: .3047972615 / GeoGlobe.METERS_PER_INCH,
-                        Brealey: 375 / GeoGlobe.METERS_PER_INCH,
-                        ModAmFt: .304812252984506 / GeoGlobe.METERS_PER_INCH,
-                        Fathom: 1.8288 / GeoGlobe.METERS_PER_INCH,
-                        "NautM-UK": 1853.184 / GeoGlobe.METERS_PER_INCH,
-                        "50kilometers": 5e4 / GeoGlobe.METERS_PER_INCH,
-                        "150kilometers": 15e4 / GeoGlobe.METERS_PER_INCH
-                    }),
-                    GeoGlobe.Util.extend(GeoGlobe.INCHES_PER_UNIT, {
-                        mm: GeoGlobe.INCHES_PER_UNIT.Meter / 1e3,
-                        cm: GeoGlobe.INCHES_PER_UNIT.Meter / 100,
-                        dm: 100 * GeoGlobe.INCHES_PER_UNIT.Meter,
-                        km: 1e3 * GeoGlobe.INCHES_PER_UNIT.Meter,
-                        kmi: GeoGlobe.INCHES_PER_UNIT.nmi,
-                        fath: GeoGlobe.INCHES_PER_UNIT.Fathom,
-                        ch: GeoGlobe.INCHES_PER_UNIT.IntnlChain,
-                        link: GeoGlobe.INCHES_PER_UNIT.IntnlLink,
-                        "us-in": GeoGlobe.INCHES_PER_UNIT.inches,
-                        "us-ft": GeoGlobe.INCHES_PER_UNIT.Foot,
-                        "us-yd": GeoGlobe.INCHES_PER_UNIT.Yard,
-                        "us-ch": GeoGlobe.INCHES_PER_UNIT.GunterChain,
-                        "us-mi": GeoGlobe.INCHES_PER_UNIT.Mile,
-                        "ind-yd": GeoGlobe.INCHES_PER_UNIT.IndianYd37,
-                        "ind-ft": GeoGlobe.INCHES_PER_UNIT.IndianFt37,
-                        "ind-ch": 20.11669506 / GeoGlobe.METERS_PER_INCH
-                    }),
-                    GeoGlobe.DOTS_PER_INCH = 96,
-                    GeoGlobe.Util.normalizeScale = function (e) {
-                        return e > 1 ? 1 / e : e
-                    }
-                    ,
-                    GeoGlobe.Util.getResolutionFromScale = function (e, t) {
-                        var i;
-                        return e && (null == t && (t = "degrees"),
-                            i = 1 / (GeoGlobe.Util.normalizeScale(e) * GeoGlobe.INCHES_PER_UNIT[t] * GeoGlobe.DOTS_PER_INCH)),
-                            i
-                    }
-                    ,
-                    GeoGlobe.Util.getScaleFromResolution = function (e, t) {
-                        return null == t && (t = "degrees"),
-                            e * GeoGlobe.INCHES_PER_UNIT[t] * GeoGlobe.DOTS_PER_INCH
-                    }
-                    ,
-                    GeoGlobe.Util.pagePosition = function (e) {
-                        var t = [0, 0]
-                            , i = GeoGlobe.Util.getViewportElement();
-                        if (!e || e == window || e == i)
-                            return t;
-                        var r, n = GeoGlobe.IS_GECKO && document.getBoxObjectFor && "absolute" == GeoGlobe.Element.getStyle(e, "position") && ("" == e.style.top || "" == e.style.left), o = null;
-                        if (e.getBoundingClientRect) {
-                            r = e.getBoundingClientRect();
-                            var a = window.pageYOffset || i.scrollTop
-                                , s = window.pageXOffset || i.scrollLeft;
-                            t[0] = r.left + s,
-                                t[1] = r.top + a
-                        } else if (document.getBoxObjectFor && !n) {
-                            r = document.getBoxObjectFor(e);
-                            var x = document.getBoxObjectFor(i);
-                            t[0] = r.screenX - x.screenX,
-                                t[1] = r.screenY - x.screenY
-                        } else {
-                            if (t[0] = e.offsetLeft,
-                                t[1] = e.offsetTop,
-                                (o = e.offsetParent) != e)
-                                for (; o;)
-                                    t[0] += o.offsetLeft,
-                                        t[1] += o.offsetTop,
-                                        o = o.offsetParent;
-                            var l = GeoGlobe.BROWSER_NAME;
-                            for (("opera" == l || "safari" == l && "absolute" == GeoGlobe.Element.getStyle(e, "position")) && (t[1] -= document.body.offsetTop),
-                                o = e.offsetParent; o && o != document.body;)
-                                t[0] -= o.scrollLeft,
-                                    "opera" == l && "TR" == o.tagName || (t[1] -= o.scrollTop),
-                                    o = o.offsetParent
-                        }
-                        return t
-                    }
-                    ,
-                    GeoGlobe.Util.getViewportElement = function () {
-                        var e = arguments.callee.viewportElement;
-                        return null == e && (e = "msie" == GeoGlobe.BROWSER_NAME && "CSS1Compat" != document.compatMode ? document.body : document.documentElement,
-                            arguments.callee.viewportElement = e),
-                            e
-                    }
-                    ,
-                    GeoGlobe.Util.isEquivalentUrl = function (e, t, i) {
-                        i = i || {},
-                            GeoGlobe.Util.applyDefaults(i, {
-                                ignoreCase: !0,
-                                ignorePort80: !0,
-                                ignoreHash: !0,
-                                splitArgs: !1
-                            });
-                        var r = GeoGlobe.Util.createUrlObject(e, i)
-                            , n = GeoGlobe.Util.createUrlObject(t, i);
-                        for (var o in r)
-                            if ("args" !== o && r[o] != n[o])
-                                return !1;
-                        for (var o in r.args) {
-                            if (r.args[o] != n.args[o])
-                                return !1;
-                            delete n.args[o]
-                        }
-                        for (var o in n.args)
-                            return !1;
-                        return !0
-                    }
-                    ,
-                    GeoGlobe.Util.createUrlObject = function (e, t) {
-                        if (t = t || {},
-                            !/^\w+:\/\//.test(e)) {
-                            var i = window.location
-                                , r = i.port ? ":" + i.port : ""
-                                , n = i.protocol + "//" + i.host.split(":").shift() + r;
-                            if (0 === e.indexOf("/"))
-                                e = n + e;
-                            else {
-                                var o = i.pathname.split("/");
-                                o.pop(),
-                                    e = n + o.join("/") + "/" + e
-                            }
-                        }
-                        t.ignoreCase && (e = e.toLowerCase());
-                        var a = document.createElement("a");
-                        a.href = e;
-                        var s = {};
-                        s.host = a.host.split(":").shift(),
-                            s.protocol = a.protocol,
-                            t.ignorePort80 ? s.port = "80" == a.port || "0" == a.port ? "" : a.port : s.port = "" == a.port || "0" == a.port ? "80" : a.port,
-                            s.hash = t.ignoreHash || "#" === a.hash ? "" : a.hash;
-                        var x = a.search;
-                        if (!x) {
-                            var l = e.indexOf("?");
-                            x = -1 != l ? e.substr(l) : ""
-                        }
-                        return s.args = GeoGlobe.Util.getParameters(x, {
-                            splitArgs: t.splitArgs
-                        }),
-                            s.pathname = "/" == a.pathname.charAt(0) ? a.pathname : "/" + a.pathname,
-                            s
-                    }
-                    ,
-                    GeoGlobe.Util.removeTail = function (e) {
-                        var t = e.indexOf("?")
-                            , i = e.indexOf("#");
-                        return -1 == t ? -1 != i ? e.substr(0, i) : e : -1 != i ? e.substr(0, Math.min(t, i)) : e.substr(0, t)
-                    }
-                    ,
-                    GeoGlobe.IS_GECKO = (e = navigator.userAgent.toLowerCase(),
-                        -1 == e.indexOf("webkit") && -1 != e.indexOf("gecko")),
-                    GeoGlobe.CANVAS_SUPPORTED = function () {
-                        var e = document.createElement("canvas");
-                        return !(!e.getContext || !e.getContext("2d"))
-                    }(),
-                    GeoGlobe.BROWSER_NAME = function () {
-                        var e = ""
-                            , t = navigator.userAgent.toLowerCase();
-                        return -1 != t.indexOf("opera") ? e = "opera" : -1 != t.indexOf("msie") ? e = "msie" : -1 != t.indexOf("safari") ? e = "safari" : -1 != t.indexOf("mozilla") && (e = -1 != t.indexOf("firefox") ? "firefox" : "mozilla"),
-                            e
-                    }(),
-                    GeoGlobe.Util.getBrowserName = function () {
-                        return GeoGlobe.BROWSER_NAME
-                    }
-                    ,
-                    GeoGlobe.Util.getScrollbarWidth = function () {
-                        var e = GeoGlobe.Util._scrollbarWidth;
-                        if (null == e) {
-                            var t, i, r = null, n = null;
-                            (r = document.createElement("div")).style.position = "absolute",
-                                r.style.top = "-1000px",
-                                r.style.left = "-1000px",
-                                r.style.width = "100px",
-                                r.style.height = "50px",
-                                r.style.overflow = "hidden",
-                                (n = document.createElement("div")).style.width = "100%",
-                                n.style.height = "200px",
-                                r.appendChild(n),
-                                document.body.appendChild(r),
-                                t = n.offsetWidth,
-                                r.style.overflow = "scroll",
-                                i = n.offsetWidth,
-                                document.body.removeChild(document.body.lastChild),
-                                GeoGlobe.Util._scrollbarWidth = t - i,
-                                e = GeoGlobe.Util._scrollbarWidth
-                        }
-                        return e
-                    }
-                    ,
-                    GeoGlobe.Util.randomStr = function (e) {
-                        for (var t = "", i = [], r = 0; r < e; r++) {
-                            var n = Math.ceil(25 * Math.random());
-                            i.push(String.fromCharCode(97 + n))
-                        }
-                        for (r = 0; r < e; r++)
-                            t += i[r];
-                        return t
-                    }
-                    ,
-                    GeoGlobe.Util.globalEval = function (e) {
-                        e && GeoGlobe.String.trim(e) && (window.execScript || function (e) {
-                            window.eval.call(window, e)
-                        }
-                        )(e)
-                    }
-                    ,
-                    GeoGlobe.Util.getResolutionFromScale_DPI = function (e, t, i) {
-                        var r;
-                        return e && (null == t && (t = "degrees"),
-                            r = 1 / (GeoGlobe.Util.normalizeScale(e) * GeoGlobe.INCHES_PER_UNIT[t] * i)),
-                            r
-                    }
-                    ,
-                    GeoGlobe.Util.getScaleFromResolution_DPI = function (e, t, i) {
-                        return null == t && (t = "degrees"),
-                            e * GeoGlobe.INCHES_PER_UNIT[t] * i
-                    }
-                    ,
-                    GeoGlobe.Util.getMapLevelFormResolution = function (e, t) {
-                        if (!t)
-                            return 0;
-                        var i, r, n = Number.POSITIVE_INFINITY, o = e.getResolutions();
-                        for (i = 0,
-                            len = o.length; i < len && !((r = Math.abs(o[i] - t)) > n); i++)
-                            n = r;
-                        return Math.max(0, i - 1)
-                    }
-                    ,
-                    GeoGlobe.Util.getMapLevelFormScale = function (e, t, i, r) {
-                        i = i || "degrees",
-                            r = r || 96;
-                        var n = GeoGlobe.Util.getResolutionFromScale_DPI(t, i, r);
-                        return GeoGlobe.Util.getMapLevelFormResolution(e, n)
-                    }
-                    ,
-                    GeoGlobe.Util.delayFun = function (e, t, i) {
-                        var r;
-                        return function () {
-                            var n = this
-                                , o = arguments
-                                , a = i && !r;
-                            clearTimeout(r),
-                                r = setTimeout((function () {
-                                    r = null,
-                                        i || e.apply(n, o)
-                                }
-                                ), t),
-                                a && e.apply(n, o)
+                    return void 0 === s ? "" : s
+                }
+                ))
+            }
+        }
+        ))
+    }
+    , function(e, t, i) {
+        t.f = i(14)
+    }
+    , function(e, t, i) {
+        var r = i(7)
+          , n = i(5)
+          , o = i(48)
+          , a = i(89)
+          , s = i(26).f;
+        e.exports = function(e) {
+            var t = n.Symbol || (n.Symbol = o ? {} : r.Symbol || {});
+            "_" == e.charAt(0) || e in t || s(t, e, {
+                value: a.f(e)
+            })
+        }
+    }
+    , function(e, t) {
+        t.f = {}.propertyIsEnumerable
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(30)
+          , n = i(54)
+          , o = i(19);
+        e.exports = function(e) {
+            for (var t = r(this), i = o(t.length), a = arguments.length, s = n(a > 1 ? arguments[1] : void 0, i), x = a > 2 ? arguments[2] : void 0, l = void 0 === x ? i : n(x, i); l > s; )
+                t[s++] = e;
+            return t
+        }
+    }
+    , function(e, t) {
+        t.f = {}.propertyIsEnumerable
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(60);
+        function n(e) {
+            var t, i;
+            this.promise = new e((function(e, r) {
+                if (void 0 !== t || void 0 !== i)
+                    throw TypeError("Bad Promise constructor");
+                t = e,
+                i = r
+            }
+            )),
+            this.resolve = r(t),
+            this.reject = r(i)
+        }
+        e.exports.f = function(e) {
+            return new n(e)
+        }
+    }
+    , function(e, t) {
+        var i, r, n = e.exports = {};
+        function o() {
+            throw new Error("setTimeout has not been defined")
+        }
+        function a() {
+            throw new Error("clearTimeout has not been defined")
+        }
+        function s(e) {
+            if (i === setTimeout)
+                return setTimeout(e, 0);
+            if ((i === o || !i) && setTimeout)
+                return i = setTimeout,
+                setTimeout(e, 0);
+            try {
+                return i(e, 0)
+            } catch (t) {
+                try {
+                    return i.call(null, e, 0)
+                } catch (t) {
+                    return i.call(this, e, 0)
+                }
+            }
+        }
+        !function() {
+            try {
+                i = "function" == typeof setTimeout ? setTimeout : o
+            } catch (e) {
+                i = o
+            }
+            try {
+                r = "function" == typeof clearTimeout ? clearTimeout : a
+            } catch (e) {
+                r = a
+            }
+        }();
+        var x, l = [], c = !1, u = -1;
+        function h() {
+            c && x && (c = !1,
+            x.length ? l = x.concat(l) : u = -1,
+            l.length && f())
+        }
+        function f() {
+            if (!c) {
+                var e = s(h);
+                c = !0;
+                for (var t = l.length; t; ) {
+                    for (x = l,
+                    l = []; ++u < t; )
+                        x && x[u].run();
+                    u = -1,
+                    t = l.length
+                }
+                x = null,
+                c = !1,
+                function(e) {
+                    if (r === clearTimeout)
+                        return clearTimeout(e);
+                    if ((r === a || !r) && clearTimeout)
+                        return r = clearTimeout,
+                        clearTimeout(e);
+                    try {
+                        r(e)
+                    } catch (t) {
+                        try {
+                            return r.call(null, e)
+                        } catch (t) {
+                            return r.call(this, e)
                         }
                     }
-                    ,
-                    GeoGlobe.Util.clone = function (e) {
-                        if ("object" != _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e))
-                            return e;
-                        if (null == e)
-                            return e;
-                        var t = e.constructor == Array ? [] : {};
-                        for (var i in e)
-                            t[i] = GeoGlobe.Util.clone(e[i]);
-                        return t
+                }(e)
+            }
+        }
+        function d(e, t) {
+            this.fun = e,
+            this.array = t
+        }
+        function g() {}
+        n.nextTick = function(e) {
+            var t = new Array(arguments.length - 1);
+            if (arguments.length > 1)
+                for (var i = 1; i < arguments.length; i++)
+                    t[i - 1] = arguments[i];
+            l.push(new d(e,t)),
+            1 !== l.length || c || s(f)
+        }
+        ,
+        d.prototype.run = function() {
+            this.fun.apply(null, this.array)
+        }
+        ,
+        n.title = "browser",
+        n.browser = !0,
+        n.env = {},
+        n.argv = [],
+        n.version = "",
+        n.versions = {},
+        n.on = g,
+        n.addListener = g,
+        n.once = g,
+        n.off = g,
+        n.removeListener = g,
+        n.removeAllListeners = g,
+        n.emit = g,
+        n.prependListener = g,
+        n.prependOnceListener = g,
+        n.listeners = function(e) {
+            return []
+        }
+        ,
+        n.binding = function(e) {
+            throw new Error("process.binding is not supported")
+        }
+        ,
+        n.cwd = function() {
+            return "/"
+        }
+        ,
+        n.chdir = function(e) {
+            throw new Error("process.chdir is not supported")
+        }
+        ,
+        n.umask = function() {
+            return 0
+        }
+    }
+    , function(e, t) {
+        e.exports = function(e) {
+            if (!e.webpackPolyfill) {
+                var t = Object.create(e);
+                t.children || (t.children = []),
+                Object.defineProperty(t, "loaded", {
+                    enumerable: !0,
+                    get: function() {
+                        return t.l
                     }
-                    ,
-                    GeoGlobe.Util.getType = function (e) {
-                        var t = Object.prototype.toString;
-                        return e instanceof Element ? "element" : {
-                            "[object Boolean]": "boolean",
-                            "[object Number]": "number",
-                            "[object String]": "string",
-                            "[object Function]": "function",
-                            "[object Array]": "array",
-                            "[object Date]": "date",
-                            "[object RegExp]": "regExp",
-                            "[object Undefined]": "undefined",
-                            "[object Null]": "null",
-                            "[object Object]": "object"
-                        }[t.call(e)]
+                }),
+                Object.defineProperty(t, "id", {
+                    enumerable: !0,
+                    get: function() {
+                        return t.i
                     }
-                    ,
-                    GeoGlobe.Util.formatNumberToThousands = function (e, t, i) {
-                        e = e.toString().replace(/\$|\,/g, ""),
-                            isNaN(e) && (e = "0");
-                        var r = e === (e = Math.abs(e))
-                            , n = (e = Math.floor(e * Math.pow(10, t) + .50000000001)) % Math.pow(10, t);
-                        for (e = Math.floor(e / Math.pow(10, t)).toString(),
-                            n = n.toString(); n.length < t;)
-                            n = "0" + n;
-                        if (i)
-                            for (var o = 0; o < Math.floor((e.length - (1 + o)) / 3); o++)
-                                e = e.substring(0, e.length - (4 * o + 3)) + "," + e.substring(e.length - (4 * o + 3));
-                        return t > 0 ? (r ? "" : "-") + e + "." + n : (r ? "" : "-") + e
-                    }
-                    ,
-                    GeoGlobe.Util.getFormattedString = function (e, t) {
-                        var i = t;
-                        if ((i = (i = i.replace(/{a}/g, e.a)).replace(/{b}/g, e.b)).contains("{c"))
-                            for (var r = i.split("{c"), n = 0, o = 0; o < r.length - 1; o++)
-                                n = r[o + 1].split("}")[0],
-                                    i = i.replace(new RegExp("{c" + n + "}", "g"), GeoGlobe.Util.formatNumberToThousands(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.c), "" === n ? 2 : n, !0));
-                        return i
-                    }
-                    ,
-                    GeoGlobe.Util.getGradientImageData = function (e) {
-                        var t = document.createElement("canvas")
-                            , i = t.getContext("2d");
-                        t.width = 1,
-                            t.height = 256;
-                        var r = i.createLinearGradient(0, 0, 0, 256);
-                        for (var n in e)
-                            e.hasOwnProperty(n) && r.addColorStop(n, e[n]);
-                        return i.fillStyle = r,
-                            i.fillRect(0, 0, 1, 256),
-                            i.getImageData(0, 0, 1, 256).data
-                    }
-                    ,
-                    GeoGlobe.Util.getRgbColor = function (e) {
-                        if ((e = e.toLowerCase()) && /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(e)) {
-                            if (4 === e.length) {
-                                for (var t = "#", i = 1; i < 4; i += 1)
-                                    t += e.slice(i, i + 1).concat(e.slice(i, i + 1));
-                                e = t
-                            }
-                            for (t = [],
-                                i = 1; i < 7; i += 2)
-                                t.push(_babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()("0x" + e.slice(i, i + 2)));
-                            return "rgb(" + t.join(",") + ")"
-                        }
-                        return e.startsWith("rgba") || e.startsWith("hsla") ? e.substring(0, 3) + e.substring(4, e.lastIndexOf(",")) + ")" : e.startsWith("rgb") || e.startsWith("hsl") ? e : ""
-                    }
-                    ,
-                    GeoGlobe.Util.getShadeColor = function (e, t) {
-                        e = (e = GeoGlobe.Util.getHexColor(e)).substr(1);
-                        var i = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e, 16)
-                            , r = Math.round(2.55 * t)
-                            , n = (i >> 16) + r
-                            , o = (i >> 8 & 255) + r
-                            , a = (255 & i) + r;
-                        return "#" + (16777216 + 65536 * (n < 255 ? n < 1 ? 0 : n : 255) + 256 * (o < 255 ? o < 1 ? 0 : o : 255) + (a < 255 ? a < 1 ? 0 : a : 255)).toString(16).slice(1)
-                    }
-                    ,
-                    GeoGlobe.Util.getHexColor = function (e) {
-                        if (e = e.toLowerCase(),
-                            /^(rgb|rgba)/.test(e)) {
-                            for (var t = e.split("(")[1].split(")")[0].split(","), i = "#", r = 0; r < 3; r++) {
-                                var n = Number(t[r]).toString(16);
-                                "0" === n && (n += n),
-                                    1 === n.length && (n = "0" + n),
-                                    i += n
-                            }
-                            return 7 !== i.length && (i = e),
-                                i
-                        }
-                        if (!/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e))
-                            return e;
-                        var o = e.replace(/#/, "").split("");
-                        if (6 === o.length)
-                            return e;
-                        if (3 === o.length) {
-                            var a = "#";
-                            for (r = 0; r < o.length; r += 1)
-                                a += o[r] + o[r];
-                            return a
-                        }
-                    }
-                    ,
-                    GeoGlobe.Util.transferToLonLat = function (e) {
-                        return -238107693.23182276 === e[1] ? [e[0] / 20037508.34 * 180, -90] : [e[0] / 20037508.34 * 180, 180 / Math.PI * (2 * Math.atan(Math.exp(e[1] / 20037508.34 * 180 * Math.PI / 180)) - Math.PI / 2)]
-                    }
-                    ,
-                    GeoGlobe.Util.transferToMercator = function (e) {
-                        return -90 === e[1] ? [20037508.34 * e[0] / 180, -238107693.23182276] : [20037508.34 * e[0] / 180, Math.log(Math.tan((90 + e[1]) * Math.PI / 360)) / (Math.PI / 180) * 20037508.34 / 180]
-                    }
-                    ,
-                    GeoGlobe.ProjAxisOrder = {
-                        AXIS_ORDER_EN: !0,
-                        AXIS_ORDER_NE: !1
-                    },
-                    GeoGlobe.ProjAxisOrder.AxisOrder = {
-                        "EPSG:900913": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        WGS84: GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
-                        "IGNF:WGS84G": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
-                        "EPSG:4326": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
-                        "EPSG:4490": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
-                        "EPSG:4269": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
-                        "EPSG:2361": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
-                        "EPSG:27700": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:904490": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
-                        "EPSG:4171": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
-                        "EPSG:32637": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:32638": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:32639": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:32640": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:32641": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:28991": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:28992": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:31300": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:31370": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:2176": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:2177": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:2178": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:2179": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:2180": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:2154": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:3346": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:3857": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
-                        "EPSG:2065": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN
-                    },
-                    GeoGlobe.SpatialReference = GeoGlobe.Class({
-                        proj: null,
-                        projCode: null,
-                        titleRegEx: /\+title=[^\+]*/,
-                        initialize: function (e, t) {
-                            GeoGlobe.Util.extend(this, t),
-                                this.projCode = e,
-                                "object" == ("undefined" == typeof Proj4js ? "undefined" : _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(Proj4js)) && (this.proj = new Proj4js.Proj(e))
-                        },
-                        getCode: function () {
-                            return this.proj ? this.proj.srsCode : this.projCode
-                        },
-                        getUnits: function () {
-                            return this.proj ? this.proj.units : null
-                        },
-                        toString: function () {
-                            return this.getCode()
-                        },
-                        equals: function (e) {
-                            var t = e
-                                , i = !1;
-                            if (t)
-                                if (t instanceof GeoGlobe.SpatialReference || (t = new GeoGlobe.SpatialReference(t)),
-                                    "object" == ("undefined" == typeof Proj4js ? "undefined" : _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(Proj4js)) && this.proj.defData && t.proj.defData)
-                                    i = this.proj.defData.replace(this.titleRegEx, "") == t.proj.defData.replace(this.titleRegEx, "");
-                                else if (t.getCode) {
-                                    var r = this.getCode()
-                                        , n = t.getCode();
-                                    i = r == n || !!GeoGlobe.SpatialReference.transforms[r] && GeoGlobe.SpatialReference.transforms[r][n] === GeoGlobe.SpatialReference.nullTransform
-                                }
-                            return i
-                        },
-                        destroy: function () {
-                            delete this.proj,
-                                delete this.projCode
-                        },
-                        CLASS_NAME: "GeoGlobe.SpatialReference"
-                    }),
-                    GeoGlobe.SpatialReference.transforms = {},
-                    GeoGlobe.SpatialReference.defaults = {
-                        "EPSG:4326": {
-                            units: "degrees",
-                            maxExtent: [-180, -90, 180, 90],
-                            yx: !0
-                        },
-                        "CRS:84": {
-                            units: "degrees",
-                            maxExtent: [-180, -90, 180, 90]
-                        },
-                        "EPSG:900913": {
-                            units: "m",
-                            maxExtent: [-20037508.34, -20037508.34, 20037508.34, 20037508.34]
-                        }
-                    },
-                    GeoGlobe.SpatialReference.addTransform = function (e, t, i) {
-                        if (i === GeoGlobe.SpatialReference.nullTransform) {
-                            var r = GeoGlobe.SpatialReference.defaults[e];
-                            r && !GeoGlobe.SpatialReference.defaults[t] && (GeoGlobe.SpatialReference.defaults[t] = r)
-                        }
-                        GeoGlobe.SpatialReference.transforms[e] || (GeoGlobe.SpatialReference.transforms[e] = {}),
-                            GeoGlobe.SpatialReference.transforms[e][t] = i
-                    }
-                    ,
-                    GeoGlobe.SpatialReference.transform = function (e, t, i) {
-                        if (t && i)
-                            if (t instanceof GeoGlobe.SpatialReference || (t = new GeoGlobe.SpatialReference(t)),
-                                i instanceof GeoGlobe.SpatialReference || (i = new GeoGlobe.SpatialReference(i)),
-                                t.proj && i.proj)
-                                e = Proj4js.transform(t.proj, i.proj, e);
-                            else {
-                                var r = t.getCode()
-                                    , n = i.getCode()
-                                    , o = GeoGlobe.SpatialReference.transforms;
-                                o[r] && o[r][n] && o[r][n](e)
-                            }
-                        return e
-                    }
-                    ,
-                    GeoGlobe.SpatialReference.nullTransform = function (e) {
-                        return e
-                    }
-                    ,
-                    function () {
-                        var e = 20037508.34;
-                        function t(t) {
-                            return t.x = 180 * t.x / e,
-                                t.y = 180 / Math.PI * (2 * Math.atan(Math.exp(t.y / e * Math.PI)) - Math.PI / 2),
-                                t
-                        }
-                        function i(t) {
-                            t.x = t.x * e / 180;
-                            var i = Math.log(Math.tan((90 + t.y) * Math.PI / 360)) / Math.PI * e;
-                            return t.y = Math.max(-20037508.34, Math.min(i, 20037508.34)),
-                                t
-                        }
-                        function r(e, r) {
-                            var n, o, a, s, x, l = GeoGlobe.SpatialReference.addTransform, c = GeoGlobe.SpatialReference.nullTransform;
-                            for (n = 0,
-                                o = r.length; n < o; ++n)
-                                for (l(e, a = r[n], i),
-                                    l(a, e, t),
-                                    x = n + 1; x < o; ++x)
-                                    l(a, s = r[x], c),
-                                        l(s, a, c)
-                        }
-                        var n, o = ["EPSG:900913", "EPSG:3857", "EPSG:102113", "EPSG:102100"], a = ["CRS:84", "urn:ogc:def:crs:EPSG:6.6:4326", "EPSG:4326"];
-                        for (n = o.length - 1; n >= 0; --n)
-                            r(o[n], a);
-                        for (n = a.length - 1; n >= 0; --n)
-                            r(a[n], o)
-                    }(),
-                    GeoGlobe.Console = {
-                        log: function () { },
-                        debug: function () { },
-                        info: function () { },
-                        warn: function () { },
-                        error: function () { },
-                        userError: function (e) {
-                            alert(e)
-                        },
-                        assert: function () { },
-                        dir: function () { },
-                        dirxml: function () { },
-                        trace: function () { },
-                        group: function () { },
-                        groupEnd: function () { },
-                        time: function () { },
-                        timeEnd: function () { },
-                        profile: function () { },
-                        profileEnd: function () { },
-                        count: function () { },
-                        CLASS_NAME: "GeoGlobe.Console"
-                    },
-                    function () {
-                        for (var e = document.getElementsByTagName("script"), t = 0, i = e.length; t < i; ++t)
-                            if (-1 != e[t].src.indexOf("firebug.js") && console) {
-                                GeoGlobe.Util.extend(GeoGlobe.Console, console);
-                                break
-                            }
-                    }(),
-                    GeoGlobe.ProxyHost = "",
-                    GeoGlobe.Request || (GeoGlobe.Request = {}),
-                    GeoGlobe.Util.extend(GeoGlobe.Request, {
-                        DEFAULT_CONFIG: {
-                            method: "GET",
-                            url: window.location.href,
-                            async: !0,
-                            user: void 0,
-                            password: void 0,
-                            params: null,
-                            proxy: GeoGlobe.ProxyHost,
-                            headers: {},
-                            data: null,
-                            callback: function () { },
-                            success: null,
-                            failure: null,
-                            scope: null
-                        },
-                        URL_SPLIT_REGEX: /([^:]*:)\/\/([^:]*:?[^@]*@)?([^:\/\?]*):?([^\/\?]*)/,
-                        makeSameOrigin: function (e, t) {
-                            var i = 0 !== e.indexOf("http")
-                                , r = !i && e.match(this.URL_SPLIT_REGEX);
-                            if (r) {
-                                var n = window.location;
-                                i = r[1] == n.protocol && r[3] == n.hostname;
-                                var o = r[4]
-                                    , a = n.port;
-                                (80 != o && "" != o || "80" != a && "" != a) && (i = i && o == a)
-                            }
-                            return i || t && (e = "function" == typeof t ? t(e) : e.indexOf("cts?") >= 0 ? t + e : t + encodeURIComponent(e)),
-                                e
-                        },
-                        issue: function (e) {
-                            var t = GeoGlobe.Util.extend(this.DEFAULT_CONFIG, {
-                                proxy: GeoGlobe.ProxyHost
-                            });
-                            (e = e || {}).headers = e.headers || {},
-                                (e = GeoGlobe.Util.applyDefaults(e, t)).headers = GeoGlobe.Util.applyDefaults(e.headers, t.headers);
-                            var i, r = !1;
-                            for (i in e.headers)
-                                e.headers.hasOwnProperty(i) && "x-requested-with" === i.toLowerCase() && (r = !0);
-                            !1 === r && (e.headers["X-Requested-With"] = "XMLHttpRequest");
-                            var n = new GeoGlobe.Request.XMLHttpRequest;
-                            e.url = encodeURI(e.url);
-                            var o = GeoGlobe.Util.urlAppend(e.url, GeoGlobe.Util.getParameterString(e.params || {}));
-                            for (var a in o = GeoGlobe.Request.makeSameOrigin(o, e.proxy),
-                                n.open(e.method, o, e.async, e.user, e.password),
-                                e.headers)
-                                n.setRequestHeader(a, e.headers[a]);
-                            var s = this;
-                            return n.onreadystatechange = function () {
-                                n.readyState == GeoGlobe.Request.XMLHttpRequest.DONE && s.runCallbacks({
-                                    request: n,
-                                    config: e,
-                                    requestUrl: o
-                                })
-                            }
-                                ,
-                                !1 === e.async ? n.send(e.data) : window.setTimeout((function () {
-                                    0 !== n.readyState && n.send(e.data)
-                                }
-                                ), 0),
-                                n
-                        },
-                        runCallbacks: function (e) {
-                            var t, i, r = e.request, n = e.config, o = n.scope ? GeoGlobe.Function.bind(n.callback, n.scope) : n.callback;
-                            n.success && (t = n.scope ? GeoGlobe.Function.bind(n.success, n.scope) : n.success),
-                                n.failure && (i = n.scope ? GeoGlobe.Function.bind(n.failure, n.scope) : n.failure),
-                                "file:" == GeoGlobe.Util.createUrlObject(n.url).protocol && r.responseText && (r.status = 200),
-                                o(r),
-                                (!r.status || r.status >= 200 && r.status < 300) && t && t(r),
-                                r.status && (r.status < 200 || r.status >= 300) && i && i(r)
-                        },
-                        GET: function (e) {
-                            return e = GeoGlobe.Util.extend(e, {
-                                method: "GET"
-                            }),
-                                GeoGlobe.Request.issue(e)
-                        },
-                        POST: function (e) {
-                            return (e = GeoGlobe.Util.extend(e, {
-                                method: "POST"
-                            })).headers = e.headers ? e.headers : {},
-                                "CONTENT-TYPE" in GeoGlobe.Util.upperCaseObject(e.headers) || (e.headers["Content-Type"] = "application/xml"),
-                                GeoGlobe.Request.issue(e)
-                        },
-                        PUT: function (e) {
-                            return (e = GeoGlobe.Util.extend(e, {
-                                method: "PUT"
-                            })).headers = e.headers ? e.headers : {},
-                                "CONTENT-TYPE" in GeoGlobe.Util.upperCaseObject(e.headers) || (e.headers["Content-Type"] = "application/xml"),
-                                GeoGlobe.Request.issue(e)
-                        },
-                        DELETE: function (e) {
-                            return e = GeoGlobe.Util.extend(e, {
-                                method: "DELETE"
-                            }),
-                                GeoGlobe.Request.issue(e)
-                        },
-                        HEAD: function (e) {
-                            return e = GeoGlobe.Util.extend(e, {
-                                method: "HEAD"
-                            }),
-                                GeoGlobe.Request.issue(e)
-                        },
-                        OPTIONS: function (e) {
-                            return e = GeoGlobe.Util.extend(e, {
-                                method: "OPTIONS"
-                            }),
-                                GeoGlobe.Request.issue(e)
-                        }
-                    }),
-                    GeoGlobe.nullHandler = function (e) {
-                        GeoGlobe.Console.userError(GeoGlobe.i18n("unhandledRequest", {
-                            statusText: e.statusText
-                        }))
-                    }
-                    ,
-                    GeoGlobe.loadURL = function (e, t, i, r, n) {
-                        "string" == typeof t && (t = GeoGlobe.Util.getParameters(t));
-                        var o = r || GeoGlobe.nullHandler
-                            , a = n || GeoGlobe.nullHandler;
-                        return GeoGlobe.Request.GET({
-                            url: e,
-                            params: t,
-                            success: o,
-                            failure: a,
-                            scope: i
-                        })
-                    }
-                    ,
-                    GeoGlobe.Request.setProxyHost = function (e) {
-                        GeoGlobe.ProxyHost = e
-                    }
-                    ,
-                    GeoGlobe.Request.getProxyHost = function () {
-                        return GeoGlobe.ProxyHost
-                    }
-                    ,
-                    GeoGlobe.appendToProxy = function (e) {
-                        var t = e.split("?")
-                            , i = GeoGlobe.ProxyHost + encodeURI(encodeURI(t[0]));
-                        return 2 === t.length && (i += "?" + t[1]),
-                            i
-                    }
-                    ,
-                    GeoGlobe.loadScript = function (e) {
-                        GeoGlobe.Request.GET({
-                            url: e,
-                            async: !1,
-                            headers: {
-                                Accept: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01"
-                            },
-                            success: function (e) {
-                                GeoGlobe.Util.globalEval(e.responseText)
-                            },
-                            failure: function (t) {
-                                alert("鍔犺浇:" + e + " 澶辫触銆�")
-                            }
-                        })
-                    }
-                    ,
-                    function () {
-                        var e = window.XMLHttpRequest
-                            , t = !!window.controllers
-                            , i = window.document.all && !window.opera
-                            , r = i && window.navigator.userAgent.match(/MSIE 7.0/);
-                        function n() {
-                            this._object = e && !r ? new e : new window.ActiveXObject("Microsoft.XMLHTTP"),
-                                this._listeners = []
-                        }
-                        function o() {
-                            return new n
-                        }
-                        function a(e) {
-                            o.onreadystatechange && o.onreadystatechange.apply(e),
-                                e.dispatchEvent({
-                                    type: "readystatechange",
-                                    bubbles: !1,
-                                    cancelable: !1,
-                                    timeStamp: new Date + 0
-                                })
-                        }
-                        function s(e) {
-                            try {
-                                e.responseText = e._object.responseText
-                            } catch (e) { }
-                            try {
-                                e.responseXML = (r = (t = e._object).responseXML,
-                                    n = t.responseText,
-                                    i && n && r && !r.documentElement && t.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/) && ((r = new window.ActiveXObject("Microsoft.XMLDOM")).async = !1,
-                                        r.validateOnParse = !1,
-                                        r.loadXML(n)),
-                                    r && (i && 0 != r.parseError || !r.documentElement || r.documentElement && "parsererror" == r.documentElement.tagName) ? null : r)
-                            } catch (e) { }
-                            var t, r, n;
-                            try {
-                                e.status = e._object.status
-                            } catch (e) { }
-                            try {
-                                e.statusText = e._object.statusText
-                            } catch (e) { }
-                        }
-                        function x(e) {
-                            e._object.onreadystatechange = new window.Function
-                        }
-                        o.prototype = n.prototype,
-                            t && e.wrapped && (o.wrapped = e.wrapped),
-                            o.UNSENT = 0,
-                            o.OPENED = 1,
-                            o.HEADERS_RECEIVED = 2,
-                            o.LOADING = 3,
-                            o.DONE = 4,
-                            o.prototype.readyState = o.UNSENT,
-                            o.prototype.responseText = "",
-                            o.prototype.responseXML = null,
-                            o.prototype.status = 0,
-                            o.prototype.statusText = "",
-                            o.prototype.priority = "NORMAL",
-                            o.prototype.onreadystatechange = null,
-                            o.onreadystatechange = null,
-                            o.onopen = null,
-                            o.onsend = null,
-                            o.onabort = null,
-                            o.prototype.open = function (e, r, n, l, c) {
-                                delete this._headers,
-                                    arguments.length < 3 && (n = !0),
-                                    this._async = n;
-                                var u, h = this, f = this.readyState;
-                                i && n && (u = function () {
-                                    f != o.DONE && (x(h),
-                                        h.abort())
-                                }
-                                    ,
-                                    window.attachEvent("onunload", u)),
-                                    o.onopen && o.onopen.apply(this, arguments),
-                                    arguments.length > 4 ? this._object.open(e, r, n, l, c) : arguments.length > 3 ? this._object.open(e, r, n, l) : this._object.open(e, r, n);
-                                try {
-                                    this._object.responseType = "msxml-document"
-                                } catch (e) { }
-                                this.readyState = o.OPENED,
-                                    a(this),
-                                    this._object.onreadystatechange = function () {
-                                        t && !n || (h.readyState = h._object.readyState,
-                                            s(h),
-                                            h._aborted ? h.readyState = o.UNSENT : (h.readyState == o.DONE && (delete h._data,
-                                                x(h),
-                                                i && n && window.detachEvent("onunload", u)),
-                                                f != h.readyState && a(h),
-                                                f = h.readyState))
-                                    }
-                            }
-                            ,
-                            o.prototype.send = function (e) {
-                                o.onsend && o.onsend.apply(this, arguments),
-                                    arguments.length || (e = null),
-                                    e && e.nodeType && (e = window.XMLSerializer ? (new window.XMLSerializer).serializeToString(e) : e.xml,
-                                        this._headers["Content-Type"] || this._object.setRequestHeader("Content-Type", "application/xml")),
-                                    this._data = e,
-                                    function (e) {
-                                        if (e._object.send(e._data),
-                                            t && !e._async)
-                                            for (e.readyState = o.OPENED,
-                                                s(e); e.readyState < o.DONE;)
-                                                if (e.readyState++,
-                                                    a(e),
-                                                    e._aborted)
-                                                    return
-                                    }(this)
-                            }
-                            ,
-                            o.prototype.abort = function () {
-                                o.onabort && o.onabort.apply(this, arguments),
-                                    this.readyState > o.UNSENT && (this._aborted = !0),
-                                    this._object.abort(),
-                                    x(this),
-                                    this.readyState = o.UNSENT,
-                                    delete this._data
-                            }
-                            ,
-                            o.prototype.getAllResponseHeaders = function () {
-                                return this._object.getAllResponseHeaders()
-                            }
-                            ,
-                            o.prototype.getResponseHeader = function (e) {
-                                return this._object.getResponseHeader(e)
-                            }
-                            ,
-                            o.prototype.setRequestHeader = function (e, t) {
-                                return this._headers || (this._headers = {}),
-                                    this._headers[e] = t,
-                                    this._object.setRequestHeader(e, t)
-                            }
-                            ,
-                            o.prototype.addEventListener = function (e, t, i) {
-                                for (var r, n = 0; r = this._listeners[n]; n++)
-                                    if (r[0] == e && r[1] == t && r[2] == i)
-                                        return;
-                                this._listeners.push([e, t, i])
-                            }
-                            ,
-                            o.prototype.removeEventListener = function (e, t, i) {
-                                for (var r, n = 0; (r = this._listeners[n]) && (r[0] != e || r[1] != t || r[2] != i); n++)
-                                    ;
-                                r && this._listeners.splice(n, 1)
-                            }
-                            ,
-                            o.prototype.dispatchEvent = function (e) {
-                                var t = {
-                                    type: e.type,
-                                    target: this,
-                                    currentTarget: this,
-                                    eventPhase: 2,
-                                    bubbles: e.bubbles,
-                                    cancelable: e.cancelable,
-                                    timeStamp: e.timeStamp,
-                                    stopPropagation: function () { },
-                                    preventDefault: function () { },
-                                    initEvent: function () { }
-                                };
-                                "readystatechange" == t.type && this.onreadystatechange && (this.onreadystatechange.handleEvent || this.onreadystatechange).apply(this, [t]);
-                                for (var i, r = 0; i = this._listeners[r]; r++)
-                                    i[0] != t.type || i[2] || (i[1].handleEvent || i[1]).apply(this, [t])
-                            }
-                            ,
-                            o.prototype.toString = function () {
-                                return "[object XMLHttpRequest]"
-                            }
-                            ,
-                            o.toString = function () {
-                                return "[XMLHttpRequest]"
-                            }
-                            ,
-                            window.Function.prototype.apply || (window.Function.prototype.apply = function (e, t) {
-                                t || (t = []),
-                                    e.__func = this,
-                                    e.__func(t[0], t[1], t[2], t[3], t[4]),
-                                    delete e.__func
-                            }
-                            ),
-                            GeoGlobe.Request || (GeoGlobe.Request = {}),
-                            GeoGlobe.Request.XMLHttpRequest = o
-                    }(),
-                    GeoGlobe.Lang = {
-                        code: null,
-                        defaultCode: "zh-CN",
-                        getCode: function () {
-                            return GeoGlobe.Lang.code || GeoGlobe.Lang.setCode(),
-                                GeoGlobe.Lang.code
-                        },
-                        setCode: function (e) {
-                            var t;
-                            e || (e = "msie" == GeoGlobe.BROWSER_NAME ? navigator.userLanguage : navigator.language);
-                            var i = e.split("-");
-                            if (i[0] = i[0].toLowerCase(),
-                                "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(GeoGlobe.Lang[i[0]]) && (t = i[0]),
-                                i[1]) {
-                                var r = i[0] + "-" + i[1].toUpperCase();
-                                "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(GeoGlobe.Lang[r]) && (t = r)
-                            }
-                            t || (GeoGlobe.Console.warn("Failed to find GeoGlobe.Lang." + i.join("-") + " dictionary, falling back to default language"),
-                                t = GeoGlobe.Lang.defaultCode),
-                                GeoGlobe.Lang.code = t
-                        },
-                        translate: function (e, t) {
-                            var i = GeoGlobe.Lang[GeoGlobe.Lang.getCode()]
-                                , r = i && i[e];
-                            return r || (r = e),
-                                t && (r = GeoGlobe.String.format(r, t)),
-                                r
-                        }
-                    },
-                    GeoGlobe.i18n = GeoGlobe.Lang.translate,
-                    GeoGlobe.Lang.en = {
-                        unhandledRequest: "Unhandled request return ${statusText}",
-                        end: ""
-                    },
-                    GeoGlobe.Lang["zh-CN"] = {
-                        unhandledRequest: "鏈鐞嗙殑璇锋眰锛岃繑鍥炲�间负 ${statusText}",
-                        end: ""
-                    },
-                    GeoGlobe.String = {
-                        startsWith: function (e, t) {
-                            return 0 == e.indexOf(t)
-                        },
-                        contains: function (e, t) {
-                            return -1 != e.indexOf(t)
-                        },
-                        trim: function (e) {
-                            return e.replace(/^\s\s*/, "").replace(/\s\s*$/, "")
-                        },
-                        camelize: function (e) {
-                            for (var t = e.split("-"), i = t[0], r = 1, n = t.length; r < n; r++) {
-                                var o = t[r];
-                                i += o.charAt(0).toUpperCase() + o.substring(1)
-                            }
-                            return i
-                        },
-                        format: function (e, t, i) {
-                            return t || (t = window),
-                                e.replace(GeoGlobe.String.tokenRegEx, (function (e, r) {
-                                    for (var n, o = r.split(/\.+/), a = 0; a < o.length && (0 == a && (n = t),
-                                        void 0 !== n); a++)
-                                        n = n[o[a]];
-                                    return "function" == typeof n && (n = i ? n.apply(null, i) : n()),
-                                        void 0 === n ? "undefined" : n
-                                }
-                                ))
-                        },
-                        tokenRegEx: /\$\{([\w.]+?)\}/g,
-                        numberRegEx: /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/,
-                        isNumeric: function (e) {
-                            return GeoGlobe.String.numberRegEx.test(e)
-                        },
-                        numericIf: function (e, t) {
-                            var i = e;
-                            return !0 === t && null != e && e.replace && (e = e.replace(/^\s*|\s*$/g, "")),
-                                GeoGlobe.String.isNumeric(e) ? _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e) : i
-                        }
-                    },
-                    GeoGlobe.Number = {
-                        decimalSeparator: ".",
-                        thousandsSeparator: ",",
-                        limitSigDigs: function (e, t) {
-                            var i = 0;
-                            return t > 0 && (i = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.toPrecision(t))),
-                                i
-                        },
-                        format: function (e, t, i, r) {
-                            t = void 0 !== t ? t : 0,
-                                i = void 0 !== i ? i : GeoGlobe.Number.thousandsSeparator,
-                                r = void 0 !== r ? r : GeoGlobe.Number.decimalSeparator,
-                                null != t && (e = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.toFixed(t)));
-                            var n = e.toString().split(".");
-                            1 == n.length && null == t && (t = 0);
-                            var o, a = n[0];
-                            if (i)
-                                for (var s = /(-?[0-9]+)([0-9]{3})/; s.test(a);)
-                                    a = a.replace(s, "$1" + i + "$2");
-                            if (0 == t)
-                                o = a;
-                            else {
-                                var x = n.length > 1 ? n[1] : "0";
-                                null != t && (x += new Array(t - x.length + 1).join("0")),
-                                    o = a + r + x
-                            }
-                            return o
-                        },
-                        zeroPad: function (e, t, i) {
-                            for (var r = e.toString(i || 10); r.length < t;)
-                                r = "0" + r;
-                            return r
-                        }
-                    },
-                    GeoGlobe.Function = {
-                        bind: function (e, t) {
-                            var i = Array.prototype.slice.apply(arguments, [2]);
-                            return function () {
-                                var r = i.concat(Array.prototype.slice.apply(arguments, [0]));
-                                return e.apply(t, r)
-                            }
-                        },
-                        bindAsEventListener: function (e, t) {
-                            return function (i) {
-                                return e.call(t, i || window.event)
-                            }
-                        },
-                        False: function () {
-                            return !1
-                        },
-                        True: function () {
+                }),
+                Object.defineProperty(t, "exports", {
+                    enumerable: !0
+                }),
+                t.webpackPolyfill = 1
+            }
+            return t
+        }
+    }
+    , function(e, t, i) {
+        var r = i(4)("unscopables")
+          , n = Array.prototype;
+        null == n[r] && i(20)(n, r, {}),
+        e.exports = function(e) {
+            n[r][e] = !0
+        }
+    }
+    , function(e, t, i) {
+        e.exports = !i(11) && !i(18)((function() {
+            return 7 != Object.defineProperty(i(99)("div"), "a", {
+                get: function() {
+                    return 7
+                }
+            }).a
+        }
+        ))
+    }
+    , function(e, t, i) {
+        var r = i(21)
+          , n = i(10).document
+          , o = r(n) && r(n.createElement);
+        e.exports = function(e) {
+            return o ? n.createElement(e) : {}
+        }
+    }
+    , function(e, t, i) {
+        var r = i(46);
+        e.exports = Object("z").propertyIsEnumerable(0) ? Object : function(e) {
+            return "String" == r(e) ? e.split("") : Object(e)
+        }
+    }
+    , function(e, t) {
+        e.exports = function(e) {
+            if ("function" != typeof e)
+                throw TypeError(e + " is not a function!");
+            return e
+        }
+    }
+    , function(e, t, i) {
+        var r = i(24)
+          , n = i(37)
+          , o = i(103)(!1)
+          , a = i(70)("IE_PROTO");
+        e.exports = function(e, t) {
+            var i, s = n(e), x = 0, l = [];
+            for (i in s)
+                i != a && r(s, i) && l.push(i);
+            for (; t.length > x; )
+                r(s, i = t[x++]) && (~o(l, i) || l.push(i));
+            return l
+        }
+    }
+    , function(e, t, i) {
+        var r = i(37)
+          , n = i(19)
+          , o = i(54);
+        e.exports = function(e) {
+            return function(t, i, a) {
+                var s, x = r(t), l = n(x.length), c = o(a, l);
+                if (e && i != i) {
+                    for (; l > c; )
+                        if ((s = x[c++]) != s)
                             return !0
-                        },
-                        Void: function () { }
-                    },
-                    GeoGlobe.Array = {
-                        filter: function (e, t, i) {
-                            var r = [];
-                            if (Array.prototype.filter)
-                                r = e.filter(t, i);
-                            else {
-                                var n = e.length;
-                                if ("function" != typeof t)
-                                    throw new TypeError;
-                                for (var o = 0; o < n; o++)
-                                    if (o in e) {
-                                        var a = e[o];
-                                        t.call(i, a, o, e) && r.push(a)
-                                    }
-                            }
-                            return r
-                        }
-                    },
-                    String.prototype.endsWith || (String.prototype.endsWith = function (e, t) {
-                        var i = this.toString();
-                        ("number" != typeof t || !isFinite(t) || Math.floor(t) !== t || t > i.length) && (t = i.length),
-                            t -= e.length;
-                        var r = i.lastIndexOf(e, t);
-                        return -1 !== r && r === t
+                } else
+                    for (; l > c; c++)
+                        if ((e || c in x) && x[c] === i)
+                            return e || c || 0;
+                return !e && -1
+            }
+        }
+    }
+    , function(e, t, i) {
+        var r = i(24)
+          , n = i(30)
+          , o = i(70)("IE_PROTO")
+          , a = Object.prototype;
+        e.exports = Object.getPrototypeOf || function(e) {
+            return e = n(e),
+            r(e, o) ? e[o] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? a : null
+        }
+    }
+    , function(e, t, i) {
+        var r = i(31)
+          , n = i(39)
+          , o = i(157)(!1)
+          , a = i(74)("IE_PROTO");
+        e.exports = function(e, t) {
+            var i, s = n(e), x = 0, l = [];
+            for (i in s)
+                i != a && r(s, i) && l.push(i);
+            for (; t.length > x; )
+                r(s, i = t[x++]) && (~o(l, i) || l.push(i));
+            return l
+        }
+    }
+    , function(e, t, i) {
+        var r = i(73)
+          , n = Math.min;
+        e.exports = function(e) {
+            return e > 0 ? n(r(e), 9007199254740991) : 0
+        }
+    }
+    , function(e, t, i) {
+        e.exports = !i(25) && !i(40)((function() {
+            return 7 != Object.defineProperty(i(77)("div"), "a", {
+                get: function() {
+                    return 7
+                }
+            }).a
+        }
+        ))
+    }
+    , function(e, t, i) {
+        var r = i(17)
+          , n = i(101)
+          , o = i(4)("species");
+        e.exports = function(e, t) {
+            var i, a = r(e).constructor;
+            return void 0 === a || null == (i = r(a)[o]) ? t : n(i)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(26)
+          , n = i(27)
+          , o = i(57);
+        e.exports = i(25) ? Object.defineProperties : function(e, t) {
+            n(e);
+            for (var i, a = o(t), s = a.length, x = 0; s > x; )
+                r.f(e, i = a[x++], t[i]);
+            return e
+        }
+    }
+    , function(e, t, i) {
+        var r = i(7).document;
+        e.exports = r && r.documentElement
+    }
+    , function(e, t, i) {
+        var r = i(47);
+        e.exports = Array.isArray || function(e) {
+            return "Array" == r(e)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(12)
+          , n = i(56)
+          , o = i(40)
+          , a = i(87)
+          , s = "[" + a + "]"
+          , x = RegExp("^" + s + s + "*")
+          , l = RegExp(s + s + "*$")
+          , c = function(e, t, i) {
+            var n = {}
+              , s = o((function() {
+                return !!a[e]() || "鈥嬄�" != "鈥嬄�"[e]()
+            }
+            ))
+              , x = n[e] = s ? t(u) : a[e];
+            i && (n[i] = x),
+            r(r.P + r.F * s, "String", n)
+        }
+          , u = c.trim = function(e, t) {
+            return e = String(n(e)),
+            1 & t && (e = e.replace(x, "")),
+            2 & t && (e = e.replace(l, "")),
+            e
+        }
+        ;
+        e.exports = c
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(177)(!0);
+        i(114)(String, "String", (function(e) {
+            this._t = String(e),
+            this._i = 0
+        }
+        ), (function() {
+            var e, t = this._t, i = this._i;
+            return i >= t.length ? {
+                value: void 0,
+                done: !0
+            } : (e = r(t, i),
+            this._i += e.length,
+            {
+                value: e,
+                done: !1
+            })
+        }
+        ))
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(48)
+          , n = i(12)
+          , o = i(115)
+          , a = i(32)
+          , s = i(49)
+          , x = i(178)
+          , l = i(66)
+          , c = i(179)
+          , u = i(14)("iterator")
+          , h = !([].keys && "next"in [].keys())
+          , f = function() {
+            return this
+        };
+        e.exports = function(e, t, i, d, g, p, m) {
+            x(i, t, d);
+            var b, v, C, y = function(e) {
+                if (!h && e in w)
+                    return w[e];
+                switch (e) {
+                case "keys":
+                case "values":
+                    return function() {
+                        return new i(this,e)
                     }
-                    ),
-                    GeoGlobe.Date = {
-                        dateRegEx: /^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:(?:T(\d{1,2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(?:[+-]\d{1,2}(?::(\d{2}))?)))|Z)?$/,
-                        toISOString: "toISOString" in Date.prototype ? function (e) {
-                            return e.toISOString()
-                        }
-                            : function (e) {
-                                return isNaN(e.getTime()) ? "Invalid Date" : e.getUTCFullYear() + "-" + GeoGlobe.Number.zeroPad(e.getUTCMonth() + 1, 2) + "-" + GeoGlobe.Number.zeroPad(e.getUTCDate(), 2) + "T" + GeoGlobe.Number.zeroPad(e.getUTCHours(), 2) + ":" + GeoGlobe.Number.zeroPad(e.getUTCMinutes(), 2) + ":" + GeoGlobe.Number.zeroPad(e.getUTCSeconds(), 2) + "." + GeoGlobe.Number.zeroPad(e.getUTCMilliseconds(), 3) + "Z"
-                            }
-                        ,
-                        parse: function (e) {
-                            var t, i = e.match(this.dateRegEx);
-                            if (i && (i[1] || i[7])) {
-                                var r = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[1], 10) || 0
-                                    , n = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[2], 10) - 1 || 0
-                                    , o = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[3], 10) || 1;
-                                t = new Date(Date.UTC(r, n, o));
-                                var a = i[7];
-                                if (a) {
-                                    var s = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[4], 10)
-                                        , x = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[5], 10)
-                                        , l = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(i[6])
-                                        , c = 0 | l
-                                        , u = Math.round(1e3 * (l - c));
-                                    if (t.setUTCHours(s, x, c, u),
-                                        "Z" !== a) {
-                                        var h = -1e3 * (60 * _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(a, 10) * 60 + 60 * (_babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[8], 10) || 0));
-                                        t = new Date(t.getTime() + h)
-                                    }
-                                }
-                            } else
-                                t = new Date("invalid");
-                            return t
-                        }
-                    },
-                    function (e) {
-                        "object" == ("undefined" == typeof exports ? "undefined" : _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(exports)) && void 0 !== module ? module.exports = e() : "function" == typeof define && __webpack_require__(121) ? define([], e) : ("undefined" != typeof window ? window : void 0 !== global ? global : "undefined" != typeof self ? self : this)._GeoGlobe = e()
-                    }((function () {
-                        return function e(t, i, r) {
-                            function n(a, s) {
-                                if (!i[a]) {
-                                    if (!t[a]) {
-                                        if (!s && ("function" == typeof require && require))
-                                            return require(a, !0);
-                                        if (o)
-                                            return o(a, !0);
-                                        var x = new Error("Cannot find module '" + a + "'");
-                                        throw x.code = "MODULE_NOT_FOUND",
-                                        x
-                                    }
-                                    var l = i[a] = {
-                                        exports: {}
-                                    };
-                                    t[a][0].call(l.exports, (function (e) {
-                                        return n(t[a][1][e] || e)
-                                    }
-                                    ), l, l.exports, e, t, i, r)
-                                }
-                                return i[a].exports
-                            }
-                            for (var o = "function" == typeof require && require, a = 0; a < r.length; a++)
-                                n(r[a]);
-                            return n
-                        }({
-                            1: [function (e, t, i) {
-                                var r = function (e, t) {
-                                    if (isNaN(e) || isNaN(t))
-                                        throw new Error("Invalid LngLat object: (" + e + ", " + t + ")");
-                                    this.lng = +e,
-                                        this.lat = +t
-                                };
-                                r.prototype.wrap = function () {
-                                    return new r((i = ((this.lng - (e = -180)) % (t = 180 - e) + t) % t + e) === e ? 180 : i, this.lat);
-                                    var e, t, i
-                                }
-                                    ,
-                                    r.prototype.toArray = function () {
-                                        return [this.lng, this.lat]
-                                    }
-                                    ,
-                                    r.prototype.toString = function () {
-                                        return "LngLat(" + this.lng + ", " + this.lat + ")"
-                                    }
-                                    ,
-                                    r.prototype.toBounds = function (t) {
-                                        var i = 360 * t / 40075017
-                                            , n = i / Math.cos(Math.PI / 180 * this.lat);
-                                        return new (e("./lng_lat_bounds"))(new r(this.lng - n, this.lat - i), new r(this.lng + n, this.lat + i))
-                                    }
-                                    ,
-                                    r.convert = function (e) {
-                                        if (e instanceof r)
-                                            return e;
-                                        if (_babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default()(e) && 2 === e.length)
-                                            return new r(Number(e[0]), Number(e[1]));
-                                        if (!_babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default()(e) && "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e) && null !== e)
-                                            return new r(Number(e.lng), Number(e.lat));
-                                        throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")
-                                    }
-                                    ,
-                                    t.exports = r
-                            }
-                                , {
-                                "./lng_lat_bounds": 2
-                            }],
-                            2: [function (e, t, i) {
-                                var r = e("./lng_lat")
-                                    , n = function (e, t) {
-                                        e && (t ? this.setSouthWest(e).setNorthEast(t) : 4 === e.length ? this.setSouthWest([e[0], e[1]]).setNorthEast([e[2], e[3]]) : this.setSouthWest(e[0]).setNorthEast(e[1]))
-                                    };
-                                n.prototype.setNorthEast = function (e) {
-                                    return this._ne = e instanceof r ? new r(e.lng, e.lat) : r.convert(e),
-                                        this
-                                }
-                                    ,
-                                    n.prototype.setSouthWest = function (e) {
-                                        return this._sw = e instanceof r ? new r(e.lng, e.lat) : r.convert(e),
-                                            this
-                                    }
-                                    ,
-                                    n.prototype.extend = function (e) {
-                                        var t, i, o = this._sw, a = this._ne;
-                                        if (e instanceof r)
-                                            t = e,
-                                                i = e;
-                                        else {
-                                            if (!(e instanceof n))
-                                                return _babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default()(e) ? e.every(_babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default.a) ? this.extend(n.convert(e)) : this.extend(r.convert(e)) : this;
-                                            if (t = e._sw,
-                                                i = e._ne,
-                                                !t || !i)
-                                                return this
-                                        }
-                                        return o || a ? (o.lng = Math.min(t.lng, o.lng),
-                                            o.lat = Math.min(t.lat, o.lat),
-                                            a.lng = Math.max(i.lng, a.lng),
-                                            a.lat = Math.max(i.lat, a.lat)) : (this._sw = new r(t.lng, t.lat),
-                                                this._ne = new r(i.lng, i.lat)),
-                                            this
-                                    }
-                                    ,
-                                    n.prototype.getCenter = function () {
-                                        return new r((this._sw.lng + this._ne.lng) / 2, (this._sw.lat + this._ne.lat) / 2)
-                                    }
-                                    ,
-                                    n.prototype.getSouthWest = function () {
-                                        return this._sw
-                                    }
-                                    ,
-                                    n.prototype.getNorthEast = function () {
-                                        return this._ne
-                                    }
-                                    ,
-                                    n.prototype.getNorthWest = function () {
-                                        return new r(this.getWest(), this.getNorth())
-                                    }
-                                    ,
-                                    n.prototype.getSouthEast = function () {
-                                        return new r(this.getEast(), this.getSouth())
-                                    }
-                                    ,
-                                    n.prototype.getWest = function () {
-                                        return this._sw.lng
-                                    }
-                                    ,
-                                    n.prototype.getSouth = function () {
-                                        return this._sw.lat
-                                    }
-                                    ,
-                                    n.prototype.getEast = function () {
-                                        return this._ne.lng
-                                    }
-                                    ,
-                                    n.prototype.getNorth = function () {
-                                        return this._ne.lat
-                                    }
-                                    ,
-                                    n.prototype.toArray = function () {
-                                        return [this._sw.toArray(), this._ne.toArray()]
-                                    }
-                                    ,
-                                    n.prototype.toString = function () {
-                                        return "LngLatBounds(" + this._sw.toString() + ", " + this._ne.toString() + ")"
-                                    }
-                                    ,
-                                    n.convert = function (e) {
-                                        return !e || e instanceof n ? e : new n(e)
-                                    }
-                                    ,
-                                    t.exports = n
-                            }
-                                , {
-                                "./lng_lat": 1
-                            }],
-                            3: [function (e, t, i) {
-                                var r = e("./geo/lng_lat")
-                                    , n = e("./geo/lng_lat_bounds");
-                                t.exports = {
-                                    LngLat: r,
-                                    LngLatBounds: n
-                                }
-                            }
-                                , {
-                                "./geo/lng_lat": 1,
-                                "./geo/lng_lat_bounds": 2
-                            }]
-                        }, {}, [3])(3)
+                }
+                return function() {
+                    return new i(this,e)
+                }
+            }, _ = t + " Iterator", A = "values" == g, I = !1, w = e.prototype, G = w[u] || w["@@iterator"] || g && w[g], E = G || y(g), S = g ? A ? y("entries") : E : void 0, T = "Array" == t && w.entries || G;
+            if (T && (C = c(T.call(new e))) !== Object.prototype && C.next && (l(C, _, !0),
+            r || "function" == typeof C[u] || a(C, u, f)),
+            A && G && "values" !== G.name && (I = !0,
+            E = function() {
+                return G.call(this)
+            }
+            ),
+            r && !m || !h && !I && w[u] || a(w, u, E),
+            s[t] = E,
+            s[_] = f,
+            g)
+                if (b = {
+                    values: A ? E : y("values"),
+                    keys: p ? E : y("keys"),
+                    entries: S
+                },
+                m)
+                    for (v in b)
+                        v in w || o(w, v, b[v]);
+                else
+                    n(n.P + n.F * (h || I), t, b);
+            return b
+        }
+    }
+    , function(e, t, i) {
+        e.exports = i(32)
+    }
+    , function(e, t, i) {
+        i(180);
+        for (var r = i(7), n = i(32), o = i(49), a = i(14)("toStringTag"), s = "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","), x = 0; x < s.length; x++) {
+            var l = s[x]
+              , c = r[l]
+              , u = c && c.prototype;
+            u && !u[a] && n(u, a, l),
+            o[l] = o.Array
+        }
+    }
+    , function(e, t) {
+        t.f = Object.getOwnPropertySymbols
+    }
+    , function(e, t, i) {
+        var r = i(105)
+          , n = i(76).concat("length", "prototype");
+        t.f = Object.getOwnPropertyNames || function(e) {
+            return r(e, n)
+        }
+    }
+    , function(e, t) {}
+    , function(e, t, i) {
+        var r, n, o;
+        /**
+ * @license bytebuffer.js (c) 2015 Daniel Wirtz <dcode@dcode.io>
+ * Backing buffer: ArrayBuffer, Accessor: Uint8Array
+ * Released under the Apache License, Version 2.0
+ * see: https://github.com/dcodeIO/bytebuffer.js for details
+ */
+        n = [i(191)],
+        void 0 === (o = "function" == typeof (r = function(e) {
+            "use strict";
+            var t = function(e, i, n) {
+                if (void 0 === e && (e = t.DEFAULT_CAPACITY),
+                void 0 === i && (i = t.DEFAULT_ENDIAN),
+                void 0 === n && (n = t.DEFAULT_NOASSERT),
+                !n) {
+                    if ((e |= 0) < 0)
+                        throw RangeError("Illegal capacity");
+                    i = !!i,
+                    n = !!n
+                }
+                this.buffer = 0 === e ? r : new ArrayBuffer(e),
+                this.view = 0 === e ? null : new Uint8Array(this.buffer),
+                this.offset = 0,
+                this.markedOffset = -1,
+                this.limit = e,
+                this.littleEndian = i,
+                this.noAssert = n
+            };
+            t.VERSION = "5.0.1",
+            t.LITTLE_ENDIAN = !0,
+            t.BIG_ENDIAN = !1,
+            t.DEFAULT_CAPACITY = 16,
+            t.DEFAULT_ENDIAN = t.BIG_ENDIAN,
+            t.DEFAULT_NOASSERT = !1,
+            t.Long = e || null;
+            var i = t.prototype;
+            i.__isByteBuffer__,
+            Object.defineProperty(i, "__isByteBuffer__", {
+                value: !0,
+                enumerable: !1,
+                configurable: !1
+            });
+            var r = new ArrayBuffer(0)
+              , n = String.fromCharCode;
+            function o(e) {
+                var t = 0;
+                return function() {
+                    return t < e.length ? e.charCodeAt(t++) : null
+                }
+            }
+            function a() {
+                var e = []
+                  , t = [];
+                return function() {
+                    if (0 === arguments.length)
+                        return t.join("") + n.apply(String, e);
+                    e.length + arguments.length > 1024 && (t.push(n.apply(String, e)),
+                    e.length = 0),
+                    Array.prototype.push.apply(e, arguments)
+                }
+            }
+            function s(e, t, i, r, n) {
+                var o, a, s = 8 * n - r - 1, x = (1 << s) - 1, l = x >> 1, c = -7, u = i ? n - 1 : 0, h = i ? -1 : 1, f = e[t + u];
+                for (u += h,
+                o = f & (1 << -c) - 1,
+                f >>= -c,
+                c += s; c > 0; o = 256 * o + e[t + u],
+                u += h,
+                c -= 8)
+                    ;
+                for (a = o & (1 << -c) - 1,
+                o >>= -c,
+                c += r; c > 0; a = 256 * a + e[t + u],
+                u += h,
+                c -= 8)
+                    ;
+                if (0 === o)
+                    o = 1 - l;
+                else {
+                    if (o === x)
+                        return a ? NaN : 1 / 0 * (f ? -1 : 1);
+                    a += Math.pow(2, r),
+                    o -= l
+                }
+                return (f ? -1 : 1) * a * Math.pow(2, o - r)
+            }
+            function x(e, t, i, r, n, o) {
+                var a, s, x, l = 8 * o - n - 1, c = (1 << l) - 1, u = c >> 1, h = 23 === n ? Math.pow(2, -24) - Math.pow(2, -77) : 0, f = r ? 0 : o - 1, d = r ? 1 : -1, g = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;
+                for (t = Math.abs(t),
+                isNaN(t) || t === 1 / 0 ? (s = isNaN(t) ? 1 : 0,
+                a = c) : (a = Math.floor(Math.log(t) / Math.LN2),
+                t * (x = Math.pow(2, -a)) < 1 && (a--,
+                x *= 2),
+                (t += a + u >= 1 ? h / x : h * Math.pow(2, 1 - u)) * x >= 2 && (a++,
+                x /= 2),
+                a + u >= c ? (s = 0,
+                a = c) : a + u >= 1 ? (s = (t * x - 1) * Math.pow(2, n),
+                a += u) : (s = t * Math.pow(2, u - 1) * Math.pow(2, n),
+                a = 0)); n >= 8; e[i + f] = 255 & s,
+                f += d,
+                s /= 256,
+                n -= 8)
+                    ;
+                for (a = a << n | s,
+                l += n; l > 0; e[i + f] = 255 & a,
+                f += d,
+                a /= 256,
+                l -= 8)
+                    ;
+                e[i + f - d] |= 128 * g
+            }
+            t.accessor = function() {
+                return Uint8Array
+            }
+            ,
+            t.allocate = function(e, i, r) {
+                return new t(e,i,r)
+            }
+            ,
+            t.concat = function(e, i, r, n) {
+                "boolean" != typeof i && "string" == typeof i || (n = r,
+                r = i,
+                i = void 0);
+                for (var o, a = 0, s = 0, x = e.length; s < x; ++s)
+                    t.isByteBuffer(e[s]) || (e[s] = t.wrap(e[s], i)),
+                    (o = e[s].limit - e[s].offset) > 0 && (a += o);
+                if (0 === a)
+                    return new t(0,r,n);
+                var l, c = new t(a,r,n);
+                for (s = 0; s < x; )
+                    (o = (l = e[s++]).limit - l.offset) <= 0 || (c.view.set(l.view.subarray(l.offset, l.limit), c.offset),
+                    c.offset += o);
+                return c.limit = c.offset,
+                c.offset = 0,
+                c
+            }
+            ,
+            t.isByteBuffer = function(e) {
+                return !0 === (e && e.__isByteBuffer__)
+            }
+            ,
+            t.type = function() {
+                return ArrayBuffer
+            }
+            ,
+            t.wrap = function(e, r, n, o) {
+                if ("string" != typeof r && (o = n,
+                n = r,
+                r = void 0),
+                "string" == typeof e)
+                    switch (void 0 === r && (r = "utf8"),
+                    r) {
+                    case "base64":
+                        return t.fromBase64(e, n);
+                    case "hex":
+                        return t.fromHex(e, n);
+                    case "binary":
+                        return t.fromBinary(e, n);
+                    case "utf8":
+                        return t.fromUTF8(e, n);
+                    case "debug":
+                        return t.fromDebug(e, n);
+                    default:
+                        throw Error("Unsupported encoding: " + r)
+                    }
+                if (null === e || "object" != typeof e)
+                    throw TypeError("Illegal buffer");
+                var a;
+                if (t.isByteBuffer(e))
+                    return (a = i.clone.call(e)).markedOffset = -1,
+                    a;
+                if (e instanceof Uint8Array)
+                    a = new t(0,n,o),
+                    e.length > 0 && (a.buffer = e.buffer,
+                    a.offset = e.byteOffset,
+                    a.limit = e.byteOffset + e.byteLength,
+                    a.view = new Uint8Array(e.buffer));
+                else if (e instanceof ArrayBuffer)
+                    a = new t(0,n,o),
+                    e.byteLength > 0 && (a.buffer = e,
+                    a.offset = 0,
+                    a.limit = e.byteLength,
+                    a.view = e.byteLength > 0 ? new Uint8Array(e) : null);
+                else {
+                    if ("[object Array]" !== Object.prototype.toString.call(e))
+                        throw TypeError("Illegal buffer");
+                    (a = new t(e.length,n,o)).limit = e.length;
+                    for (var s = 0; s < e.length; ++s)
+                        a.view[s] = e[s]
+                }
+                return a
+            }
+            ,
+            i.writeBitSet = function(e, t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if (!(e instanceof Array))
+                        throw TypeError("Illegal BitSet: Not an array");
+                    if ("number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
+                }
+                var r, n = t, o = e.length, a = o >> 3, s = 0;
+                for (t += this.writeVarint32(o, t); a--; )
+                    r = 1 & !!e[s++] | (1 & !!e[s++]) << 1 | (1 & !!e[s++]) << 2 | (1 & !!e[s++]) << 3 | (1 & !!e[s++]) << 4 | (1 & !!e[s++]) << 5 | (1 & !!e[s++]) << 6 | (1 & !!e[s++]) << 7,
+                    this.writeByte(r, t++);
+                if (s < o) {
+                    var x = 0;
+                    for (r = 0; s < o; )
+                        r |= (1 & !!e[s++]) << x++;
+                    this.writeByte(r, t++)
+                }
+                return i ? (this.offset = t,
+                this) : t - n
+            }
+            ,
+            i.readBitSet = function(e) {
+                var t = void 0 === e;
+                t && (e = this.offset);
+                var i, r = this.readVarint32(e), n = r.value, o = n >> 3, a = 0, s = [];
+                for (e += r.length; o--; )
+                    i = this.readByte(e++),
+                    s[a++] = !!(1 & i),
+                    s[a++] = !!(2 & i),
+                    s[a++] = !!(4 & i),
+                    s[a++] = !!(8 & i),
+                    s[a++] = !!(16 & i),
+                    s[a++] = !!(32 & i),
+                    s[a++] = !!(64 & i),
+                    s[a++] = !!(128 & i);
+                if (a < n) {
+                    var x = 0;
+                    for (i = this.readByte(e++); a < n; )
+                        s[a++] = !!(i >> x++ & 1)
+                }
+                return t && (this.offset = e),
+                s
+            }
+            ,
+            i.readBytes = function(e, t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + e > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+" + e + ") <= " + this.buffer.byteLength)
+                }
+                var r = this.slice(t, t + e);
+                return i && (this.offset += e),
+                r
+            }
+            ,
+            i.writeBytes = i.append,
+            i.writeInt8 = function(e, t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal value: " + e + " (not an integer)");
+                    if (e |= 0,
+                    "number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
+                }
+                t += 1;
+                var r = this.buffer.byteLength;
+                return t > r && this.resize((r *= 2) > t ? r : t),
+                t -= 1,
+                this.view[t] = e,
+                i && (this.offset += 1),
+                this
+            }
+            ,
+            i.writeByte = i.writeInt8,
+            i.readInt8 = function(e) {
+                var t = void 0 === e;
+                if (t && (e = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength)
+                }
+                var i = this.view[e];
+                return 128 == (128 & i) && (i = -(255 - i + 1)),
+                t && (this.offset += 1),
+                i
+            }
+            ,
+            i.readByte = i.readInt8,
+            i.writeUint8 = function(e, t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal value: " + e + " (not an integer)");
+                    if (e >>>= 0,
+                    "number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
+                }
+                t += 1;
+                var r = this.buffer.byteLength;
+                return t > r && this.resize((r *= 2) > t ? r : t),
+                t -= 1,
+                this.view[t] = e,
+                i && (this.offset += 1),
+                this
+            }
+            ,
+            i.writeUInt8 = i.writeUint8,
+            i.readUint8 = function(e) {
+                var t = void 0 === e;
+                if (t && (e = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength)
+                }
+                var i = this.view[e];
+                return t && (this.offset += 1),
+                i
+            }
+            ,
+            i.readUInt8 = i.readUint8,
+            i.writeInt16 = function(e, t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal value: " + e + " (not an integer)");
+                    if (e |= 0,
+                    "number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
+                }
+                t += 2;
+                var r = this.buffer.byteLength;
+                return t > r && this.resize((r *= 2) > t ? r : t),
+                t -= 2,
+                this.littleEndian ? (this.view[t + 1] = (65280 & e) >>> 8,
+                this.view[t] = 255 & e) : (this.view[t] = (65280 & e) >>> 8,
+                this.view[t + 1] = 255 & e),
+                i && (this.offset += 2),
+                this
+            }
+            ,
+            i.writeShort = i.writeInt16,
+            i.readInt16 = function(e) {
+                var t = void 0 === e;
+                if (t && (e = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 2 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+2) <= " + this.buffer.byteLength)
+                }
+                var i = 0;
+                return this.littleEndian ? (i = this.view[e],
+                i |= this.view[e + 1] << 8) : (i = this.view[e] << 8,
+                i |= this.view[e + 1]),
+                32768 == (32768 & i) && (i = -(65535 - i + 1)),
+                t && (this.offset += 2),
+                i
+            }
+            ,
+            i.readShort = i.readInt16,
+            i.writeUint16 = function(e, t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal value: " + e + " (not an integer)");
+                    if (e >>>= 0,
+                    "number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
+                }
+                t += 2;
+                var r = this.buffer.byteLength;
+                return t > r && this.resize((r *= 2) > t ? r : t),
+                t -= 2,
+                this.littleEndian ? (this.view[t + 1] = (65280 & e) >>> 8,
+                this.view[t] = 255 & e) : (this.view[t] = (65280 & e) >>> 8,
+                this.view[t + 1] = 255 & e),
+                i && (this.offset += 2),
+                this
+            }
+            ,
+            i.writeUInt16 = i.writeUint16,
+            i.readUint16 = function(e) {
+                var t = void 0 === e;
+                if (t && (e = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 2 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+2) <= " + this.buffer.byteLength)
+                }
+                var i = 0;
+                return this.littleEndian ? (i = this.view[e],
+                i |= this.view[e + 1] << 8) : (i = this.view[e] << 8,
+                i |= this.view[e + 1]),
+                t && (this.offset += 2),
+                i
+            }
+            ,
+            i.readUInt16 = i.readUint16,
+            i.writeInt32 = function(e, t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal value: " + e + " (not an integer)");
+                    if (e |= 0,
+                    "number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
+                }
+                t += 4;
+                var r = this.buffer.byteLength;
+                return t > r && this.resize((r *= 2) > t ? r : t),
+                t -= 4,
+                this.littleEndian ? (this.view[t + 3] = e >>> 24 & 255,
+                this.view[t + 2] = e >>> 16 & 255,
+                this.view[t + 1] = e >>> 8 & 255,
+                this.view[t] = 255 & e) : (this.view[t] = e >>> 24 & 255,
+                this.view[t + 1] = e >>> 16 & 255,
+                this.view[t + 2] = e >>> 8 & 255,
+                this.view[t + 3] = 255 & e),
+                i && (this.offset += 4),
+                this
+            }
+            ,
+            i.writeInt = i.writeInt32,
+            i.readInt32 = function(e) {
+                var t = void 0 === e;
+                if (t && (e = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 4 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+4) <= " + this.buffer.byteLength)
+                }
+                var i = 0;
+                return this.littleEndian ? (i = this.view[e + 2] << 16,
+                i |= this.view[e + 1] << 8,
+                i |= this.view[e],
+                i += this.view[e + 3] << 24 >>> 0) : (i = this.view[e + 1] << 16,
+                i |= this.view[e + 2] << 8,
+                i |= this.view[e + 3],
+                i += this.view[e] << 24 >>> 0),
+                i |= 0,
+                t && (this.offset += 4),
+                i
+            }
+            ,
+            i.readInt = i.readInt32,
+            i.writeUint32 = function(e, t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal value: " + e + " (not an integer)");
+                    if (e >>>= 0,
+                    "number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
+                }
+                t += 4;
+                var r = this.buffer.byteLength;
+                return t > r && this.resize((r *= 2) > t ? r : t),
+                t -= 4,
+                this.littleEndian ? (this.view[t + 3] = e >>> 24 & 255,
+                this.view[t + 2] = e >>> 16 & 255,
+                this.view[t + 1] = e >>> 8 & 255,
+                this.view[t] = 255 & e) : (this.view[t] = e >>> 24 & 255,
+                this.view[t + 1] = e >>> 16 & 255,
+                this.view[t + 2] = e >>> 8 & 255,
+                this.view[t + 3] = 255 & e),
+                i && (this.offset += 4),
+                this
+            }
+            ,
+            i.writeUInt32 = i.writeUint32,
+            i.readUint32 = function(e) {
+                var t = void 0 === e;
+                if (t && (e = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 4 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+4) <= " + this.buffer.byteLength)
+                }
+                var i = 0;
+                return this.littleEndian ? (i = this.view[e + 2] << 16,
+                i |= this.view[e + 1] << 8,
+                i |= this.view[e],
+                i += this.view[e + 3] << 24 >>> 0) : (i = this.view[e + 1] << 16,
+                i |= this.view[e + 2] << 8,
+                i |= this.view[e + 3],
+                i += this.view[e] << 24 >>> 0),
+                t && (this.offset += 4),
+                i
+            }
+            ,
+            i.readUInt32 = i.readUint32,
+            e && (i.writeInt64 = function(t, i) {
+                var r = void 0 === i;
+                if (r && (i = this.offset),
+                !this.noAssert) {
+                    if ("number" == typeof t)
+                        t = e.fromNumber(t);
+                    else if ("string" == typeof t)
+                        t = e.fromString(t);
+                    else if (!(t && t instanceof e))
+                        throw TypeError("Illegal value: " + t + " (not an integer or Long)");
+                    if ("number" != typeof i || i % 1 != 0)
+                        throw TypeError("Illegal offset: " + i + " (not an integer)");
+                    if ((i >>>= 0) < 0 || i + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + i + " (+0) <= " + this.buffer.byteLength)
+                }
+                "number" == typeof t ? t = e.fromNumber(t) : "string" == typeof t && (t = e.fromString(t)),
+                i += 8;
+                var n = this.buffer.byteLength;
+                i > n && this.resize((n *= 2) > i ? n : i),
+                i -= 8;
+                var o = t.low
+                  , a = t.high;
+                return this.littleEndian ? (this.view[i + 3] = o >>> 24 & 255,
+                this.view[i + 2] = o >>> 16 & 255,
+                this.view[i + 1] = o >>> 8 & 255,
+                this.view[i] = 255 & o,
+                i += 4,
+                this.view[i + 3] = a >>> 24 & 255,
+                this.view[i + 2] = a >>> 16 & 255,
+                this.view[i + 1] = a >>> 8 & 255,
+                this.view[i] = 255 & a) : (this.view[i] = a >>> 24 & 255,
+                this.view[i + 1] = a >>> 16 & 255,
+                this.view[i + 2] = a >>> 8 & 255,
+                this.view[i + 3] = 255 & a,
+                i += 4,
+                this.view[i] = o >>> 24 & 255,
+                this.view[i + 1] = o >>> 16 & 255,
+                this.view[i + 2] = o >>> 8 & 255,
+                this.view[i + 3] = 255 & o),
+                r && (this.offset += 8),
+                this
+            }
+            ,
+            i.writeLong = i.writeInt64,
+            i.readInt64 = function(t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 8 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+8) <= " + this.buffer.byteLength)
+                }
+                var r = 0
+                  , n = 0;
+                this.littleEndian ? (r = this.view[t + 2] << 16,
+                r |= this.view[t + 1] << 8,
+                r |= this.view[t],
+                r += this.view[t + 3] << 24 >>> 0,
+                t += 4,
+                n = this.view[t + 2] << 16,
+                n |= this.view[t + 1] << 8,
+                n |= this.view[t],
+                n += this.view[t + 3] << 24 >>> 0) : (n = this.view[t + 1] << 16,
+                n |= this.view[t + 2] << 8,
+                n |= this.view[t + 3],
+                n += this.view[t] << 24 >>> 0,
+                t += 4,
+                r = this.view[t + 1] << 16,
+                r |= this.view[t + 2] << 8,
+                r |= this.view[t + 3],
+                r += this.view[t] << 24 >>> 0);
+                var o = new e(r,n,!1);
+                return i && (this.offset += 8),
+                o
+            }
+            ,
+            i.readLong = i.readInt64,
+            i.writeUint64 = function(t, i) {
+                var r = void 0 === i;
+                if (r && (i = this.offset),
+                !this.noAssert) {
+                    if ("number" == typeof t)
+                        t = e.fromNumber(t);
+                    else if ("string" == typeof t)
+                        t = e.fromString(t);
+                    else if (!(t && t instanceof e))
+                        throw TypeError("Illegal value: " + t + " (not an integer or Long)");
+                    if ("number" != typeof i || i % 1 != 0)
+                        throw TypeError("Illegal offset: " + i + " (not an integer)");
+                    if ((i >>>= 0) < 0 || i + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + i + " (+0) <= " + this.buffer.byteLength)
+                }
+                "number" == typeof t ? t = e.fromNumber(t) : "string" == typeof t && (t = e.fromString(t)),
+                i += 8;
+                var n = this.buffer.byteLength;
+                i > n && this.resize((n *= 2) > i ? n : i),
+                i -= 8;
+                var o = t.low
+                  , a = t.high;
+                return this.littleEndian ? (this.view[i + 3] = o >>> 24 & 255,
+                this.view[i + 2] = o >>> 16 & 255,
+                this.view[i + 1] = o >>> 8 & 255,
+                this.view[i] = 255 & o,
+                i += 4,
+                this.view[i + 3] = a >>> 24 & 255,
+                this.view[i + 2] = a >>> 16 & 255,
+                this.view[i + 1] = a >>> 8 & 255,
+                this.view[i] = 255 & a) : (this.view[i] = a >>> 24 & 255,
+                this.view[i + 1] = a >>> 16 & 255,
+                this.view[i + 2] = a >>> 8 & 255,
+                this.view[i + 3] = 255 & a,
+                i += 4,
+                this.view[i] = o >>> 24 & 255,
+                this.view[i + 1] = o >>> 16 & 255,
+                this.view[i + 2] = o >>> 8 & 255,
+                this.view[i + 3] = 255 & o),
+                r && (this.offset += 8),
+                this
+            }
+            ,
+            i.writeUInt64 = i.writeUint64,
+            i.readUint64 = function(t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 8 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+8) <= " + this.buffer.byteLength)
+                }
+                var r = 0
+                  , n = 0;
+                this.littleEndian ? (r = this.view[t + 2] << 16,
+                r |= this.view[t + 1] << 8,
+                r |= this.view[t],
+                r += this.view[t + 3] << 24 >>> 0,
+                t += 4,
+                n = this.view[t + 2] << 16,
+                n |= this.view[t + 1] << 8,
+                n |= this.view[t],
+                n += this.view[t + 3] << 24 >>> 0) : (n = this.view[t + 1] << 16,
+                n |= this.view[t + 2] << 8,
+                n |= this.view[t + 3],
+                n += this.view[t] << 24 >>> 0,
+                t += 4,
+                r = this.view[t + 1] << 16,
+                r |= this.view[t + 2] << 8,
+                r |= this.view[t + 3],
+                r += this.view[t] << 24 >>> 0);
+                var o = new e(r,n,!0);
+                return i && (this.offset += 8),
+                o
+            }
+            ,
+            i.readUInt64 = i.readUint64),
+            i.writeFloat32 = function(e, t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e)
+                        throw TypeError("Illegal value: " + e + " (not a number)");
+                    if ("number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
+                }
+                t += 4;
+                var r = this.buffer.byteLength;
+                return t > r && this.resize((r *= 2) > t ? r : t),
+                t -= 4,
+                x(this.view, e, t, this.littleEndian, 23, 4),
+                i && (this.offset += 4),
+                this
+            }
+            ,
+            i.writeFloat = i.writeFloat32,
+            i.readFloat32 = function(e) {
+                var t = void 0 === e;
+                if (t && (e = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 4 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+4) <= " + this.buffer.byteLength)
+                }
+                var i = s(this.view, e, this.littleEndian, 23, 4);
+                return t && (this.offset += 4),
+                i
+            }
+            ,
+            i.readFloat = i.readFloat32,
+            i.writeFloat64 = function(e, t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e)
+                        throw TypeError("Illegal value: " + e + " (not a number)");
+                    if ("number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
+                }
+                t += 8;
+                var r = this.buffer.byteLength;
+                return t > r && this.resize((r *= 2) > t ? r : t),
+                t -= 8,
+                x(this.view, e, t, this.littleEndian, 52, 8),
+                i && (this.offset += 8),
+                this
+            }
+            ,
+            i.writeDouble = i.writeFloat64,
+            i.readFloat64 = function(e) {
+                var t = void 0 === e;
+                if (t && (e = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 8 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+8) <= " + this.buffer.byteLength)
+                }
+                var i = s(this.view, e, this.littleEndian, 52, 8);
+                return t && (this.offset += 8),
+                i
+            }
+            ,
+            i.readDouble = i.readFloat64,
+            t.MAX_VARINT32_BYTES = 5,
+            t.calculateVarint32 = function(e) {
+                return (e >>>= 0) < 128 ? 1 : e < 16384 ? 2 : e < 1 << 21 ? 3 : e < 1 << 28 ? 4 : 5
+            }
+            ,
+            t.zigZagEncode32 = function(e) {
+                return ((e |= 0) << 1 ^ e >> 31) >>> 0
+            }
+            ,
+            t.zigZagDecode32 = function(e) {
+                return e >>> 1 ^ -(1 & e) | 0
+            }
+            ,
+            i.writeVarint32 = function(e, i) {
+                var r = void 0 === i;
+                if (r && (i = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal value: " + e + " (not an integer)");
+                    if (e |= 0,
+                    "number" != typeof i || i % 1 != 0)
+                        throw TypeError("Illegal offset: " + i + " (not an integer)");
+                    if ((i >>>= 0) < 0 || i + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + i + " (+0) <= " + this.buffer.byteLength)
+                }
+                var n, o = t.calculateVarint32(e);
+                i += o;
+                var a = this.buffer.byteLength;
+                for (i > a && this.resize((a *= 2) > i ? a : i),
+                i -= o,
+                e >>>= 0; e >= 128; )
+                    n = 127 & e | 128,
+                    this.view[i++] = n,
+                    e >>>= 7;
+                return this.view[i++] = e,
+                r ? (this.offset = i,
+                this) : o
+            }
+            ,
+            i.writeVarint32ZigZag = function(e, i) {
+                return this.writeVarint32(t.zigZagEncode32(e), i)
+            }
+            ,
+            i.readVarint32 = function(e) {
+                var t = void 0 === e;
+                if (t && (e = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength)
+                }
+                var i, r = 0, n = 0;
+                do {
+                    if (!this.noAssert && e > this.limit) {
+                        var o = Error("Truncated");
+                        throw o.truncated = !0,
+                        o
+                    }
+                    i = this.view[e++],
+                    r < 5 && (n |= (127 & i) << 7 * r),
+                    ++r
+                } while (0 != (128 & i));return n |= 0,
+                t ? (this.offset = e,
+                n) : {
+                    value: n,
+                    length: r
+                }
+            }
+            ,
+            i.readVarint32ZigZag = function(e) {
+                var i = this.readVarint32(e);
+                return "object" == typeof i ? i.value = t.zigZagDecode32(i.value) : i = t.zigZagDecode32(i),
+                i
+            }
+            ,
+            e && (t.MAX_VARINT64_BYTES = 10,
+            t.calculateVarint64 = function(t) {
+                "number" == typeof t ? t = e.fromNumber(t) : "string" == typeof t && (t = e.fromString(t));
+                var i = t.toInt() >>> 0
+                  , r = t.shiftRightUnsigned(28).toInt() >>> 0
+                  , n = t.shiftRightUnsigned(56).toInt() >>> 0;
+                return 0 == n ? 0 == r ? i < 16384 ? i < 128 ? 1 : 2 : i < 1 << 21 ? 3 : 4 : r < 16384 ? r < 128 ? 5 : 6 : r < 1 << 21 ? 7 : 8 : n < 128 ? 9 : 10
+            }
+            ,
+            t.zigZagEncode64 = function(t) {
+                return "number" == typeof t ? t = e.fromNumber(t, !1) : "string" == typeof t ? t = e.fromString(t, !1) : !1 !== t.unsigned && (t = t.toSigned()),
+                t.shiftLeft(1).xor(t.shiftRight(63)).toUnsigned()
+            }
+            ,
+            t.zigZagDecode64 = function(t) {
+                return "number" == typeof t ? t = e.fromNumber(t, !1) : "string" == typeof t ? t = e.fromString(t, !1) : !1 !== t.unsigned && (t = t.toSigned()),
+                t.shiftRightUnsigned(1).xor(t.and(e.ONE).toSigned().negate()).toSigned()
+            }
+            ,
+            i.writeVarint64 = function(i, r) {
+                var n = void 0 === r;
+                if (n && (r = this.offset),
+                !this.noAssert) {
+                    if ("number" == typeof i)
+                        i = e.fromNumber(i);
+                    else if ("string" == typeof i)
+                        i = e.fromString(i);
+                    else if (!(i && i instanceof e))
+                        throw TypeError("Illegal value: " + i + " (not an integer or Long)");
+                    if ("number" != typeof r || r % 1 != 0)
+                        throw TypeError("Illegal offset: " + r + " (not an integer)");
+                    if ((r >>>= 0) < 0 || r + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + r + " (+0) <= " + this.buffer.byteLength)
+                }
+                "number" == typeof i ? i = e.fromNumber(i, !1) : "string" == typeof i ? i = e.fromString(i, !1) : !1 !== i.unsigned && (i = i.toSigned());
+                var o = t.calculateVarint64(i)
+                  , a = i.toInt() >>> 0
+                  , s = i.shiftRightUnsigned(28).toInt() >>> 0
+                  , x = i.shiftRightUnsigned(56).toInt() >>> 0;
+                r += o;
+                var l = this.buffer.byteLength;
+                switch (r > l && this.resize((l *= 2) > r ? l : r),
+                r -= o,
+                o) {
+                case 10:
+                    this.view[r + 9] = x >>> 7 & 1;
+                case 9:
+                    this.view[r + 8] = 9 !== o ? 128 | x : 127 & x;
+                case 8:
+                    this.view[r + 7] = 8 !== o ? s >>> 21 | 128 : s >>> 21 & 127;
+                case 7:
+                    this.view[r + 6] = 7 !== o ? s >>> 14 | 128 : s >>> 14 & 127;
+                case 6:
+                    this.view[r + 5] = 6 !== o ? s >>> 7 | 128 : s >>> 7 & 127;
+                case 5:
+                    this.view[r + 4] = 5 !== o ? 128 | s : 127 & s;
+                case 4:
+                    this.view[r + 3] = 4 !== o ? a >>> 21 | 128 : a >>> 21 & 127;
+                case 3:
+                    this.view[r + 2] = 3 !== o ? a >>> 14 | 128 : a >>> 14 & 127;
+                case 2:
+                    this.view[r + 1] = 2 !== o ? a >>> 7 | 128 : a >>> 7 & 127;
+                case 1:
+                    this.view[r] = 1 !== o ? 128 | a : 127 & a
+                }
+                return n ? (this.offset += o,
+                this) : o
+            }
+            ,
+            i.writeVarint64ZigZag = function(e, i) {
+                return this.writeVarint64(t.zigZagEncode64(e), i)
+            }
+            ,
+            i.readVarint64 = function(t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 1 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+1) <= " + this.buffer.byteLength)
+                }
+                var r = t
+                  , n = 0
+                  , o = 0
+                  , a = 0
+                  , s = 0;
+                if (n = 127 & (s = this.view[t++]),
+                128 & s && (n |= (127 & (s = this.view[t++])) << 7,
+                (128 & s || this.noAssert && void 0 === s) && (n |= (127 & (s = this.view[t++])) << 14,
+                (128 & s || this.noAssert && void 0 === s) && (n |= (127 & (s = this.view[t++])) << 21,
+                (128 & s || this.noAssert && void 0 === s) && (o = 127 & (s = this.view[t++]),
+                (128 & s || this.noAssert && void 0 === s) && (o |= (127 & (s = this.view[t++])) << 7,
+                (128 & s || this.noAssert && void 0 === s) && (o |= (127 & (s = this.view[t++])) << 14,
+                (128 & s || this.noAssert && void 0 === s) && (o |= (127 & (s = this.view[t++])) << 21,
+                (128 & s || this.noAssert && void 0 === s) && (a = 127 & (s = this.view[t++]),
+                (128 & s || this.noAssert && void 0 === s) && (a |= (127 & (s = this.view[t++])) << 7,
+                128 & s || this.noAssert && void 0 === s))))))))))
+                    throw Error("Buffer overrun");
+                var x = e.fromBits(n | o << 28, o >>> 4 | a << 24, !1);
+                return i ? (this.offset = t,
+                x) : {
+                    value: x,
+                    length: t - r
+                }
+            }
+            ,
+            i.readVarint64ZigZag = function(i) {
+                var r = this.readVarint64(i);
+                return r && r.value instanceof e ? r.value = t.zigZagDecode64(r.value) : r = t.zigZagDecode64(r),
+                r
+            }
+            ),
+            i.writeCString = function(e, t) {
+                var i = void 0 === t;
+                i && (t = this.offset);
+                var r, n = e.length;
+                if (!this.noAssert) {
+                    if ("string" != typeof e)
+                        throw TypeError("Illegal str: Not a string");
+                    for (r = 0; r < n; ++r)
+                        if (0 === e.charCodeAt(r))
+                            throw RangeError("Illegal str: Contains NULL-characters");
+                    if ("number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
+                }
+                n = c.calculateUTF16asUTF8(o(e))[1],
+                t += n + 1;
+                var a = this.buffer.byteLength;
+                return t > a && this.resize((a *= 2) > t ? a : t),
+                t -= n + 1,
+                c.encodeUTF16toUTF8(o(e), function(e) {
+                    this.view[t++] = e
+                }
+                .bind(this)),
+                this.view[t++] = 0,
+                i ? (this.offset = t,
+                this) : n
+            }
+            ,
+            i.readCString = function(e) {
+                var t = void 0 === e;
+                if (t && (e = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength)
+                }
+                var i, r = e, n = -1;
+                return c.decodeUTF8toUTF16(function() {
+                    if (0 === n)
+                        return null;
+                    if (e >= this.limit)
+                        throw RangeError("Illegal range: Truncated data, " + e + " < " + this.limit);
+                    return 0 === (n = this.view[e++]) ? null : n
+                }
+                .bind(this), i = a(), !0),
+                t ? (this.offset = e,
+                i()) : {
+                    string: i(),
+                    length: e - r
+                }
+            }
+            ,
+            i.writeIString = function(e, t) {
+                var i = void 0 === t;
+                if (i && (t = this.offset),
+                !this.noAssert) {
+                    if ("string" != typeof e)
+                        throw TypeError("Illegal str: Not a string");
+                    if ("number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
+                }
+                var r, n = t;
+                r = c.calculateUTF16asUTF8(o(e), this.noAssert)[1],
+                t += 4 + r;
+                var a = this.buffer.byteLength;
+                if (t > a && this.resize((a *= 2) > t ? a : t),
+                t -= 4 + r,
+                this.littleEndian ? (this.view[t + 3] = r >>> 24 & 255,
+                this.view[t + 2] = r >>> 16 & 255,
+                this.view[t + 1] = r >>> 8 & 255,
+                this.view[t] = 255 & r) : (this.view[t] = r >>> 24 & 255,
+                this.view[t + 1] = r >>> 16 & 255,
+                this.view[t + 2] = r >>> 8 & 255,
+                this.view[t + 3] = 255 & r),
+                t += 4,
+                c.encodeUTF16toUTF8(o(e), function(e) {
+                    this.view[t++] = e
+                }
+                .bind(this)),
+                t !== n + 4 + r)
+                    throw RangeError("Illegal range: Truncated data, " + t + " == " + (t + 4 + r));
+                return i ? (this.offset = t,
+                this) : t - n
+            }
+            ,
+            i.readIString = function(e) {
+                var i = void 0 === e;
+                if (i && (e = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 4 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+4) <= " + this.buffer.byteLength)
+                }
+                var r = e
+                  , n = this.readUint32(e)
+                  , o = this.readUTF8String(n, t.METRICS_BYTES, e += 4);
+                return e += o.length,
+                i ? (this.offset = e,
+                o.string) : {
+                    string: o.string,
+                    length: e - r
+                }
+            }
+            ,
+            t.METRICS_CHARS = "c",
+            t.METRICS_BYTES = "b",
+            i.writeUTF8String = function(e, t) {
+                var i, r = void 0 === t;
+                if (r && (t = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: " + t + " (not an integer)");
+                    if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength)
+                }
+                var n = t;
+                i = c.calculateUTF16asUTF8(o(e))[1],
+                t += i;
+                var a = this.buffer.byteLength;
+                return t > a && this.resize((a *= 2) > t ? a : t),
+                t -= i,
+                c.encodeUTF16toUTF8(o(e), function(e) {
+                    this.view[t++] = e
+                }
+                .bind(this)),
+                r ? (this.offset = t,
+                this) : t - n
+            }
+            ,
+            i.writeString = i.writeUTF8String,
+            t.calculateUTF8Chars = function(e) {
+                return c.calculateUTF16asUTF8(o(e))[0]
+            }
+            ,
+            t.calculateUTF8Bytes = function(e) {
+                return c.calculateUTF16asUTF8(o(e))[1]
+            }
+            ,
+            t.calculateString = t.calculateUTF8Bytes,
+            i.readUTF8String = function(e, i, r) {
+                "number" == typeof i && (r = i,
+                i = void 0);
+                var n = void 0 === r;
+                if (n && (r = this.offset),
+                void 0 === i && (i = t.METRICS_CHARS),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal length: " + e + " (not an integer)");
+                    if (e |= 0,
+                    "number" != typeof r || r % 1 != 0)
+                        throw TypeError("Illegal offset: " + r + " (not an integer)");
+                    if ((r >>>= 0) < 0 || r + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + r + " (+0) <= " + this.buffer.byteLength)
+                }
+                var o, s = 0, x = r;
+                if (i === t.METRICS_CHARS) {
+                    if (o = a(),
+                    c.decodeUTF8(function() {
+                        return s < e && r < this.limit ? this.view[r++] : null
+                    }
+                    .bind(this), (function(e) {
+                        ++s,
+                        c.UTF8toUTF16(e, o)
                     }
                     )),
-                    window.GeoGlobe.Util.extend(window.GeoGlobe, window._GeoGlobe),
-                    GeoGlobe.LngLat.prototype.CLASS_NAME = "GeoGlobe.LngLat",
-                    GeoGlobe.LngLatBounds.prototype.clone = function () {
-                        return new GeoGlobe.LngLatBounds(this._sw, this._ne)
+                    s !== e)
+                        throw RangeError("Illegal range: Truncated data, " + s + " == " + e);
+                    return n ? (this.offset = r,
+                    o()) : {
+                        string: o(),
+                        length: r - x
                     }
-                    ,
-                    GeoGlobe.LngLatBounds.prototype.contains = function (e, t, i) {
-                        return null == i && (i = !0),
-                            null != e && null != t && (e = GeoGlobe.Util.toFloat(e),
-                                t = GeoGlobe.Util.toFloat(t),
-                                i ? e >= this._sw.lng && e <= this._ne.lng && t >= this._sw.lat && t <= this._ne.lat : e > this._sw.lng && e < this._ne.lng && t > this._sw.lat && t < this._ne.lat)
+                }
+                if (i === t.METRICS_BYTES) {
+                    if (!this.noAssert) {
+                        if ("number" != typeof r || r % 1 != 0)
+                            throw TypeError("Illegal offset: " + r + " (not an integer)");
+                        if ((r >>>= 0) < 0 || r + e > this.buffer.byteLength)
+                            throw RangeError("Illegal offset: 0 <= " + r + " (+" + e + ") <= " + this.buffer.byteLength)
                     }
-                    ,
-                    GeoGlobe.LngLatBounds.prototype.getWidth = function () {
-                        return this._ne.lng - this._sw.lng
+                    var l = r + e;
+                    if (c.decodeUTF8toUTF16(function() {
+                        return r < l ? this.view[r++] : null
                     }
-                    ,
-                    GeoGlobe.LngLatBounds.prototype.containsLonLat = function (e, t) {
-                        "boolean" == typeof t && (t = {
-                            inclusive: t
-                        }),
-                            t = t || {};
-                        var i = this.contains(e.lng, e.lat, t.inclusive)
-                            , r = t.worldBounds;
-                        if (r && !i) {
-                            var n = r.getWidth()
-                                , o = (r._sw.lng + r._ne.lng) / 2
-                                , a = Math.round((e.lng - o) / n);
-                            i = this.containsLonLat({
-                                lng: e.lng - a * n,
-                                lat: e.lat
-                            }, {
-                                inclusive: t.inclusive
-                            })
-                        }
-                        return i
+                    .bind(this), o = a(), this.noAssert),
+                    r !== l)
+                        throw RangeError("Illegal range: Truncated data, " + r + " == " + l);
+                    return n ? (this.offset = r,
+                    o()) : {
+                        string: o(),
+                        length: r - x
                     }
-                    ,
-                    GeoGlobe.LngLatBounds.prototype.equals = function (e) {
-                        var t = !1;
-                        return null != e && (t = this._sw.lng == e._sw.lng && this._ne.lng == e._ne.lng && this._ne.lat == e._ne.lat && this._sw.lat == e._sw.lat),
-                            t
+                }
+                throw TypeError("Unsupported metrics: " + i)
+            }
+            ,
+            i.readString = i.readUTF8String,
+            i.writeVString = function(e, i) {
+                var r = void 0 === i;
+                if (r && (i = this.offset),
+                !this.noAssert) {
+                    if ("string" != typeof e)
+                        throw TypeError("Illegal str: Not a string");
+                    if ("number" != typeof i || i % 1 != 0)
+                        throw TypeError("Illegal offset: " + i + " (not an integer)");
+                    if ((i >>>= 0) < 0 || i + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + i + " (+0) <= " + this.buffer.byteLength)
+                }
+                var n, a, s = i;
+                n = c.calculateUTF16asUTF8(o(e), this.noAssert)[1],
+                a = t.calculateVarint32(n),
+                i += a + n;
+                var x = this.buffer.byteLength;
+                if (i > x && this.resize((x *= 2) > i ? x : i),
+                i -= a + n,
+                i += this.writeVarint32(n, i),
+                c.encodeUTF16toUTF8(o(e), function(e) {
+                    this.view[i++] = e
+                }
+                .bind(this)),
+                i !== s + n + a)
+                    throw RangeError("Illegal range: Truncated data, " + i + " == " + (i + n + a));
+                return r ? (this.offset = i,
+                this) : i - s
+            }
+            ,
+            i.readVString = function(e) {
+                var i = void 0 === e;
+                if (i && (e = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength)
+                }
+                var r = e
+                  , n = this.readVarint32(e)
+                  , o = this.readUTF8String(n.value, t.METRICS_BYTES, e += n.length);
+                return e += o.length,
+                i ? (this.offset = e,
+                o.string) : {
+                    string: o.string,
+                    length: e - r
+                }
+            }
+            ,
+            i.append = function(e, i, r) {
+                "number" != typeof i && "string" == typeof i || (r = i,
+                i = void 0);
+                var n = void 0 === r;
+                if (n && (r = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof r || r % 1 != 0)
+                        throw TypeError("Illegal offset: " + r + " (not an integer)");
+                    if ((r >>>= 0) < 0 || r + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + r + " (+0) <= " + this.buffer.byteLength)
+                }
+                e instanceof t || (e = t.wrap(e, i));
+                var o = e.limit - e.offset;
+                if (o <= 0)
+                    return this;
+                r += o;
+                var a = this.buffer.byteLength;
+                return r > a && this.resize((a *= 2) > r ? a : r),
+                r -= o,
+                this.view.set(e.view.subarray(e.offset, e.limit), r),
+                e.offset += o,
+                n && (this.offset += o),
+                this
+            }
+            ,
+            i.appendTo = function(e, t) {
+                return e.append(this, t),
+                this
+            }
+            ,
+            i.assert = function(e) {
+                return this.noAssert = !e,
+                this
+            }
+            ,
+            i.capacity = function() {
+                return this.buffer.byteLength
+            }
+            ,
+            i.clear = function() {
+                return this.offset = 0,
+                this.limit = this.buffer.byteLength,
+                this.markedOffset = -1,
+                this
+            }
+            ,
+            i.clone = function(e) {
+                var i = new t(0,this.littleEndian,this.noAssert);
+                return e ? (i.buffer = new ArrayBuffer(this.buffer.byteLength),
+                i.view = new Uint8Array(i.buffer)) : (i.buffer = this.buffer,
+                i.view = this.view),
+                i.offset = this.offset,
+                i.markedOffset = this.markedOffset,
+                i.limit = this.limit,
+                i
+            }
+            ,
+            i.compact = function(e, t) {
+                if (void 0 === e && (e = this.offset),
+                void 0 === t && (t = this.limit),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal begin: Not an integer");
+                    if (e >>>= 0,
+                    "number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal end: Not an integer");
+                    if (t >>>= 0,
+                    e < 0 || e > t || t > this.buffer.byteLength)
+                        throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength)
+                }
+                if (0 === e && t === this.buffer.byteLength)
+                    return this;
+                var i = t - e;
+                if (0 === i)
+                    return this.buffer = r,
+                    this.view = null,
+                    this.markedOffset >= 0 && (this.markedOffset -= e),
+                    this.offset = 0,
+                    this.limit = 0,
+                    this;
+                var n = new ArrayBuffer(i)
+                  , o = new Uint8Array(n);
+                return o.set(this.view.subarray(e, t)),
+                this.buffer = n,
+                this.view = o,
+                this.markedOffset >= 0 && (this.markedOffset -= e),
+                this.offset = 0,
+                this.limit = i,
+                this
+            }
+            ,
+            i.copy = function(e, i) {
+                if (void 0 === e && (e = this.offset),
+                void 0 === i && (i = this.limit),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal begin: Not an integer");
+                    if (e >>>= 0,
+                    "number" != typeof i || i % 1 != 0)
+                        throw TypeError("Illegal end: Not an integer");
+                    if (i >>>= 0,
+                    e < 0 || e > i || i > this.buffer.byteLength)
+                        throw RangeError("Illegal range: 0 <= " + e + " <= " + i + " <= " + this.buffer.byteLength)
+                }
+                if (e === i)
+                    return new t(0,this.littleEndian,this.noAssert);
+                var r = i - e
+                  , n = new t(r,this.littleEndian,this.noAssert);
+                return n.offset = 0,
+                n.limit = r,
+                n.markedOffset >= 0 && (n.markedOffset -= e),
+                this.copyTo(n, 0, e, i),
+                n
+            }
+            ,
+            i.copyTo = function(e, i, r, n) {
+                var o, a;
+                if (!this.noAssert && !t.isByteBuffer(e))
+                    throw TypeError("Illegal target: Not a ByteBuffer");
+                if (i = (a = void 0 === i) ? e.offset : 0 | i,
+                r = (o = void 0 === r) ? this.offset : 0 | r,
+                n = void 0 === n ? this.limit : 0 | n,
+                i < 0 || i > e.buffer.byteLength)
+                    throw RangeError("Illegal target range: 0 <= " + i + " <= " + e.buffer.byteLength);
+                if (r < 0 || n > this.buffer.byteLength)
+                    throw RangeError("Illegal source range: 0 <= " + r + " <= " + this.buffer.byteLength);
+                var s = n - r;
+                return 0 === s ? e : (e.ensureCapacity(i + s),
+                e.view.set(this.view.subarray(r, n), i),
+                o && (this.offset += s),
+                a && (e.offset += s),
+                this)
+            }
+            ,
+            i.ensureCapacity = function(e) {
+                var t = this.buffer.byteLength;
+                return t < e ? this.resize((t *= 2) > e ? t : e) : this
+            }
+            ,
+            i.fill = function(e, t, i) {
+                var r = void 0 === t;
+                if (r && (t = this.offset),
+                "string" == typeof e && e.length > 0 && (e = e.charCodeAt(0)),
+                void 0 === t && (t = this.offset),
+                void 0 === i && (i = this.limit),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal value: " + e + " (not an integer)");
+                    if (e |= 0,
+                    "number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal begin: Not an integer");
+                    if (t >>>= 0,
+                    "number" != typeof i || i % 1 != 0)
+                        throw TypeError("Illegal end: Not an integer");
+                    if (i >>>= 0,
+                    t < 0 || t > i || i > this.buffer.byteLength)
+                        throw RangeError("Illegal range: 0 <= " + t + " <= " + i + " <= " + this.buffer.byteLength)
+                }
+                if (t >= i)
+                    return this;
+                for (; t < i; )
+                    this.view[t++] = e;
+                return r && (this.offset = t),
+                this
+            }
+            ,
+            i.flip = function() {
+                return this.limit = this.offset,
+                this.offset = 0,
+                this
+            }
+            ,
+            i.mark = function(e) {
+                if (e = void 0 === e ? this.offset : e,
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal offset: " + e + " (not an integer)");
+                    if ((e >>>= 0) < 0 || e + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + e + " (+0) <= " + this.buffer.byteLength)
+                }
+                return this.markedOffset = e,
+                this
+            }
+            ,
+            i.order = function(e) {
+                if (!this.noAssert && "boolean" != typeof e)
+                    throw TypeError("Illegal littleEndian: Not a boolean");
+                return this.littleEndian = !!e,
+                this
+            }
+            ,
+            i.LE = function(e) {
+                return this.littleEndian = void 0 === e || !!e,
+                this
+            }
+            ,
+            i.BE = function(e) {
+                return this.littleEndian = void 0 !== e && !e,
+                this
+            }
+            ,
+            i.prepend = function(e, i, r) {
+                "number" != typeof i && "string" == typeof i || (r = i,
+                i = void 0);
+                var n = void 0 === r;
+                if (n && (r = this.offset),
+                !this.noAssert) {
+                    if ("number" != typeof r || r % 1 != 0)
+                        throw TypeError("Illegal offset: " + r + " (not an integer)");
+                    if ((r >>>= 0) < 0 || r + 0 > this.buffer.byteLength)
+                        throw RangeError("Illegal offset: 0 <= " + r + " (+0) <= " + this.buffer.byteLength)
+                }
+                e instanceof t || (e = t.wrap(e, i));
+                var o = e.limit - e.offset;
+                if (o <= 0)
+                    return this;
+                var a = o - r;
+                if (a > 0) {
+                    var s = new ArrayBuffer(this.buffer.byteLength + a)
+                      , x = new Uint8Array(s);
+                    x.set(this.view.subarray(r, this.buffer.byteLength), o),
+                    this.buffer = s,
+                    this.view = x,
+                    this.offset += a,
+                    this.markedOffset >= 0 && (this.markedOffset += a),
+                    this.limit += a,
+                    r += a
+                } else
+                    new Uint8Array(this.buffer);
+                return this.view.set(e.view.subarray(e.offset, e.limit), r - o),
+                e.offset = e.limit,
+                n && (this.offset -= o),
+                this
+            }
+            ,
+            i.prependTo = function(e, t) {
+                return e.prepend(this, t),
+                this
+            }
+            ,
+            i.printDebug = function(e) {
+                "function" != typeof e && (e = console.log.bind(console)),
+                e(this.toString() + "\n-------------------------------------------------------------------\n" + this.toDebug(!0))
+            }
+            ,
+            i.remaining = function() {
+                return this.limit - this.offset
+            }
+            ,
+            i.reset = function() {
+                return this.markedOffset >= 0 ? (this.offset = this.markedOffset,
+                this.markedOffset = -1) : this.offset = 0,
+                this
+            }
+            ,
+            i.resize = function(e) {
+                if (!this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal capacity: " + e + " (not an integer)");
+                    if ((e |= 0) < 0)
+                        throw RangeError("Illegal capacity: 0 <= " + e)
+                }
+                if (this.buffer.byteLength < e) {
+                    var t = new ArrayBuffer(e)
+                      , i = new Uint8Array(t);
+                    i.set(this.view),
+                    this.buffer = t,
+                    this.view = i
+                }
+                return this
+            }
+            ,
+            i.reverse = function(e, t) {
+                if (void 0 === e && (e = this.offset),
+                void 0 === t && (t = this.limit),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal begin: Not an integer");
+                    if (e >>>= 0,
+                    "number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal end: Not an integer");
+                    if (t >>>= 0,
+                    e < 0 || e > t || t > this.buffer.byteLength)
+                        throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength)
+                }
+                return e === t || Array.prototype.reverse.call(this.view.subarray(e, t)),
+                this
+            }
+            ,
+            i.skip = function(e) {
+                if (!this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal length: " + e + " (not an integer)");
+                    e |= 0
+                }
+                var t = this.offset + e;
+                if (!this.noAssert && (t < 0 || t > this.buffer.byteLength))
+                    throw RangeError("Illegal length: 0 <= " + this.offset + " + " + e + " <= " + this.buffer.byteLength);
+                return this.offset = t,
+                this
+            }
+            ,
+            i.slice = function(e, t) {
+                if (void 0 === e && (e = this.offset),
+                void 0 === t && (t = this.limit),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal begin: Not an integer");
+                    if (e >>>= 0,
+                    "number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal end: Not an integer");
+                    if (t >>>= 0,
+                    e < 0 || e > t || t > this.buffer.byteLength)
+                        throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength)
+                }
+                var i = this.clone();
+                return i.offset = e,
+                i.limit = t,
+                i
+            }
+            ,
+            i.toBuffer = function(e) {
+                var t = this.offset
+                  , i = this.limit;
+                if (!this.noAssert) {
+                    if ("number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal offset: Not an integer");
+                    if (t >>>= 0,
+                    "number" != typeof i || i % 1 != 0)
+                        throw TypeError("Illegal limit: Not an integer");
+                    if (i >>>= 0,
+                    t < 0 || t > i || i > this.buffer.byteLength)
+                        throw RangeError("Illegal range: 0 <= " + t + " <= " + i + " <= " + this.buffer.byteLength)
+                }
+                if (!e && 0 === t && i === this.buffer.byteLength)
+                    return this.buffer;
+                if (t === i)
+                    return r;
+                var n = new ArrayBuffer(i - t);
+                return new Uint8Array(n).set(new Uint8Array(this.buffer).subarray(t, i), 0),
+                n
+            }
+            ,
+            i.toArrayBuffer = i.toBuffer,
+            i.toString = function(e, t, i) {
+                if (void 0 === e)
+                    return "ByteBufferAB(offset=" + this.offset + ",markedOffset=" + this.markedOffset + ",limit=" + this.limit + ",capacity=" + this.capacity() + ")";
+                switch ("number" == typeof e && (i = t = e = "utf8"),
+                e) {
+                case "utf8":
+                    return this.toUTF8(t, i);
+                case "base64":
+                    return this.toBase64(t, i);
+                case "hex":
+                    return this.toHex(t, i);
+                case "binary":
+                    return this.toBinary(t, i);
+                case "debug":
+                    return this.toDebug();
+                case "columns":
+                    return this.toColumns();
+                default:
+                    throw Error("Unsupported encoding: " + e)
+                }
+            }
+            ;
+            var l = function() {
+                for (var e = {}, t = [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, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47], i = [], r = 0, n = t.length; r < n; ++r)
+                    i[t[r]] = r;
+                return e.encode = function(e, i) {
+                    for (var r, n; null !== (r = e()); )
+                        i(t[r >> 2 & 63]),
+                        n = (3 & r) << 4,
+                        null !== (r = e()) ? (i(t[63 & ((n |= r >> 4 & 15) | r >> 4 & 15)]),
+                        n = (15 & r) << 2,
+                        null !== (r = e()) ? (i(t[63 & (n | r >> 6 & 3)]),
+                        i(t[63 & r])) : (i(t[63 & n]),
+                        i(61))) : (i(t[63 & n]),
+                        i(61),
+                        i(61))
+                }
+                ,
+                e.decode = function(e, t) {
+                    var r, n, o;
+                    function a(e) {
+                        throw Error("Illegal character code: " + e)
                     }
-                    ,
-                    GeoGlobe.LngLatBounds.prototype.toBBOX = function (e, t) {
-                        null == e && (e = 6);
-                        var i = Math.pow(10, e)
-                            , r = Math.round(this._sw.lng * i) / i
-                            , n = Math.round(this._sw.lat * i) / i
-                            , o = Math.round(this._ne.lng * i) / i
-                            , a = Math.round(this._ne.lat * i) / i;
-                        return !0 === t ? n + "," + r + "," + a + "," + o : r + "," + n + "," + o + "," + a
-                    }
-                    ,
-                    GeoGlobe.LngLatBounds.prototype.toGeometry = function () {
-                        return new GeoGlobe.Geometry.Polygon([new GeoGlobe.Geometry.LinearRing([new GeoGlobe.Geometry.Point(this._sw.lng, this._sw.lat), new GeoGlobe.Geometry.Point(this._ne.lng, this._sw.lat), new GeoGlobe.Geometry.Point(this._ne.lng, this._ne.lat), new GeoGlobe.Geometry.Point(this._sw.lng, this._ne.lat)])])
-                    }
-                    ,
-                    GeoGlobe.LngLatBounds.prototype.getCenterLonLat = function () {
-                        return this.centerLonLat || (this.centerLonLat = new GeoGlobe.LngLat((this._sw.lng + this._ne.lng) / 2, (this._sw.lat + this._ne.lat) / 2)),
-                            this.centerLonLat
-                    }
-                    ,
-                    GeoGlobe.LngLatBounds.prototype.CLASS_NAME = "GeoGlobe.LngLatBounds",
-                    GeoGlobe.LngLatBounds.fromString = function (e, t) {
-                        var i = e.split(",");
-                        return GeoGlobe.LngLatBounds.fromArray(i, t)
-                    }
-                    ,
-                    GeoGlobe.LngLatBounds.fromArray = function (e, t) {
-                        return !0 === t ? new GeoGlobe.LngLatBounds(new GeoGlobe.LngLat(e[1], e[0]), new GeoGlobe.LngLat(e[3], e[2])) : new GeoGlobe.LngLatBounds(new GeoGlobe.LngLat(e[0], e[1]), new GeoGlobe.LngLat(e[2], e[3]))
-                    }
-                    ,
-                    GeoGlobe.Geometry = GeoGlobe.Class4OL({
-                        id: null,
-                        parent: null,
-                        bounds: null,
-                        initialize: function () {
-                            this.id = GeoGlobe.Util.createUniqueID(this.CLASS_NAME + "_")
-                        },
-                        destroy: function () {
-                            this.id = null,
-                                this.bounds = null
-                        },
-                        clone: function () {
-                            return new GeoGlobe.Geometry
-                        },
-                        setBounds: function (e) {
-                            e && (this.bounds = e.clone())
-                        },
-                        clearBounds: function () {
-                            this.bounds = null,
-                                this.parent && this.parent.clearBounds()
-                        },
-                        extendBounds: function (e) {
-                            this.getBounds() ? this.bounds.extend(e) : this.setBounds(e)
-                        },
-                        getBounds: function () {
-                            return null == this.bounds && this.calculateBounds(),
-                                this.bounds
-                        },
-                        calculateBounds: function () { },
-                        distanceTo: function (e, t) { },
-                        getVertices: function (e) { },
-                        atPoint: function (e, t, i) {
-                            var r = !1;
-                            if (null != this.getBounds() && null != e) {
-                                var n = null != t ? t : 0
-                                    , o = null != i ? i : 0
-                                    , a = new GeoGlobe.LngLat(this.bounds._sw.lng - n, this.bounds._sw.lat - o)
-                                    , s = new GeoGlobe.LngLat(this.bounds._ne.lng + n, this.bounds._ne.lat + o);
-                                r = new GeoGlobe.LngLatBounds(a, s).containsLonLat(e)
+                    for (; null !== (r = e()); )
+                        if (void 0 === (n = i[r]) && a(r),
+                        null !== (r = e()) && (void 0 === (o = i[r]) && a(r),
+                        t(n << 2 >>> 0 | (48 & o) >> 4),
+                        null !== (r = e()))) {
+                            if (void 0 === (n = i[r])) {
+                                if (61 === r)
+                                    break;
+                                a(r)
                             }
-                            return r
-                        },
-                        getLength: function () {
-                            return 0
-                        },
-                        getArea: function () {
-                            return 0
-                        },
-                        getCentroid: function () {
-                            return null
-                        },
-                        toString: function () {
-                            return GeoGlobe.Format && GeoGlobe.Format.WKT ? GeoGlobe.Format.WKT.prototype.write(new GeoGlobe.Feature(this)) : Object.prototype.toString.call(this)
-                        },
-                        CLASS_NAME: "GeoGlobe.Geometry"
-                    }),
-                    GeoGlobe.Geometry.fromWKT = function (e) {
-                        var t;
-                        if (GeoGlobe.Format && GeoGlobe.Format.WKT) {
-                            var i = GeoGlobe.Geometry.fromWKT.format;
-                            i || (i = new GeoGlobe.Format.WKT,
-                                GeoGlobe.Geometry.fromWKT.format = i);
-                            var r = i.read(e);
-                            if (r instanceof GeoGlobe.Feature)
-                                t = r.geometry;
-                            else if (GeoGlobe.Util.isArray(r)) {
-                                for (var n = r.length, o = new Array(n), a = 0; a < n; ++a)
-                                    o[a] = r[a].geometry;
-                                t = new GeoGlobe.Geometry.Collection(o)
-                            }
-                        }
-                        return t
-                    }
-                    ,
-                    GeoGlobe.Geometry.segmentsIntersect = function (e, t, i) {
-                        var r = i && i.point
-                            , n = i && i.tolerance
-                            , o = !1
-                            , a = e.x1 - t.x1
-                            , s = e.y1 - t.y1
-                            , x = e.x2 - e.x1
-                            , l = e.y2 - e.y1
-                            , c = t.y2 - t.y1
-                            , u = t.x2 - t.x1
-                            , h = c * x - u * l
-                            , f = u * s - c * a
-                            , d = x * s - l * a;
-                        if (0 == h)
-                            0 == f && 0 == d && (o = !0);
-                        else {
-                            var g = f / h
-                                , p = d / h;
-                            if (g >= 0 && g <= 1 && p >= 0 && p <= 1)
-                                if (r) {
-                                    var m = e.x1 + g * x
-                                        , b = e.y1 + g * l;
-                                    o = new GeoGlobe.Geometry.Point(m, b)
-                                } else
-                                    o = !0
-                        }
-                        if (n)
-                            if (o) {
-                                if (r) {
-                                    var v, C = [e, t];
-                                    e: for (var y = 0; y < 2; ++y) {
-                                        v = C[y];
-                                        for (var _ = 1; _ < 3; ++_)
-                                            if (m = v["x" + _],
-                                                b = v["y" + _],
-                                                Math.sqrt(Math.pow(m - o.x, 2) + Math.pow(b - o.y, 2)) < n) {
-                                                o.x = m,
-                                                    o.y = b;
-                                                break e
-                                            }
-                                    }
-                                }
-                            } else {
-                                var A, I, w;
-                                C = [e, t];
-                                e: for (y = 0; y < 2; ++y)
-                                    for (A = C[y],
-                                        I = C[(y + 1) % 2],
-                                        _ = 1; _ < 3; ++_)
-                                        if (w = {
-                                            x: A["x" + _],
-                                            y: A["y" + _]
-                                        },
-                                            GeoGlobe.Geometry.distanceToSegment(w, I).distance < n) {
-                                            o = !r || new GeoGlobe.Geometry.Point(w.x, w.y);
-                                            break e
-                                        }
-                            }
-                        return o
-                    }
-                    ,
-                    GeoGlobe.Geometry.distanceToSegment = function (e, t) {
-                        var i = GeoGlobe.Geometry.distanceSquaredToSegment(e, t);
-                        return i.distance = Math.sqrt(i.distance),
-                            i
-                    }
-                    ,
-                    GeoGlobe.Geometry.distanceSquaredToSegment = function (e, t) {
-                        var i, r, n = e.x, o = e.y, a = t.x1, s = t.y1, x = t.x2, l = t.y2, c = x - a, u = l - s, h = 0 == c && 0 == u ? 0 : (c * (n - a) + u * (o - s)) / (Math.pow(c, 2) + Math.pow(u, 2));
-                        return h <= 0 ? (i = a,
-                            r = s) : h >= 1 ? (i = x,
-                                r = l) : (i = a + h * c,
-                                    r = s + h * u),
-                        {
-                            distance: Math.pow(i - n, 2) + Math.pow(r - o, 2),
-                            x: i,
-                            y: r,
-                            along: h
-                        }
-                    }
-                    ,
-                    GeoGlobe.Geometry.fromGeoJson = function (e) {
-                        var t;
-                        if (GeoGlobe.Format && GeoGlobe.Format.GeoJSON) {
-                            format = new GeoGlobe.Format.GeoJSON;
-                            var i = null;
-                            try {
-                                i = format.parseGeometry(geojson)
-                            } catch (e) {
-                                console.log(e)
-                            }
-                            t = i
-                        }
-                        return t
-                    }
-                    ,
-                    GeoGlobe.Geometry.Collection = GeoGlobe.Class4OL(GeoGlobe.Geometry, {
-                        components: null,
-                        componentTypes: null,
-                        initialize: function (e) {
-                            GeoGlobe.Geometry.prototype.initialize.apply(this, arguments),
-                                this.components = [],
-                                null != e && this.addComponents(e)
-                        },
-                        destroy: function () {
-                            this.components.length = 0,
-                                this.components = null,
-                                GeoGlobe.Geometry.prototype.destroy.apply(this, arguments)
-                        },
-                        clone: function clone() {
-                            for (var geometry = eval("new " + this.CLASS_NAME + "()"), i = 0, len = this.components.length; i < len; i++)
-                                geometry.addComponent(this.components[i].clone());
-                            return GeoGlobe.Util.applyDefaults(geometry, this),
-                                geometry
-                        },
-                        getComponentsString: function () {
-                            for (var e = [], t = 0, i = this.components.length; t < i; t++)
-                                e.push(this.components[t].toShortString());
-                            return e.join(",")
-                        },
-                        calculateBounds: function () {
-                            this.bounds = null;
-                            var e = new GeoGlobe.LngLatBounds
-                                , t = this.components;
-                            if (t)
-                                for (var i = 0, r = t.length; i < r; i++)
-                                    e.extend(t[i].getBounds());
-                            null != e._sw && null != e._sw && null != e._ne && null != e._ne && null != e._sw.lng && null != e._sw.lat && null != e._ne.lng && null != e._ne.lat && this.setBounds(e)
-                        },
-                        addComponents: function (e) {
-                            GeoGlobe.Util.isArray(e) || (e = [e]);
-                            for (var t = 0, i = e.length; t < i; t++)
-                                this.addComponent(e[t])
-                        },
-                        addComponent: function (e, t) {
-                            var i = !1;
-                            if (e && (null == this.componentTypes || GeoGlobe.Util.indexOf(this.componentTypes, e.CLASS_NAME) > -1)) {
-                                if (null != t && t < this.components.length) {
-                                    var r = this.components.slice(0, t)
-                                        , n = this.components.slice(t, this.components.length);
-                                    r.push(e),
-                                        this.components = r.concat(n)
-                                } else
-                                    this.components.push(e);
-                                e.parent = this,
-                                    this.clearBounds(),
-                                    i = !0
-                            }
-                            return i
-                        },
-                        removeComponents: function (e) {
-                            var t = !1;
-                            GeoGlobe.Util.isArray(e) || (e = [e]);
-                            for (var i = e.length - 1; i >= 0; --i)
-                                t = this.removeComponent(e[i]) || t;
-                            return t
-                        },
-                        removeComponent: function (e) {
-                            return GeoGlobe.Util.removeItem(this.components, e),
-                                this.clearBounds(),
-                                !0
-                        },
-                        getLength: function () {
-                            for (var e = 0, t = 0, i = this.components.length; t < i; t++)
-                                e += this.components[t].getLength();
-                            return e
-                        },
-                        getArea: function () {
-                            for (var e = 0, t = 0, i = this.components.length; t < i; t++)
-                                e += this.components[t].getArea();
-                            return e
-                        },
-                        getGeodesicArea: function (e) {
-                            for (var t = 0, i = 0, r = this.components.length; i < r; i++)
-                                t += this.components[i].getGeodesicArea(e);
-                            return t
-                        },
-                        getCentroid: function (e) {
-                            if (!e)
-                                return this.components.length && this.components[0].getCentroid();
-                            var t = this.components.length;
-                            if (!t)
-                                return !1;
-                            for (var i, r = [], n = [], o = 0, a = Number.MAX_VALUE, s = 0; s < t; ++s) {
-                                var x = (i = this.components[s]).getArea()
-                                    , l = i.getCentroid(!0);
-                                isNaN(x) || isNaN(l.x) || isNaN(l.y) || (r.push(x),
-                                    o += x,
-                                    a = x < a && x > 0 ? x : a,
-                                    n.push(l))
-                            }
-                            if (t = r.length,
-                                0 === o) {
-                                for (s = 0; s < t; ++s)
-                                    r[s] = 1;
-                                o = r.length
-                            } else {
-                                for (s = 0; s < t; ++s)
-                                    r[s] /= a;
-                                o /= a
-                            }
-                            var c = 0
-                                , u = 0;
-                            for (s = 0; s < t; ++s)
-                                l = n[s],
-                                    x = r[s],
-                                    c += l.x * x,
-                                    u += l.y * x;
-                            return new GeoGlobe.Geometry.Point(c / o, u / o)
-                        },
-                        getGeodesicLength: function (e) {
-                            for (var t = 0, i = 0, r = this.components.length; i < r; i++)
-                                t += this.components[i].getGeodesicLength(e);
-                            return t
-                        },
-                        move: function (e, t) {
-                            for (var i = 0, r = this.components.length; i < r; i++)
-                                this.components[i].move(e, t)
-                        },
-                        rotate: function (e, t) {
-                            for (var i = 0, r = this.components.length; i < r; ++i)
-                                this.components[i].rotate(e, t)
-                        },
-                        resize: function (e, t, i) {
-                            for (var r = 0; r < this.components.length; ++r)
-                                this.components[r].resize(e, t, i);
-                            return this
-                        },
-                        distanceTo: function (e, t) {
-                            for (var i, r, n, o = !(t && !1 === t.edge) && t && t.details, a = Number.POSITIVE_INFINITY, s = 0, x = this.components.length; s < x && (i = this.components[s].distanceTo(e, t),
-                                !((n = o ? i.distance : i) < a && (r = i,
-                                    0 == (a = n)))); ++s)
-                                ;
-                            return r
-                        },
-                        equals: function (e) {
-                            var t = !0;
-                            if (e && e.CLASS_NAME && this.CLASS_NAME == e.CLASS_NAME)
-                                if (GeoGlobe.Util.isArray(e.components) && e.components.length == this.components.length) {
-                                    for (var i = 0, r = this.components.length; i < r; ++i)
-                                        if (!this.components[i].equals(e.components[i])) {
-                                            t = !1;
-                                            break
-                                        }
-                                } else
-                                    t = !1;
-                            else
-                                t = !1;
-                            return t
-                        },
-                        transform: function (e, t) {
-                            if (e && t) {
-                                for (var i = 0, r = this.components.length; i < r; i++)
-                                    this.components[i].transform(e, t);
-                                this.bounds = null
-                            }
-                            return this
-                        },
-                        intersects: function (e) {
-                            for (var t = !1, i = 0, r = this.components.length; i < r && !(t = e.intersects(this.components[i])); ++i)
-                                ;
-                            return t
-                        },
-                        getVertices: function (e) {
-                            for (var t = [], i = 0, r = this.components.length; i < r; ++i)
-                                Array.prototype.push.apply(t, this.components[i].getVertices(e));
-                            return t
-                        },
-                        CLASS_NAME: "GeoGlobe.Geometry.Collection"
-                    }),
-                    GeoGlobe.Geometry.Point = GeoGlobe.Class4OL(GeoGlobe.Geometry, {
-                        x: null,
-                        y: null,
-                        initialize: function (e, t) {
-                            GeoGlobe.Geometry.prototype.initialize.apply(this, arguments),
-                                this.x = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e),
-                                this.y = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t)
-                        },
-                        clone: function (e) {
-                            return null == e && (e = new GeoGlobe.Geometry.Point(this.x, this.y)),
-                                GeoGlobe.Util.applyDefaults(e, this),
-                                e
-                        },
-                        calculateBounds: function () {
-                            var e = new GeoGlobe.LngLat(this.x, this.y)
-                                , t = new GeoGlobe.LngLat(this.x, this.y);
-                            this.bounds = new GeoGlobe.LngLatBounds(e, t)
-                        },
-                        distanceTo: function (e, t) {
-                            var i, r, n, o, a, s, x = !(t && !1 === t.edge) && t && t.details;
-                            return e instanceof GeoGlobe.Geometry.Point ? (r = this.x,
-                                n = this.y,
-                                o = e.x,
-                                a = e.y,
-                                i = Math.sqrt(Math.pow(r - o, 2) + Math.pow(n - a, 2)),
-                                s = x ? {
-                                    x0: r,
-                                    y0: n,
-                                    x1: o,
-                                    y1: a,
-                                    distance: i
-                                } : i) : (s = e.distanceTo(this, t),
-                                    x && (s = {
-                                        x0: s.x1,
-                                        y0: s.y1,
-                                        x1: s.x0,
-                                        y1: s.y0,
-                                        distance: s.distance
-                                    })),
-                                s
-                        },
-                        equals: function (e) {
-                            var t = !1;
-                            return null != e && (t = this.x == e.x && this.y == e.y || isNaN(this.x) && isNaN(this.y) && isNaN(e.x) && isNaN(e.y)),
-                                t
-                        },
-                        toShortString: function () {
-                            return this.x + ", " + this.y
-                        },
-                        move: function (e, t) {
-                            this.x = this.x + e,
-                                this.y = this.y + t,
-                                this.clearBounds()
-                        },
-                        rotate: function (e, t) {
-                            e *= Math.PI / 180;
-                            var i = this.distanceTo(t)
-                                , r = e + Math.atan2(this.y - t.y, this.x - t.x);
-                            this.x = t.x + i * Math.cos(r),
-                                this.y = t.y + i * Math.sin(r),
-                                this.clearBounds()
-                        },
-                        getCentroid: function () {
-                            return new GeoGlobe.Geometry.Point(this.x, this.y)
-                        },
-                        resize: function (e, t, i) {
-                            return i = null == i ? 1 : i,
-                                this.x = t.x + e * i * (this.x - t.x),
-                                this.y = t.y + e * (this.y - t.y),
-                                this.clearBounds(),
-                                this
-                        },
-                        intersects: function (e) {
-                            return "GeoGlobe.Geometry.Point" == e.CLASS_NAME ? this.equals(e) : e.intersects(this)
-                        },
-                        transform: function (e, t) {
-                            return e && t && (GeoGlobe.SpatialReference.transform(this, e, t),
-                                this.bounds = null),
-                                this
-                        },
-                        getVertices: function (e) {
-                            return [this]
-                        },
-                        CLASS_NAME: "GeoGlobe.Geometry.Point"
-                    }),
-                    GeoGlobe.Geometry.MultiPoint = GeoGlobe.Class4OL(GeoGlobe.Geometry.Collection, {
-                        componentTypes: ["GeoGlobe.Geometry.Point"],
-                        addPoint: function (e, t) {
-                            this.addComponent(e, t)
-                        },
-                        removePoint: function (e) {
-                            this.removeComponent(e)
-                        },
-                        CLASS_NAME: "GeoGlobe.Geometry.MultiPoint"
-                    }),
-                    GeoGlobe.Geometry.Curve = GeoGlobe.Class4OL(GeoGlobe.Geometry.MultiPoint, {
-                        componentTypes: ["GeoGlobe.Geometry.Point"],
-                        getLength: function () {
-                            var e = 0;
-                            if (this.components && this.components.length > 1)
-                                for (var t = 1, i = this.components.length; t < i; t++)
-                                    e += this.components[t - 1].distanceTo(this.components[t]);
-                            return e
-                        },
-                        getGeodesicLength: function (e) {
-                            var t = this;
-                            if (e) {
-                                var i = new GeoGlobe.SpatialReference("EPSG:4326");
-                                i.equals(e) || (t = this.clone().transform(e, i))
-                            }
-                            var r = 0;
-                            if (t.components && t.components.length > 1)
-                                for (var n, o, a = 1, s = t.components.length; a < s; a++)
-                                    n = t.components[a - 1],
-                                        o = t.components[a],
-                                        r += GeoGlobe.Util.distVincenty({
-                                            lng: n.x,
-                                            lat: n.y
-                                        }, {
-                                            lng: o.x,
-                                            lat: o.y
-                                        });
-                            return 1e3 * r
-                        },
-                        CLASS_NAME: "GeoGlobe.Geometry.Curve"
-                    }),
-                    GeoGlobe.Geometry.LineString = GeoGlobe.Class4OL(GeoGlobe.Geometry.Curve, {
-                        removeComponent: function (e) {
-                            var t = this.components && this.components.length > 2;
-                            return t && GeoGlobe.Geometry.Collection.prototype.removeComponent.apply(this, arguments),
-                                t
-                        },
-                        intersects: function (e) {
-                            var t = !1
-                                , i = e.CLASS_NAME;
-                            if ("GeoGlobe.Geometry.LineString" == i || "GeoGlobe.Geometry.LinearRing" == i || "GeoGlobe.Geometry.Point" == i) {
-                                var r, n, o, a, s, x, l, c, u, h = this.getSortedSegments();
-                                r = "GeoGlobe.Geometry.Point" == i ? [{
-                                    x1: e.x,
-                                    y1: e.y,
-                                    x2: e.x,
-                                    y2: e.y
-                                }] : e.getSortedSegments();
-                                e: for (var f = 0, d = h.length; f < d; ++f) {
-                                    o = (n = h[f]).x1,
-                                        a = n.x2,
-                                        s = n.y1,
-                                        x = n.y2;
-                                    for (var g = 0, p = r.length; g < p && !((l = r[g]).x1 > a); ++g)
-                                        if (!(l.x2 < o) && (c = l.y1,
-                                            u = l.y2,
-                                            !(Math.min(c, u) > Math.max(s, x)) && !(Math.max(c, u) < Math.min(s, x)) && GeoGlobe.Geometry.segmentsIntersect(n, l))) {
-                                            t = !0;
-                                            break e
-                                        }
-                                }
-                            } else
-                                t = e.intersects(this);
-                            return t
-                        },
-                        getSortedSegments: function () {
-                            for (var e, t, i = this.components.length - 1, r = new Array(i), n = 0; n < i; ++n)
-                                e = this.components[n],
-                                    t = this.components[n + 1],
-                                    e.x < t.x ? r[n] = {
-                                        x1: e.x,
-                                        y1: e.y,
-                                        x2: t.x,
-                                        y2: t.y
-                                    } : r[n] = {
-                                        x1: t.x,
-                                        y1: t.y,
-                                        x2: e.x,
-                                        y2: e.y
-                                    };
-                            return r.sort((function (e, t) {
-                                return e.x1 - t.x1
-                            }
-                            ))
-                        },
-                        splitWithSegment: function (e, t) {
-                            for (var i, r, n, o, a = !(t && !1 === t.edge), s = t && t.tolerance, x = [], l = this.getVertices(), c = [], u = [], h = !1, f = {
-                                point: !0,
-                                tolerance: s
-                            }, d = null, g = 0, p = l.length - 2; g <= p; ++g)
-                                if (i = l[g],
-                                    c.push(i.clone()),
-                                    r = l[g + 1],
-                                    o = {
-                                        x1: i.x,
-                                        y1: i.y,
-                                        x2: r.x,
-                                        y2: r.y
-                                    },
-                                    (n = GeoGlobe.Geometry.segmentsIntersect(e, o, f)) instanceof GeoGlobe.Geometry.Point && (n.x === e.x1 && n.y === e.y1 || n.x === e.x2 && n.y === e.y2 || n.equals(i) || n.equals(r) || a)) {
-                                    if (n.equals(u[u.length - 1]) || u.push(n.clone()),
-                                        0 === g && n.equals(i))
-                                        continue;
-                                    if (n.equals(r))
-                                        continue;
-                                    h = !0,
-                                        n.equals(i) || c.push(n),
-                                        x.push(new GeoGlobe.Geometry.LineString(c)),
-                                        c = [n.clone()]
-                                }
-                            if (h && (c.push(r.clone()),
-                                x.push(new GeoGlobe.Geometry.LineString(c))),
-                                u.length > 0) {
-                                var m = e.x1 < e.x2 ? 1 : -1
-                                    , b = e.y1 < e.y2 ? 1 : -1;
-                                d = {
-                                    lines: x,
-                                    points: u.sort((function (e, t) {
-                                        return m * e.x - m * t.x || b * e.y - b * t.y
-                                    }
-                                    ))
-                                }
-                            }
-                            return d
-                        },
-                        split: function (e, t) {
-                            var i, r, n, o, a = null, s = t && t.mutual;
-                            if (e instanceof GeoGlobe.Geometry.LineString) {
-                                var x, l, c, u, h, f, d = this.getVertices(), g = [];
-                                n = [];
-                                for (var p = 0, m = d.length - 2; p <= m; ++p) {
-                                    x = d[p],
-                                        l = d[p + 1],
-                                        c = {
-                                            x1: x.x,
-                                            y1: x.y,
-                                            x2: l.x,
-                                            y2: l.y
-                                        },
-                                        o = o || [e],
-                                        s && g.push(x.clone());
-                                    for (var b = 0; b < o.length; ++b)
-                                        if ((u = o[b].splitWithSegment(c, t)) && ((h = u.lines).length > 0 && (h.unshift(b, 1),
-                                            Array.prototype.splice.apply(o, h),
-                                            b += h.length - 2),
-                                            s))
-                                            for (var v = 0, C = u.points.length; v < C; ++v)
-                                                (f = u.points[v]).equals(x) || (g.push(f),
-                                                    n.push(new GeoGlobe.Geometry.LineString(g)),
-                                                    g = f.equals(l) ? [] : [f.clone()])
-                                }
-                                s && n.length > 0 && g.length > 0 && (g.push(l.clone()),
-                                    n.push(new GeoGlobe.Geometry.LineString(g)))
-                            } else
-                                a = e.splitWith(this, t);
-                            return o && o.length > 1 ? r = !0 : o = [],
-                                n && n.length > 1 ? i = !0 : n = [],
-                                (r || i) && (a = s ? [n, o] : o),
-                                a
-                        },
-                        splitWith: function (e, t) {
-                            return e.split(this, t)
-                        },
-                        getVertices: function (e) {
-                            return !0 === e ? [this.components[0], this.components[this.components.length - 1]] : !1 === e ? this.components.slice(1, this.components.length - 1) : this.components.slice()
-                        },
-                        distanceTo: function (e, t) {
-                            var i, r = !(t && !1 === t.edge) && t && t.details, n = {}, o = Number.POSITIVE_INFINITY;
-                            if (e instanceof GeoGlobe.Geometry.Point) {
-                                for (var a, s = this.getSortedSegments(), x = e.x, l = e.y, c = 0, u = s.length; c < u; ++c)
-                                    if (a = s[c],
-                                        (i = GeoGlobe.Geometry.distanceToSegment(e, a)).distance < o) {
-                                        if (n = i,
-                                            0 === (o = i.distance))
-                                            break
-                                    } else if (a.x2 > x && (l > a.y1 && l < a.y2 || l < a.y1 && l > a.y2))
+                            if (t((15 & o) << 4 >>> 0 | (60 & n) >> 2),
+                            null !== (r = e())) {
+                                if (void 0 === (o = i[r])) {
+                                    if (61 === r)
                                         break;
-                                n = r ? {
-                                    distance: n.distance,
-                                    x0: n.x,
-                                    y0: n.y,
-                                    x1: x,
-                                    y1: l
-                                } : n.distance
-                            } else if (e instanceof GeoGlobe.Geometry.LineString) {
-                                var h, f, d, g, p, m = this.getSortedSegments(), b = e.getSortedSegments(), v = b.length, C = {
-                                    point: !0
-                                };
-                                e: for (c = 0,
-                                    u = m.length; c < u; ++c) {
-                                    g = (h = m[c]).x1,
-                                        p = h.y1;
-                                    for (var y = 0; y < v; ++y) {
-                                        if (f = b[y],
-                                            d = GeoGlobe.Geometry.segmentsIntersect(h, f, C)) {
-                                            o = 0,
-                                                n = {
-                                                    distance: 0,
-                                                    x0: d.x,
-                                                    y0: d.y,
-                                                    x1: d.x,
-                                                    y1: d.y
-                                                };
-                                            break e
-                                        }
-                                        (i = GeoGlobe.Geometry.distanceToSegment({
-                                            x: g,
-                                            y: p
-                                        }, f)).distance < o && (n = {
-                                            distance: o = i.distance,
-                                            x0: g,
-                                            y0: p,
-                                            x1: i.x,
-                                            y1: i.y
-                                        })
-                                    }
+                                    a(r)
                                 }
-                                if (r || (n = n.distance),
-                                    0 !== o && h) {
-                                    i = e.distanceTo(new GeoGlobe.Geometry.Point(h.x2, h.y2), t);
-                                    var _ = r ? i.distance : i;
-                                    _ < o && (n = r ? {
-                                        distance: o,
-                                        x0: i.x1,
-                                        y0: i.y1,
-                                        x1: i.x0,
-                                        y1: i.y0
-                                    } : _)
-                                }
-                            } else
-                                n = e.distanceTo(this, t),
-                                    r && (n = {
-                                        distance: n.distance,
-                                        x0: n.x1,
-                                        y0: n.y1,
-                                        x1: n.x0,
-                                        y1: n.y0
-                                    });
-                            return n
-                        },
-                        simplify: function (e) {
-                            if (this && null !== this) {
-                                var t = this.getVertices();
-                                if (t.length < 3)
-                                    return this;
-                                var i = function (e, t, i) {
-                                    return Math.abs(.5 * (e.x * t.y + t.x * i.y + i.x * e.y - t.x * e.y - i.x * t.y - e.x * i.y)) / Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2)) * 2
-                                }
-                                    , r = t.length - 1
-                                    , n = [];
-                                for (n.push(0),
-                                    n.push(r); t[0].equals(t[r]);)
-                                    r--,
-                                        n.push(r);
-                                !function e(t, r, o, a) {
-                                    for (var s, x = 0, l = 0, c = r; c < o; c++)
-                                        (s = i(t[r], t[o], t[c])) > x && (x = s,
-                                            l = c);
-                                    x > a && l != r && (n.push(l),
-                                        e(t, r, l, a),
-                                        e(t, l, o, a))
-                                }(t, 0, r, e);
-                                var o = [];
-                                n.sort((function (e, t) {
-                                    return e - t
-                                }
-                                ));
-                                for (var a = 0; a < n.length; a++)
-                                    o.push(t[n[a]]);
-                                return new GeoGlobe.Geometry.LineString(o)
+                                t((3 & n) << 6 >>> 0 | o)
                             }
-                            return this
-                        },
-                        CLASS_NAME: "GeoGlobe.Geometry.LineString"
-                    }),
-                    GeoGlobe.Geometry.LineString.createCurveLine = function (e) {
-                        for (var t = [], i = 0; i < e.length - 1; i++) {
-                            var r = GeoGlobe.Geometry.LineString.getCurveCoordinatesByTwoPoints(e[i], e[i + 1]);
-                            r && r.length > 0 && (t = t.concat(r))
                         }
-                        return new GeoGlobe.Geometry.LineString(t)
+                }
+                ,
+                e.test = function(e) {
+                    return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)
+                }
+                ,
+                e
+            }();
+            i.toBase64 = function(e, t) {
+                if (void 0 === e && (e = this.offset),
+                void 0 === t && (t = this.limit),
+                t |= 0,
+                (e |= 0) < 0 || t > this.capacity || e > t)
+                    throw RangeError("begin, end");
+                var i;
+                return l.encode(function() {
+                    return e < t ? this.view[e++] : null
+                }
+                .bind(this), i = a()),
+                i()
+            }
+            ,
+            t.fromBase64 = function(e, i) {
+                if ("string" != typeof e)
+                    throw TypeError("str");
+                var r = new t(e.length / 4 * 3,i)
+                  , n = 0;
+                return l.decode(o(e), (function(e) {
+                    r.view[n++] = e
+                }
+                )),
+                r.limit = n,
+                r
+            }
+            ,
+            t.btoa = function(e) {
+                return t.fromBinary(e).toBase64()
+            }
+            ,
+            t.atob = function(e) {
+                return t.fromBase64(e).toBinary()
+            }
+            ,
+            i.toBinary = function(e, t) {
+                if (void 0 === e && (e = this.offset),
+                void 0 === t && (t = this.limit),
+                t |= 0,
+                (e |= 0) < 0 || t > this.capacity() || e > t)
+                    throw RangeError("begin, end");
+                if (e === t)
+                    return "";
+                for (var i = [], r = []; e < t; )
+                    i.push(this.view[e++]),
+                    i.length >= 1024 && (r.push(String.fromCharCode.apply(String, i)),
+                    i = []);
+                return r.join("") + String.fromCharCode.apply(String, i)
+            }
+            ,
+            t.fromBinary = function(e, i) {
+                if ("string" != typeof e)
+                    throw TypeError("str");
+                for (var r, n = 0, o = e.length, a = new t(o,i); n < o; ) {
+                    if ((r = e.charCodeAt(n)) > 255)
+                        throw RangeError("illegal char code: " + r);
+                    a.view[n++] = r
+                }
+                return a.limit = o,
+                a
+            }
+            ,
+            i.toDebug = function(e) {
+                for (var t, i = -1, r = this.buffer.byteLength, n = "", o = "", a = ""; i < r; ) {
+                    if (-1 !== i && (n += (t = this.view[i]) < 16 ? "0" + t.toString(16).toUpperCase() : t.toString(16).toUpperCase(),
+                    e && (o += t > 32 && t < 127 ? String.fromCharCode(t) : ".")),
+                    ++i,
+                    e && i > 0 && i % 16 == 0 && i !== r) {
+                        for (; n.length < 51; )
+                            n += " ";
+                        a += n + o + "\n",
+                        n = o = ""
                     }
-                    ,
-                    GeoGlobe.Geometry.LineString.getCurveCoordinatesByTwoPoints = function (e, t) {
-                        if (!(e && t && e instanceof GeoGlobe.Geometry.Point && t instanceof GeoGlobe.Geometry.Point))
-                            return null;
-                        var i = function (e) {
-                            return 1 - 2 * e + e * e
-                        }
-                            , r = function (e) {
-                                return 2 * e - 2 * e * e
+                    i === this.offset && i === this.limit ? n += i === this.markedOffset ? "!" : "|" : i === this.offset ? n += i === this.markedOffset ? "[" : "<" : i === this.limit ? n += i === this.markedOffset ? "]" : ">" : n += i === this.markedOffset ? "'" : e || 0 !== i && i !== r ? " " : ""
+                }
+                if (e && " " !== n) {
+                    for (; n.length < 51; )
+                        n += " ";
+                    a += n + o + "\n"
+                }
+                return e ? a : n
+            }
+            ,
+            t.fromDebug = function(e, i, r) {
+                for (var n, o, a = e.length, s = new t((a + 1) / 3 | 0,i,r), x = 0, l = 0, c = !1, u = !1, h = !1, f = !1, d = !1; x < a; ) {
+                    switch (n = e.charAt(x++)) {
+                    case "!":
+                        if (!r) {
+                            if (u || h || f) {
+                                d = !0;
+                                break
                             }
-                            , n = function (e) {
-                                return e * e
-                            };
-                        curveCoordinates = [];
-                        var o, a, s, x, l, c, u = 0, h = 0;
-                        if (void 0 !== t) {
-                            var f = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.y)
-                                , d = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t.y)
-                                , g = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.x)
-                                , p = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t.x);
-                            for (p > g && _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(p - g) > 180 && g < 0 && (g = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(360 + g)),
-                                g > p && _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(g - p) > 180 && p < 0 && (p = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(360 + p)),
-                                c = 0,
-                                d == f ? (o = 0,
-                                    a = g - p) : p == g ? (o = Math.PI / 2,
-                                        a = f - d) : (o = Math.atan((d - f) / (p - g)),
-                                            a = (d - f) / Math.sin(o)),
-                                0 == c && (c = o + Math.PI / 5),
-                                l = (s = a / 2) * Math.cos(c) + g,
-                                x = s * Math.sin(c) + f,
-                                u = 0; u < 31; u++)
-                                curveCoordinates.push(new GeoGlobe.Geometry.Point(g * i(h) + l * r(h) + p * n(h), f * i(h) + x * r(h) + d * n(h))),
-                                    h += 1 / 30;
-                            return curveCoordinates
+                            u = h = f = !0
                         }
-                        "undefined" != typeof curveCoordinates && (curveCoordinates = [])
+                        s.offset = s.markedOffset = s.limit = l,
+                        c = !1;
+                        break;
+                    case "|":
+                        if (!r) {
+                            if (u || f) {
+                                d = !0;
+                                break
+                            }
+                            u = f = !0
+                        }
+                        s.offset = s.limit = l,
+                        c = !1;
+                        break;
+                    case "[":
+                        if (!r) {
+                            if (u || h) {
+                                d = !0;
+                                break
+                            }
+                            u = h = !0
+                        }
+                        s.offset = s.markedOffset = l,
+                        c = !1;
+                        break;
+                    case "<":
+                        if (!r) {
+                            if (u) {
+                                d = !0;
+                                break
+                            }
+                            u = !0
+                        }
+                        s.offset = l,
+                        c = !1;
+                        break;
+                    case "]":
+                        if (!r) {
+                            if (f || h) {
+                                d = !0;
+                                break
+                            }
+                            f = h = !0
+                        }
+                        s.limit = s.markedOffset = l,
+                        c = !1;
+                        break;
+                    case ">":
+                        if (!r) {
+                            if (f) {
+                                d = !0;
+                                break
+                            }
+                            f = !0
+                        }
+                        s.limit = l,
+                        c = !1;
+                        break;
+                    case "'":
+                        if (!r) {
+                            if (h) {
+                                d = !0;
+                                break
+                            }
+                            h = !0
+                        }
+                        s.markedOffset = l,
+                        c = !1;
+                        break;
+                    case " ":
+                        c = !1;
+                        break;
+                    default:
+                        if (!r && c) {
+                            d = !0;
+                            break
+                        }
+                        if (o = parseInt(n + e.charAt(x++), 16),
+                        !r && (isNaN(o) || o < 0 || o > 255))
+                            throw TypeError("Illegal str: Not a debug encoded string");
+                        s.view[l++] = o,
+                        c = !0
                     }
-                    ,
-                    GeoGlobe.Geometry.LinearRing = GeoGlobe.Class4OL(GeoGlobe.Geometry.LineString, {
-                        componentTypes: ["GeoGlobe.Geometry.Point"],
-                        addComponent: function (e, t) {
-                            var i = !1
-                                , r = this.components.pop();
-                            null == t && e.equals(r) || (i = GeoGlobe.Geometry.Collection.prototype.addComponent.apply(this, arguments));
-                            var n = this.components[0];
-                            return GeoGlobe.Geometry.Collection.prototype.addComponent.apply(this, [n]),
-                                i
-                        },
-                        removeComponent: function (e) {
-                            var t = this.components && this.components.length > 3;
-                            if (t) {
-                                this.components.pop(),
-                                    GeoGlobe.Geometry.Collection.prototype.removeComponent.apply(this, arguments);
-                                var i = this.components[0];
-                                GeoGlobe.Geometry.Collection.prototype.addComponent.apply(this, [i])
+                    if (d)
+                        throw TypeError("Illegal str: Invalid symbol at " + x)
+                }
+                if (!r) {
+                    if (!u || !f)
+                        throw TypeError("Illegal str: Missing offset or limit");
+                    if (l < s.buffer.byteLength)
+                        throw TypeError("Illegal str: Not a debug encoded string (is it hex?) " + l + " < " + a)
+                }
+                return s
+            }
+            ,
+            i.toHex = function(e, t) {
+                if (e = void 0 === e ? this.offset : e,
+                t = void 0 === t ? this.limit : t,
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal begin: Not an integer");
+                    if (e >>>= 0,
+                    "number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal end: Not an integer");
+                    if (t >>>= 0,
+                    e < 0 || e > t || t > this.buffer.byteLength)
+                        throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength)
+                }
+                for (var i, r = new Array(t - e); e < t; )
+                    (i = this.view[e++]) < 16 ? r.push("0", i.toString(16)) : r.push(i.toString(16));
+                return r.join("")
+            }
+            ,
+            t.fromHex = function(e, i, r) {
+                if (!r) {
+                    if ("string" != typeof e)
+                        throw TypeError("Illegal str: Not a string");
+                    if (e.length % 2 != 0)
+                        throw TypeError("Illegal str: Length not a multiple of 2")
+                }
+                for (var n, o = e.length, a = new t(o / 2 | 0,i), s = 0, x = 0; s < o; s += 2) {
+                    if (n = parseInt(e.substring(s, s + 2), 16),
+                    !r && (!isFinite(n) || n < 0 || n > 255))
+                        throw TypeError("Illegal str: Contains non-hex characters");
+                    a.view[x++] = n
+                }
+                return a.limit = x,
+                a
+            }
+            ;
+            var c = function() {
+                var e = {
+                    MAX_CODEPOINT: 1114111,
+                    encodeUTF8: function(e, t) {
+                        var i = null;
+                        for ("number" == typeof e && (i = e,
+                        e = function() {
+                            return null
+                        }
+                        ); null !== i || null !== (i = e()); )
+                            i < 128 ? t(127 & i) : i < 2048 ? (t(i >> 6 & 31 | 192),
+                            t(63 & i | 128)) : i < 65536 ? (t(i >> 12 & 15 | 224),
+                            t(i >> 6 & 63 | 128),
+                            t(63 & i | 128)) : (t(i >> 18 & 7 | 240),
+                            t(i >> 12 & 63 | 128),
+                            t(i >> 6 & 63 | 128),
+                            t(63 & i | 128)),
+                            i = null
+                    },
+                    decodeUTF8: function(e, t) {
+                        for (var i, r, n, o, a = function(e) {
+                            e = e.slice(0, e.indexOf(null));
+                            var t = Error(e.toString());
+                            throw t.name = "TruncatedError",
+                            t.bytes = e,
+                            t
+                        }; null !== (i = e()); )
+                            if (0 == (128 & i))
+                                t(i);
+                            else if (192 == (224 & i))
+                                null === (r = e()) && a([i, r]),
+                                t((31 & i) << 6 | 63 & r);
+                            else if (224 == (240 & i))
+                                (null === (r = e()) || null === (n = e())) && a([i, r, n]),
+                                t((15 & i) << 12 | (63 & r) << 6 | 63 & n);
+                            else {
+                                if (240 != (248 & i))
+                                    throw RangeError("Illegal starting byte: " + i);
+                                (null === (r = e()) || null === (n = e()) || null === (o = e())) && a([i, r, n, o]),
+                                t((7 & i) << 18 | (63 & r) << 12 | (63 & n) << 6 | 63 & o)
                             }
-                            return t
-                        },
-                        move: function (e, t) {
-                            for (var i = 0, r = this.components.length; i < r - 1; i++)
-                                this.components[i].move(e, t)
-                        },
-                        rotate: function (e, t) {
-                            for (var i = 0, r = this.components.length; i < r - 1; ++i)
-                                this.components[i].rotate(e, t)
-                        },
-                        resize: function (e, t, i) {
-                            for (var r = 0, n = this.components.length; r < n - 1; ++r)
-                                this.components[r].resize(e, t, i);
-                            return this
-                        },
-                        transform: function (e, t) {
-                            if (e && t) {
-                                for (var i = 0, r = this.components.length; i < r - 1; i++)
-                                    this.components[i].transform(e, t);
-                                this.bounds = null
+                    },
+                    UTF16toUTF8: function(e, t) {
+                        for (var i, r = null; null !== (i = null !== r ? r : e()); )
+                            i >= 55296 && i <= 57343 && null !== (r = e()) && r >= 56320 && r <= 57343 ? (t(1024 * (i - 55296) + r - 56320 + 65536),
+                            r = null) : t(i);
+                        null !== r && t(r)
+                    },
+                    UTF8toUTF16: function(e, t) {
+                        var i = null;
+                        for ("number" == typeof e && (i = e,
+                        e = function() {
+                            return null
+                        }
+                        ); null !== i || null !== (i = e()); )
+                            i <= 65535 ? t(i) : (t(55296 + ((i -= 65536) >> 10)),
+                            t(i % 1024 + 56320)),
+                            i = null
+                    },
+                    encodeUTF16toUTF8: function(t, i) {
+                        e.UTF16toUTF8(t, (function(t) {
+                            e.encodeUTF8(t, i)
+                        }
+                        ))
+                    },
+                    decodeUTF8toUTF16: function(t, i) {
+                        e.decodeUTF8(t, (function(t) {
+                            e.UTF8toUTF16(t, i)
+                        }
+                        ))
+                    },
+                    calculateCodePoint: function(e) {
+                        return e < 128 ? 1 : e < 2048 ? 2 : e < 65536 ? 3 : 4
+                    },
+                    calculateUTF8: function(e) {
+                        for (var t, i = 0; null !== (t = e()); )
+                            i += t < 128 ? 1 : t < 2048 ? 2 : t < 65536 ? 3 : 4;
+                        return i
+                    },
+                    calculateUTF16asUTF8: function(t) {
+                        var i = 0
+                          , r = 0;
+                        return e.UTF16toUTF8(t, (function(e) {
+                            ++i,
+                            r += e < 128 ? 1 : e < 2048 ? 2 : e < 65536 ? 3 : 4
+                        }
+                        )),
+                        [i, r]
+                    }
+                };
+                return e
+            }();
+            return i.toUTF8 = function(e, t) {
+                if (void 0 === e && (e = this.offset),
+                void 0 === t && (t = this.limit),
+                !this.noAssert) {
+                    if ("number" != typeof e || e % 1 != 0)
+                        throw TypeError("Illegal begin: Not an integer");
+                    if (e >>>= 0,
+                    "number" != typeof t || t % 1 != 0)
+                        throw TypeError("Illegal end: Not an integer");
+                    if (t >>>= 0,
+                    e < 0 || e > t || t > this.buffer.byteLength)
+                        throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength)
+                }
+                var i;
+                try {
+                    c.decodeUTF8toUTF16(function() {
+                        return e < t ? this.view[e++] : null
+                    }
+                    .bind(this), i = a())
+                } catch (i) {
+                    if (e !== t)
+                        throw RangeError("Illegal range: Truncated data, " + e + " != " + t)
+                }
+                return i()
+            }
+            ,
+            t.fromUTF8 = function(e, i, r) {
+                if (!r && "string" != typeof e)
+                    throw TypeError("Illegal str: Not a string");
+                var n = new t(c.calculateUTF16asUTF8(o(e), !0)[1],i,r)
+                  , a = 0;
+                return c.encodeUTF16toUTF8(o(e), (function(e) {
+                    n.view[a++] = e
+                }
+                )),
+                n.limit = a,
+                n
+            }
+            ,
+            t
+        }
+        ) ? r.apply(t, n) : r) || (e.exports = o)
+    }
+    , function(e, t) {
+        (function(t) {
+            e.exports = t
+        }
+        ).call(this, {})
+    }
+    , function(e, t, i) {
+        (function(e) {
+            function i(e, t) {
+                for (var i = 0, r = e.length - 1; r >= 0; r--) {
+                    var n = e[r];
+                    "." === n ? e.splice(r, 1) : ".." === n ? (e.splice(r, 1),
+                    i++) : i && (e.splice(r, 1),
+                    i--)
+                }
+                if (t)
+                    for (; i--; i)
+                        e.unshift("..");
+                return e
+            }
+            function r(e, t) {
+                if (e.filter)
+                    return e.filter(t);
+                for (var i = [], r = 0; r < e.length; r++)
+                    t(e[r], r, e) && i.push(e[r]);
+                return i
+            }
+            t.resolve = function() {
+                for (var t = "", n = !1, o = arguments.length - 1; o >= -1 && !n; o--) {
+                    var a = o >= 0 ? arguments[o] : e.cwd();
+                    if ("string" != typeof a)
+                        throw new TypeError("Arguments to path.resolve must be strings");
+                    a && (t = a + "/" + t,
+                    n = "/" === a.charAt(0))
+                }
+                return (n ? "/" : "") + (t = i(r(t.split("/"), (function(e) {
+                    return !!e
+                }
+                )), !n).join("/")) || "."
+            }
+            ,
+            t.normalize = function(e) {
+                var o = t.isAbsolute(e)
+                  , a = "/" === n(e, -1);
+                return (e = i(r(e.split("/"), (function(e) {
+                    return !!e
+                }
+                )), !o).join("/")) || o || (e = "."),
+                e && a && (e += "/"),
+                (o ? "/" : "") + e
+            }
+            ,
+            t.isAbsolute = function(e) {
+                return "/" === e.charAt(0)
+            }
+            ,
+            t.join = function() {
+                var e = Array.prototype.slice.call(arguments, 0);
+                return t.normalize(r(e, (function(e, t) {
+                    if ("string" != typeof e)
+                        throw new TypeError("Arguments to path.join must be strings");
+                    return e
+                }
+                )).join("/"))
+            }
+            ,
+            t.relative = function(e, i) {
+                function r(e) {
+                    for (var t = 0; t < e.length && "" === e[t]; t++)
+                        ;
+                    for (var i = e.length - 1; i >= 0 && "" === e[i]; i--)
+                        ;
+                    return t > i ? [] : e.slice(t, i - t + 1)
+                }
+                e = t.resolve(e).substr(1),
+                i = t.resolve(i).substr(1);
+                for (var n = r(e.split("/")), o = r(i.split("/")), a = Math.min(n.length, o.length), s = a, x = 0; x < a; x++)
+                    if (n[x] !== o[x]) {
+                        s = x;
+                        break
+                    }
+                var l = [];
+                for (x = s; x < n.length; x++)
+                    l.push("..");
+                return (l = l.concat(o.slice(s))).join("/")
+            }
+            ,
+            t.sep = "/",
+            t.delimiter = ":",
+            t.dirname = function(e) {
+                if ("string" != typeof e && (e += ""),
+                0 === e.length)
+                    return ".";
+                for (var t = e.charCodeAt(0), i = 47 === t, r = -1, n = !0, o = e.length - 1; o >= 1; --o)
+                    if (47 === (t = e.charCodeAt(o))) {
+                        if (!n) {
+                            r = o;
+                            break
+                        }
+                    } else
+                        n = !1;
+                return -1 === r ? i ? "/" : "." : i && 1 === r ? "/" : e.slice(0, r)
+            }
+            ,
+            t.basename = function(e, t) {
+                var i = function(e) {
+                    "string" != typeof e && (e += "");
+                    var t, i = 0, r = -1, n = !0;
+                    for (t = e.length - 1; t >= 0; --t)
+                        if (47 === e.charCodeAt(t)) {
+                            if (!n) {
+                                i = t + 1;
+                                break
                             }
-                            return this
-                        },
-                        getCentroid: function () {
-                            if (this.components) {
-                                var e = this.components.length;
-                                if (e > 0 && e <= 2)
-                                    return this.components[0].clone();
-                                if (e > 2) {
-                                    var t = 0
-                                        , i = 0
-                                        , r = this.components[0].x
-                                        , n = this.components[0].y
-                                        , o = -1 * this.getArea();
-                                    if (0 != o) {
-                                        for (var a = 0; a < e - 1; a++) {
-                                            var s = this.components[a]
-                                                , x = this.components[a + 1];
-                                            t += (s.x + x.x - 2 * r) * ((s.x - r) * (x.y - n) - (x.x - r) * (s.y - n)),
-                                                i += (s.y + x.y - 2 * n) * ((s.x - r) * (x.y - n) - (x.x - r) * (s.y - n))
-                                        }
-                                        var l = r + t / (6 * o)
-                                            , c = n + i / (6 * o)
-                                    } else {
-                                        for (a = 0; a < e - 1; a++)
-                                            t += this.components[a].x,
-                                                i += this.components[a].y;
-                                        l = t / (e - 1),
-                                            c = i / (e - 1)
-                                    }
-                                    return new GeoGlobe.Geometry.Point(l, c)
-                                }
+                        } else
+                            -1 === r && (n = !1,
+                            r = t + 1);
+                    return -1 === r ? "" : e.slice(i, r)
+                }(e);
+                return t && i.substr(-1 * t.length) === t && (i = i.substr(0, i.length - t.length)),
+                i
+            }
+            ,
+            t.extname = function(e) {
+                "string" != typeof e && (e += "");
+                for (var t = -1, i = 0, r = -1, n = !0, o = 0, a = e.length - 1; a >= 0; --a) {
+                    var s = e.charCodeAt(a);
+                    if (47 !== s)
+                        -1 === r && (n = !1,
+                        r = a + 1),
+                        46 === s ? -1 === t ? t = a : 1 !== o && (o = 1) : -1 !== t && (o = -1);
+                    else if (!n) {
+                        i = a + 1;
+                        break
+                    }
+                }
+                return -1 === t || -1 === r || 0 === o || 1 === o && t === r - 1 && t === i + 1 ? "" : e.slice(t, r)
+            }
+            ;
+            var n = "b" === "ab".substr(-1) ? function(e, t, i) {
+                return e.substr(t, i)
+            }
+            : function(e, t, i) {
+                return t < 0 && (t = e.length + t),
+                e.substr(t, i)
+            }
+        }
+        ).call(this, i(95))
+    }
+    , function(e, t, i) {
+        for (var r, n = i(10), o = i(20), a = i(28), s = a("typed_array"), x = a("view"), l = !(!n.ArrayBuffer || !n.DataView), c = l, u = 0, h = "Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(","); u < 9; )
+            (r = n[h[u++]]) ? (o(r.prototype, s, !0),
+            o(r.prototype, x, !0)) : c = !1;
+        e.exports = {
+            ABV: l,
+            CONSTR: c,
+            TYPED: s,
+            VIEW: x
+        }
+    }
+    , function(e, t, i) {
+        var r = i(22);
+        e.exports = function(e, t, i) {
+            for (var n in t)
+                r(e, n, t[n], i);
+            return e
+        }
+    }
+    , function(e, t) {
+        e.exports = function(e, t, i, r) {
+            if (!(e instanceof t) || void 0 !== r && r in e)
+                throw TypeError(i + ": incorrect invocation!");
+            return e
+        }
+    }
+    , function(e, t, i) {
+        var r = i(29)
+          , n = i(19);
+        e.exports = function(e) {
+            if (void 0 === e)
+                return 0;
+            var t = r(e)
+              , i = n(t);
+            if (t !== i)
+                throw RangeError("Wrong length!");
+            return i
+        }
+    }
+    , function(e, t, i) {
+        var r = i(46);
+        e.exports = Array.isArray || function(e) {
+            return "Array" == r(e)
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(10)
+          , n = i(13)
+          , o = i(11)
+          , a = i(4)("species");
+        e.exports = function(e) {
+            var t = r[e];
+            o && t && !t[a] && n.f(t, a, {
+                configurable: !0,
+                get: function() {
+                    return this
+                }
+            })
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(23)
+          , n = i(19)
+          , o = i(130)
+          , a = "".endsWith;
+        r(r.P + r.F * i(131)("endsWith"), "String", {
+            endsWith: function(e) {
+                var t = o(this, e, "endsWith")
+                  , i = arguments.length > 1 ? arguments[1] : void 0
+                  , r = n(t.length)
+                  , s = void 0 === i ? r : Math.min(n(i), r)
+                  , x = String(e);
+                return a ? a.call(t, x, s) : t.slice(s - x.length, s) === x
+            }
+        })
+    }
+    , function(e, t, i) {
+        var r = i(80)
+          , n = i(38);
+        e.exports = function(e, t, i) {
+            if (r(t))
+                throw TypeError("String#" + i + " doesn't accept regex!");
+            return String(n(e))
+        }
+    }
+    , function(e, t, i) {
+        var r = i(4)("match");
+        e.exports = function(e) {
+            var t = /./;
+            try {
+                "/./"[e](t)
+            } catch (i) {
+                try {
+                    return t[r] = !1,
+                    !"/./"[e](t)
+                } catch (e) {}
+            }
+            return !0
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(23)
+          , n = i(19)
+          , o = i(130)
+          , a = "".startsWith;
+        r(r.P + r.F * i(131)("startsWith"), "String", {
+            startsWith: function(e) {
+                var t = o(this, e, "startsWith")
+                  , i = n(Math.min(arguments.length > 1 ? arguments[1] : void 0, t.length))
+                  , r = String(e);
+                return a ? a.call(t, r, i) : t.slice(i, i + r.length) === r
+            }
+        })
+    }
+    , function(e, t, i) {
+        var r = i(47)
+          , n = i(14)("toStringTag")
+          , o = "Arguments" == r(function() {
+            return arguments
+        }());
+        e.exports = function(e) {
+            var t, i, a;
+            return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (i = function(e, t) {
+                try {
+                    return e[t]
+                } catch (e) {}
+            }(t = Object(e), n)) ? i : o ? r(t) : "Object" == (a = r(t)) && "function" == typeof t.callee ? "Arguments" : a
+        }
+    }
+    , function(e, t, i) {
+        var r = i(27)
+          , n = i(60)
+          , o = i(14)("species");
+        e.exports = function(e, t) {
+            var i, a = r(e).constructor;
+            return void 0 === a || null == (i = r(a)[o]) ? t : n(i)
+        }
+    }
+    , function(e, t, i) {
+        var r, n, o, a = i(59), s = i(221), x = i(110), l = i(77), c = i(7), u = c.process, h = c.setImmediate, f = c.clearImmediate, d = c.MessageChannel, g = c.Dispatch, p = 0, m = {}, b = function() {
+            var e = +this;
+            if (m.hasOwnProperty(e)) {
+                var t = m[e];
+                delete m[e],
+                t()
+            }
+        }, v = function(e) {
+            b.call(e.data)
+        };
+        h && f || (h = function(e) {
+            for (var t = [], i = 1; arguments.length > i; )
+                t.push(arguments[i++]);
+            return m[++p] = function() {
+                s("function" == typeof e ? e : Function(e), t)
+            }
+            ,
+            r(p),
+            p
+        }
+        ,
+        f = function(e) {
+            delete m[e]
+        }
+        ,
+        "process" == i(47)(u) ? r = function(e) {
+            u.nextTick(a(b, e, 1))
+        }
+        : g && g.now ? r = function(e) {
+            g.now(a(b, e, 1))
+        }
+        : d ? (o = (n = new d).port2,
+        n.port1.onmessage = v,
+        r = a(o.postMessage, o, 1)) : c.addEventListener && "function" == typeof postMessage && !c.importScripts ? (r = function(e) {
+            c.postMessage(e + "", "*")
+        }
+        ,
+        c.addEventListener("message", v, !1)) : r = "onreadystatechange"in l("script") ? function(e) {
+            x.appendChild(l("script")).onreadystatechange = function() {
+                x.removeChild(this),
+                b.call(e)
+            }
+        }
+        : function(e) {
+            setTimeout(a(b, e, 1), 0)
+        }
+        ),
+        e.exports = {
+            set: h,
+            clear: f
+        }
+    }
+    , function(e, t) {
+        e.exports = function(e) {
+            try {
+                return {
+                    e: !1,
+                    v: e()
+                }
+            } catch (e) {
+                return {
+                    e: !0,
+                    v: e
+                }
+            }
+        }
+    }
+    , function(e, t, i) {
+        var r = i(27)
+          , n = i(33)
+          , o = i(94);
+        e.exports = function(e, t) {
+            if (r(e),
+            n(t) && t.constructor === e)
+                return t;
+            var i = o.f(e);
+            return (0,
+            i.resolve)(t),
+            i.promise
+        }
+    }
+    , function(e, t, i) {
+        var r = i(10)
+          , n = i(43)
+          , o = i(35)
+          , a = i(139)
+          , s = i(13).f;
+        e.exports = function(e) {
+            var t = n.Symbol || (n.Symbol = o ? {} : r.Symbol || {});
+            "_" == e.charAt(0) || e in t || s(t, e, {
+                value: a.f(e)
+            })
+        }
+    }
+    , function(e, t, i) {
+        t.f = i(4)
+    }
+    , function(e, t) {
+        t.f = Object.getOwnPropertySymbols
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(10)
+          , n = i(24)
+          , o = i(46)
+          , a = i(142)
+          , s = i(44)
+          , x = i(18)
+          , l = i(41).f
+          , c = i(67).f
+          , u = i(13).f
+          , h = i(235).trim
+          , f = r.Number
+          , d = f
+          , g = f.prototype
+          , p = "Number" == o(i(52)(g))
+          , m = "trim"in String.prototype
+          , b = function(e) {
+            var t = s(e, !1);
+            if ("string" == typeof t && t.length > 2) {
+                var i, r, n, o = (t = m ? t.trim() : h(t, 3)).charCodeAt(0);
+                if (43 === o || 45 === o) {
+                    if (88 === (i = t.charCodeAt(2)) || 120 === i)
+                        return NaN
+                } else if (48 === o) {
+                    switch (t.charCodeAt(1)) {
+                    case 66:
+                    case 98:
+                        r = 2,
+                        n = 49;
+                        break;
+                    case 79:
+                    case 111:
+                        r = 8,
+                        n = 55;
+                        break;
+                    default:
+                        return +t
+                    }
+                    for (var a, x = t.slice(2), l = 0, c = x.length; l < c; l++)
+                        if ((a = x.charCodeAt(l)) < 48 || a > n)
+                            return NaN;
+                    return parseInt(x, r)
+                }
+            }
+            return +t
+        };
+        if (!f(" 0o1") || !f("0b1") || f("+0x1")) {
+            f = function(e) {
+                var t = arguments.length < 1 ? 0 : e
+                  , i = this;
+                return i instanceof f && (p ? x((function() {
+                    g.valueOf.call(i)
+                }
+                )) : "Number" != o(i)) ? a(new d(b(t)), i, f) : b(t)
+            }
+            ;
+            for (var v, C = i(11) ? l(d) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","), y = 0; C.length > y; y++)
+                n(d, v = C[y]) && !n(f, v) && u(f, v, c(d, v));
+            f.prototype = g,
+            g.constructor = f,
+            i(22)(r, "Number", f)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(21)
+          , n = i(234).set;
+        e.exports = function(e, t, i) {
+            var o, a = t.constructor;
+            return a !== i && "function" == typeof a && (o = a.prototype) !== i.prototype && r(o) && n && n(e, o),
+            e
+        }
+    }
+    , function(e, t, i) {
+        var r = i(10)
+          , n = i(142)
+          , o = i(13).f
+          , a = i(41).f
+          , s = i(80)
+          , x = i(64)
+          , l = r.RegExp
+          , c = l
+          , u = l.prototype
+          , h = /a/g
+          , f = /a/g
+          , d = new l(h) !== h;
+        if (i(11) && (!d || i(18)((function() {
+            return f[i(4)("match")] = !1,
+            l(h) != h || l(f) == f || "/a/i" != l(h, "i")
+        }
+        )))) {
+            l = function(e, t) {
+                var i = this instanceof l
+                  , r = s(e)
+                  , o = void 0 === t;
+                return !i && r && e.constructor === l && o ? e : n(d ? new c(r && !o ? e.source : e,t) : c((r = e instanceof l) ? e.source : e, r && o ? x.call(e) : t), i ? this : u, l)
+            }
+            ;
+            for (var g = function(e) {
+                e in l || o(l, e, {
+                    configurable: !0,
+                    get: function() {
+                        return c[e]
+                    },
+                    set: function(t) {
+                        c[e] = t
+                    }
+                })
+            }, p = a(c), m = 0; p.length > m; )
+                g(p[m++]);
+            u.constructor = l,
+            l.prototype = u,
+            i(22)(r, "RegExp", l)
+        }
+        i(128)("RegExp")
+    }
+    , function(e, t, i) {
+        e.exports = i(193)
+    }
+    , function(e, t, i) {
+        e.exports = i(209)
+    }
+    , function(e, t, i) {
+        "use strict";
+        (function(e, t) {
+            var r = i(15)
+              , n = i.n(r)
+              , o = (i(69),
+            i(42),
+            i(9))
+              , a = i.n(o)
+              , s = i(3)
+              , x = i.n(s)
+              , l = (i(79),
+            i(16))
+              , c = i.n(l)
+              , u = (i(84),
+            i(85),
+            i(86),
+            i(8))
+              , h = i.n(u)
+              , f = i(2)
+              , d = i.n(f)
+              , g = i(1)
+              , p = i.n(g)
+              , m = (i(88),
+            i(0))
+              , b = i.n(m);
+            !function(e, r) {
+                var n = i(120);
+                window.dcodeIO = window.dcodeIO || {},
+                window.dcodeIO.ByteBuffer = n,
+                "function" == typeof define && i(121) ? define(["bytebuffer"], r) : "object" === b()(t) && t && t.exports ? t.exports = r(i(120), !0) : (e.dcodeIO = e.dcodeIO || {}).ProtoBuf = r(e.dcodeIO.ByteBuffer)
+            }(window, (function(t, r) {
+                var o, s = {};
+                return s.ByteBuffer = t,
+                s.Long = t.Long || null,
+                s.VERSION = "5.0.1",
+                s.WIRE_TYPES = {},
+                s.WIRE_TYPES.VARINT = 0,
+                s.WIRE_TYPES.BITS64 = 1,
+                s.WIRE_TYPES.LDELIM = 2,
+                s.WIRE_TYPES.STARTGROUP = 3,
+                s.WIRE_TYPES.ENDGROUP = 4,
+                s.WIRE_TYPES.BITS32 = 5,
+                s.PACKABLE_WIRE_TYPES = [s.WIRE_TYPES.VARINT, s.WIRE_TYPES.BITS64, s.WIRE_TYPES.BITS32],
+                s.TYPES = {
+                    int32: {
+                        name: "int32",
+                        wireType: s.WIRE_TYPES.VARINT,
+                        defaultValue: 0
+                    },
+                    uint32: {
+                        name: "uint32",
+                        wireType: s.WIRE_TYPES.VARINT,
+                        defaultValue: 0
+                    },
+                    sint32: {
+                        name: "sint32",
+                        wireType: s.WIRE_TYPES.VARINT,
+                        defaultValue: 0
+                    },
+                    int64: {
+                        name: "int64",
+                        wireType: s.WIRE_TYPES.VARINT,
+                        defaultValue: s.Long ? s.Long.ZERO : void 0
+                    },
+                    uint64: {
+                        name: "uint64",
+                        wireType: s.WIRE_TYPES.VARINT,
+                        defaultValue: s.Long ? s.Long.UZERO : void 0
+                    },
+                    sint64: {
+                        name: "sint64",
+                        wireType: s.WIRE_TYPES.VARINT,
+                        defaultValue: s.Long ? s.Long.ZERO : void 0
+                    },
+                    bool: {
+                        name: "bool",
+                        wireType: s.WIRE_TYPES.VARINT,
+                        defaultValue: !1
+                    },
+                    double: {
+                        name: "double",
+                        wireType: s.WIRE_TYPES.BITS64,
+                        defaultValue: 0
+                    },
+                    string: {
+                        name: "string",
+                        wireType: s.WIRE_TYPES.LDELIM,
+                        defaultValue: ""
+                    },
+                    bytes: {
+                        name: "bytes",
+                        wireType: s.WIRE_TYPES.LDELIM,
+                        defaultValue: null
+                    },
+                    fixed32: {
+                        name: "fixed32",
+                        wireType: s.WIRE_TYPES.BITS32,
+                        defaultValue: 0
+                    },
+                    sfixed32: {
+                        name: "sfixed32",
+                        wireType: s.WIRE_TYPES.BITS32,
+                        defaultValue: 0
+                    },
+                    fixed64: {
+                        name: "fixed64",
+                        wireType: s.WIRE_TYPES.BITS64,
+                        defaultValue: s.Long ? s.Long.UZERO : void 0
+                    },
+                    sfixed64: {
+                        name: "sfixed64",
+                        wireType: s.WIRE_TYPES.BITS64,
+                        defaultValue: s.Long ? s.Long.ZERO : void 0
+                    },
+                    float: {
+                        name: "float",
+                        wireType: s.WIRE_TYPES.BITS32,
+                        defaultValue: 0
+                    },
+                    enum: {
+                        name: "enum",
+                        wireType: s.WIRE_TYPES.VARINT,
+                        defaultValue: 0
+                    },
+                    message: {
+                        name: "message",
+                        wireType: s.WIRE_TYPES.LDELIM,
+                        defaultValue: null
+                    },
+                    group: {
+                        name: "group",
+                        wireType: s.WIRE_TYPES.STARTGROUP,
+                        defaultValue: null
+                    }
+                },
+                s.MAP_KEY_TYPES = [s.TYPES.int32, s.TYPES.sint32, s.TYPES.sfixed32, s.TYPES.uint32, s.TYPES.fixed32, s.TYPES.int64, s.TYPES.sint64, s.TYPES.sfixed64, s.TYPES.uint64, s.TYPES.fixed64, s.TYPES.bool, s.TYPES.string, s.TYPES.bytes],
+                s.ID_MIN = 1,
+                s.ID_MAX = 536870911,
+                s.convertFieldsToCamelCase = !1,
+                s.populateAccessors = !0,
+                s.populateDefaults = !0,
+                s.Util = ((o = {}).IS_NODE = !("object" !== (void 0 === e ? "undefined" : b()(e)) || "[object process]" != e + "" || e.browser),
+                o.XHR = function() {
+                    for (var e = [function() {
+                        return new XMLHttpRequest
+                    }
+                    , function() {
+                        return new ActiveXObject("Msxml2.XMLHTTP")
+                    }
+                    , function() {
+                        return new ActiveXObject("Msxml3.XMLHTTP")
+                    }
+                    , function() {
+                        return new ActiveXObject("Microsoft.XMLHTTP")
+                    }
+                    ], t = null, i = 0; i < e.length; i++) {
+                        try {
+                            t = e[i]()
+                        } catch (e) {
+                            continue
+                        }
+                        break
+                    }
+                    if (!t)
+                        throw Error("XMLHttpRequest is not supported");
+                    return t
+                }
+                ,
+                o.fetch = function(e, t) {
+                    if (t && "function" != typeof t && (t = null),
+                    o.IS_NODE) {
+                        var r = i(192);
+                        if (t)
+                            r.readFile(e, (function(e, i) {
+                                t(e ? null : "" + i)
+                            }
+                            ));
+                        else
+                            try {
+                                return r.readFileSync(e)
+                            } catch (e) {
                                 return null
                             }
-                        },
-                        getArea: function () {
-                            var e = 0;
-                            if (this.components && this.components.length > 2) {
-                                for (var t = 0, i = 0, r = this.components.length; i < r - 1; i++) {
-                                    var n = this.components[i]
-                                        , o = this.components[i + 1];
-                                    t += (n.x + o.x) * (o.y - n.y)
+                    } else {
+                        var n = o.XHR();
+                        if (n.open("GET", e, !!t),
+                        n.setRequestHeader("Accept", "text/plain"),
+                        "function" == typeof n.overrideMimeType && n.overrideMimeType("text/plain"),
+                        !t)
+                            return n.send(null),
+                            200 == n.status || 0 == n.status && "string" == typeof n.responseText ? n.responseText : null;
+                        n.onreadystatechange = function() {
+                            4 == n.readyState && (200 == n.status || 0 == n.status && "string" == typeof n.responseText ? t(n.responseText) : t(null))
+                        }
+                        ,
+                        4 != n.readyState && n.send(null)
+                    }
+                }
+                ,
+                o.toCamelCase = function(e) {
+                    return e.replace(/_([a-zA-Z])/g, (function(e, t) {
+                        return t.toUpperCase()
+                    }
+                    ))
+                }
+                ,
+                o),
+                s.Lang = {
+                    DELIM: /[\s\{\}=;:\[\],'"\(\)<>]/g,
+                    RULE: /^(?:required|optional|repeated|map)$/,
+                    TYPE: /^(?:double|float|int32|uint32|sint32|int64|uint64|sint64|fixed32|sfixed32|fixed64|sfixed64|bool|string|bytes)$/,
+                    NAME: /^[a-zA-Z_][a-zA-Z_0-9]*$/,
+                    TYPEDEF: /^[a-zA-Z][a-zA-Z_0-9]*$/,
+                    TYPEREF: /^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)+$/,
+                    FQTYPEREF: /^(?:\.[a-zA-Z][a-zA-Z_0-9]*)+$/,
+                    NUMBER: /^-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+|([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?)|inf|nan)$/,
+                    NUMBER_DEC: /^(?:[1-9][0-9]*|0)$/,
+                    NUMBER_HEX: /^0[xX][0-9a-fA-F]+$/,
+                    NUMBER_OCT: /^0[0-7]+$/,
+                    NUMBER_FLT: /^([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?|inf|nan)$/,
+                    BOOL: /^(?:true|false)$/i,
+                    ID: /^(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,
+                    NEGID: /^\-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,
+                    WHITESPACE: /\s/,
+                    STRING: /(?:"([^"\\]*(?:\\.[^"\\]*)*)")|(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,
+                    STRING_DQ: /(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,
+                    STRING_SQ: /(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g
+                },
+                s.DotProto = function(e, t) {
+                    function i(e, i) {
+                        var r = -1
+                          , n = 1;
+                        if ("-" == e.charAt(0) && (n = -1,
+                        e = e.substring(1)),
+                        t.NUMBER_DEC.test(e))
+                            r = p()(e);
+                        else if (t.NUMBER_HEX.test(e))
+                            r = p()(e.substring(2), 16);
+                        else {
+                            if (!t.NUMBER_OCT.test(e))
+                                throw Error("illegal id value: " + (0 > n ? "-" : "") + e);
+                            r = p()(e.substring(1), 8)
+                        }
+                        if (r = n * r | 0,
+                        !i && 0 > r)
+                            throw Error("illegal id value: " + (0 > n ? "-" : "") + e);
+                        return r
+                    }
+                    function r(e) {
+                        var i = 1;
+                        if ("-" == e.charAt(0) && (i = -1,
+                        e = e.substring(1)),
+                        t.NUMBER_DEC.test(e))
+                            return i * p()(e, 10);
+                        if (t.NUMBER_HEX.test(e))
+                            return i * p()(e.substring(2), 16);
+                        if (t.NUMBER_OCT.test(e))
+                            return i * p()(e.substring(1), 8);
+                        if ("inf" === e)
+                            return 1 / 0 * i;
+                        if ("nan" === e)
+                            return NaN;
+                        if (t.NUMBER_FLT.test(e))
+                            return i * d()(e);
+                        throw Error("illegal number value: " + (0 > i ? "-" : "") + e)
+                    }
+                    function n(e, t, i) {
+                        void 0 === e[t] ? e[t] = i : (h()(e[t]) || (e[t] = [e[t]]),
+                        e[t].push(i))
+                    }
+                    var o = {}
+                      , a = function(e) {
+                        this.source = e + "",
+                        this.index = 0,
+                        this.line = 1,
+                        this.stack = [],
+                        this._stringOpen = null
+                    };
+                    (s = a.prototype)._readString = function() {
+                        var e = '"' === this._stringOpen ? t.STRING_DQ : t.STRING_SQ;
+                        e.lastIndex = this.index - 1;
+                        var i = e.exec(this.source);
+                        if (!i)
+                            throw Error("unterminated string");
+                        return this.index = e.lastIndex,
+                        this.stack.push(this._stringOpen),
+                        this._stringOpen = null,
+                        i[1]
+                    }
+                    ,
+                    s.next = function() {
+                        if (0 < this.stack.length)
+                            return this.stack.shift();
+                        if (this.index >= this.source.length)
+                            return null;
+                        if (null !== this._stringOpen)
+                            return this._readString();
+                        var e, i;
+                        do {
+                            for (e = !1; t.WHITESPACE.test(i = this.source.charAt(this.index)); )
+                                if ("\n" === i && ++this.line,
+                                ++this.index === this.source.length)
+                                    return null;
+                            if ("/" === this.source.charAt(this.index))
+                                if (++this.index,
+                                "/" === this.source.charAt(this.index)) {
+                                    for (; "\n" !== this.source.charAt(++this.index); )
+                                        if (this.index == this.source.length)
+                                            return null;
+                                    ++this.index,
+                                    ++this.line,
+                                    e = !0
+                                } else {
+                                    if ("*" !== (i = this.source.charAt(this.index)))
+                                        return "/";
+                                    do {
+                                        if ("\n" === i && ++this.line,
+                                        ++this.index === this.source.length)
+                                            return null;
+                                        e = i,
+                                        i = this.source.charAt(this.index)
+                                    } while ("*" !== e || "/" !== i);++this.index,
+                                    e = !0
                                 }
-                                e = -t / 2
+                        } while (e);if (this.index === this.source.length)
+                            return null;
+                        if (i = this.index,
+                        t.DELIM.lastIndex = 0,
+                        !t.DELIM.test(this.source.charAt(i++)))
+                            for (; i < this.source.length && !t.DELIM.test(this.source.charAt(i)); )
+                                ++i;
+                        return '"' !== (i = this.source.substring(this.index, this.index = i)) && "'" !== i || (this._stringOpen = i),
+                        i
+                    }
+                    ,
+                    s.peek = function() {
+                        if (0 === this.stack.length) {
+                            var e = this.next();
+                            if (null === e)
+                                return null;
+                            this.stack.push(e)
+                        }
+                        return this.stack[0]
+                    }
+                    ,
+                    s.skip = function(e) {
+                        var t = this.next();
+                        if (t !== e)
+                            throw Error("illegal '" + t + "', '" + e + "' expected")
+                    }
+                    ,
+                    s.omit = function(e) {
+                        return this.peek() === e && (this.next(),
+                        !0)
+                    }
+                    ,
+                    s.toString = function() {
+                        return "Tokenizer (" + this.index + "/" + this.source.length + " at line " + this.line + ")"
+                    }
+                    ,
+                    o.Tokenizer = a;
+                    var s, x = function(e) {
+                        this.tn = new a(e),
+                        this.proto3 = !1
+                    };
+                    return (s = x.prototype).parse = function() {
+                        var e, i, r = {
+                            name: "[ROOT]",
+                            package: null,
+                            messages: [],
+                            enums: [],
+                            imports: [],
+                            options: {},
+                            services: []
+                        }, n = !0;
+                        try {
+                            for (; e = this.tn.next(); )
+                                switch (e) {
+                                case "package":
+                                    if (!n || null !== r.package)
+                                        throw Error("unexpected 'package'");
+                                    if (e = this.tn.next(),
+                                    !t.TYPEREF.test(e))
+                                        throw Error("illegal package name: " + e);
+                                    this.tn.skip(";"),
+                                    r.package = e;
+                                    break;
+                                case "import":
+                                    if (!n)
+                                        throw Error("unexpected 'import'");
+                                    ("public" === (e = this.tn.peek()) || (i = "weak" === e)) && this.tn.next(),
+                                    e = this._readString(),
+                                    this.tn.skip(";"),
+                                    i || r.imports.push(e);
+                                    break;
+                                case "syntax":
+                                    if (!n)
+                                        throw Error("unexpected 'syntax'");
+                                    this.tn.skip("="),
+                                    "proto3" === (r.syntax = this._readString()) && (this.proto3 = !0),
+                                    this.tn.skip(";");
+                                    break;
+                                case "message":
+                                    this._parseMessage(r, null),
+                                    n = !1;
+                                    break;
+                                case "enum":
+                                    this._parseEnum(r),
+                                    n = !1;
+                                    break;
+                                case "option":
+                                    this._parseOption(r);
+                                    break;
+                                case "service":
+                                    this._parseService(r);
+                                    break;
+                                case "extend":
+                                    this._parseExtend(r);
+                                    break;
+                                default:
+                                    throw Error("unexpected '" + e + "'")
+                                }
+                        } catch (e) {
+                            throw e.message = "Parse error at line " + this.tn.line + ": " + e.message,
+                            e
+                        }
+                        return delete r.name,
+                        r
+                    }
+                    ,
+                    x.parse = function(e) {
+                        return new x(e).parse()
+                    }
+                    ,
+                    s._readString = function() {
+                        var e, t = "";
+                        do {
+                            if ("'" !== (e = this.tn.next()) && '"' !== e)
+                                throw Error("illegal string delimiter: " + e);
+                            t += this.tn.next(),
+                            this.tn.skip(e),
+                            e = this.tn.peek()
+                        } while ('"' === e || '"' === e);return t
+                    }
+                    ,
+                    s._readValue = function(e) {
+                        var i = this.tn.peek();
+                        if ('"' === i || "'" === i)
+                            return this._readString();
+                        if (this.tn.next(),
+                        t.NUMBER.test(i))
+                            return r(i);
+                        if (t.BOOL.test(i))
+                            return "true" === i.toLowerCase();
+                        if (e && t.TYPEREF.test(i))
+                            return i;
+                        throw Error("illegal value: " + i)
+                    }
+                    ,
+                    s._parseOption = function(e, i) {
+                        var r = this.tn.next()
+                          , n = !1;
+                        if ("(" === r && (n = !0,
+                        r = this.tn.next()),
+                        !t.TYPEREF.test(r))
+                            throw Error("illegal option name: " + r);
+                        var o = r;
+                        n && (this.tn.skip(")"),
+                        o = "(" + o + ")",
+                        r = this.tn.peek(),
+                        t.FQTYPEREF.test(r) && (o += r,
+                        this.tn.next())),
+                        this.tn.skip("="),
+                        this._parseOptionValue(e, o),
+                        i || this.tn.skip(";")
+                    }
+                    ,
+                    s._parseOptionValue = function(e, i) {
+                        var r = this.tn.peek();
+                        if ("{" !== r)
+                            n(e.options, i, this._readValue(!0));
+                        else
+                            for (this.tn.skip("{"); "}" !== (r = this.tn.next()); ) {
+                                if (!t.NAME.test(r))
+                                    throw Error("illegal option name: " + i + "." + r);
+                                this.tn.omit(":") ? n(e.options, i + "." + r, this._readValue(!0)) : this._parseOptionValue(e, i + "." + r)
                             }
-                            return e
-                        },
-                        getGeodesicArea: function (e) {
-                            var t = this;
-                            if (e) {
-                                var i = new GeoGlobe.SpatialReference("EPSG:4326");
-                                i.equals(e) || (t = this.clone().transform(e, i))
+                    }
+                    ,
+                    s._parseService = function(e) {
+                        var i = this.tn.next();
+                        if (!t.NAME.test(i))
+                            throw Error("illegal service name at line " + this.tn.line + ": " + i);
+                        var r = {
+                            name: i,
+                            rpc: {},
+                            options: {}
+                        };
+                        for (this.tn.skip("{"); "}" !== (i = this.tn.next()); )
+                            if ("option" === i)
+                                this._parseOption(r);
+                            else {
+                                if ("rpc" !== i)
+                                    throw Error("illegal service token: " + i);
+                                this._parseServiceRPC(r)
                             }
-                            var r = 0
-                                , n = t.components && t.components.length;
-                            if (n > 2) {
-                                for (var o, a, s = 0; s < n - 1; s++)
-                                    o = t.components[s],
-                                        a = t.components[s + 1],
-                                        r += GeoGlobe.Util.rad(a.x - o.x) * (2 + Math.sin(GeoGlobe.Util.rad(o.y)) + Math.sin(GeoGlobe.Util.rad(a.y)));
-                                r = 6378137 * r * 6378137 / 2
+                        this.tn.omit(";"),
+                        e.services.push(r)
+                    }
+                    ,
+                    s._parseServiceRPC = function(e) {
+                        var i = this.tn.next();
+                        if (!t.NAME.test(i))
+                            throw Error("illegal rpc service method name: " + i);
+                        var r = i
+                          , n = {
+                            request: null,
+                            response: null,
+                            request_stream: !1,
+                            response_stream: !1,
+                            options: {}
+                        };
+                        if (this.tn.skip("("),
+                        "stream" === (i = this.tn.next()).toLowerCase() && (n.request_stream = !0,
+                        i = this.tn.next()),
+                        !t.TYPEREF.test(i))
+                            throw Error("illegal rpc service request type: " + i);
+                        if (n.request = i,
+                        this.tn.skip(")"),
+                        "returns" !== (i = this.tn.next()).toLowerCase())
+                            throw Error("illegal rpc service request type delimiter: " + i);
+                        if (this.tn.skip("("),
+                        "stream" === (i = this.tn.next()).toLowerCase() && (n.response_stream = !0,
+                        i = this.tn.next()),
+                        n.response = i,
+                        this.tn.skip(")"),
+                        "{" === (i = this.tn.peek())) {
+                            for (this.tn.next(); "}" !== (i = this.tn.next()); ) {
+                                if ("option" !== i)
+                                    throw Error("illegal rpc service token: " + i);
+                                this._parseOption(n)
                             }
-                            return r
-                        },
-                        containsPoint: function (e) {
-                            for (var t, i, r, n, o, a, s, x, l, c = GeoGlobe.Number.limitSigDigs, u = c(e.x, 14), h = c(e.y, 14), f = this.components.length - 1, d = 0, g = 0; g < f; ++g)
-                                if (r = c((t = this.components[g]).x, 14),
-                                    n = c(t.y, 14),
-                                    o = c((i = this.components[g + 1]).x, 14),
-                                    n != (a = c(i.y, 14))) {
-                                    if ((s = c(((x = o) - r) / ((l = a) - n) * (h - l) + x, 14)) == u && (n < a && h >= n && h <= a || n > a && h <= n && h >= a)) {
-                                        d = -1;
-                                        break
-                                    }
-                                    s <= u || r != o && (s < Math.min(r, o) || s > Math.max(r, o)) || (n < a && h >= n && h < a || n > a && h < n && h >= a) && ++d
-                                } else if (h == n && (r <= o && u >= r && u <= o || r >= o && u <= r && u >= o)) {
-                                    d = -1;
+                            this.tn.omit(";")
+                        } else
+                            this.tn.skip(";");
+                        void 0 === e.rpc && (e.rpc = {}),
+                        e.rpc[r] = n
+                    }
+                    ,
+                    s._parseMessage = function(e, r) {
+                        var n = !!r
+                          , o = this.tn.next()
+                          , a = {
+                            name: "",
+                            fields: [],
+                            enums: [],
+                            messages: [],
+                            options: {},
+                            services: [],
+                            oneofs: {}
+                        };
+                        if (!t.NAME.test(o))
+                            throw Error("illegal " + (n ? "group" : "message") + " name: " + o);
+                        for (a.name = o,
+                        n && (this.tn.skip("="),
+                        r.id = i(this.tn.next()),
+                        a.isGroup = !0),
+                        "[" === (o = this.tn.peek()) && r && this._parseFieldOptions(r),
+                        this.tn.skip("{"); "}" !== (o = this.tn.next()); )
+                            if (t.RULE.test(o))
+                                this._parseMessageField(a, o);
+                            else if ("oneof" === o)
+                                this._parseMessageOneOf(a);
+                            else if ("enum" === o)
+                                this._parseEnum(a);
+                            else if ("message" === o)
+                                this._parseMessage(a);
+                            else if ("option" === o)
+                                this._parseOption(a);
+                            else if ("service" === o)
+                                this._parseService(a);
+                            else if ("extensions" === o)
+                                a.hasOwnProperty("extensions") ? a.extensions = a.extensions.concat(this._parseExtensionRanges()) : a.extensions = this._parseExtensionRanges();
+                            else if ("reserved" === o)
+                                this._parseIgnored();
+                            else if ("extend" === o)
+                                this._parseExtend(a);
+                            else {
+                                if (!t.TYPEREF.test(o))
+                                    throw Error("illegal message token: " + o);
+                                if (!this.proto3)
+                                    throw Error("illegal field rule: " + o);
+                                this._parseMessageField(a, "optional", o)
+                            }
+                        return this.tn.omit(";"),
+                        e.messages.push(a),
+                        a
+                    }
+                    ,
+                    s._parseIgnored = function() {
+                        for (; ";" !== this.tn.peek(); )
+                            this.tn.next();
+                        this.tn.skip(";")
+                    }
+                    ,
+                    s._parseMessageField = function(e, r, n) {
+                        if (!t.RULE.test(r))
+                            throw Error("illegal message field rule: " + r);
+                        var o = {
+                            rule: r,
+                            type: "",
+                            name: "",
+                            options: {},
+                            id: 0
+                        };
+                        if ("map" === r) {
+                            if (n)
+                                throw Error("illegal type: " + n);
+                            if (this.tn.skip("<"),
+                            r = this.tn.next(),
+                            !t.TYPE.test(r) && !t.TYPEREF.test(r))
+                                throw Error("illegal message field type: " + r);
+                            if (o.keytype = r,
+                            this.tn.skip(","),
+                            r = this.tn.next(),
+                            !t.TYPE.test(r) && !t.TYPEREF.test(r))
+                                throw Error("illegal message field: " + r);
+                            if (o.type = r,
+                            this.tn.skip(">"),
+                            r = this.tn.next(),
+                            !t.NAME.test(r))
+                                throw Error("illegal message field name: " + r);
+                            o.name = r,
+                            this.tn.skip("="),
+                            o.id = i(this.tn.next()),
+                            "[" === (r = this.tn.peek()) && this._parseFieldOptions(o),
+                            this.tn.skip(";")
+                        } else if ("group" === (n = void 0 !== n ? n : this.tn.next())) {
+                            if (r = this._parseMessage(e, o),
+                            !/^[A-Z]/.test(r.name))
+                                throw Error("illegal group name: " + r.name);
+                            o.type = r.name,
+                            o.name = r.name.toLowerCase(),
+                            this.tn.omit(";")
+                        } else {
+                            if (!t.TYPE.test(n) && !t.TYPEREF.test(n))
+                                throw Error("illegal message field type: " + n);
+                            if (o.type = n,
+                            r = this.tn.next(),
+                            !t.NAME.test(r))
+                                throw Error("illegal message field name: " + r);
+                            o.name = r,
+                            this.tn.skip("="),
+                            o.id = i(this.tn.next()),
+                            "[" === (r = this.tn.peek()) && this._parseFieldOptions(o),
+                            this.tn.skip(";")
+                        }
+                        return e.fields.push(o),
+                        o
+                    }
+                    ,
+                    s._parseMessageOneOf = function(e) {
+                        var i = this.tn.next();
+                        if (!t.NAME.test(i))
+                            throw Error("illegal oneof name: " + i);
+                        var r = i
+                          , n = [];
+                        for (this.tn.skip("{"); "}" !== (i = this.tn.next()); )
+                            (i = this._parseMessageField(e, "optional", i)).oneof = r,
+                            n.push(i.id);
+                        this.tn.omit(";"),
+                        e.oneofs[r] = n
+                    }
+                    ,
+                    s._parseFieldOptions = function(e) {
+                        this.tn.skip("[");
+                        for (var t = !0; "]" !== this.tn.peek(); )
+                            t || this.tn.skip(","),
+                            this._parseOption(e, !0),
+                            t = !1;
+                        this.tn.next()
+                    }
+                    ,
+                    s._parseEnum = function(e) {
+                        var r = {
+                            name: "",
+                            values: [],
+                            options: {}
+                        }
+                          , n = this.tn.next();
+                        if (!t.NAME.test(n))
+                            throw Error("illegal name: " + n);
+                        for (r.name = n,
+                        this.tn.skip("{"); "}" !== (n = this.tn.next()); )
+                            if ("option" === n)
+                                this._parseOption(r);
+                            else {
+                                if (!t.NAME.test(n))
+                                    throw Error("illegal name: " + n);
+                                this.tn.skip("=");
+                                var o = {
+                                    name: n,
+                                    id: i(this.tn.next(), !0)
+                                };
+                                "[" === (n = this.tn.peek()) && this._parseFieldOptions({
+                                    options: {}
+                                }),
+                                this.tn.skip(";"),
+                                r.values.push(o)
+                            }
+                        this.tn.omit(";"),
+                        e.enums.push(r)
+                    }
+                    ,
+                    s._parseExtensionRanges = function() {
+                        var t, i, n = [];
+                        do {
+                            for (i = []; ; ) {
+                                switch (t = this.tn.next()) {
+                                case "min":
+                                    t = e.ID_MIN;
+                                    break;
+                                case "max":
+                                    t = e.ID_MAX;
+                                    break;
+                                default:
+                                    t = r(t)
+                                }
+                                if (i.push(t),
+                                2 === i.length)
+                                    break;
+                                if ("to" !== this.tn.peek()) {
+                                    i.push(t);
                                     break
                                 }
-                            return -1 == d ? 1 : !!(1 & d)
-                        },
-                        intersects: function (e) {
-                            var t = !1;
-                            if ("GeoGlobe.Geometry.Point" == e.CLASS_NAME)
-                                t = this.containsPoint(e);
-                            else if ("GeoGlobe.Geometry.LineString" == e.CLASS_NAME)
-                                t = e.intersects(this);
-                            else if ("GeoGlobe.Geometry.LinearRing" == e.CLASS_NAME)
-                                t = GeoGlobe.Geometry.LineString.prototype.intersects.apply(this, [e]);
+                                this.tn.next()
+                            }
+                            n.push(i)
+                        } while (this.tn.omit(","));return this.tn.skip(";"),
+                        n
+                    }
+                    ,
+                    s._parseExtend = function(e) {
+                        var i = this.tn.next();
+                        if (!t.TYPEREF.test(i))
+                            throw Error("illegal extend reference: " + i);
+                        var r = {
+                            ref: i,
+                            fields: []
+                        };
+                        for (this.tn.skip("{"); "}" !== (i = this.tn.next()); )
+                            if (t.RULE.test(i))
+                                this._parseMessageField(r, i);
+                            else {
+                                if (!t.TYPEREF.test(i))
+                                    throw Error("illegal extend token: " + i);
+                                if (!this.proto3)
+                                    throw Error("illegal field rule: " + i);
+                                this._parseMessageField(r, "optional", i)
+                            }
+                        return this.tn.omit(";"),
+                        e.messages.push(r),
+                        r
+                    }
+                    ,
+                    s.toString = function() {
+                        return "Parser at line " + this.tn.line
+                    }
+                    ,
+                    o.Parser = x,
+                    o
+                }(s, s.Lang),
+                s.Reflect = function(e) {
+                    function i(t, i) {
+                        if (t && "number" == typeof t.low && "number" == typeof t.high && "boolean" == typeof t.unsigned && t.low == t.low && t.high == t.high)
+                            return new e.Long(t.low,t.high,void 0 === i ? t.unsigned : i);
+                        if ("string" == typeof t)
+                            return e.Long.fromString(t, i || !1, 10);
+                        if ("number" == typeof t)
+                            return e.Long.fromNumber(t, i || !1);
+                        throw Error("not convertible to Long")
+                    }
+                    function r(t, i) {
+                        var n = 7 & (o = i.readVarint32())
+                          , o = o >>> 3;
+                        switch (n) {
+                        case e.WIRE_TYPES.VARINT:
+                            do {
+                                o = i.readUint8()
+                            } while (128 == (128 & o));break;
+                        case e.WIRE_TYPES.BITS64:
+                            i.offset += 8;
+                            break;
+                        case e.WIRE_TYPES.LDELIM:
+                            o = i.readVarint32(),
+                            i.offset += o;
+                            break;
+                        case e.WIRE_TYPES.STARTGROUP:
+                            r(o, i);
+                            break;
+                        case e.WIRE_TYPES.ENDGROUP:
+                            if (o === t)
+                                return !1;
+                            throw Error("Illegal GROUPEND after unknown group: " + o + " (" + t + " expected)");
+                        case e.WIRE_TYPES.BITS32:
+                            i.offset += 4;
+                            break;
+                        default:
+                            throw Error("Illegal wire type in unknown group " + t + ": " + n)
+                        }
+                        return !0
+                    }
+                    var o = {}
+                      , s = function(e, t, i) {
+                        this.builder = e,
+                        this.parent = t,
+                        this.name = i
+                    };
+                    (l = s.prototype).fqn = function() {
+                        for (var e = this.name, t = this; ; ) {
+                            if (null == (t = t.parent))
+                                break;
+                            e = t.name + "." + e
+                        }
+                        return e
+                    }
+                    ,
+                    l.toString = function(e) {
+                        return (e ? this.className + " " : "") + this.fqn()
+                    }
+                    ,
+                    l.build = function() {
+                        throw Error(this.toString(!0) + " cannot be built directly")
+                    }
+                    ,
+                    o.T = s;
+                    var l, u = function(e, t, i, r, n) {
+                        s.call(this, e, t, i),
+                        this.className = "Namespace",
+                        this.children = [],
+                        this.options = r || {},
+                        this.syntax = n || "proto2"
+                    };
+                    (l = u.prototype = c()(s.prototype)).getChildren = function(e) {
+                        if (null == (e = e || null))
+                            return this.children.slice();
+                        for (var t = [], i = 0, r = this.children.length; i < r; ++i)
+                            this.children[i]instanceof e && t.push(this.children[i]);
+                        return t
+                    }
+                    ,
+                    l.addChild = function(e) {
+                        var t;
+                        if (t = this.getChild(e.name))
+                            if (t instanceof g.Field && t.name !== t.originalName && null === this.getChild(t.originalName))
+                                t.name = t.originalName;
+                            else {
+                                if (!(e instanceof g.Field && e.name !== e.originalName && null === this.getChild(e.originalName)))
+                                    throw Error("Duplicate name in namespace " + this.toString(!0) + ": " + e.name);
+                                e.name = e.originalName
+                            }
+                        this.children.push(e)
+                    }
+                    ,
+                    l.getChild = function(e) {
+                        for (var t = "number" == typeof e ? "id" : "name", i = 0, r = this.children.length; i < r; ++i)
+                            if (this.children[i][t] === e)
+                                return this.children[i];
+                        return null
+                    }
+                    ,
+                    l.resolve = function(e, t) {
+                        var i = "string" == typeof e ? e.split(".") : e
+                          , r = this
+                          , n = 0;
+                        if ("" === i[n]) {
+                            for (; null !== r.parent; )
+                                r = r.parent;
+                            n++
+                        }
+                        do {
+                            do {
+                                if (!(r instanceof o.Namespace)) {
+                                    r = null;
+                                    break
+                                }
+                                if (!((r = r.getChild(i[n])) && r instanceof o.T) || t && !(r instanceof o.Namespace)) {
+                                    r = null;
+                                    break
+                                }
+                                n++
+                            } while (n < i.length);if (null != r)
+                                break;
+                            if (null !== this.parent)
+                                return this.parent.resolve(e, t)
+                        } while (null != r);return r
+                    }
+                    ,
+                    l.qn = function(e) {
+                        var t = []
+                          , i = e;
+                        do {
+                            t.unshift(i.name),
+                            i = i.parent
+                        } while (null !== i);for (i = 1; i <= t.length; i++) {
+                            var r = t.slice(t.length - i);
+                            if (e === this.resolve(r, e instanceof o.Namespace))
+                                return r.join(".")
+                        }
+                        return e.fqn()
+                    }
+                    ,
+                    l.build = function() {
+                        for (var e, t = {}, i = this.children, r = 0, n = i.length; r < n; ++r)
+                            (e = i[r])instanceof u && (t[e.name] = e.build());
+                        return x.a && x()(t, "$options", {
+                            value: this.buildOpt()
+                        }),
+                        t
+                    }
+                    ,
+                    l.buildOpt = function() {
+                        for (var e = {}, t = a()(this.options), i = 0, r = t.length; i < r; ++i)
+                            e[t[i]] = this.options[t[i]];
+                        return e
+                    }
+                    ,
+                    l.getOption = function(e) {
+                        return void 0 === e ? this.options : void 0 !== this.options[e] ? this.options[e] : null
+                    }
+                    ,
+                    o.Namespace = u;
+                    var f = function(t, i, r, n, o) {
+                        if (this.type = t,
+                        this.resolvedType = i,
+                        this.isMapKey = r,
+                        this.syntax = n,
+                        this.name = o,
+                        r && 0 > e.MAP_KEY_TYPES.indexOf(t))
+                            throw Error("Invalid map key type: " + t.name)
+                    }
+                      , d = f.prototype;
+                    f.defaultFieldValue = function(i) {
+                        if ("string" == typeof i && (i = e.TYPES[i]),
+                        void 0 === i.defaultValue)
+                            throw Error("default value for type " + i.name + " is not supported");
+                        return i == e.TYPES.bytes ? new t(0) : i.defaultValue
+                    }
+                    ,
+                    d.toString = function() {
+                        return (this.name || "") + (this.isMapKey ? "map" : "value") + " element"
+                    }
+                    ,
+                    d.verifyValue = function(r) {
+                        function n(e, t) {
+                            throw Error("Illegal value for " + o.toString(!0) + " of type " + o.type.name + ": " + e + " (" + t + ")")
+                        }
+                        var o = this;
+                        switch (this.type) {
+                        case e.TYPES.int32:
+                        case e.TYPES.sint32:
+                        case e.TYPES.sfixed32:
+                            return ("number" != typeof r || r == r && 0 != r % 1) && n(b()(r), "not an integer"),
+                            4294967295 < r ? 0 | r : r;
+                        case e.TYPES.uint32:
+                        case e.TYPES.fixed32:
+                            return ("number" != typeof r || r == r && 0 != r % 1) && n(b()(r), "not an integer"),
+                            0 > r ? r >>> 0 : r;
+                        case e.TYPES.int64:
+                        case e.TYPES.sint64:
+                        case e.TYPES.sfixed64:
+                            if (e.Long)
+                                try {
+                                    return i(r, !1)
+                                } catch (e) {
+                                    n(b()(r), e.message)
+                                }
                             else
-                                for (var i = 0, r = e.components.length; i < r && !(t = e.components[i].intersects(this)); ++i)
-                                    ;
-                            return t
-                        },
-                        getVertices: function (e) {
-                            return !0 === e ? [] : this.components.slice(0, this.components.length - 1)
-                        },
-                        CLASS_NAME: "GeoGlobe.Geometry.LinearRing"
-                    }),
-                    GeoGlobe.Geometry.Polygon = GeoGlobe.Class4OL(GeoGlobe.Geometry.Collection, {
-                        componentTypes: ["GeoGlobe.Geometry.LinearRing"],
-                        getArea: function () {
-                            var e = 0;
-                            if (this.components && this.components.length > 0) {
-                                e += Math.abs(this.components[0].getArea());
-                                for (var t = 1, i = this.components.length; t < i; t++)
-                                    e -= Math.abs(this.components[t].getArea())
+                                n(b()(r), "requires Long.js");
+                        case e.TYPES.uint64:
+                        case e.TYPES.fixed64:
+                            if (e.Long)
+                                try {
+                                    return i(r, !0)
+                                } catch (e) {
+                                    n(b()(r), e.message)
+                                }
+                            else
+                                n(b()(r), "requires Long.js");
+                        case e.TYPES.bool:
+                            return "boolean" != typeof r && n(b()(r), "not a boolean"),
+                            r;
+                        case e.TYPES.float:
+                        case e.TYPES.double:
+                            return "number" != typeof r && n(b()(r), "not a number"),
+                            r;
+                        case e.TYPES.string:
+                            return "string" == typeof r || r && r instanceof String || n(b()(r), "not a string"),
+                            "" + r;
+                        case e.TYPES.bytes:
+                            return t.isByteBuffer(r) ? r : t.wrap(r, "base64");
+                        case e.TYPES.enum:
+                            for (var a = this.resolvedType.getChildren(e.Reflect.Enum.Value), s = 0; s < a.length; s++)
+                                if (a[s].name == r || a[s].id == r)
+                                    return a[s].id;
+                            if ("proto3" === this.syntax)
+                                return ("number" != typeof r || r == r && 0 != r % 1) && n(b()(r), "not an integer"),
+                                (4294967295 < r || 0 > r) && n(b()(r), "not in range for uint32"),
+                                r;
+                            n(r, "not a valid enum value");
+                        case e.TYPES.group:
+                        case e.TYPES.message:
+                            if (r && "object" === b()(r) || n(b()(r), "object expected"),
+                            r instanceof this.resolvedType.clazz)
+                                return r;
+                            if (r instanceof e.Builder.Message) {
+                                a = {};
+                                for (s in r)
+                                    r.hasOwnProperty(s) && (a[s] = r[s]);
+                                r = a
                             }
-                            return e
-                        },
-                        getGeodesicArea: function (e) {
-                            var t = 0;
-                            if (this.components && this.components.length > 0) {
-                                t += Math.abs(this.components[0].getGeodesicArea(e));
-                                for (var i = 1, r = this.components.length; i < r; i++)
-                                    t -= Math.abs(this.components[i].getGeodesicArea(e))
-                            }
-                            return t
-                        },
-                        containsPoint: function (e) {
-                            var t = this.components.length
-                                , i = !1;
-                            if (t > 0 && 1 !== (i = this.components[0].containsPoint(e)) && i && t > 1)
-                                for (var r, n = 1; n < t; ++n)
-                                    if (r = this.components[n].containsPoint(e)) {
-                                        i = 1 === r && 1;
-                                        break
+                            return new this.resolvedType.clazz(r)
+                        }
+                        throw Error("[INTERNAL] Illegal value for " + this.toString(!0) + ": " + r + " (undefined type " + this.type + ")")
+                    }
+                    ,
+                    d.calculateLength = function(i, r) {
+                        if (null === r)
+                            return 0;
+                        var n;
+                        switch (this.type) {
+                        case e.TYPES.int32:
+                            return 0 > r ? t.calculateVarint64(r) : t.calculateVarint32(r);
+                        case e.TYPES.uint32:
+                            return t.calculateVarint32(r);
+                        case e.TYPES.sint32:
+                            return t.calculateVarint32(t.zigZagEncode32(r));
+                        case e.TYPES.fixed32:
+                        case e.TYPES.sfixed32:
+                        case e.TYPES.float:
+                            return 4;
+                        case e.TYPES.int64:
+                        case e.TYPES.uint64:
+                            return t.calculateVarint64(r);
+                        case e.TYPES.sint64:
+                            return t.calculateVarint64(t.zigZagEncode64(r));
+                        case e.TYPES.fixed64:
+                        case e.TYPES.sfixed64:
+                            return 8;
+                        case e.TYPES.bool:
+                            return 1;
+                        case e.TYPES.enum:
+                            return t.calculateVarint32(r);
+                        case e.TYPES.double:
+                            return 8;
+                        case e.TYPES.string:
+                            return n = t.calculateUTF8Bytes(r),
+                            t.calculateVarint32(n) + n;
+                        case e.TYPES.bytes:
+                            if (0 > r.remaining())
+                                throw Error("Illegal value for " + this.toString(!0) + ": " + r.remaining() + " bytes remaining");
+                            return t.calculateVarint32(r.remaining()) + r.remaining();
+                        case e.TYPES.message:
+                            return n = this.resolvedType.calculate(r),
+                            t.calculateVarint32(n) + n;
+                        case e.TYPES.group:
+                            return (n = this.resolvedType.calculate(r)) + t.calculateVarint32(i << 3 | e.WIRE_TYPES.ENDGROUP)
+                        }
+                        throw Error("[INTERNAL] Illegal value to encode in " + this.toString(!0) + ": " + r + " (unknown type)")
+                    }
+                    ,
+                    d.encodeValue = function(i, r, n) {
+                        if (null === r)
+                            return n;
+                        switch (this.type) {
+                        case e.TYPES.int32:
+                            0 > r ? n.writeVarint64(r) : n.writeVarint32(r);
+                            break;
+                        case e.TYPES.uint32:
+                            n.writeVarint32(r);
+                            break;
+                        case e.TYPES.sint32:
+                            n.writeVarint32ZigZag(r);
+                            break;
+                        case e.TYPES.fixed32:
+                            n.writeUint32(r);
+                            break;
+                        case e.TYPES.sfixed32:
+                            n.writeInt32(r);
+                            break;
+                        case e.TYPES.int64:
+                        case e.TYPES.uint64:
+                            n.writeVarint64(r);
+                            break;
+                        case e.TYPES.sint64:
+                            n.writeVarint64ZigZag(r);
+                            break;
+                        case e.TYPES.fixed64:
+                            n.writeUint64(r);
+                            break;
+                        case e.TYPES.sfixed64:
+                            n.writeInt64(r);
+                            break;
+                        case e.TYPES.bool:
+                            "string" == typeof r ? n.writeVarint32("false" === r.toLowerCase() ? 0 : !!r) : n.writeVarint32(r ? 1 : 0);
+                            break;
+                        case e.TYPES.enum:
+                            n.writeVarint32(r);
+                            break;
+                        case e.TYPES.float:
+                            n.writeFloat32(r);
+                            break;
+                        case e.TYPES.double:
+                            n.writeFloat64(r);
+                            break;
+                        case e.TYPES.string:
+                            n.writeVString(r);
+                            break;
+                        case e.TYPES.bytes:
+                            if (0 > r.remaining())
+                                throw Error("Illegal value for " + this.toString(!0) + ": " + r.remaining() + " bytes remaining");
+                            i = r.offset,
+                            n.writeVarint32(r.remaining()),
+                            n.append(r),
+                            r.offset = i;
+                            break;
+                        case e.TYPES.message:
+                            i = (new t).LE(),
+                            this.resolvedType.encode(r, i),
+                            n.writeVarint32(i.offset),
+                            n.append(i.flip());
+                            break;
+                        case e.TYPES.group:
+                            this.resolvedType.encode(r, n),
+                            n.writeVarint32(i << 3 | e.WIRE_TYPES.ENDGROUP);
+                            break;
+                        default:
+                            throw Error("[INTERNAL] Illegal value to encode in " + this.toString(!0) + ": " + r + " (unknown type)")
+                        }
+                        return n
+                    }
+                    ,
+                    d.decode = function(t, i, r) {
+                        if (i != this.type.wireType)
+                            throw Error("Unexpected wire type for element");
+                        switch (this.type) {
+                        case e.TYPES.int32:
+                            return 0 | t.readVarint32();
+                        case e.TYPES.uint32:
+                            return t.readVarint32() >>> 0;
+                        case e.TYPES.sint32:
+                            return 0 | t.readVarint32ZigZag();
+                        case e.TYPES.fixed32:
+                            return t.readUint32() >>> 0;
+                        case e.TYPES.sfixed32:
+                            return 0 | t.readInt32();
+                        case e.TYPES.int64:
+                            return t.readVarint64();
+                        case e.TYPES.uint64:
+                            return t.readVarint64().toUnsigned();
+                        case e.TYPES.sint64:
+                            return t.readVarint64ZigZag();
+                        case e.TYPES.fixed64:
+                            return t.readUint64();
+                        case e.TYPES.sfixed64:
+                            return t.readInt64();
+                        case e.TYPES.bool:
+                            return !!t.readVarint32();
+                        case e.TYPES.enum:
+                            return t.readVarint32();
+                        case e.TYPES.float:
+                            return t.readFloat();
+                        case e.TYPES.double:
+                            return t.readDouble();
+                        case e.TYPES.string:
+                            return t.readVString();
+                        case e.TYPES.bytes:
+                            if (r = t.readVarint32(),
+                            t.remaining() < r)
+                                throw Error("Illegal number of bytes for " + this.toString(!0) + ": " + r + " required but got only " + t.remaining());
+                            return (i = t.clone()).limit = i.offset + r,
+                            t.offset += r,
+                            i;
+                        case e.TYPES.message:
+                            return r = t.readVarint32(),
+                            this.resolvedType.decode(t, r);
+                        case e.TYPES.group:
+                            return this.resolvedType.decode(t, -1, r)
+                        }
+                        throw Error("[INTERNAL] Illegal decode type")
+                    }
+                    ,
+                    d.valueFromString = function(i) {
+                        if (!this.isMapKey)
+                            throw Error("valueFromString() called on non-map-key element");
+                        switch (this.type) {
+                        case e.TYPES.int32:
+                        case e.TYPES.sint32:
+                        case e.TYPES.sfixed32:
+                        case e.TYPES.uint32:
+                        case e.TYPES.fixed32:
+                            return this.verifyValue(p()(i));
+                        case e.TYPES.int64:
+                        case e.TYPES.sint64:
+                        case e.TYPES.sfixed64:
+                        case e.TYPES.uint64:
+                        case e.TYPES.fixed64:
+                            return this.verifyValue(i);
+                        case e.TYPES.bool:
+                            return "true" === i;
+                        case e.TYPES.string:
+                            return this.verifyValue(i);
+                        case e.TYPES.bytes:
+                            return t.fromBinary(i)
+                        }
+                    }
+                    ,
+                    d.valueToString = function(t) {
+                        if (!this.isMapKey)
+                            throw Error("valueToString() called on non-map-key element");
+                        return this.type === e.TYPES.bytes ? t.toString("binary") : t.toString()
+                    }
+                    ,
+                    o.Element = f;
+                    var g = function(e, t, i, r, n, o) {
+                        u.call(this, e, t, i, r, o),
+                        this.className = "Message",
+                        this.extensions = void 0,
+                        this.clazz = null,
+                        this.isGroup = !!n,
+                        this._fieldsByName = this._fieldsById = this._fields = null
+                    };
+                    (d = g.prototype = c()(u.prototype)).build = function(i) {
+                        if (this.clazz && !i)
+                            return this.clazz;
+                        i = function(e, i) {
+                            function r(i, n, o, a) {
+                                if (null === i || "object" !== b()(i)) {
+                                    if (a && a instanceof e.Reflect.Enum)
+                                        if (null !== (c = e.Reflect.Enum.getName(a.object, i)))
+                                            return c;
+                                    return i
+                                }
+                                if (t.isByteBuffer(i))
+                                    return n ? i.toBase64() : i.toBuffer();
+                                if (e.Long.isLong(i))
+                                    return o ? i.toString() : e.Long.fromValue(i);
+                                var s;
+                                if (h()(i))
+                                    return s = [],
+                                    i.forEach((function(e, t) {
+                                        s[t] = r(e, n, o, a)
                                     }
-                            return i
-                        },
-                        intersects: function (e) {
-                            var t, i, r = !1;
-                            if ("GeoGlobe.Geometry.Point" == e.CLASS_NAME)
-                                r = this.containsPoint(e);
-                            else if ("GeoGlobe.Geometry.LineString" == e.CLASS_NAME || "GeoGlobe.Geometry.LinearRing" == e.CLASS_NAME) {
-                                for (t = 0,
-                                    i = this.components.length; t < i && !(r = e.intersects(this.components[t])); ++t)
-                                    ;
-                                if (!r)
-                                    for (t = 0,
-                                        i = e.components.length; t < i && !(r = this.containsPoint(e.components[t])); ++t)
+                                    )),
+                                    s;
+                                if (s = {},
+                                i instanceof e.Map) {
+                                    for (var x = (c = i.entries()).next(); !x.done; x = c.next())
+                                        s[i.keyElem.valueToString(x.value[0])] = r(x.value[1], n, o, i.valueElem.resolvedType);
+                                    return s
+                                }
+                                var l, c = i.$type;
+                                x = void 0;
+                                for (l in i)
+                                    i.hasOwnProperty(l) && (c && (x = c.getChild(l)) ? s[l] = r(i[l], n, o, x.resolvedType) : s[l] = r(i[l], n, o));
+                                return s
+                            }
+                            var o = i.getChildren(e.Reflect.Message.Field)
+                              , a = i.getChildren(e.Reflect.Message.OneOf)
+                              , s = function r(n, s) {
+                                e.Builder.Message.call(this);
+                                for (var x = 0, l = a.length; x < l; ++x)
+                                    this[a[x].name] = null;
+                                for (x = 0,
+                                l = o.length; x < l; ++x) {
+                                    var c = o[x];
+                                    this[c.name] = c.repeated ? [] : c.map ? new e.Map(c) : null,
+                                    !c.required && "proto3" !== i.syntax || null === c.defaultValue || (this[c.name] = c.defaultValue)
+                                }
+                                if (0 < arguments.length)
+                                    if (1 !== arguments.length || null === n || "object" !== b()(n) || !("function" != typeof n.encode || n instanceof r) || h()(n) || n instanceof e.Map || t.isByteBuffer(n) || n instanceof ArrayBuffer || e.Long && n instanceof e.Long)
+                                        for (x = 0,
+                                        l = arguments.length; x < l; ++x)
+                                            void 0 !== (c = arguments[x]) && this.$set(o[x].name, c);
+                                    else
+                                        this.$set(n)
+                            }
+                              , l = s.prototype = c()(e.Builder.Message.prototype);
+                            l.add = function(t, r, n) {
+                                var o = i._fieldsByName[t];
+                                if (!n) {
+                                    if (!o)
+                                        throw Error(this + "#" + t + " is undefined");
+                                    if (!(o instanceof e.Reflect.Message.Field))
+                                        throw Error(this + "#" + t + " is not a field: " + o.toString(!0));
+                                    if (!o.repeated)
+                                        throw Error(this + "#" + t + " is not a repeated field");
+                                    r = o.verifyValue(r, !0)
+                                }
+                                return null === this[t] && (this[t] = []),
+                                this[t].push(r),
+                                this
+                            }
+                            ,
+                            l.$add = l.add,
+                            l.set = function(t, r, n) {
+                                if (t && "object" === b()(t)) {
+                                    for (var o in n = r,
+                                    t)
+                                        t.hasOwnProperty(o) && void 0 !== (r = t[o]) && this.$set(o, r, n);
+                                    return this
+                                }
+                                if (o = i._fieldsByName[t],
+                                n)
+                                    this[t] = r;
+                                else {
+                                    if (!o)
+                                        throw Error(this + "#" + t + " is not a field: undefined");
+                                    if (!(o instanceof e.Reflect.Message.Field))
+                                        throw Error(this + "#" + t + " is not a field: " + o.toString(!0));
+                                    this[o.name] = r = o.verifyValue(r)
+                                }
+                                return o && o.oneof && (n = this[o.oneof.name],
+                                null !== r ? (null !== n && n !== o.name && (this[n] = null),
+                                this[o.oneof.name] = o.name) : n === t && (this[o.oneof.name] = null)),
+                                this
+                            }
+                            ,
+                            l.$set = l.set,
+                            l.get = function(t, r) {
+                                if (r)
+                                    return this[t];
+                                var n = i._fieldsByName[t];
+                                if (!(n && n instanceof e.Reflect.Message.Field))
+                                    throw Error(this + "#" + t + " is not a field: undefined");
+                                if (!(n instanceof e.Reflect.Message.Field))
+                                    throw Error(this + "#" + t + " is not a field: " + n.toString(!0));
+                                return this[n.name]
+                            }
+                            ,
+                            l.$get = l.get;
+                            for (var u = 0; u < o.length; u++) {
+                                var f = o[u];
+                                f instanceof e.Reflect.Message.ExtensionField || i.builder.options.populateAccessors && function(e) {
+                                    var t = (t = e.originalName.replace(/(_[a-zA-Z])/g, (function(e) {
+                                        return e.toUpperCase().replace("_", "")
+                                    }
+                                    ))).substring(0, 1).toUpperCase() + t.substring(1)
+                                      , r = e.originalName.replace(/([A-Z])/g, (function(e) {
+                                        return "_" + e
+                                    }
+                                    ))
+                                      , n = function(t, i) {
+                                        return this[e.name] = i ? t : e.verifyValue(t),
+                                        this
+                                    }
+                                      , o = function() {
+                                        return this[e.name]
+                                    };
+                                    null === i.getChild("set" + t) && (l["set" + t] = n),
+                                    null === i.getChild("set_" + r) && (l["set_" + r] = n),
+                                    null === i.getChild("get" + t) && (l["get" + t] = o),
+                                    null === i.getChild("get_" + r) && (l["get_" + r] = o)
+                                }(f)
+                            }
+                            return l.encode = function(e, r) {
+                                "boolean" == typeof e && (r = e,
+                                e = void 0);
+                                var n = !1;
+                                e || (e = new t,
+                                n = !0);
+                                var o = e.littleEndian;
+                                try {
+                                    return i.encode(this, e.LE(), r),
+                                    (n ? e.flip() : e).LE(o)
+                                } catch (t) {
+                                    throw e.LE(o),
+                                    t
+                                }
+                            }
+                            ,
+                            s.encode = function(e, t, i) {
+                                return new s(e).encode(t, i)
+                            }
+                            ,
+                            l.calculate = function() {
+                                return i.calculate(this)
+                            }
+                            ,
+                            l.encodeDelimited = function(e, r) {
+                                var n = !1;
+                                e || (e = new t,
+                                n = !0);
+                                var o = (new t).LE();
+                                return i.encode(this, o, r).flip(),
+                                e.writeVarint32(o.remaining()),
+                                e.append(o),
+                                n ? e.flip() : e
+                            }
+                            ,
+                            l.encodeAB = function() {
+                                try {
+                                    return this.encode().toArrayBuffer()
+                                } catch (e) {
+                                    throw e.encoded && (e.encoded = e.encoded.toArrayBuffer()),
+                                    e
+                                }
+                            }
+                            ,
+                            l.toArrayBuffer = l.encodeAB,
+                            l.encodeNB = function() {
+                                try {
+                                    return this.encode().toBuffer()
+                                } catch (e) {
+                                    throw e.encoded && (e.encoded = e.encoded.toBuffer()),
+                                    e
+                                }
+                            }
+                            ,
+                            l.toBuffer = l.encodeNB,
+                            l.encode64 = function() {
+                                try {
+                                    return this.encode().toBase64()
+                                } catch (e) {
+                                    throw e.encoded && (e.encoded = e.encoded.toBase64()),
+                                    e
+                                }
+                            }
+                            ,
+                            l.toBase64 = l.encode64,
+                            l.encodeHex = function() {
+                                try {
+                                    return this.encode().toHex()
+                                } catch (e) {
+                                    throw e.encoded && (e.encoded = e.encoded.toHex()),
+                                    e
+                                }
+                            }
+                            ,
+                            l.toHex = l.encodeHex,
+                            l.toRaw = function(e, t) {
+                                return r(this, !!e, !!t, this.$type)
+                            }
+                            ,
+                            l.encodeJSON = function() {
+                                return n()(r(this, !0, !0, this.$type))
+                            }
+                            ,
+                            s.decode = function(e, r, n) {
+                                "string" == typeof r && (n = r,
+                                r = -1),
+                                "string" == typeof e ? e = t.wrap(e, n || "base64") : t.isByteBuffer(e) || (e = t.wrap(e)),
+                                n = e.littleEndian;
+                                try {
+                                    var o = i.decode(e.LE(), r);
+                                    return e.LE(n),
+                                    o
+                                } catch (t) {
+                                    throw e.LE(n),
+                                    t
+                                }
+                            }
+                            ,
+                            s.decodeDelimited = function(e, r) {
+                                if ("string" == typeof e ? e = t.wrap(e, r || "base64") : t.isByteBuffer(e) || (e = t.wrap(e)),
+                                1 > e.remaining())
+                                    return null;
+                                var n = e.offset
+                                  , o = e.readVarint32();
+                                if (e.remaining() < o)
+                                    return e.offset = n,
+                                    null;
+                                try {
+                                    var a = i.decode(e.slice(e.offset, e.offset + o).LE());
+                                    return e.offset += o,
+                                    a
+                                } catch (t) {
+                                    throw e.offset += o,
+                                    t
+                                }
+                            }
+                            ,
+                            s.decode64 = function(e) {
+                                return s.decode(e, "base64")
+                            }
+                            ,
+                            s.decodeHex = function(e) {
+                                return s.decode(e, "hex")
+                            }
+                            ,
+                            s.decodeJSON = function(e) {
+                                return new s(JSON.parse(e))
+                            }
+                            ,
+                            l.toString = function() {
+                                return i.toString()
+                            }
+                            ,
+                            x.a && (x()(s, "$options", {
+                                value: i.buildOpt()
+                            }),
+                            x()(l, "$options", {
+                                value: s.$options
+                            }),
+                            x()(s, "$type", {
+                                value: i
+                            }),
+                            x()(l, "$type", {
+                                value: i
+                            })),
+                            s
+                        }(e, this),
+                        this._fields = [],
+                        this._fieldsById = {},
+                        this._fieldsByName = {};
+                        for (var r, o = 0, a = this.children.length; o < a; o++)
+                            if ((r = this.children[o])instanceof v || r instanceof g || r instanceof y) {
+                                if (i.hasOwnProperty(r.name))
+                                    throw Error("Illegal reflect child of " + this.toString(!0) + ": " + r.toString(!0) + " cannot override static property '" + r.name + "'");
+                                i[r.name] = r.build()
+                            } else if (r instanceof g.Field)
+                                r.build(),
+                                this._fields.push(r),
+                                this._fieldsById[r.id] = r,
+                                this._fieldsByName[r.name] = r;
+                            else if (!(r instanceof g.OneOf || r instanceof C))
+                                throw Error("Illegal reflect child of " + this.toString(!0) + ": " + this.children[o].toString(!0));
+                        return this.clazz = i
+                    }
+                    ,
+                    d.encode = function(e, t, i) {
+                        for (var r, n, o = null, a = 0, s = this._fields.length; a < s; ++a)
+                            n = e[(r = this._fields[a]).name],
+                            r.required && null === n ? null === o && (o = r) : r.encode(i ? n : r.verifyValue(n), t, e);
+                        if (null !== o)
+                            throw (e = Error("Missing at least one required field for " + this.toString(!0) + ": " + o)).encoded = t,
+                            e;
+                        return t
+                    }
+                    ,
+                    d.calculate = function(e) {
+                        for (var t, i, r = 0, n = 0, o = this._fields.length; n < o; ++n) {
+                            if (i = e[(t = this._fields[n]).name],
+                            t.required && null === i)
+                                throw Error("Missing at least one required field for " + this.toString(!0) + ": " + t);
+                            r += t.calculate(i, e)
+                        }
+                        return r
+                    }
+                    ,
+                    d.decode = function(t, i, n) {
+                        "number" != typeof i && (i = -1);
+                        for (var o, a, s, x = t.offset, l = new this.clazz; t.offset < x + i || -1 === i && 0 < t.remaining(); ) {
+                            if (s = (o = t.readVarint32()) >>> 3,
+                            (a = 7 & o) === e.WIRE_TYPES.ENDGROUP) {
+                                if (s !== n)
+                                    throw Error("Illegal group end indicator for " + this.toString(!0) + ": " + s + " (" + (n ? n + " expected" : "not a group") + ")");
+                                break
+                            }
+                            if (o = this._fieldsById[s])
+                                o.repeated && !o.options.packed ? l[o.name].push(o.decode(a, t)) : o.map ? (a = o.decode(a, t),
+                                l[o.name].set(a[0], a[1])) : (l[o.name] = o.decode(a, t),
+                                o.oneof && (null !== (a = l[o.oneof.name]) && a !== o.name && (l[a] = null),
+                                l[o.oneof.name] = o.name));
+                            else
+                                switch (a) {
+                                case e.WIRE_TYPES.VARINT:
+                                    t.readVarint32();
+                                    break;
+                                case e.WIRE_TYPES.BITS32:
+                                    t.offset += 4;
+                                    break;
+                                case e.WIRE_TYPES.BITS64:
+                                    t.offset += 8;
+                                    break;
+                                case e.WIRE_TYPES.LDELIM:
+                                    o = t.readVarint32(),
+                                    t.offset += o;
+                                    break;
+                                case e.WIRE_TYPES.STARTGROUP:
+                                    for (; r(s, t); )
                                         ;
-                            } else
-                                for (t = 0,
-                                    i = e.components.length; t < i && !(r = this.intersects(e.components[t])); ++t)
-                                    ;
-                            if (!r && "GeoGlobe.Geometry.Polygon" == e.CLASS_NAME) {
-                                var n = this.components[0];
-                                for (t = 0,
-                                    i = n.components.length; t < i && !(r = e.containsPoint(n.components[t])); ++t)
-                                    ;
-                            }
-                            return r
-                        },
-                        distanceTo: function (e, t) {
-                            return t && !1 === t.edge && this.intersects(e) ? 0 : GeoGlobe.Geometry.Collection.prototype.distanceTo.apply(this, [e, t])
-                        },
-                        CLASS_NAME: "GeoGlobe.Geometry.Polygon"
-                    }),
-                    GeoGlobe.Geometry.Polygon.createRegularPolygon = function (e, t, i, r) {
-                        var n, o, a, s = Math.PI * (1 / i - .5);
-                        r && (s += r / 180 * Math.PI);
-                        for (var x = [], l = 0; l < i; ++l)
-                            n = s + 2 * l * Math.PI / i,
-                                o = e.x + t * Math.cos(n),
-                                a = e.y + t * Math.sin(n),
-                                x.push(new GeoGlobe.Geometry.Point(o, a));
-                        var c = new GeoGlobe.Geometry.LinearRing(x);
-                        return new GeoGlobe.Geometry.Polygon([c])
+                                    break;
+                                default:
+                                    throw Error("Illegal wire type for unknown field " + s + " in " + this.toString(!0) + "#decode: " + a)
+                                }
+                        }
+                        for (t = 0,
+                        i = this._fields.length; t < i; ++t)
+                            if (null === l[(o = this._fields[t]).name])
+                                if ("proto3" === this.syntax)
+                                    l[o.name] = o.defaultValue;
+                                else {
+                                    if (o.required)
+                                        throw (t = Error("Missing at least one required field for " + this.toString(!0) + ": " + o.name)).decoded = l,
+                                        t;
+                                    e.populateDefaults && null !== o.defaultValue && (l[o.name] = o.defaultValue)
+                                }
+                        return l
                     }
                     ,
-                    GeoGlobe.Geometry.MultiLineString = GeoGlobe.Class4OL(GeoGlobe.Geometry.Collection, {
-                        componentTypes: ["GeoGlobe.Geometry.LineString"],
-                        split: function (e, t) {
-                            for (var i, r, n, o, a, s = null, x = t && t.mutual, l = [], c = [e], u = 0, h = this.components.length; u < h; ++u) {
-                                r = this.components[u],
-                                    o = !1;
-                                for (var f = 0; f < c.length; ++f)
-                                    if (i = r.split(c[f], t)) {
-                                        if (x) {
-                                            for (var d = 0, g = (n = i[0]).length; d < g; ++d)
-                                                0 === d && l.length ? l[l.length - 1].addComponent(n[d]) : l.push(new GeoGlobe.Geometry.MultiLineString([n[d]]));
-                                            o = !0,
-                                                i = i[1]
-                                        }
-                                        if (i.length) {
-                                            i.unshift(f, 1),
-                                                Array.prototype.splice.apply(c, i);
-                                            break
+                    o.Message = g;
+                    var m = function(t, i, r, n, o, a, x, l, c, u) {
+                        s.call(this, t, i, a),
+                        this.className = "Message.Field",
+                        this.required = "required" === r,
+                        this.repeated = "repeated" === r,
+                        this.map = "map" === r,
+                        this.keyType = n || null,
+                        this.type = o,
+                        this.resolvedType = null,
+                        this.id = x,
+                        this.options = l || {},
+                        this.defaultValue = null,
+                        this.oneof = c || null,
+                        this.syntax = u || "proto2",
+                        this.originalName = this.name,
+                        this.keyElement = this.element = null,
+                        !this.builder.options.convertFieldsToCamelCase || this instanceof g.ExtensionField || (this.name = e.Util.toCamelCase(this.name))
+                    };
+                    (d = m.prototype = c()(s.prototype)).build = function() {
+                        this.element = new f(this.type,this.resolvedType,!1,this.syntax,this.name),
+                        this.map && (this.keyElement = new f(this.keyType,void 0,!0,this.syntax,this.name)),
+                        "proto3" !== this.syntax || this.repeated || this.map ? void 0 !== this.options.default && (this.defaultValue = this.verifyValue(this.options.default)) : this.defaultValue = f.defaultFieldValue(this.type)
+                    }
+                    ,
+                    d.verifyValue = function(t, i) {
+                        function r(e, t) {
+                            throw Error("Illegal value for " + o.toString(!0) + " of type " + o.type.name + ": " + e + " (" + t + ")")
+                        }
+                        i = i || !1;
+                        var n, o = this;
+                        if (null === t)
+                            return this.required && r(b()(t), "required"),
+                            "proto3" === this.syntax && this.type !== e.TYPES.message && r(b()(t), "proto3 field without field presence cannot be null"),
+                            null;
+                        if (this.repeated && !i) {
+                            h()(t) || (t = [t]);
+                            var a = [];
+                            for (n = 0; n < t.length; n++)
+                                a.push(this.element.verifyValue(t[n]));
+                            return a
+                        }
+                        return this.map && !i ? t instanceof e.Map ? t : (t instanceof Object || r(b()(t), "expected ProtoBuf.Map or raw object for map field"),
+                        new e.Map(this,t)) : (!this.repeated && h()(t) && r(b()(t), "no array expected"),
+                        this.element.verifyValue(t))
+                    }
+                    ,
+                    d.hasWirePresence = function(t, i) {
+                        if ("proto3" !== this.syntax)
+                            return null !== t;
+                        if (this.oneof && i[this.oneof.name] === this.name)
+                            return !0;
+                        switch (this.type) {
+                        case e.TYPES.int32:
+                        case e.TYPES.sint32:
+                        case e.TYPES.sfixed32:
+                        case e.TYPES.uint32:
+                        case e.TYPES.fixed32:
+                            return 0 !== t;
+                        case e.TYPES.int64:
+                        case e.TYPES.sint64:
+                        case e.TYPES.sfixed64:
+                        case e.TYPES.uint64:
+                        case e.TYPES.fixed64:
+                            return 0 !== t.low || 0 !== t.high;
+                        case e.TYPES.bool:
+                            return t;
+                        case e.TYPES.float:
+                        case e.TYPES.double:
+                            return 0 !== t;
+                        case e.TYPES.string:
+                            return 0 < t.length;
+                        case e.TYPES.bytes:
+                            return 0 < t.remaining();
+                        case e.TYPES.enum:
+                            return 0 !== t;
+                        case e.TYPES.message:
+                            return null !== t;
+                        default:
+                            return !0
+                        }
+                    }
+                    ,
+                    d.encode = function(i, r, n) {
+                        if (null === this.type || "object" !== b()(this.type))
+                            throw Error("[INTERNAL] Unresolved type in " + this.toString(!0) + ": " + this.type);
+                        if (null === i || this.repeated && 0 == i.length)
+                            return r;
+                        try {
+                            var o;
+                            if (this.repeated)
+                                if (this.options.packed && 0 <= e.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)) {
+                                    r.writeVarint32(this.id << 3 | e.WIRE_TYPES.LDELIM),
+                                    r.ensureCapacity(r.offset += 1);
+                                    var a = r.offset;
+                                    for (o = 0; o < i.length; o++)
+                                        this.element.encodeValue(this.id, i[o], r);
+                                    var s = r.offset - a
+                                      , x = t.calculateVarint32(s);
+                                    if (1 < x) {
+                                        var l = r.slice(a, r.offset);
+                                        a = a + (x - 1);
+                                        r.offset = a,
+                                        r.append(l)
+                                    }
+                                    r.writeVarint32(s, a - x)
+                                } else
+                                    for (o = 0; o < i.length; o++)
+                                        r.writeVarint32(this.id << 3 | this.type.wireType),
+                                        this.element.encodeValue(this.id, i[o], r);
+                            else
+                                this.map ? i.forEach((function(i, n, o) {
+                                    o = t.calculateVarint32(8 | this.keyType.wireType) + this.keyElement.calculateLength(1, n) + t.calculateVarint32(16 | this.type.wireType) + this.element.calculateLength(2, i),
+                                    r.writeVarint32(this.id << 3 | e.WIRE_TYPES.LDELIM),
+                                    r.writeVarint32(o),
+                                    r.writeVarint32(8 | this.keyType.wireType),
+                                    this.keyElement.encodeValue(1, n, r),
+                                    r.writeVarint32(16 | this.type.wireType),
+                                    this.element.encodeValue(2, i, r)
+                                }
+                                ), this) : this.hasWirePresence(i, n) && (r.writeVarint32(this.id << 3 | this.type.wireType),
+                                this.element.encodeValue(this.id, i, r))
+                        } catch (e) {
+                            throw Error("Illegal value for " + this.toString(!0) + ": " + i + " (" + e + ")")
+                        }
+                        return r
+                    }
+                    ,
+                    d.calculate = function(i, r) {
+                        if (i = this.verifyValue(i),
+                        null === this.type || "object" !== b()(this.type))
+                            throw Error("[INTERNAL] Unresolved type in " + this.toString(!0) + ": " + this.type);
+                        if (null === i || this.repeated && 0 == i.length)
+                            return 0;
+                        var n = 0;
+                        try {
+                            var o, a;
+                            if (this.repeated)
+                                if (this.options.packed && 0 <= e.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)) {
+                                    for (n += t.calculateVarint32(this.id << 3 | e.WIRE_TYPES.LDELIM),
+                                    o = a = 0; o < i.length; o++)
+                                        a += this.element.calculateLength(this.id, i[o]);
+                                    n += t.calculateVarint32(a),
+                                    n += a
+                                } else
+                                    for (o = 0; o < i.length; o++)
+                                        n += t.calculateVarint32(this.id << 3 | this.type.wireType),
+                                        n += this.element.calculateLength(this.id, i[o]);
+                            else
+                                this.map ? i.forEach((function(i, r, o) {
+                                    i = t.calculateVarint32(8 | this.keyType.wireType) + this.keyElement.calculateLength(1, r) + t.calculateVarint32(16 | this.type.wireType) + this.element.calculateLength(2, i),
+                                    n += t.calculateVarint32(this.id << 3 | e.WIRE_TYPES.LDELIM),
+                                    n += t.calculateVarint32(i),
+                                    n += i
+                                }
+                                ), this) : this.hasWirePresence(i, r) && (n += t.calculateVarint32(this.id << 3 | this.type.wireType),
+                                n += this.element.calculateLength(this.id, i))
+                        } catch (e) {
+                            throw Error("Illegal value for " + this.toString(!0) + ": " + i + " (" + e + ")")
+                        }
+                        return n
+                    }
+                    ,
+                    d.decode = function(t, i, r) {
+                        if (!(!this.map && t == this.type.wireType || !r && this.repeated && this.options.packed && t == e.WIRE_TYPES.LDELIM || this.map && t == e.WIRE_TYPES.LDELIM))
+                            throw Error("Illegal wire type for field " + this.toString(!0) + ": " + t + " (" + this.type.wireType + " expected)");
+                        if (t == e.WIRE_TYPES.LDELIM && this.repeated && this.options.packed && 0 <= e.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType) && !r) {
+                            for (t = i.readVarint32(),
+                            t = i.offset + t,
+                            r = []; i.offset < t; )
+                                r.push(this.decode(this.type.wireType, i, !0));
+                            return r
+                        }
+                        if (this.map) {
+                            var n = f.defaultFieldValue(this.keyType);
+                            if (r = f.defaultFieldValue(this.type),
+                            t = i.readVarint32(),
+                            i.remaining() < t)
+                                throw Error("Illegal number of bytes for " + this.toString(!0) + ": " + t + " required but got only " + i.remaining());
+                            var o = i.clone();
+                            for (o.limit = o.offset + t,
+                            i.offset += t; 0 < o.remaining(); )
+                                if (t = 7 & (i = o.readVarint32()),
+                                1 === (i >>>= 3))
+                                    n = this.keyElement.decode(o, t, i);
+                                else {
+                                    if (2 !== i)
+                                        throw Error("Unexpected tag in map field key/value submessage");
+                                    r = this.element.decode(o, t, i)
+                                }
+                            return [n, r]
+                        }
+                        return this.element.decode(i, t, this.id)
+                    }
+                    ,
+                    o.Message.Field = m,
+                    (d = function(e, t, i, r, n, o, a) {
+                        m.call(this, e, t, i, null, r, n, o, a)
+                    }
+                    ).prototype = c()(m.prototype),
+                    o.Message.ExtensionField = d,
+                    o.Message.OneOf = function(e, t, i) {
+                        s.call(this, e, t, i),
+                        this.fields = []
+                    }
+                    ;
+                    var v = function(e, t, i, r, n) {
+                        u.call(this, e, t, i, r, n),
+                        this.className = "Enum",
+                        this.object = null
+                    };
+                    v.getName = function(e, t) {
+                        for (var i, r = a()(e), n = 0; n < r.length; ++n)
+                            if (e[i = r[n]] === t)
+                                return i;
+                        return null
+                    }
+                    ,
+                    (v.prototype = c()(u.prototype)).build = function(t) {
+                        if (this.object && !t)
+                            return this.object;
+                        t = new e.Builder.Enum;
+                        for (var i = this.getChildren(v.Value), r = 0, n = i.length; r < n; ++r)
+                            t[i[r].name] = i[r].id;
+                        return x.a && x()(t, "$options", {
+                            value: this.buildOpt(),
+                            enumerable: !1
+                        }),
+                        this.object = t
+                    }
+                    ,
+                    o.Enum = v,
+                    (d = function(e, t, i, r) {
+                        s.call(this, e, t, i),
+                        this.className = "Enum.Value",
+                        this.id = r
+                    }
+                    ).prototype = c()(s.prototype),
+                    o.Enum.Value = d;
+                    var C = function(e, t, i, r) {
+                        s.call(this, e, t, i),
+                        this.field = r
+                    };
+                    C.prototype = c()(s.prototype),
+                    o.Extension = C;
+                    var y = function(e, t, i, r) {
+                        u.call(this, e, t, i, r),
+                        this.className = "Service",
+                        this.clazz = null
+                    };
+                    (y.prototype = c()(u.prototype)).build = function(i) {
+                        return this.clazz && !i ? this.clazz : this.clazz = function(e, i) {
+                            for (var r = function(t) {
+                                e.Builder.Service.call(this),
+                                this.rpcImpl = t || function(e, t, i) {
+                                    setTimeout(i.bind(this, Error("Not implemented, see: https://github.com/dcodeIO/ProtoBuf.js/wiki/Services")), 0)
+                                }
+                            }, n = r.prototype = c()(e.Builder.Service.prototype), o = i.getChildren(e.Reflect.Service.RPCMethod), a = 0; a < o.length; a++)
+                                !function(e) {
+                                    n[e.name] = function(r, n) {
+                                        try {
+                                            try {
+                                                r = e.resolvedRequestType.clazz.decode(t.wrap(r))
+                                            } catch (e) {
+                                                if (!(e instanceof TypeError))
+                                                    throw e
+                                            }
+                                            if (null === r || "object" !== b()(r))
+                                                throw Error("Illegal arguments");
+                                            r instanceof e.resolvedRequestType.clazz || (r = new e.resolvedRequestType.clazz(r)),
+                                            this.rpcImpl(e.fqn(), r, (function(t, r) {
+                                                if (t)
+                                                    n(t);
+                                                else {
+                                                    null === r && (r = "");
+                                                    try {
+                                                        r = e.resolvedResponseType.clazz.decode(r)
+                                                    } catch (e) {}
+                                                    r && r instanceof e.resolvedResponseType.clazz ? n(null, r) : n(Error("Illegal response type received in service method " + i.name + "#" + e.name))
+                                                }
+                                            }
+                                            ))
+                                        } catch (e) {
+                                            setTimeout(n.bind(this, e), 0)
                                         }
                                     }
-                                o || (l.length ? l[l.length - 1].addComponent(r.clone()) : l = [new GeoGlobe.Geometry.MultiLineString(r.clone())])
-                            }
-                            return l && l.length > 1 ? o = !0 : l = [],
-                                c && c.length > 1 ? a = !0 : c = [],
-                                (o || a) && (s = x ? [l, c] : c),
-                                s
-                        },
-                        splitWith: function (e, t) {
-                            var i, r, n, o, a, s, x, l = null, c = t && t.mutual;
-                            if (e instanceof GeoGlobe.Geometry.LineString) {
-                                x = [],
-                                    s = [e];
-                                for (var u = 0, h = this.components.length; u < h; ++u) {
-                                    a = !1,
-                                        r = this.components[u];
-                                    for (var f = 0; f < s.length; ++f)
-                                        if (i = s[f].split(r, t)) {
-                                            c && ((n = i[0]).length && (n.unshift(f, 1),
-                                                Array.prototype.splice.apply(s, n),
-                                                f += n.length - 2),
-                                                0 === (i = i[1]).length && (i = [r.clone()]));
-                                            for (var d = 0, g = i.length; d < g; ++d)
-                                                0 === d && x.length ? x[x.length - 1].addComponent(i[d]) : x.push(new GeoGlobe.Geometry.MultiLineString([i[d]]));
-                                            a = !0
-                                        }
-                                    a || (x.length ? x[x.length - 1].addComponent(r.clone()) : x = [new GeoGlobe.Geometry.MultiLineString([r.clone()])])
-                                }
-                            } else
-                                l = e.split(this);
-                            return s && s.length > 1 ? o = !0 : s = [],
-                                x && x.length > 1 ? a = !0 : x = [],
-                                (o || a) && (l = c ? [s, x] : x),
-                                l
-                        },
-                        CLASS_NAME: "GeoGlobe.Geometry.MultiLineString"
-                    }),
-                    GeoGlobe.Geometry.MultiPolygon = GeoGlobe.Class4OL(GeoGlobe.Geometry.Collection, {
-                        componentTypes: ["GeoGlobe.Geometry.Polygon"],
-                        CLASS_NAME: "GeoGlobe.Geometry.MultiPolygon"
-                    }),
-                    GeoGlobe.State = {
-                        UNKNOWN: "Unknown",
-                        INSERT: "Insert",
-                        UPDATE: "Update",
-                        DELETE: "Delete"
-                    },
-                    GeoGlobe.Feature = GeoGlobe.Class4OL({
-                        id: null,
-                        fid: null,
-                        lonlat: null,
-                        geometry: null,
-                        attributes: null,
-                        data: null,
-                        bounds: null,
-                        state: null,
-                        url: null,
-                        modified: null,
-                        initialize: function (e, t) {
-                            this.data = null != t ? t : {},
-                                this.id = GeoGlobe.Util.createUniqueID(this.CLASS_NAME + "_"),
-                                this.lonlat = null,
-                                this.geometry = e || null,
-                                this.state = null,
-                                this.attributes = {},
-                                t && (this.attributes = GeoGlobe.Util.extend(this.attributes, t))
-                        },
-                        destroy: function () {
-                            this.geometry = null,
-                                this.modified = null,
-                                this.id = null,
-                                this.lonlat = null,
-                                this.data = null
-                        },
-                        clone: function () {
-                            return new GeoGlobe.Feature(this.geometry ? this.geometry.clone() : null, this.attributes)
-                        },
-                        createMarker: function () {
-                            return null
-                        },
-                        destroyMarker: function () { },
-                        createPopup: function () {
-                            return null
-                        },
-                        atPoint: function (e, t, i) {
-                            var r = !1;
-                            return this.geometry && (r = this.geometry.atPoint(e, t, i)),
-                                r
-                        },
-                        destroyPopup: function () { },
-                        toState: function (e) {
-                            if (e == GeoGlobe.State.UPDATE)
-                                switch (this.state) {
-                                    case GeoGlobe.State.UNKNOWN:
-                                    case GeoGlobe.State.DELETE:
-                                        this.state = e;
-                                        break;
-                                    case GeoGlobe.State.UPDATE:
-                                    case GeoGlobe.State.INSERT:
-                                }
-                            else if (e == GeoGlobe.State.INSERT)
-                                switch (this.state) {
-                                    case GeoGlobe.State.UNKNOWN:
-                                        break;
-                                    default:
-                                        this.state = e
-                                }
-                            else if (e == GeoGlobe.State.DELETE)
-                                switch (this.state) {
-                                    case GeoGlobe.State.INSERT:
-                                    case GeoGlobe.State.DELETE:
-                                        break;
-                                    case GeoGlobe.State.UNKNOWN:
-                                    case GeoGlobe.State.UPDATE:
-                                        this.state = e
-                                }
-                            else
-                                e == GeoGlobe.State.UNKNOWN && (this.state = e)
-                        },
-                        CLASS_NAME: "GeoGlobe.Feature"
-                    }),
-                    GeoGlobe.Feature.getBoundsByFeatures = function (e) {
-                        for (var t = e.length, i = new Array(t), r = 0; r < t; ++r)
-                            i[r] = e[r].geometry;
-                        var n = new GeoGlobe.Geometry.Collection(i);
-                        return n.calculateBounds(),
-                            n.bounds
+                                    ,
+                                    r[e.name] = function(t, i, n) {
+                                        new r(t)[e.name](i, n)
+                                    }
+                                    ,
+                                    x.a && (x()(r[e.name], "$options", {
+                                        value: e.buildOpt()
+                                    }),
+                                    x()(n[e.name], "$options", {
+                                        value: r[e.name].$options
+                                    }))
+                                }(o[a]);
+                            return x.a && (x()(r, "$options", {
+                                value: i.buildOpt()
+                            }),
+                            x()(n, "$options", {
+                                value: r.$options
+                            }),
+                            x()(r, "$type", {
+                                value: i
+                            }),
+                            x()(n, "$type", {
+                                value: i
+                            })),
+                            r
+                        }(e, this)
                     }
                     ,
-                    GeoGlobe.Feature.fromGeoJson = function (e) {
-                        if (GeoGlobe.Format && GeoGlobe.Format.GeoJSON) {
-                            format = new GeoGlobe.Format.GeoJSON;
-                            var t = format.read(e)
+                    o.Service = y;
+                    var _ = function(e, t, i, r) {
+                        s.call(this, e, t, i),
+                        this.className = "Service.Method",
+                        this.options = r || {}
+                    };
+                    return (_.prototype = c()(s.prototype)).buildOpt = l.buildOpt,
+                    o.Service.Method = _,
+                    (l = function(e, t, i, r, n, o, a, s) {
+                        _.call(this, e, t, i, s),
+                        this.className = "Service.RPCMethod",
+                        this.requestName = r,
+                        this.responseName = n,
+                        this.requestStream = o,
+                        this.responseStream = a,
+                        this.resolvedResponseType = this.resolvedRequestType = null
+                    }
+                    ).prototype = c()(_.prototype),
+                    o.Service.RPCMethod = l,
+                    o
+                }(s),
+                s.Builder = function(e, t, r) {
+                    var o = function(e) {
+                        this.ptr = this.ns = new r.Namespace(this,null,""),
+                        this.resolved = !1,
+                        this.result = null,
+                        this.files = {},
+                        this.importRoot = null,
+                        this.options = e || {}
+                    }
+                      , s = o.prototype;
+                    return o.isMessage = function(e) {
+                        return "string" == typeof e.name && void 0 === e.values && void 0 === e.rpc
+                    }
+                    ,
+                    o.isMessageField = function(e) {
+                        return "string" == typeof e.rule && "string" == typeof e.name && "string" == typeof e.type && void 0 !== e.id
+                    }
+                    ,
+                    o.isEnum = function(e) {
+                        return !("string" != typeof e.name || void 0 === e.values || !h()(e.values) || 0 === e.values.length)
+                    }
+                    ,
+                    o.isService = function(e) {
+                        return !("string" != typeof e.name || "object" !== b()(e.rpc) || !e.rpc)
+                    }
+                    ,
+                    o.isExtend = function(e) {
+                        return "string" == typeof e.ref
+                    }
+                    ,
+                    s.reset = function() {
+                        return this.ptr = this.ns,
+                        this
+                    }
+                    ,
+                    s.define = function(e) {
+                        if ("string" != typeof e || !t.TYPEREF.test(e))
+                            throw Error("illegal namespace: " + e);
+                        return e.split(".").forEach((function(e) {
+                            var t = this.ptr.getChild(e);
+                            null === t && this.ptr.addChild(t = new r.Namespace(this,this.ptr,e)),
+                            this.ptr = t
+                        }
+                        ), this),
+                        this
+                    }
+                    ,
+                    s.create = function(t) {
+                        if (!t)
+                            return this;
+                        if (h()(t)) {
+                            if (0 === t.length)
+                                return this;
+                            t = t.slice()
+                        } else
+                            t = [t];
+                        for (var i = [t]; 0 < i.length; ) {
+                            if (t = i.pop(),
+                            !h()(t))
+                                throw Error("not a valid namespace: " + n()(t));
+                            for (; 0 < t.length; ) {
+                                var s = t.shift();
+                                if (o.isMessage(s)) {
+                                    var x = new r.Message(this,this.ptr,s.name,s.options,s.isGroup,s.syntax)
+                                      , l = {};
+                                    s.oneofs && a()(s.oneofs).forEach((function(e) {
+                                        x.addChild(l[e] = new r.Message.OneOf(this,x,e))
+                                    }
+                                    ), this),
+                                    s.fields && s.fields.forEach((function(e) {
+                                        if (null !== x.getChild(0 | e.id))
+                                            throw Error("duplicate or invalid field id in " + x.name + ": " + e.id);
+                                        if (e.options && "object" !== b()(e.options))
+                                            throw Error("illegal field options in " + x.name + "#" + e.name);
+                                        var t = null;
+                                        if ("string" == typeof e.oneof && !(t = l[e.oneof]))
+                                            throw Error("illegal oneof in " + x.name + "#" + e.name + ": " + e.oneof);
+                                        e = new r.Message.Field(this,x,e.rule,e.keytype,e.type,e.name,e.id,e.options,t,s.syntax),
+                                        t && t.fields.push(e),
+                                        x.addChild(e)
+                                    }
+                                    ), this);
+                                    var c = [];
+                                    if (s.enums && s.enums.forEach((function(e) {
+                                        c.push(e)
+                                    }
+                                    )),
+                                    s.messages && s.messages.forEach((function(e) {
+                                        c.push(e)
+                                    }
+                                    )),
+                                    s.services && s.services.forEach((function(e) {
+                                        c.push(e)
+                                    }
+                                    )),
+                                    s.extensions && (x.extensions = "number" == typeof s.extensions[0] ? [s.extensions] : s.extensions),
+                                    this.ptr.addChild(x),
+                                    0 < c.length) {
+                                        i.push(t),
+                                        t = c,
+                                        c = null,
+                                        this.ptr = x,
+                                        x = null;
+                                        continue
+                                    }
+                                    c = null
+                                } else if (o.isEnum(s))
+                                    x = new r.Enum(this,this.ptr,s.name,s.options,s.syntax),
+                                    s.values.forEach((function(e) {
+                                        x.addChild(new r.Enum.Value(this,x,e.name,e.id))
+                                    }
+                                    ), this),
+                                    this.ptr.addChild(x);
+                                else if (o.isService(s))
+                                    x = new r.Service(this,this.ptr,s.name,s.options),
+                                    a()(s.rpc).forEach((function(e) {
+                                        var t = s.rpc[e];
+                                        x.addChild(new r.Service.RPCMethod(this,x,e,t.request,t.response,!!t.request_stream,!!t.response_stream,t.options))
+                                    }
+                                    ), this),
+                                    this.ptr.addChild(x);
+                                else {
+                                    if (!o.isExtend(s))
+                                        throw Error("not a valid definition: " + n()(s));
+                                    if (x = this.ptr.resolve(s.ref, !0))
+                                        s.fields.forEach((function(t) {
+                                            if (null !== x.getChild(0 | t.id))
+                                                throw Error("duplicate extended field id in " + x.name + ": " + t.id);
+                                            if (x.extensions) {
+                                                var i = !1;
+                                                if (x.extensions.forEach((function(e) {
+                                                    t.id >= e[0] && t.id <= e[1] && (i = !0)
+                                                }
+                                                )),
+                                                !i)
+                                                    throw Error("illegal extended field id in " + x.name + ": " + t.id + " (not within valid ranges)")
+                                            }
+                                            var n = t.name;
+                                            this.options.convertFieldsToCamelCase && (n = e.Util.toCamelCase(n));
+                                            n = new r.Message.ExtensionField(this,x,t.rule,t.type,this.ptr.fqn() + "." + n,t.id,t.options);
+                                            var o = new r.Extension(this,this.ptr,t.name,n);
+                                            n.extension = o,
+                                            this.ptr.addChild(o),
+                                            x.addChild(n)
+                                        }
+                                        ), this);
+                                    else if (!/\.?google\.protobuf\./.test(s.ref))
+                                        throw Error("extended message " + s.ref + " is not defined")
+                                }
+                                x = s = null
+                            }
+                            t = null,
+                            this.ptr = this.ptr.parent
+                        }
+                        return this.resolved = !1,
+                        this.result = null,
+                        this
+                    }
+                    ,
+                    s.import = function(t, r) {
+                        var n = "/";
+                        if ("string" == typeof r) {
+                            if (e.Util.IS_NODE && (r = i(122).resolve(r)),
+                            !0 === this.files[r])
+                                return this.reset();
+                            this.files[r] = !0
+                        } else if ("object" === b()(r)) {
+                            var o = r.root;
+                            if (e.Util.IS_NODE && (o = i(122).resolve(o)),
+                            (0 <= o.indexOf("\\") || 0 <= r.file.indexOf("\\")) && (n = "\\"),
+                            o = o + n + r.file,
+                            !0 === this.files[o])
+                                return this.reset();
+                            this.files[o] = !0
+                        }
+                        if (t.imports && 0 < t.imports.length) {
+                            var s = !1;
+                            "object" === b()(r) ? (this.importRoot = r.root,
+                            s = !0,
+                            o = this.importRoot,
+                            r = r.file,
+                            (0 <= o.indexOf("\\") || 0 <= r.indexOf("\\")) && (n = "\\")) : "string" == typeof r ? this.importRoot ? o = this.importRoot : 0 <= r.indexOf("/") ? "" === (o = r.replace(/\/[^\/]*$/, "")) && (o = "/") : 0 <= r.indexOf("\\") ? (o = r.replace(/\\[^\\]*$/, ""),
+                            n = "\\") : o = "." : o = null;
+                            for (var x = 0; x < t.imports.length; x++)
+                                if ("string" == typeof t.imports[x]) {
+                                    if (!o)
+                                        throw Error("cannot determine import root");
+                                    var l = t.imports[x];
+                                    if ("google/protobuf/descriptor.proto" !== l && (l = o + n + l,
+                                    !0 !== this.files[l])) {
+                                        /\.proto$/i.test(l) && !e.DotProto && (l = l.replace(/\.proto$/, ".json"));
+                                        var c = e.Util.fetch(l);
+                                        if (null === c)
+                                            throw Error("failed to import '" + l + "' in '" + r + "': file not found");
+                                        /\.json$/i.test(l) ? this.import(JSON.parse(c + ""), l) : this.import(e.DotProto.Parser.parse(c), l)
+                                    }
+                                } else
+                                    r ? /\.(\w+)$/.test(r) ? this.import(t.imports[x], r.replace(/^(.+)\.(\w+)$/, (function(e, t, i) {
+                                        return t + "_import" + x + "." + i
+                                    }
+                                    ))) : this.import(t.imports[x], r + "_import" + x) : this.import(t.imports[x]);
+                            s && (this.importRoot = null)
+                        }
+                        t.package && this.define(t.package),
+                        t.syntax && function e(t) {
+                            t.messages && t.messages.forEach((function(i) {
+                                i.syntax = t.syntax,
+                                e(i)
+                            }
+                            )),
+                            t.enums && t.enums.forEach((function(e) {
+                                e.syntax = t.syntax
+                            }
+                            ))
+                        }(t);
+                        var u = this.ptr;
+                        return t.options && a()(t.options).forEach((function(e) {
+                            u.options[e] = t.options[e]
+                        }
+                        )),
+                        t.messages && (this.create(t.messages),
+                        this.ptr = u),
+                        t.enums && (this.create(t.enums),
+                        this.ptr = u),
+                        t.services && (this.create(t.services),
+                        this.ptr = u),
+                        t.extends && this.create(t.extends),
+                        this.reset()
+                    }
+                    ,
+                    s.resolveAll = function() {
+                        var i;
+                        if (null == this.ptr || "object" === b()(this.ptr.type))
+                            return this;
+                        if (this.ptr instanceof r.Namespace)
+                            this.ptr.children.forEach((function(e) {
+                                this.ptr = e,
+                                this.resolveAll()
+                            }
+                            ), this);
+                        else if (this.ptr instanceof r.Message.Field) {
+                            if (t.TYPE.test(this.ptr.type))
+                                this.ptr.type = e.TYPES[this.ptr.type];
+                            else {
+                                if (!t.TYPEREF.test(this.ptr.type))
+                                    throw Error("illegal type reference in " + this.ptr.toString(!0) + ": " + this.ptr.type);
+                                if (!(i = (this.ptr instanceof r.Message.ExtensionField ? this.ptr.extension.parent : this.ptr.parent).resolve(this.ptr.type, !0)))
+                                    throw Error("unresolvable type reference in " + this.ptr.toString(!0) + ": " + this.ptr.type);
+                                if (this.ptr.resolvedType = i,
+                                i instanceof r.Enum) {
+                                    if (this.ptr.type = e.TYPES.enum,
+                                    "proto3" === this.ptr.syntax && "proto3" !== i.syntax)
+                                        throw Error("proto3 message cannot reference proto2 enum")
+                                } else {
+                                    if (!(i instanceof r.Message))
+                                        throw Error("illegal type reference in " + this.ptr.toString(!0) + ": " + this.ptr.type);
+                                    this.ptr.type = i.isGroup ? e.TYPES.group : e.TYPES.message
+                                }
+                            }
+                            if (this.ptr.map) {
+                                if (!t.TYPE.test(this.ptr.keyType))
+                                    throw Error("illegal key type for map field in " + this.ptr.toString(!0) + ": " + this.ptr.keyType);
+                                this.ptr.keyType = e.TYPES[this.ptr.keyType]
+                            }
+                        } else if (this.ptr instanceof e.Reflect.Service.Method) {
+                            if (!(this.ptr instanceof e.Reflect.Service.RPCMethod))
+                                throw Error("illegal service type in " + this.ptr.toString(!0));
+                            if (!((i = this.ptr.parent.resolve(this.ptr.requestName, !0)) && i instanceof e.Reflect.Message))
+                                throw Error("Illegal type reference in " + this.ptr.toString(!0) + ": " + this.ptr.requestName);
+                            if (this.ptr.resolvedRequestType = i,
+                            !((i = this.ptr.parent.resolve(this.ptr.responseName, !0)) && i instanceof e.Reflect.Message))
+                                throw Error("Illegal type reference in " + this.ptr.toString(!0) + ": " + this.ptr.responseName);
+                            this.ptr.resolvedResponseType = i
+                        } else if (!(this.ptr instanceof e.Reflect.Message.OneOf || this.ptr instanceof e.Reflect.Extension || this.ptr instanceof e.Reflect.Enum.Value))
+                            throw Error("illegal object in namespace: " + b()(this.ptr) + ": " + this.ptr);
+                        return this.reset()
+                    }
+                    ,
+                    s.build = function(e) {
+                        if (this.reset(),
+                        this.resolved || (this.resolveAll(),
+                        this.resolved = !0,
+                        this.result = null),
+                        null === this.result && (this.result = this.ns.build()),
+                        !e)
+                            return this.result;
+                        e = "string" == typeof e ? e.split(".") : e;
+                        for (var t = this.result, i = 0; i < e.length; i++) {
+                            if (!t[e[i]]) {
+                                t = null;
+                                break
+                            }
+                            t = t[e[i]]
                         }
                         return t
                     }
                     ,
-                    GeoGlobe.Filter = GeoGlobe.Class4OL({
-                        initialize: function (e) {
-                            GeoGlobe.Util.extend(this, e)
-                        },
-                        destroy: function () { },
-                        evaluate: function (e) {
-                            return !0
-                        },
-                        clone: function () {
-                            return null
-                        },
-                        toString: function () {
-                            return GeoGlobe.Format && GeoGlobe.Format.CQL ? GeoGlobe.Format.CQL.prototype.write(this) : Object.prototype.toString.call(this)
-                        },
-                        CLASS_NAME: "GeoGlobe.Filter"
-                    }),
-                    GeoGlobe.Filter.FeatureId = GeoGlobe.Class4OL(GeoGlobe.Filter, {
-                        fids: null,
-                        type: "FID",
-                        initialize: function (e) {
-                            this.fids = [],
-                                GeoGlobe.Filter.prototype.initialize.apply(this, [e])
-                        },
-                        evaluate: function (e) {
-                            for (var t = 0, i = this.fids.length; t < i; t++)
-                                if ((e.fid || e.id) == this.fids[t])
-                                    return !0;
-                            return !1
-                        },
-                        clone: function () {
-                            var e = new GeoGlobe.Filter.FeatureId;
-                            return GeoGlobe.Util.extend(e, this),
-                                e.fids = this.fids.slice(),
-                                e
-                        },
-                        CLASS_NAME: "GeoGlobe.Filter.FeatureId"
-                    }),
-                    GeoGlobe.Filter.Logical = GeoGlobe.Class4OL(GeoGlobe.Filter, {
-                        filters: null,
-                        type: null,
-                        initialize: function (e) {
-                            this.filters = [],
-                                GeoGlobe.Filter.prototype.initialize.apply(this, [e])
-                        },
-                        destroy: function () {
-                            this.filters = null,
-                                GeoGlobe.Filter.prototype.destroy.apply(this)
-                        },
-                        evaluate: function (e) {
-                            var t, i;
-                            switch (this.type) {
-                                case GeoGlobe.Filter.Logical.AND:
-                                    for (t = 0,
-                                        i = this.filters.length; t < i; t++)
-                                        if (0 == this.filters[t].evaluate(e))
-                                            return !1;
-                                    return !0;
-                                case GeoGlobe.Filter.Logical.OR:
-                                    for (t = 0,
-                                        i = this.filters.length; t < i; t++)
-                                        if (1 == this.filters[t].evaluate(e))
-                                            return !0;
-                                    return !1;
-                                case GeoGlobe.Filter.Logical.NOT:
-                                    return !this.filters[0].evaluate(e)
-                            }
-                        },
-                        clone: function () {
-                            for (var e = [], t = 0, i = this.filters.length; t < i; ++t)
-                                e.push(this.filters[t].clone());
-                            return new GeoGlobe.Filter.Logical({
-                                type: this.type,
-                                filters: e
-                            })
-                        },
-                        CLASS_NAME: "GeoGlobe.Filter.Logical"
-                    }),
-                    GeoGlobe.Filter.Logical.AND = "&&",
-                    GeoGlobe.Filter.Logical.OR = "||",
-                    GeoGlobe.Filter.Logical.NOT = "!",
-                    GeoGlobe.Filter.Comparison = GeoGlobe.Class4OL(GeoGlobe.Filter, {
-                        type: null,
-                        property: null,
-                        value: null,
-                        matchCase: !0,
-                        lowerBoundary: null,
-                        upperBoundary: null,
-                        initialize: function (e) {
-                            GeoGlobe.Filter.prototype.initialize.apply(this, [e]),
-                                this.type === GeoGlobe.Filter.Comparison.LIKE && void 0 === e.matchCase && (this.matchCase = null)
-                        },
-                        evaluate: function (e) {
-                            e instanceof GeoGlobe.Feature && (e = e.attributes);
-                            var t, i = !1, r = e[this.property];
-                            if (void 0 === r)
-                                return !1;
-                            switch (this.type) {
-                                case GeoGlobe.Filter.Comparison.EQUAL_TO:
-                                    t = this.value,
-                                        i = this.matchCase || "string" != typeof r || "string" != typeof t ? r == t : r.toUpperCase() == t.toUpperCase();
-                                    break;
-                                case GeoGlobe.Filter.Comparison.NOT_EQUAL_TO:
-                                    t = this.value,
-                                        i = this.matchCase || "string" != typeof r || "string" != typeof t ? r != t : r.toUpperCase() != t.toUpperCase();
-                                    break;
-                                case GeoGlobe.Filter.Comparison.LESS_THAN:
-                                    i = r < this.value;
-                                    break;
-                                case GeoGlobe.Filter.Comparison.GREATER_THAN:
-                                    i = r > this.value;
-                                    break;
-                                case GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO:
-                                    i = r <= this.value;
-                                    break;
-                                case GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO:
-                                    i = r >= this.value;
-                                    break;
-                                case GeoGlobe.Filter.Comparison.BETWEEN:
-                                    i = r >= this.lowerBoundary && r <= this.upperBoundary;
-                                    break;
-                                case GeoGlobe.Filter.Comparison.LIKE:
-                                    i = new RegExp(this.value, "gi").test(r);
-                                    break;
-                                case GeoGlobe.Filter.Comparison.IS_NULL:
-                                    i = null === r
-                            }
-                            return i
-                        },
-                        value2regex: function (e, t, i) {
-                            if ("." == e)
-                                throw new Error("'.' is an unsupported wildCard character for GeoGlobe.Filter.Comparison");
-                            return e = e || "*",
-                                t = t || ".",
-                                i = i || "!",
-                                this.value = this.value.replace(new RegExp("\\" + i + "(.|$)", "g"), "\\$1"),
-                                this.value = this.value.replace(new RegExp("\\" + t, "g"), "."),
-                                this.value = this.value.replace(new RegExp("\\" + e, "g"), ".*"),
-                                this.value = this.value.replace(new RegExp("\\\\.\\*", "g"), "\\" + e),
-                                this.value = this.value.replace(new RegExp("\\\\\\.", "g"), "\\" + t),
-                                this.value
-                        },
-                        regex2value: function () {
-                            var e = this.value;
-                            return (e = (e = (e = (e = e.replace(/!/g, "!!")).replace(/(\\)?\\\./g, (function (e, t) {
-                                return t ? e : "!."
-                            }
-                            ))).replace(/(\\)?\\\*/g, (function (e, t) {
-                                return t ? e : "!*"
-                            }
-                            ))).replace(/\\\\/g, "\\")).replace(/\.\*/g, "*")
-                        },
-                        clone: function () {
-                            return GeoGlobe.Util.extend(new GeoGlobe.Filter.Comparison, this)
-                        },
-                        CLASS_NAME: "GeoGlobe.Filter.Comparison"
-                    }),
-                    GeoGlobe.Filter.Comparison.EQUAL_TO = "==",
-                    GeoGlobe.Filter.Comparison.NOT_EQUAL_TO = "!=",
-                    GeoGlobe.Filter.Comparison.LESS_THAN = "<",
-                    GeoGlobe.Filter.Comparison.GREATER_THAN = ">",
-                    GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO = "<=",
-                    GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO = ">=",
-                    GeoGlobe.Filter.Comparison.BETWEEN = "..",
-                    GeoGlobe.Filter.Comparison.LIKE = "~",
-                    GeoGlobe.Filter.Comparison.IS_NULL = "NULL",
-                    GeoGlobe.Filter.Spatial = GeoGlobe.Class4OL(GeoGlobe.Filter, {
-                        type: null,
-                        property: null,
-                        value: null,
-                        distance: null,
-                        distanceUnits: null,
-                        evaluate: function (e) {
-                            var t = !1;
-                            switch (this.type) {
-                                case GeoGlobe.Filter.Spatial.BBOX:
-                                case GeoGlobe.Filter.Spatial.INTERSECTS:
-                                    if (e.geometry) {
-                                        var i = this.value;
-                                        "GeoGlobe.LngLatBounds" == this.value.CLASS_NAME && (i = this.value.toGeometry()),
-                                            e.geometry.intersects(i) && (t = !0)
-                                    }
-                                    break;
-                                default:
-                                    throw new Error("evaluate is not implemented for this filter type.")
-                            }
-                            return t
-                        },
-                        clone: function () {
-                            var e = GeoGlobe.Util.applyDefaults({
-                                value: this.value && this.value.clone && this.value.clone()
-                            }, this);
-                            return new GeoGlobe.Filter.Spatial(e)
-                        },
-                        CLASS_NAME: "GeoGlobe.Filter.Spatial"
-                    }),
-                    GeoGlobe.Filter.Spatial.BBOX = "BBOX",
-                    GeoGlobe.Filter.Spatial.INTERSECTS = "INTERSECTS",
-                    GeoGlobe.Filter.Spatial.DWITHIN = "DWITHIN",
-                    GeoGlobe.Filter.Spatial.WITHIN = "WITHIN",
-                    GeoGlobe.Filter.Spatial.CONTAINS = "CONTAINS",
-                    GeoGlobe.Filter.Function = GeoGlobe.Class4OL(GeoGlobe.Filter, {
-                        name: null,
-                        params: null,
-                        CLASS_NAME: "GeoGlobe.Filter.Function"
-                    }),
-                    GeoGlobe.Protocol = GeoGlobe.Class4OL({
-                        format: null,
-                        options: null,
-                        autoDestroy: !0,
-                        defaultFilter: null,
-                        initialize: function (e) {
-                            e = e || {},
-                                GeoGlobe.Util.extend(this, e),
-                                this.options = e
-                        },
-                        mergeWithDefaultFilter: function (e) {
-                            return e && this.defaultFilter ? new GeoGlobe.Filter.Logical({
-                                type: GeoGlobe.Filter.Logical.AND,
-                                filters: [this.defaultFilter, e]
-                            }) : e || this.defaultFilter || void 0
-                        },
-                        destroy: function () {
-                            this.options = null,
-                                this.format = null
-                        },
-                        read: function (e) {
-                            (e = e || {}).filter = this.mergeWithDefaultFilter(e.filter)
-                        },
-                        create: function () { },
-                        update: function () { },
-                        delete: function () { },
-                        commit: function () { },
-                        abort: function (e) { },
-                        createCallback: function (e, t, i) {
-                            return GeoGlobe.Function.bind((function () {
-                                e.apply(this, [t, i])
-                            }
-                            ), this)
-                        },
-                        CLASS_NAME: "GeoGlobe.Protocol"
-                    }),
-                    GeoGlobe.Protocol.Response = GeoGlobe.Class4OL({
-                        code: null,
-                        requestType: null,
-                        last: !0,
-                        features: null,
-                        data: null,
-                        reqFeatures: null,
-                        priv: null,
-                        error: null,
-                        initialize: function (e) {
-                            GeoGlobe.Util.extend(this, e)
-                        },
-                        success: function () {
-                            return this.code > 0
-                        },
-                        CLASS_NAME: "GeoGlobe.Protocol.Response"
-                    }),
-                    GeoGlobe.Protocol.Response.SUCCESS = 1,
-                    GeoGlobe.Protocol.Response.FAILURE = 0,
-                    GeoGlobe.Protocol.HTTP = GeoGlobe.Class4OL(GeoGlobe.Protocol, {
-                        url: null,
-                        headers: null,
-                        params: null,
-                        callback: null,
-                        scope: null,
-                        readWithPOST: !1,
-                        updateWithPOST: !1,
-                        deleteWithPOST: !1,
-                        wildcarded: !1,
-                        srsInBBOX: !1,
-                        initialize: function (e) {
-                            if (e = e || {},
-                                this.params = {},
-                                this.headers = {},
-                                GeoGlobe.Protocol.prototype.initialize.apply(this, arguments),
-                                !this.filterToParams && GeoGlobe.Format.QueryStringFilter) {
-                                var t = new GeoGlobe.Format.QueryStringFilter({
-                                    wildcarded: this.wildcarded,
-                                    srsInBBOX: this.srsInBBOX
-                                });
-                                this.filterToParams = function (e, i) {
-                                    return t.write(e, i)
-                                }
-                            }
-                        },
-                        destroy: function () {
-                            this.params = null,
-                                this.headers = null,
-                                GeoGlobe.Protocol.prototype.destroy.apply(this)
-                        },
-                        read: function (e) {
-                            GeoGlobe.Protocol.prototype.read.apply(this, arguments),
-                                (e = e || {}).params = GeoGlobe.Util.applyDefaults(e.params, this.options.params),
-                                (e = GeoGlobe.Util.applyDefaults(e, this.options)).filter && this.filterToParams && (e.params = this.filterToParams(e.filter, e.params));
-                            var t = void 0 !== e.readWithPOST ? e.readWithPOST : this.readWithPOST
-                                , i = new GeoGlobe.Protocol.Response({
-                                    requestType: "read"
-                                });
-                            if (t) {
-                                var r = e.headers || {};
-                                r["Content-Type"] = "application/x-www-form-urlencoded",
-                                    i.priv = GeoGlobe.Request.POST({
-                                        url: e.url,
-                                        callback: this.createCallback(this.handleRead, i, e),
-                                        data: GeoGlobe.Util.getParameterString(e.params),
-                                        headers: r
-                                    })
-                            } else
-                                i.priv = GeoGlobe.Request.GET({
-                                    url: e.url,
-                                    callback: this.createCallback(this.handleRead, i, e),
-                                    params: e.params,
-                                    headers: e.headers
-                                });
-                            return i
-                        },
-                        handleRead: function (e, t) {
-                            this.handleResponse(e, t)
-                        },
-                        create: function (e, t) {
-                            t = GeoGlobe.Util.applyDefaults(t, this.options);
-                            var i = new GeoGlobe.Protocol.Response({
-                                reqFeatures: e,
-                                requestType: "create"
-                            });
-                            return i.priv = GeoGlobe.Request.POST({
-                                url: t.url,
-                                callback: this.createCallback(this.handleCreate, i, t),
-                                headers: t.headers,
-                                data: this.format.write(e)
-                            }),
-                                i
-                        },
-                        handleCreate: function (e, t) {
-                            this.handleResponse(e, t)
-                        },
-                        update: function (e, t) {
-                            var i = (t = t || {}).url || e.url || this.options.url + "/" + e.fid;
-                            t = GeoGlobe.Util.applyDefaults(t, this.options);
-                            var r = new GeoGlobe.Protocol.Response({
-                                reqFeatures: e,
-                                requestType: "update"
-                            })
-                                , n = this.updateWithPOST ? "POST" : "PUT";
-                            return r.priv = GeoGlobe.Request[n]({
-                                url: i,
-                                callback: this.createCallback(this.handleUpdate, r, t),
-                                headers: t.headers,
-                                data: this.format.write(e)
-                            }),
-                                r
-                        },
-                        handleUpdate: function (e, t) {
-                            this.handleResponse(e, t)
-                        },
-                        delete: function (e, t) {
-                            var i = (t = t || {}).url || e.url || this.options.url + "/" + e.fid;
-                            t = GeoGlobe.Util.applyDefaults(t, this.options);
-                            var r = new GeoGlobe.Protocol.Response({
-                                reqFeatures: e,
-                                requestType: "delete"
-                            })
-                                , n = this.deleteWithPOST ? "POST" : "DELETE"
-                                , o = {
-                                    url: i,
-                                    callback: this.createCallback(this.handleDelete, r, t),
-                                    headers: t.headers
-                                };
-                            return this.deleteWithPOST && (o.data = this.format.write(e)),
-                                r.priv = GeoGlobe.Request[n](o),
-                                r
-                        },
-                        handleDelete: function (e, t) {
-                            this.handleResponse(e, t)
-                        },
-                        handleResponse: function (e, t) {
-                            var i = e.priv;
-                            t.callback && (i.status >= 200 && i.status < 300 ? ("delete" != e.requestType && (e.features = this.parseFeatures(i)),
-                                e.code = GeoGlobe.Protocol.Response.SUCCESS) : e.code = GeoGlobe.Protocol.Response.FAILURE,
-                                t.callback.call(t.scope, e))
-                        },
-                        parseFeatures: function (e) {
-                            var t = e.responseXML;
-                            return t && t.documentElement || (t = e.responseText),
-                                !t || t.length <= 0 ? null : this.format.read(t)
-                        },
-                        commit: function (e, t) {
-                            t = GeoGlobe.Util.applyDefaults(t, this.options);
-                            var i = []
-                                , r = 0
-                                , n = {};
-                            n[GeoGlobe.State.INSERT] = [],
-                                n[GeoGlobe.State.UPDATE] = [],
-                                n[GeoGlobe.State.DELETE] = [];
-                            for (var o, a, s = [], x = 0, l = e.length; x < l; ++x)
-                                (a = n[(o = e[x]).state]) && (a.push(o),
-                                    s.push(o));
-                            var c = (n[GeoGlobe.State.INSERT].length > 0 ? 1 : 0) + n[GeoGlobe.State.UPDATE].length + n[GeoGlobe.State.DELETE].length
-                                , u = !0
-                                , h = new GeoGlobe.Protocol.Response({
-                                    reqFeatures: s
-                                });
-                            function f(e) {
-                                this.callUserCallback(e, t),
-                                    u = u && e.success(),
-                                    ++r >= c && t.callback && (h.code = u ? GeoGlobe.Protocol.Response.SUCCESS : GeoGlobe.Protocol.Response.FAILURE,
-                                        t.callback.apply(t.scope, [h]))
-                            }
-                            var d = n[GeoGlobe.State.INSERT];
-                            for (d.length > 0 && i.push(this.create(d, GeoGlobe.Util.applyDefaults({
-                                callback: function (e) {
-                                    for (var t = e.features ? e.features.length : 0, i = new Array(t), r = 0; r < t; ++r)
-                                        i[r] = e.features[r].fid;
-                                    h.insertIds = i,
-                                        f.apply(this, [e])
-                                },
-                                scope: this
-                            }, t.create))),
-                                x = (d = n[GeoGlobe.State.UPDATE]).length - 1; x >= 0; --x)
-                                i.push(this.update(d[x], GeoGlobe.Util.applyDefaults({
-                                    callback: f,
-                                    scope: this
-                                }, t.update)));
-                            for (x = (d = n[GeoGlobe.State.DELETE]).length - 1; x >= 0; --x)
-                                i.push(this.delete(d[x], GeoGlobe.Util.applyDefaults({
-                                    callback: f,
-                                    scope: this
-                                }, t.delete)));
-                            return i
-                        },
-                        abort: function (e) {
-                            e && e.priv.abort()
-                        },
-                        callUserCallback: function (e, t) {
-                            var i = t[e.requestType];
-                            i && i.callback && i.callback.call(i.scope, e)
-                        },
-                        CLASS_NAME: "GeoGlobe.Protocol.HTTP"
-                    }),
-                    GeoGlobe.Protocol.WFS = function (e) {
-                        e = GeoGlobe.Util.applyDefaults(e, GeoGlobe.Protocol.WFS.DEFAULTS);
-                        var t = GeoGlobe.Protocol.WFS["v" + e.version.replace(/\./g, "_")];
-                        if (!t)
-                            throw "Unsupported WFS version: " + e.version;
-                        return new t(e)
+                    s.lookup = function(e, t) {
+                        return e ? this.ns.resolve(e, t) : this.ns
                     }
                     ,
-                    GeoGlobe.Protocol.WFS.DEFAULTS = {
-                        version: "1.0.0"
-                    },
-                    GeoGlobe.Protocol.WFS.v1 = GeoGlobe.Class4OL(GeoGlobe.Protocol, {
-                        version: null,
-                        srsName: "EPSG:4326",
-                        featureType: null,
-                        featureNS: null,
-                        geometryName: "the_geom",
-                        schema: null,
-                        featurePrefix: "feature",
-                        formatOptions: null,
-                        readFormat: null,
-                        readOptions: null,
-                        initialize: function (e) {
-                            GeoGlobe.Protocol.prototype.initialize.apply(this, [e]),
-                                e.format || (this.format = GeoGlobe.Format.WFST(GeoGlobe.Util.extend({
-                                    version: this.version,
-                                    featureType: this.featureType,
-                                    featureNS: this.featureNS,
-                                    featurePrefix: this.featurePrefix,
-                                    geometryName: this.geometryName,
-                                    srsName: this.srsName,
-                                    schema: this.schema
-                                }, this.formatOptions))),
-                                !e.geometryName && _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.format.version) > 1 && this.setGeometryName(null)
-                        },
-                        destroy: function () {
-                            this.options && !this.options.format && this.format.destroy(),
-                                this.format = null,
-                                GeoGlobe.Protocol.prototype.destroy.apply(this)
-                        },
-                        read: function (e) {
-                            GeoGlobe.Protocol.prototype.read.apply(this, arguments),
-                                e = GeoGlobe.Util.extend({}, e),
-                                GeoGlobe.Util.applyDefaults(e, this.options || {});
-                            var t = new GeoGlobe.Protocol.Response({
-                                requestType: "read"
-                            })
-                                , i = GeoGlobe.Format.XML.prototype.write.apply(this.format, [this.format.writeNode("wfs:GetFeature", e)]);
-                            return t.priv = GeoGlobe.Request.POST({
-                                url: e.url,
-                                callback: this.createCallback(this.handleRead, t, e),
-                                params: e.params,
-                                headers: e.headers,
-                                data: i
-                            }),
-                                t
-                        },
-                        setFeatureType: function (e) {
-                            this.featureType = e,
-                                this.format.featureType = e
-                        },
-                        setGeometryName: function (e) {
-                            this.geometryName = e,
-                                this.format.geometryName = e
-                        },
-                        handleRead: function (e, t) {
-                            if (t = GeoGlobe.Util.extend({}, t),
-                                GeoGlobe.Util.applyDefaults(t, this.options),
-                                t.callback) {
-                                var i = e.priv;
-                                if (i.status >= 200 && i.status < 300) {
-                                    var r = this.parseResponse(i, t.readOptions);
-                                    r && !1 !== r.success ? (t.readOptions && "object" == t.readOptions.output ? GeoGlobe.Util.extend(e, r) : e.features = r,
-                                        e.code = GeoGlobe.Protocol.Response.SUCCESS) : (e.code = GeoGlobe.Protocol.Response.FAILURE,
-                                            e.error = r)
-                                } else
-                                    e.code = GeoGlobe.Protocol.Response.FAILURE;
-                                t.callback.call(t.scope, e)
-                            }
-                        },
-                        parseResponse: function (e, t) {
-                            var i = e.responseXML;
-                            if (i && i.documentElement || (i = e.responseText),
-                                !i || i.length <= 0)
-                                return null;
-                            var r = null;
-                            try {
-                                r = null !== this.readFormat ? this.readFormat.read(i) : this.format.read(i, t)
-                            } catch (e) {
-                                var n = "绋嬪簭杩愯寮傚父锛�" + e.name + "锛�" + e.message;
-                                alert(n)
-                            }
-                            if (!this.featureNS) {
-                                var o = this.readFormat || this.format;
-                                this.featureNS = o.featureNS,
-                                    o.autoConfig = !1,
-                                    this.geometryName || this.setGeometryName(o.geometryName)
-                            }
-                            return r
-                        },
-                        commit: function (e, t) {
-                            t = GeoGlobe.Util.extend({}, t),
-                                GeoGlobe.Util.applyDefaults(t, this.options);
-                            var i = new GeoGlobe.Protocol.Response({
-                                requestType: "commit",
-                                reqFeatures: e
-                            });
-                            return i.priv = GeoGlobe.Request.POST({
-                                url: t.url,
-                                headers: t.headers,
-                                data: this.format.write(e, t),
-                                callback: this.createCallback(this.handleCommit, i, t)
-                            }),
-                                i
-                        },
-                        handleCommit: function (e, t) {
-                            if (t.callback) {
-                                var i = e.priv
-                                    , r = i.responseXML;
-                                r && r.documentElement || (r = i.responseText);
-                                var n = this.format.read(r) || {};
-                                e.insertIds = n.insertIds || [],
-                                    n.success ? e.code = GeoGlobe.Protocol.Response.SUCCESS : (e.code = GeoGlobe.Protocol.Response.FAILURE,
-                                        e.error = n),
-                                    t.callback.call(t.scope, e)
-                            }
-                        },
-                        filterDelete: function (e, t) {
-                            t = GeoGlobe.Util.extend({}, t),
-                                GeoGlobe.Util.applyDefaults(t, this.options),
-                                new GeoGlobe.Protocol.Response({
-                                    requestType: "commit"
-                                });
-                            var i = this.format.createElementNSPlus("wfs:Transaction", {
-                                attributes: {
-                                    service: "WFS",
-                                    version: this.version
-                                }
-                            })
-                                , r = this.format.createElementNSPlus("wfs:Delete", {
-                                    attributes: {
-                                        typeName: (t.featureNS ? this.featurePrefix + ":" : "") + t.featureType
-                                    }
-                                });
-                            t.featureNS && r.setAttribute("xmlns:" + this.featurePrefix, t.featureNS);
-                            var n = this.format.writeNode("ogc:Filter", e);
-                            r.appendChild(n),
-                                i.appendChild(r);
-                            var o = GeoGlobe.Format.XML.prototype.write.apply(this.format, [i]);
-                            return GeoGlobe.Request.POST({
-                                url: this.url,
-                                callback: t.callback || function () { }
-                                ,
-                                data: o
-                            })
-                        },
-                        abort: function (e) {
-                            e && e.priv.abort()
-                        },
-                        CLASS_NAME: "GeoGlobe.Protocol.WFS.v1"
-                    }),
-                    GeoGlobe.Protocol.WFS.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Protocol.WFS.v1, {
-                        version: "1.0.0",
-                        CLASS_NAME: "GeoGlobe.Protocol.WFS.v1_0_0"
-                    }),
-                    GeoGlobe.Protocol.WFS.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Protocol.WFS.v1, {
-                        version: "1.1.0",
-                        initialize: function (e) {
-                            GeoGlobe.Protocol.WFS.v1.prototype.initialize.apply(this, arguments),
-                                this.outputFormat && !this.readFormat && ("gml2" == this.outputFormat.toLowerCase() ? this.readFormat = new GeoGlobe.Format.GML.v2({
-                                    featureType: this.featureType,
-                                    featureNS: this.featureNS,
-                                    geometryName: this.geometryName
-                                }) : "json" == this.outputFormat.toLowerCase() && (this.readFormat = new GeoGlobe.Format.GeoJSON))
-                        },
-                        CLASS_NAME: "GeoGlobe.Protocol.WFS.v1_1_0"
-                    }),
-                    GeoGlobe.Protocol.CSW = function (e) {
-                        e = GeoGlobe.Util.applyDefaults(e, GeoGlobe.Protocol.CSW.DEFAULTS);
-                        var t = GeoGlobe.Protocol.CSW["v" + e.version.replace(/\./g, "_")];
-                        if (!t)
-                            throw "Unsupported CSW version: " + e.version;
-                        return new t(e)
+                    s.toString = function() {
+                        return "Builder"
                     }
                     ,
-                    GeoGlobe.Protocol.CSW.DEFAULTS = {
-                        version: "2.0.2"
-                    },
-                    GeoGlobe.Protocol.CSW.v2_0_2 = GeoGlobe.Class4OL(GeoGlobe.Protocol, {
-                        formatOptions: null,
-                        initialize: function (e) {
-                            GeoGlobe.Protocol.prototype.initialize.apply(this, [e]),
-                                e.format || (this.format = new GeoGlobe.Format.CSWGetRecords.v2_0_2(GeoGlobe.Util.extend({}, this.formatOptions)))
-                        },
-                        destroy: function () {
-                            this.options && !this.options.format && this.format.destroy(),
-                                this.format = null,
-                                GeoGlobe.Protocol.prototype.destroy.apply(this)
-                        },
-                        read: function (e) {
-                            e = GeoGlobe.Util.extend({}, e),
-                                GeoGlobe.Util.applyDefaults(e, this.options || {});
-                            var t = new GeoGlobe.Protocol.Response({
-                                requestType: "read"
-                            })
-                                , i = this.format.write(e.params || e);
-                            return t.priv = GeoGlobe.Request.POST({
-                                url: e.url,
-                                callback: this.createCallback(this.handleRead, t, e),
-                                params: e.params,
-                                headers: e.headers,
-                                data: i
-                            }),
-                                t
-                        },
-                        handleRead: function (e, t) {
-                            if (t.callback) {
-                                var i = e.priv;
-                                i.status >= 200 && i.status < 300 ? (e.data = this.parseData(i),
-                                    e.code = GeoGlobe.Protocol.Response.SUCCESS) : e.code = GeoGlobe.Protocol.Response.FAILURE,
-                                    t.callback.call(t.scope, e)
-                            }
-                        },
-                        parseData: function (e) {
-                            var t = e.responseXML;
-                            return t && t.documentElement || (t = e.responseText),
-                                !t || t.length <= 0 ? null : this.format.read(t)
-                        },
-                        CLASS_NAME: "GeoGlobe.Protocol.CSW.v2_0_2"
-                    }),
-                    GeoGlobe.Protocol.Script = GeoGlobe.Class4OL(GeoGlobe.Protocol, {
-                        url: null,
-                        params: null,
-                        callback: null,
-                        callbackTemplate: "GeoGlobe.Protocol.Script.registry.${id}",
-                        callbackKey: "callback",
-                        callbackPrefix: "",
-                        scope: null,
-                        format: null,
-                        pendingRequests: null,
-                        srsInBBOX: !1,
-                        initialize: function (e) {
-                            if (e = e || {},
-                                this.params = {},
-                                this.pendingRequests = {},
-                                GeoGlobe.Protocol.prototype.initialize.apply(this, arguments),
-                                this.format || (this.format = new GeoGlobe.Format.GeoJSON),
-                                !this.filterToParams && GeoGlobe.Format.QueryStringFilter) {
-                                var t = new GeoGlobe.Format.QueryStringFilter({
-                                    srsInBBOX: this.srsInBBOX
-                                });
-                                this.filterToParams = function (e, i) {
-                                    return t.write(e, i)
-                                }
-                            }
-                        },
-                        read: function (e) {
-                            GeoGlobe.Protocol.prototype.read.apply(this, arguments),
-                                (e = GeoGlobe.Util.applyDefaults(e, this.options)).params = GeoGlobe.Util.applyDefaults(e.params, this.options.params),
-                                e.filter && this.filterToParams && (e.params = this.filterToParams(e.filter, e.params));
-                            var t = new GeoGlobe.Protocol.Response({
-                                requestType: "read"
-                            })
-                                , i = this.createRequest(e.url, e.params, GeoGlobe.Function.bind((function (i) {
-                                    t.data = i,
-                                        this.handleRead(t, e)
-                                }
-                                ), this));
-                            return t.priv = i,
-                                t
-                        },
-                        createRequest: function (e, t, i) {
-                            var r = GeoGlobe.Protocol.Script.register(i)
-                                , n = GeoGlobe.String.format(this.callbackTemplate, {
-                                    id: r
-                                });
-                            (t = GeoGlobe.Util.extend({}, t))[this.callbackKey] = this.callbackPrefix + n,
-                                e = GeoGlobe.Util.urlAppend(e, GeoGlobe.Util.getParameterString(t));
-                            var o = document.createElement("script");
-                            return o.type = "text/javascript",
-                                o.src = e,
-                                o.id = "GeoGlobe_Protocol_Script_" + r,
-                                this.pendingRequests[o.id] = o,
-                                document.getElementsByTagName("head")[0].appendChild(o),
-                                o
-                        },
-                        destroyRequest: function (e) {
-                            GeoGlobe.Protocol.Script.unregister(e.id.split("_").pop()),
-                                delete this.pendingRequests[e.id],
-                                e.parentNode && e.parentNode.removeChild(e)
-                        },
-                        handleRead: function (e, t) {
-                            this.handleResponse(e, t)
-                        },
-                        handleResponse: function (e, t) {
-                            t.callback && (e.data ? (e.features = this.parseFeatures(e.data),
-                                e.code = GeoGlobe.Protocol.Response.SUCCESS) : e.code = GeoGlobe.Protocol.Response.FAILURE,
-                                this.destroyRequest(e.priv),
-                                t.callback.call(t.scope, e))
-                        },
-                        parseFeatures: function (e) {
-                            return this.format.read(e)
-                        },
-                        abort: function (e) {
-                            if (e)
-                                this.destroyRequest(e.priv);
-                            else
-                                for (var t in this.pendingRequests)
-                                    this.destroyRequest(this.pendingRequests[t])
-                        },
-                        destroy: function () {
-                            this.abort(),
-                                delete this.params,
-                                delete this.format,
-                                GeoGlobe.Protocol.prototype.destroy.apply(this)
-                        },
-                        CLASS_NAME: "GeoGlobe.Protocol.Script"
-                    }),
-                    function () {
-                        var e = GeoGlobe.Protocol.Script
-                            , t = 0;
-                        e.registry = {},
-                            e.register = function (i) {
-                                var r = "c" + ++t;
-                                return e.registry[r] = function () {
-                                    i.apply(this, arguments)
-                                }
-                                    ,
-                                    r
-                            }
-                            ,
-                            e.unregister = function (t) {
-                                delete e.registry[t]
-                            }
-                    }(),
-                    GeoGlobe.Format = GeoGlobe.Class4OL({
-                        options: null,
-                        externalProjection: null,
-                        internalProjection: null,
-                        data: null,
-                        keepData: !1,
-                        initialize: function (e) {
-                            GeoGlobe.Util.extend(this, e),
-                                this.options = e
-                        },
-                        destroy: function () { },
-                        read: function (e) {
-                            throw new Error("Read not implemented.")
-                        },
-                        write: function (e) {
-                            throw new Error("Write not implemented.")
-                        },
-                        CLASS_NAME: "GeoGlobe.Format"
-                    }),
-                    GeoGlobe.Format.XML = GeoGlobe.Class4OL(GeoGlobe.Format, {
-                        namespaces: null,
-                        namespaceAlias: null,
-                        defaultPrefix: null,
-                        readers: {},
-                        writers: {},
-                        xmldom: null,
-                        initialize: function (e) {
-                            for (var t in window.ActiveXObject && (this.xmldom = new ActiveXObject("Microsoft.XMLDOM")),
-                                GeoGlobe.Format.prototype.initialize.apply(this, [e]),
-                                this.namespaces = GeoGlobe.Util.extend({}, this.namespaces),
-                                this.namespaceAlias = {},
-                                this.namespaces)
-                                this.namespaceAlias[this.namespaces[t]] = t
-                        },
-                        destroy: function () {
-                            this.xmldom = null,
-                                GeoGlobe.Format.prototype.destroy.apply(this, arguments)
-                        },
-                        setNamespace: function (e, t) {
-                            this.namespaces[e] = t,
-                                this.namespaceAlias[t] = e
-                        },
-                        read: function (e) {
-                            var t = e.indexOf("<");
-                            t > 0 && (e = e.substring(t));
-                            var i = GeoGlobe.Util.Try(GeoGlobe.Function.bind((function () {
-                                var t;
-                                return (t = window.ActiveXObject && !this.xmldom ? new ActiveXObject("Microsoft.XMLDOM") : this.xmldom).loadXML(e),
-                                    t
-                            }
-                            ), this), (function () {
-                                return (new DOMParser).parseFromString(e, "text/xml")
-                            }
-                            ), (function () {
-                                var t = new XMLHttpRequest;
-                                return t.open("GET", "data:text/xml;charset=utf-8," + encodeURIComponent(e), !1),
-                                    t.overrideMimeType && t.overrideMimeType("text/xml"),
-                                    t.send(null),
-                                    t.responseXML
-                            }
-                            ));
-                            return this.keepData && (this.data = i),
-                                i
-                        },
-                        write: function (e) {
-                            var t;
-                            if (e.xml)
-                                t = e.xml;
-                            else {
-                                var i = new XMLSerializer;
-                                if (1 == e.nodeType) {
-                                    var r = document.implementation.createDocument("", "", null);
-                                    r.importNode && (e = r.importNode(e, !0)),
-                                        r.appendChild(e),
-                                        t = i.serializeToString(r)
-                                } else
-                                    t = i.serializeToString(e)
-                            }
-                            return t
-                        },
-                        createElementNS: function (e, t) {
-                            return this.xmldom ? "string" == typeof e ? this.xmldom.createNode(1, t, e) : this.xmldom.createNode(1, t, "") : document.createElementNS(e, t)
-                        },
-                        createDocumentFragment: function () {
-                            return this.xmldom ? this.xmldom.createDocumentFragment() : document.createDocumentFragment()
-                        },
-                        createTextNode: function (e) {
-                            return "string" != typeof e && (e = String(e)),
-                                this.xmldom ? this.xmldom.createTextNode(e) : document.createTextNode(e)
-                        },
-                        getElementsByTagNameNS: function (e, t, i) {
-                            var r = [];
-                            if (e.getElementsByTagNameNS)
-                                r = e.getElementsByTagNameNS(t, i);
-                            else
-                                for (var n, o, a = e.getElementsByTagName("*"), s = 0, x = a.length; s < x; ++s)
-                                    o = (n = a[s]).prefix ? n.prefix + ":" + i : i,
-                                        "*" != i && o != n.nodeName || "*" != t && t != n.namespaceURI || r.push(n);
-                            return r
-                        },
-                        getAttributeNodeNS: function (e, t, i) {
-                            var r = null;
-                            if (e.getAttributeNodeNS)
-                                r = e.getAttributeNodeNS(t, i);
-                            else
-                                for (var n, o = e.attributes, a = 0, s = o.length; a < s; ++a)
-                                    if ((n = o[a]).namespaceURI == t && (n.prefix ? n.prefix + ":" + i : i) == n.nodeName) {
-                                        r = n;
-                                        break
-                                    }
-                            return r
-                        },
-                        getAttributeNS: function (e, t, i) {
-                            var r = "";
-                            if (e.getAttributeNS)
-                                r = e.getAttributeNS(t, i) || "";
-                            else {
-                                var n = this.getAttributeNodeNS(e, t, i);
-                                n && (r = n.nodeValue)
-                            }
-                            return r
-                        },
-                        getChildValue: function (e, t) {
-                            var i = t || "";
-                            if (e)
-                                for (var r = e.firstChild; r; r = r.nextSibling)
-                                    switch (r.nodeType) {
-                                        case 3:
-                                        case 4:
-                                            i += r.nodeValue
-                                    }
-                            return i
-                        },
-                        isSimpleContent: function (e) {
-                            for (var t = !0, i = e.firstChild; i; i = i.nextSibling)
-                                if (1 === i.nodeType) {
-                                    t = !1;
-                                    break
-                                }
-                            return t
-                        },
-                        contentType: function (e) {
-                            for (var t = !1, i = !1, r = GeoGlobe.Format.XML.CONTENT_TYPE.EMPTY, n = e.firstChild; n; n = n.nextSibling) {
-                                switch (n.nodeType) {
-                                    case 1:
-                                        i = !0;
-                                        break;
-                                    case 8:
-                                        break;
-                                    default:
-                                        t = !0
-                                }
-                                if (i && t)
-                                    break
-                            }
-                            if (i && t)
-                                r = GeoGlobe.Format.XML.CONTENT_TYPE.MIXED;
-                            else {
-                                if (i)
-                                    return GeoGlobe.Format.XML.CONTENT_TYPE.COMPLEX;
-                                if (t)
-                                    return GeoGlobe.Format.XML.CONTENT_TYPE.SIMPLE
-                            }
-                            return r
-                        },
-                        hasAttributeNS: function (e, t, i) {
-                            return e.hasAttributeNS ? e.hasAttributeNS(t, i) : !!this.getAttributeNodeNS(e, t, i)
-                        },
-                        setAttributeNS: function (e, t, i, r) {
-                            if (e.setAttributeNS)
-                                e.setAttributeNS(t, i, r);
-                            else {
-                                if (!this.xmldom)
-                                    throw "setAttributeNS not implemented";
-                                if (t) {
-                                    var n = e.ownerDocument.createNode(2, i, t);
-                                    n.nodeValue = r,
-                                        e.setAttributeNode(n)
-                                } else
-                                    e.setAttribute(i, r)
-                            }
-                        },
-                        createElementNSPlus: function (e, t) {
-                            var i = (t = t || {}).uri || this.namespaces[t.prefix];
-                            if (!i) {
-                                var r = e.indexOf(":");
-                                i = this.namespaces[e.substring(0, r)]
-                            }
-                            i || (i = this.namespaces[this.defaultPrefix]);
-                            var n = this.createElementNS(i, e);
-                            t.attributes && this.setAttributes(n, t.attributes);
-                            var o = t.value;
-                            return null != o && n.appendChild(this.createTextNode(o)),
-                                n
-                        },
-                        setAttributes: function (e, t) {
-                            var i, r;
-                            for (var n in t)
-                                null != t[n] && t[n].toString && (i = t[n].toString(),
-                                    r = this.namespaces[n.substring(0, n.indexOf(":"))] || null,
-                                    this.setAttributeNS(e, r, n, i))
-                        },
-                        readNode: function (e, t) {
-                            t || (t = {});
-                            var i = this.readers[e.namespaceURI ? this.namespaceAlias[e.namespaceURI] : this.defaultPrefix];
-                            if (i) {
-                                var r = i[e.localName || e.nodeName.split(":").pop()] || i["*"];
-                                r && r.apply(this, [e, t])
-                            }
-                            return t
-                        },
-                        readChildNodes: function (e, t) {
-                            t || (t = {});
-                            for (var i, r = e.childNodes, n = 0, o = r.length; n < o; ++n)
-                                1 == (i = r[n]).nodeType && this.readNode(i, t);
-                            return t
-                        },
-                        writeNode: function (e, t, i) {
-                            var r, n, o = e.indexOf(":");
-                            o > 0 ? (r = e.substring(0, o),
-                                n = e.substring(o + 1)) : (r = i ? this.namespaceAlias[i.namespaceURI] : this.defaultPrefix,
-                                    n = e);
-                            var a = this.writers[r][n].apply(this, [t]);
-                            return i && i.appendChild(a),
-                                a
-                        },
-                        getChildEl: function (e, t, i) {
-                            return e && this.getThisOrNextEl(e.firstChild, t, i)
-                        },
-                        getNextEl: function (e, t, i) {
-                            return e && this.getThisOrNextEl(e.nextSibling, t, i)
-                        },
-                        getThisOrNextEl: function (e, t, i) {
-                            e: for (var r = e; r; r = r.nextSibling)
-                                switch (r.nodeType) {
-                                    case 1:
-                                        if (!(t && t !== (r.localName || r.nodeName.split(":").pop()) || i && i !== r.namespaceURI))
-                                            break e;
-                                        r = null;
-                                        break e;
-                                    case 3:
-                                        if (/^\s*$/.test(r.nodeValue))
-                                            break;
-                                    case 4:
-                                    case 6:
-                                    case 12:
-                                    case 10:
-                                    case 11:
-                                        r = null;
-                                        break e
-                                }
-                            return r || null
-                        },
-                        lookupNamespaceURI: function (e, t) {
-                            var i = null;
-                            if (e)
-                                if (e.lookupNamespaceURI)
-                                    i = e.lookupNamespaceURI(t);
-                                else
-                                    e: switch (e.nodeType) {
-                                        case 1:
-                                            if (null !== e.namespaceURI && e.prefix === t) {
-                                                i = e.namespaceURI;
-                                                break e
-                                            }
-                                            var r = e.attributes.length;
-                                            if (r)
-                                                for (var n, o = 0; o < r; ++o) {
-                                                    if ("xmlns" === (n = e.attributes[o]).prefix && n.name === "xmlns:" + t) {
-                                                        i = n.value || null;
-                                                        break e
-                                                    }
-                                                    if ("xmlns" === n.name && null === t) {
-                                                        i = n.value || null;
-                                                        break e
-                                                    }
-                                                }
-                                            i = this.lookupNamespaceURI(e.parentNode, t);
-                                            break e;
-                                        case 2:
-                                            i = this.lookupNamespaceURI(e.ownerElement, t);
-                                            break e;
-                                        case 9:
-                                            i = this.lookupNamespaceURI(e.documentElement, t);
-                                            break e;
-                                        case 6:
-                                        case 12:
-                                        case 10:
-                                        case 11:
-                                            break e;
-                                        default:
-                                            i = this.lookupNamespaceURI(e.parentNode, t)
-                                    }
-                            return i
-                        },
-                        getXMLDoc: function () {
-                            return GeoGlobe.Format.XML.document || this.xmldom || (document.implementation && document.implementation.createDocument ? GeoGlobe.Format.XML.document = document.implementation.createDocument("", "", null) : !this.xmldom && window.ActiveXObject && (this.xmldom = new ActiveXObject("Microsoft.XMLDOM"))),
-                                GeoGlobe.Format.XML.document || this.xmldom
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.XML"
-                    }),
-                    GeoGlobe.Format.XML.CONTENT_TYPE = {
-                        EMPTY: 0,
-                        SIMPLE: 1,
-                        COMPLEX: 2,
-                        MIXED: 3
-                    },
-                    GeoGlobe.Format.XML.lookupNamespaceURI = GeoGlobe.Function.bind(GeoGlobe.Format.XML.prototype.lookupNamespaceURI, GeoGlobe.Format.XML.prototype),
-                    GeoGlobe.Format.XML.document = null,
-                    GeoGlobe.Format.XML.VersionedOGC = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        defaultVersion: null,
-                        version: null,
-                        profile: null,
-                        allowFallback: !1,
-                        name: null,
-                        stringifyOutput: !1,
-                        parser: null,
-                        initialize: function (e) {
-                            GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]);
-                            var t = this.CLASS_NAME;
-                            this.name = t.substring(t.lastIndexOf(".") + 1)
-                        },
-                        getVersion: function (e, t) {
-                            var i;
-                            return e ? (i = this.version) || (i = e.getAttribute("version")) || (i = this.defaultVersion) : i = t && t.version || this.version || this.defaultVersion,
-                                i
-                        },
-                        getParser: function (e) {
-                            e = e || this.defaultVersion;
-                            var t = this.profile ? "_" + this.profile : "";
-                            if (!this.parser || this.parser.VERSION != e) {
-                                var i = GeoGlobe.Format[this.name]["v" + e.replace(/\./g, "_") + t];
-                                if (!i && ("" !== t && this.allowFallback && (t = "",
-                                    i = GeoGlobe.Format[this.name]["v" + e.replace(/\./g, "_")]),
-                                    !i))
-                                    throw "Can't find a " + this.name + " parser for version " + e + t;
-                                this.parser = new i(this.options)
-                            }
-                            return this.parser
-                        },
-                        write: function (e, t) {
-                            var i = this.getVersion(null, t);
-                            this.parser = this.getParser(i);
-                            var r = this.parser.write(e, t);
-                            return !1 === this.stringifyOutput ? r : GeoGlobe.Format.XML.prototype.write.apply(this, [r])
-                        },
-                        read: function (e, t) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
-                            var i = e.documentElement
-                                , r = this.getVersion(i);
-                            this.parser = this.getParser(r);
-                            var n = this.parser.read(e, t)
-                                , o = this.parser.errorProperty || null;
-                            if (null !== o && void 0 === n[o]) {
-                                var a = new GeoGlobe.Format.OGCExceptionReport;
-                                n.error = a.read(e)
-                            }
-                            return n.version = r,
-                                n
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.XML.VersionedOGC"
-                    }),
-                    GeoGlobe.Format.GML = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        featureNS: "http://mapserver.gis.umn.edu/mapserver",
-                        featurePrefix: "feature",
-                        featureName: "featureMember",
-                        layerName: "features",
-                        geometryName: "geometry",
-                        collectionName: "FeatureCollection",
-                        gmlns: "http://www.opengis.net/gml",
-                        extractAttributes: !0,
-                        xy: !0,
-                        initialize: function (e) {
-                            this.regExes = {
-                                trimSpace: /^\s*|\s*$/g,
-                                removeSpace: /\s*/g,
-                                splitSpace: /\s+/,
-                                trimComma: /\s*,\s*/g
-                            },
-                                GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
-                        },
-                        read: function (e) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
-                            for (var t = this.getElementsByTagNameNS(e.documentElement, this.gmlns, this.featureName), i = [], r = 0; r < t.length; r++) {
-                                var n = this.parseFeature(t[r]);
-                                n && i.push(n)
-                            }
-                            return i
-                        },
-                        parseFeature: function (e) {
-                            for (var t, i, r, n, o, a = ["MultiPolygon", "Polygon", "MultiLineString", "LineString", "MultiPoint", "Point", "Envelope"], s = 0; s < a.length; ++s)
-                                if (t = a[s],
-                                    (i = this.getElementsByTagNameNS(e, this.gmlns, t)).length > 0) {
-                                    if (!(n = this.parseGeometry[t.toLowerCase()]))
-                                        throw new TypeError("Unsupported geometry type: " + t);
-                                    r = n.apply(this, [i[0]]),
-                                        this.internalProjection && this.externalProjection && r.transform(this.externalProjection, this.internalProjection);
-                                    break
-                                }
-                            var x, l = this.getElementsByTagNameNS(e, this.gmlns, "Box");
-                            for (s = 0; s < l.length; ++s) {
-                                var c = l[s]
-                                    , u = this.parseGeometry.box.apply(this, [c])
-                                    , h = c.parentNode;
-                                "boundedBy" === (h.localName || h.nodeName.split(":").pop()) ? o = u : r = u.toGeometry()
-                            }
-                            this.extractAttributes && (x = this.parseAttributes(e));
-                            var f = new GeoGlobe.Feature(r, x);
-                            f.bounds = o,
-                                f.gml = {
-                                    featureType: e.firstChild.nodeName.split(":")[1],
-                                    featureNS: e.firstChild.namespaceURI,
-                                    featureNSPrefix: e.firstChild.prefix
-                                };
-                            for (var d, g = e.firstChild; g && (1 != g.nodeType || !(d = g.getAttribute("fid") || g.getAttribute("id")));)
-                                g = g.nextSibling;
-                            return f.fid = d,
-                                f
-                        },
-                        parseGeometry: {
-                            point: function (e) {
-                                var t, i = [];
-                                if ((t = this.getElementsByTagNameNS(e, this.gmlns, "pos")).length > 0 && (i = t[0].firstChild.nodeValue.replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace)),
-                                    0 == i.length && (t = this.getElementsByTagNameNS(e, this.gmlns, "coordinates")).length > 0 && (i = t[0].firstChild.nodeValue.replace(this.regExes.removeSpace, "").split(",")),
-                                    0 == i.length && (t = this.getElementsByTagNameNS(e, this.gmlns, "coord")).length > 0) {
-                                    var r = this.getElementsByTagNameNS(t[0], this.gmlns, "X")
-                                        , n = this.getElementsByTagNameNS(t[0], this.gmlns, "Y");
-                                    r.length > 0 && n.length > 0 && (i = [r[0].firstChild.nodeValue, n[0].firstChild.nodeValue])
-                                }
-                                return 2 == i.length && (i[2] = null),
-                                    this.xy ? new GeoGlobe.Geometry.Point(i[0], i[1], i[2]) : new GeoGlobe.Geometry.Point(i[1], i[0], i[2])
-                            },
-                            multipoint: function (e) {
-                                var t = this.getElementsByTagNameNS(e, this.gmlns, "Point")
-                                    , i = [];
-                                if (t.length > 0)
-                                    for (var r, n = 0; n < t.length; ++n)
-                                        (r = this.parseGeometry.point.apply(this, [t[n]])) && i.push(r);
-                                return new GeoGlobe.Geometry.MultiPoint(i)
-                            },
-                            linestring: function (e, t) {
-                                var i, r = [], n = [];
-                                if ((i = this.getElementsByTagNameNS(e, this.gmlns, "posList")).length > 0) {
-                                    r = this.getChildValue(i[0]).replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace);
-                                    for (var o, a, s, x, l = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[0].getAttribute("dimension")), c = 0; c < r.length / l; ++c)
-                                        a = r[o = c * l],
-                                            s = r[o + 1],
-                                            x = 2 == l ? null : r[o + 2],
-                                            this.xy ? n.push(new GeoGlobe.Geometry.Point(a, s, x)) : n.push(new GeoGlobe.Geometry.Point(s, a, x))
-                                }
-                                if (0 == r.length && (i = this.getElementsByTagNameNS(e, this.gmlns, "coordinates")).length > 0) {
-                                    var u = this.getChildValue(i[0]).replace(this.regExes.trimSpace, "").replace(this.regExes.trimComma, ",").split(this.regExes.splitSpace);
-                                    for (c = 0; c < u.length; ++c)
-                                        2 == (r = u[c].split(",")).length && (r[2] = null),
-                                            this.xy ? n.push(new GeoGlobe.Geometry.Point(r[0], r[1], r[2])) : n.push(new GeoGlobe.Geometry.Point(r[1], r[0], r[2]))
-                                }
-                                var h = null;
-                                return 0 != n.length && (h = t ? new GeoGlobe.Geometry.LinearRing(n) : new GeoGlobe.Geometry.LineString(n)),
-                                    h
-                            },
-                            multilinestring: function (e) {
-                                var t = this.getElementsByTagNameNS(e, this.gmlns, "LineString")
-                                    , i = [];
-                                if (t.length > 0)
-                                    for (var r, n = 0; n < t.length; ++n)
-                                        (r = this.parseGeometry.linestring.apply(this, [t[n]])) && i.push(r);
-                                return new GeoGlobe.Geometry.MultiLineString(i)
-                            },
-                            polygon: function (e) {
-                                var t = this.getElementsByTagNameNS(e, this.gmlns, "LinearRing")
-                                    , i = [];
-                                if (t.length > 0)
-                                    for (var r, n = 0; n < t.length; ++n)
-                                        (r = this.parseGeometry.linestring.apply(this, [t[n], !0])) && i.push(r);
-                                return new GeoGlobe.Geometry.Polygon(i)
-                            },
-                            multipolygon: function (e) {
-                                var t = this.getElementsByTagNameNS(e, this.gmlns, "Polygon")
-                                    , i = [];
-                                if (t.length > 0)
-                                    for (var r, n = 0; n < t.length; ++n)
-                                        (r = this.parseGeometry.polygon.apply(this, [t[n]])) && i.push(r);
-                                return new GeoGlobe.Geometry.MultiPolygon(i)
-                            },
-                            envelope: function (e) {
-                                var t, i = [], r = this.getElementsByTagNameNS(e, this.gmlns, "lowerCorner");
-                                if (r.length > 0) {
-                                    var n = [];
-                                    if (r.length > 0 && (n = r[0].firstChild.nodeValue.replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace)),
-                                        2 == n.length && (n[2] = null),
-                                        this.xy)
-                                        var o = new GeoGlobe.Geometry.Point(n[0], n[1], n[2]);
-                                    else
-                                        o = new GeoGlobe.Geometry.Point(n[1], n[0], n[2])
-                                }
-                                var a = this.getElementsByTagNameNS(e, this.gmlns, "upperCorner");
-                                if (a.length > 0)
-                                    if (n = [],
-                                        a.length > 0 && (n = a[0].firstChild.nodeValue.replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace)),
-                                        2 == n.length && (n[2] = null),
-                                        this.xy)
-                                        var s = new GeoGlobe.Geometry.Point(n[0], n[1], n[2]);
-                                    else
-                                        s = new GeoGlobe.Geometry.Point(n[1], n[0], n[2]);
-                                if (o && s) {
-                                    i.push(new GeoGlobe.Geometry.Point(o.x, o.y)),
-                                        i.push(new GeoGlobe.Geometry.Point(s.x, o.y)),
-                                        i.push(new GeoGlobe.Geometry.Point(s.x, s.y)),
-                                        i.push(new GeoGlobe.Geometry.Point(o.x, s.y)),
-                                        i.push(new GeoGlobe.Geometry.Point(o.x, o.y));
-                                    var x = new GeoGlobe.Geometry.LinearRing(i);
-                                    t = new GeoGlobe.Geometry.Polygon([x])
-                                }
-                                return t
-                            },
-                            box: function (e) {
-                                var t, i = this.getElementsByTagNameNS(e, this.gmlns, "coordinates"), r = null, n = null;
-                                if (i.length > 0 && 2 == (t = i[0].firstChild.nodeValue.split(" ")).length && (r = t[0].split(","),
-                                    n = t[1].split(",")),
-                                    null !== r && null !== n) {
-                                    var o = new GeoGlobe.LngLat(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(r[0]), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(r[1]))
-                                        , a = new GeoGlobe.LngLat(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(n[0]), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(n[1]));
-                                    return new GeoGlobe.LngLatBounds(o, a)
-                                }
-                            }
-                        },
-                        parseAttributes: function (e) {
-                            for (var t, i, r, n, o, a, s, x = {}, l = e.firstChild; l;) {
-                                if (1 == l.nodeType) {
-                                    for (t = l.childNodes,
-                                        i = 0; i < t.length; ++i)
-                                        1 == (r = t[i]).nodeType && (1 == (n = r.childNodes).length ? 3 != (o = n[0]).nodeType && 4 != o.nodeType || (a = r.prefix ? r.nodeName.split(":")[1] : r.nodeName,
-                                            s = o.nodeValue.replace(this.regExes.trimSpace, ""),
-                                            x[a] = s) : x[r.nodeName.split(":").pop()] = null);
-                                    break
-                                }
-                                l = l.nextSibling
-                            }
-                            return x
-                        },
-                        write: function (e) {
-                            GeoGlobe.Util.isArray(e) || (e = [e]);
-                            for (var t = this.createElementNS("http://www.opengis.net/wfs", "wfs:" + this.collectionName), i = 0; i < e.length; i++)
-                                t.appendChild(this.createFeatureXML(e[i]));
-                            return GeoGlobe.Format.XML.prototype.write.apply(this, [t])
-                        },
-                        createFeatureXML: function (e) {
-                            var t = e.geometry
-                                , i = this.buildGeometryNode(t)
-                                , r = this.createElementNS(this.featureNS, this.featurePrefix + ":" + this.geometryName);
-                            r.appendChild(i);
-                            var n = this.createElementNS(this.gmlns, "gml:" + this.featureName)
-                                , o = this.createElementNS(this.featureNS, this.featurePrefix + ":" + this.layerName)
-                                , a = e.fid || e.id;
-                            for (var s in o.setAttribute("fid", a),
-                                o.appendChild(r),
-                                e.attributes) {
-                                var x = this.createTextNode(e.attributes[s])
-                                    , l = s.substring(s.lastIndexOf(":") + 1)
-                                    , c = this.createElementNS(this.featureNS, this.featurePrefix + ":" + l);
-                                c.appendChild(x),
-                                    o.appendChild(c)
-                            }
-                            return n.appendChild(o),
-                                n
-                        },
-                        buildGeometryNode: function (e) {
-                            this.externalProjection && this.internalProjection && (e = e.clone()).transform(this.internalProjection, this.externalProjection);
-                            var t = e.CLASS_NAME
-                                , i = t.substring(t.lastIndexOf(".") + 1);
-                            return this.buildGeometry[i.toLowerCase()].apply(this, [e])
-                        },
-                        buildGeometry: {
-                            point: function (e) {
-                                var t = this.createElementNS(this.gmlns, "gml:Point");
-                                return t.appendChild(this.buildCoordinatesNode(e)),
-                                    t
-                            },
-                            multipoint: function (e) {
-                                for (var t, i, r = this.createElementNS(this.gmlns, "gml:MultiPoint"), n = e.components, o = 0; o < n.length; o++)
-                                    t = this.createElementNS(this.gmlns, "gml:pointMember"),
-                                        i = this.buildGeometry.point.apply(this, [n[o]]),
-                                        t.appendChild(i),
-                                        r.appendChild(t);
-                                return r
-                            },
-                            linestring: function (e) {
-                                var t = this.createElementNS(this.gmlns, "gml:LineString");
-                                return t.appendChild(this.buildCoordinatesNode(e)),
-                                    t
-                            },
-                            multilinestring: function (e) {
-                                for (var t, i, r = this.createElementNS(this.gmlns, "gml:MultiLineString"), n = e.components, o = 0; o < n.length; ++o)
-                                    t = this.createElementNS(this.gmlns, "gml:lineStringMember"),
-                                        i = this.buildGeometry.linestring.apply(this, [n[o]]),
-                                        t.appendChild(i),
-                                        r.appendChild(t);
-                                return r
-                            },
-                            linearring: function (e) {
-                                var t = this.createElementNS(this.gmlns, "gml:LinearRing");
-                                return t.appendChild(this.buildCoordinatesNode(e)),
-                                    t
-                            },
-                            polygon: function (e) {
-                                for (var t, i, r, n = this.createElementNS(this.gmlns, "gml:Polygon"), o = e.components, a = 0; a < o.length; ++a)
-                                    r = 0 == a ? "outerBoundaryIs" : "innerBoundaryIs",
-                                        t = this.createElementNS(this.gmlns, "gml:" + r),
-                                        i = this.buildGeometry.linearring.apply(this, [o[a]]),
-                                        t.appendChild(i),
-                                        n.appendChild(t);
-                                return n
-                            },
-                            multipolygon: function (e) {
-                                for (var t, i, r = this.createElementNS(this.gmlns, "gml:MultiPolygon"), n = e.components, o = 0; o < n.length; ++o)
-                                    t = this.createElementNS(this.gmlns, "gml:polygonMember"),
-                                        i = this.buildGeometry.polygon.apply(this, [n[o]]),
-                                        t.appendChild(i),
-                                        r.appendChild(t);
-                                return r
-                            },
-                            lnglatbounds: function (e) {
-                                var t = this.createElementNS(this.gmlns, "gml:Box");
-                                return t.appendChild(this.buildCoordinatesNode(e)),
-                                    t
-                            }
-                        },
-                        buildCoordinatesNode: function (e) {
-                            var t = this.createElementNS(this.gmlns, "gml:coordinates");
-                            t.setAttribute("decimal", "."),
-                                t.setAttribute("cs", ","),
-                                t.setAttribute("ts", " ");
-                            var i = [];
-                            if (e instanceof GeoGlobe.LngLatBounds)
-                                i.push(e.getWest() + "," + e.getSouth()),
-                                    i.push(e.getEast() + "," + e.getNorth());
-                            else
-                                for (var r = e.components ? e.components : [e], n = 0; n < r.length; n++)
-                                    i.push(r[n].x + "," + r[n].y);
-                            var o = this.createTextNode(i.join(" "));
-                            return t.appendChild(o),
-                                t
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.GML"
-                    }),
-                    GeoGlobe.Format.GML || (GeoGlobe.Format.GML = {}),
-                    GeoGlobe.Format.GML.Base = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        namespaces: {
-                            gml: "http://www.opengis.net/gml",
-                            xlink: "http://www.w3.org/1999/xlink",
-                            xsi: "http://www.w3.org/2001/XMLSchema-instance",
-                            wfs: "http://www.opengis.net/wfs"
-                        },
-                        defaultPrefix: "gml",
-                        schemaLocation: null,
-                        featureType: null,
-                        featureNS: null,
-                        geometryName: "geometry",
-                        extractAttributes: !0,
-                        srsName: null,
-                        xy: !0,
-                        geometryTypes: null,
-                        singleFeatureType: null,
-                        regExes: {
-                            trimSpace: /^\s*|\s*$/g,
-                            removeSpace: /\s*/g,
-                            splitSpace: /\s+/,
-                            trimComma: /\s*,\s*/g,
-                            featureMember: /^(.*:)?featureMembers?$/
-                        },
-                        initialize: function (e) {
-                            GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]),
-                                this.setGeometryTypes(),
-                                e && e.featureNS && this.setNamespace("feature", e.featureNS),
-                                this.singleFeatureType = !e || "string" == typeof e.featureType
-                        },
-                        read: function (e) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
-                                e && 9 == e.nodeType && (e = e.documentElement);
-                            var t, i = [];
-                            if (this.readNode(e, {
-                                features: i
-                            }, !0),
-                                0 == i.length)
-                                if ((t = this.getElementsByTagNameNS(e, this.namespaces.gml, "featureMember")).length)
-                                    for (var r = 0, n = t.length; r < n; ++r)
-                                        this.readNode(t[r], {
-                                            features: i
-                                        }, !0);
-                                else
-                                    (t = this.getElementsByTagNameNS(e, this.namespaces.gml, "featureMembers")).length && this.readNode(t[0], {
-                                        features: i
-                                    }, !0);
-                            return i
-                        },
-                        readNode: function (e, t, i) {
-                            return !0 === i && !0 === this.autoConfig && (this.featureType = null,
-                                delete this.namespaceAlias[this.featureNS],
-                                delete this.namespaces.feature,
-                                this.featureNS = null),
-                                this.featureNS || e.prefix in this.namespaces || e.parentNode.namespaceURI != this.namespaces.gml || !this.regExes.featureMember.test(e.parentNode.nodeName) || (this.featureType = e.nodeName.split(":").pop(),
-                                    this.setNamespace("feature", e.namespaceURI),
-                                    this.featureNS = e.namespaceURI,
-                                    this.autoConfig = !0),
-                                GeoGlobe.Format.XML.prototype.readNode.apply(this, [e, t])
-                        },
-                        readers: {
-                            gml: {
-                                _inherit: function (e, t, i) { },
-                                featureMember: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                featureMembers: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                name: function (e, t) {
-                                    t.name = this.getChildValue(e)
-                                },
-                                boundedBy: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        i.components && i.components.length > 0 && (t.bounds = i.components[0])
-                                },
-                                Point: function (e, t) {
-                                    var i = {
-                                        points: []
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.components || (t.components = []),
-                                        t.components.push(i.points[0])
-                                },
-                                coordinates: function (e, t) {
-                                    for (var i, r = this.getChildValue(e).replace(this.regExes.trimSpace, ""), n = (r = r.replace(this.regExes.trimComma, ",")).split(this.regExes.splitSpace), o = n.length, a = new Array(o), s = 0; s < o; ++s)
-                                        i = n[s].split(","),
-                                            this.xy ? a[s] = new GeoGlobe.Geometry.Point(i[0], i[1], i[2]) : a[s] = new GeoGlobe.Geometry.Point(i[1], i[0], i[2]);
-                                    t.points = a
-                                },
-                                coord: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.points || (t.points = []),
-                                        t.points.push(new GeoGlobe.Geometry.Point(i.x, i.y, i.z))
-                                },
-                                X: function (e, t) {
-                                    t.x = this.getChildValue(e)
-                                },
-                                Y: function (e, t) {
-                                    t.y = this.getChildValue(e)
-                                },
-                                Z: function (e, t) {
-                                    t.z = this.getChildValue(e)
-                                },
-                                MultiPoint: function (e, t) {
-                                    var i = {
-                                        components: []
-                                    };
-                                    this.readers.gml._inherit.apply(this, [e, i, t]),
-                                        this.readChildNodes(e, i),
-                                        t.components = [new GeoGlobe.Geometry.MultiPoint(i.components)]
-                                },
-                                pointMember: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                LineString: function (e, t) {
-                                    var i = {};
-                                    this.readers.gml._inherit.apply(this, [e, i, t]),
-                                        this.readChildNodes(e, i),
-                                        t.components || (t.components = []),
-                                        t.components.push(new GeoGlobe.Geometry.LineString(i.points))
-                                },
-                                MultiLineString: function (e, t) {
-                                    var i = {
-                                        components: []
-                                    };
-                                    this.readers.gml._inherit.apply(this, [e, i, t]),
-                                        this.readChildNodes(e, i),
-                                        t.components = [new GeoGlobe.Geometry.MultiLineString(i.components)]
-                                },
-                                lineStringMember: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                Polygon: function (e, t) {
-                                    var i = {
-                                        outer: null,
-                                        inner: []
-                                    };
-                                    this.readers.gml._inherit.apply(this, [e, i, t]),
-                                        this.readChildNodes(e, i),
-                                        i.inner.unshift(i.outer),
-                                        t.components || (t.components = []),
-                                        t.components.push(new GeoGlobe.Geometry.Polygon(i.inner))
-                                },
-                                LinearRing: function (e, t) {
-                                    var i = {};
-                                    this.readers.gml._inherit.apply(this, [e, i]),
-                                        this.readChildNodes(e, i),
-                                        t.components = [new GeoGlobe.Geometry.LinearRing(i.points)]
-                                },
-                                MultiPolygon: function (e, t) {
-                                    var i = {
-                                        components: []
-                                    };
-                                    this.readers.gml._inherit.apply(this, [e, i, t]),
-                                        this.readChildNodes(e, i),
-                                        t.components = [new GeoGlobe.Geometry.MultiPolygon(i.components)]
-                                },
-                                polygonMember: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                GeometryCollection: function (e, t) {
-                                    var i = {
-                                        components: []
-                                    };
-                                    this.readers.gml._inherit.apply(this, [e, i, t]),
-                                        this.readChildNodes(e, i),
-                                        t.components = [new GeoGlobe.Geometry.Collection(i.components)]
-                                },
-                                geometryMember: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                }
-                            },
-                            feature: {
-                                "*": function (e, t) {
-                                    var i, r = e.localName || e.nodeName.split(":").pop();
-                                    if (t.features)
-                                        if (this.singleFeatureType || -1 === GeoGlobe.Util.indexOf(this.featureType, r)) {
-                                            if (r === this.featureType)
-                                                i = "_typeName";
-                                            else if (GeoGlobe.Util.isArray(this.featureType_))
-                                                for (var n = 0; n < this.featureType_.length; n++)
-                                                    if (this.featureType_[n] === r) {
-                                                        i = "_typeName";
-                                                        break
-                                                    }
-                                        } else
-                                            i = "_typeName";
-                                    else
-                                        0 == e.childNodes.length || 1 == e.childNodes.length && 3 == e.firstChild.nodeType ? this.extractAttributes && (i = "_attribute") : i = "_geometry";
-                                    i && this.readers.feature[i].apply(this, [e, t])
-                                },
-                                _typeName: function (e, t) {
-                                    var i = {
-                                        components: [],
-                                        attributes: {}
-                                    };
-                                    this.readChildNodes(e, i),
-                                        i.name && (i.attributes.name = i.name);
-                                    var r = new GeoGlobe.Feature(i.components[0], i.attributes);
-                                    this.singleFeatureType || (r.type = e.nodeName.split(":").pop(),
-                                        r.namespace = e.namespaceURI);
-                                    var n = e.getAttribute("fid") || this.getAttributeNS(e, this.namespaces.gml, "id");
-                                    n && (r.fid = n),
-                                        this.internalProjection && this.externalProjection && r.geometry && r.geometry.transform(this.externalProjection, this.internalProjection),
-                                        i.bounds && (r.bounds = i.bounds),
-                                        t.features.push(r)
-                                },
-                                _geometry: function (e, t) {
-                                    this.geometryName || (this.geometryName = e.nodeName.split(":").pop()),
-                                        this.readChildNodes(e, t)
-                                },
-                                _attribute: function (e, t) {
-                                    var i = e.localName || e.nodeName.split(":").pop()
-                                        , r = this.getChildValue(e);
-                                    t.attributes[i] = r
-                                }
-                            },
-                            wfs: {
-                                FeatureCollection: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                }
-                            }
-                        },
-                        write: function (e) {
-                            var t;
-                            t = GeoGlobe.Util.isArray(e) ? "featureMembers" : "featureMember";
-                            var i = this.writeNode("gml:" + t, e);
-                            return this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation),
-                                GeoGlobe.Format.XML.prototype.write.apply(this, [i])
-                        },
-                        writers: {
-                            gml: {
-                                featureMember: function (e) {
-                                    var t = this.createElementNSPlus("gml:featureMember");
-                                    return this.writeNode("feature:_typeName", e, t),
-                                        t
-                                },
-                                MultiPoint: function (e) {
-                                    for (var t = this.createElementNSPlus("gml:MultiPoint"), i = e.components || [e], r = 0, n = i.length; r < n; ++r)
-                                        this.writeNode("pointMember", i[r], t);
-                                    return t
-                                },
-                                pointMember: function (e) {
-                                    var t = this.createElementNSPlus("gml:pointMember");
-                                    return this.writeNode("Point", e, t),
-                                        t
-                                },
-                                MultiLineString: function (e) {
-                                    for (var t = this.createElementNSPlus("gml:MultiLineString"), i = e.components || [e], r = 0, n = i.length; r < n; ++r)
-                                        this.writeNode("lineStringMember", i[r], t);
-                                    return t
-                                },
-                                lineStringMember: function (e) {
-                                    var t = this.createElementNSPlus("gml:lineStringMember");
-                                    return this.writeNode("LineString", e, t),
-                                        t
-                                },
-                                MultiPolygon: function (e) {
-                                    for (var t = this.createElementNSPlus("gml:MultiPolygon"), i = e.components || [e], r = 0, n = i.length; r < n; ++r)
-                                        this.writeNode("polygonMember", i[r], t);
-                                    return t
-                                },
-                                polygonMember: function (e) {
-                                    var t = this.createElementNSPlus("gml:polygonMember");
-                                    return this.writeNode("Polygon", e, t),
-                                        t
-                                },
-                                GeometryCollection: function (e) {
-                                    for (var t = this.createElementNSPlus("gml:GeometryCollection"), i = 0, r = e.components.length; i < r; ++i)
-                                        this.writeNode("geometryMember", e.components[i], t);
-                                    return t
-                                },
-                                geometryMember: function (e) {
-                                    var t = this.createElementNSPlus("gml:geometryMember")
-                                        , i = this.writeNode("feature:_geometry", e);
-                                    return t.appendChild(i.firstChild),
-                                        t
-                                }
-                            },
-                            feature: {
-                                _typeName: function (e) {
-                                    var t = this.createElementNSPlus("feature:" + this.featureType, {
-                                        attributes: {
-                                            fid: e.fid
-                                        }
-                                    });
-                                    for (var i in e.geometry && this.writeNode("feature:_geometry", e.geometry, t),
-                                        e.attributes) {
-                                        var r = e.attributes[i];
-                                        null != r && this.writeNode("feature:_attribute", {
-                                            name: i,
-                                            value: r
-                                        }, t)
-                                    }
-                                    return t
-                                },
-                                _geometry: function (e) {
-                                    this.externalProjection && this.internalProjection && (e = e.clone().transform(this.internalProjection, this.externalProjection));
-                                    var t = this.createElementNSPlus("feature:" + this.geometryName)
-                                        , i = this.geometryTypes[e.CLASS_NAME]
-                                        , r = this.writeNode("gml:" + i, e, t);
-                                    return this.srsName && r.setAttribute("srsName", this.srsName),
-                                        t
-                                },
-                                _attribute: function (e) {
-                                    return this.createElementNSPlus("feature:" + e.name, {
-                                        value: e.value
-                                    })
-                                }
-                            },
-                            wfs: {
-                                FeatureCollection: function (e) {
-                                    for (var t = this.createElementNSPlus("wfs:FeatureCollection"), i = 0, r = e.length; i < r; ++i)
-                                        this.writeNode("gml:featureMember", e[i], t);
-                                    return t
-                                }
-                            }
-                        },
-                        setGeometryTypes: function () {
-                            this.geometryTypes = {
-                                "GeoGlobe.Geometry.Point": "Point",
-                                "GeoGlobe.Geometry.MultiPoint": "MultiPoint",
-                                "GeoGlobe.Geometry.LineString": "LineString",
-                                "GeoGlobe.Geometry.MultiLineString": "MultiLineString",
-                                "GeoGlobe.Geometry.Polygon": "Polygon",
-                                "GeoGlobe.Geometry.MultiPolygon": "MultiPolygon",
-                                "GeoGlobe.Geometry.Collection": "GeometryCollection"
-                            }
-                        },
-                        setFeatureType_: function (e) {
-                            this.featureType_ = e
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.GML.Base"
-                    }),
-                    GeoGlobe.Format.GML.v2 = GeoGlobe.Class4OL(GeoGlobe.Format.GML.Base, {
-                        schemaLocation: "http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd",
-                        initialize: function (e) {
-                            GeoGlobe.Format.GML.Base.prototype.initialize.apply(this, [e])
-                        },
-                        readers: {
-                            gml: GeoGlobe.Util.applyDefaults({
-                                outerBoundaryIs: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.outer = i.components[0]
-                                },
-                                innerBoundaryIs: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.inner.push(i.components[0])
-                                },
-                                Box: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.components || (t.components = []);
-                                    var r = i.points[0]
-                                        , n = i.points[1]
-                                        , o = new GeoGlobe.LngLat(r.x, r.y)
-                                        , a = new GeoGlobe.LngLat(n.x, n.y);
-                                    t.components.push(new GeoGlobe.LngLatBounds(o, a))
-                                }
-                            }, GeoGlobe.Format.GML.Base.prototype.readers.gml),
-                            feature: GeoGlobe.Format.GML.Base.prototype.readers.feature,
-                            wfs: GeoGlobe.Format.GML.Base.prototype.readers.wfs
-                        },
-                        write: function (e) {
-                            var t;
-                            t = GeoGlobe.Util.isArray(e) ? "wfs:FeatureCollection" : "gml:featureMember";
-                            var i = this.writeNode(t, e);
-                            return this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation),
-                                GeoGlobe.Format.XML.prototype.write.apply(this, [i])
-                        },
-                        writers: {
-                            gml: GeoGlobe.Util.applyDefaults({
-                                Point: function (e) {
-                                    var t = this.createElementNSPlus("gml:Point");
-                                    return this.writeNode("coordinates", [e], t),
-                                        t
-                                },
-                                coordinates: function (e) {
-                                    for (var t, i = e.length, r = new Array(i), n = 0; n < i; ++n)
-                                        t = e[n],
-                                            this.xy ? r[n] = t.x + "," + t.y : r[n] = t.y + "," + t.x,
-                                            null != t.z && (r[n] += "," + t.z);
-                                    return this.createElementNSPlus("gml:coordinates", {
-                                        attributes: {
-                                            decimal: ".",
-                                            cs: ",",
-                                            ts: " "
-                                        },
-                                        value: 1 == i ? r[0] : r.join(" ")
-                                    })
-                                },
-                                LineString: function (e) {
-                                    var t = this.createElementNSPlus("gml:LineString");
-                                    return this.writeNode("coordinates", e.components, t),
-                                        t
-                                },
-                                Polygon: function (e) {
-                                    var t = this.createElementNSPlus("gml:Polygon");
-                                    this.writeNode("outerBoundaryIs", e.components[0], t);
-                                    for (var i = 1; i < e.components.length; ++i)
-                                        this.writeNode("innerBoundaryIs", e.components[i], t);
-                                    return t
-                                },
-                                outerBoundaryIs: function (e) {
-                                    var t = this.createElementNSPlus("gml:outerBoundaryIs");
-                                    return this.writeNode("LinearRing", e, t),
-                                        t
-                                },
-                                innerBoundaryIs: function (e) {
-                                    var t = this.createElementNSPlus("gml:innerBoundaryIs");
-                                    return this.writeNode("LinearRing", e, t),
-                                        t
-                                },
-                                LinearRing: function (e) {
-                                    var t = this.createElementNSPlus("gml:LinearRing");
-                                    return this.writeNode("coordinates", e.components, t),
-                                        t
-                                },
-                                Box: function (e) {
-                                    var t = this.createElementNSPlus("gml:Box");
-                                    return this.writeNode("coordinates", [{
-                                        x: e._sw.lng,
-                                        y: e._sw.lat
-                                    }, {
-                                        x: e._ne.lng,
-                                        y: e._ne.lat
-                                    }], t),
-                                        this.srsName && t.setAttribute("srsName", this.srsName),
-                                        t
-                                }
-                            }, GeoGlobe.Format.GML.Base.prototype.writers.gml),
-                            feature: GeoGlobe.Format.GML.Base.prototype.writers.feature,
-                            wfs: GeoGlobe.Format.GML.Base.prototype.writers.wfs
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.GML.v2"
-                    }),
-                    GeoGlobe.Format.GML.v3 = GeoGlobe.Class4OL(GeoGlobe.Format.GML.Base, {
-                        schemaLocation: "http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/profiles/gmlsfProfile/1.0.0/gmlsf.xsd",
-                        curve: !1,
-                        multiCurve: !0,
-                        surface: !1,
-                        multiSurface: !0,
-                        initialize: function (e) {
-                            GeoGlobe.Format.GML.Base.prototype.initialize.apply(this, [e])
-                        },
-                        readers: {
-                            gml: GeoGlobe.Util.applyDefaults({
-                                _inherit: function (e, t, i) {
-                                    var r = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("srsDimension"), 10) || i && i.srsDimension;
-                                    r && (t.srsDimension = r)
-                                },
-                                featureMembers: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                Curve: function (e, t) {
-                                    var i = {
-                                        points: []
-                                    };
-                                    this.readers.gml._inherit.apply(this, [e, i, t]),
-                                        this.readChildNodes(e, i),
-                                        t.components || (t.components = []),
-                                        t.components.push(new GeoGlobe.Geometry.LineString(i.points))
-                                },
-                                segments: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                LineStringSegment: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        i.points && Array.prototype.push.apply(t.points, i.points)
-                                },
-                                pos: function (e, t) {
-                                    var i, r = this.getChildValue(e).replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace);
-                                    i = this.xy ? new GeoGlobe.Geometry.Point(r[0], r[1], r[2]) : new GeoGlobe.Geometry.Point(r[1], r[0], r[2]),
-                                        t.points = [i]
-                                },
-                                posList: function (e, t) {
-                                    for (var i, r, n, o = this.getChildValue(e).replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace), a = t.srsDimension || _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("srsDimension") || e.getAttribute("dimension"), 10) || 2, s = o.length / a, x = new Array(s), l = 0, c = o.length; l < c; l += a)
-                                        i = o[l],
-                                            r = o[l + 1],
-                                            n = 2 == a ? void 0 : o[l + 2],
-                                            this.xy ? x[l / a] = new GeoGlobe.Geometry.Point(i, r, n) : x[l / a] = new GeoGlobe.Geometry.Point(r, i, n);
-                                    t.points = x
-                                },
-                                Surface: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                patches: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                PolygonPatch: function (e, t) {
-                                    this.readers.gml.Polygon.apply(this, [e, t])
-                                },
-                                exterior: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.outer = i.components[0]
-                                },
-                                interior: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.inner.push(i.components[0])
-                                },
-                                MultiCurve: function (e, t) {
-                                    var i = {
-                                        components: []
-                                    };
-                                    this.readers.gml._inherit.apply(this, [e, i, t]),
-                                        this.readChildNodes(e, i),
-                                        i.components.length > 0 && (t.components = [new GeoGlobe.Geometry.MultiLineString(i.components)])
-                                },
-                                curveMember: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                MultiSurface: function (e, t) {
-                                    var i = {
-                                        components: []
-                                    };
-                                    this.readers.gml._inherit.apply(this, [e, i, t]),
-                                        this.readChildNodes(e, i),
-                                        i.components.length > 0 && (t.components = [new GeoGlobe.Geometry.MultiPolygon(i.components)])
-                                },
-                                surfaceMember: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                surfaceMembers: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                pointMembers: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                lineStringMembers: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                polygonMembers: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                geometryMembers: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                Envelope: function (e, t) {
-                                    var i = {
-                                        points: new Array(2)
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.components || (t.components = []);
-                                    var r = i.points[0]
-                                        , n = i.points[1]
-                                        , o = new GeoGlobe.LngLat(r.x, r.y)
-                                        , a = new GeoGlobe.LngLat(n.x, n.y);
-                                    t.components.push(new GeoGlobe.LngLatBounds(o, a))
-                                },
-                                lowerCorner: function (e, t) {
-                                    var i = {};
-                                    this.readers.gml.pos.apply(this, [e, i]),
-                                        t.points[0] = i.points[0]
-                                },
-                                upperCorner: function (e, t) {
-                                    var i = {};
-                                    this.readers.gml.pos.apply(this, [e, i]),
-                                        t.points[1] = i.points[0]
-                                }
-                            }, GeoGlobe.Format.GML.Base.prototype.readers.gml),
-                            feature: GeoGlobe.Format.GML.Base.prototype.readers.feature,
-                            wfs: GeoGlobe.Format.GML.Base.prototype.readers.wfs
-                        },
-                        write: function (e) {
-                            var t;
-                            t = GeoGlobe.Util.isArray(e) ? "featureMembers" : "featureMember";
-                            var i = this.writeNode("gml:" + t, e);
-                            return this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation),
-                                GeoGlobe.Format.XML.prototype.write.apply(this, [i])
-                        },
-                        writers: {
-                            gml: GeoGlobe.Util.applyDefaults({
-                                featureMembers: function (e) {
-                                    for (var t = this.createElementNSPlus("gml:featureMembers"), i = 0, r = e.length; i < r; ++i)
-                                        this.writeNode("feature:_typeName", e[i], t);
-                                    return t
-                                },
-                                Point: function (e) {
-                                    var t = this.createElementNSPlus("gml:Point");
-                                    return this.writeNode("pos", e, t),
-                                        t
-                                },
-                                pos: function (e) {
-                                    var t = this.xy ? e.x + " " + e.y : e.y + " " + e.x;
-                                    return this.createElementNSPlus("gml:pos", {
-                                        value: t
-                                    })
-                                },
-                                LineString: function (e) {
-                                    var t = this.createElementNSPlus("gml:LineString");
-                                    return this.writeNode("posList", e.components, t),
-                                        t
-                                },
-                                Curve: function (e) {
-                                    var t = this.createElementNSPlus("gml:Curve");
-                                    return this.writeNode("segments", e, t),
-                                        t
-                                },
-                                segments: function (e) {
-                                    var t = this.createElementNSPlus("gml:segments");
-                                    return this.writeNode("LineStringSegment", e, t),
-                                        t
-                                },
-                                LineStringSegment: function (e) {
-                                    var t = this.createElementNSPlus("gml:LineStringSegment");
-                                    return this.writeNode("posList", e.components, t),
-                                        t
-                                },
-                                posList: function (e) {
-                                    for (var t, i = e.length, r = new Array(i), n = 0; n < i; ++n)
-                                        t = e[n],
-                                            this.xy ? r[n] = t.x + " " + t.y : r[n] = t.y + " " + t.x;
-                                    return this.createElementNSPlus("gml:posList", {
-                                        value: r.join(" ")
-                                    })
-                                },
-                                Surface: function (e) {
-                                    var t = this.createElementNSPlus("gml:Surface");
-                                    return this.writeNode("patches", e, t),
-                                        t
-                                },
-                                patches: function (e) {
-                                    var t = this.createElementNSPlus("gml:patches");
-                                    return this.writeNode("PolygonPatch", e, t),
-                                        t
-                                },
-                                PolygonPatch: function (e) {
-                                    var t = this.createElementNSPlus("gml:PolygonPatch", {
-                                        attributes: {
-                                            interpolation: "planar"
-                                        }
-                                    });
-                                    this.writeNode("exterior", e.components[0], t);
-                                    for (var i = 1, r = e.components.length; i < r; ++i)
-                                        this.writeNode("interior", e.components[i], t);
-                                    return t
-                                },
-                                Polygon: function (e) {
-                                    var t = this.createElementNSPlus("gml:Polygon");
-                                    this.writeNode("exterior", e.components[0], t);
-                                    for (var i = 1, r = e.components.length; i < r; ++i)
-                                        this.writeNode("interior", e.components[i], t);
-                                    return t
-                                },
-                                exterior: function (e) {
-                                    var t = this.createElementNSPlus("gml:exterior");
-                                    return this.writeNode("LinearRing", e, t),
-                                        t
-                                },
-                                interior: function (e) {
-                                    var t = this.createElementNSPlus("gml:interior");
-                                    return this.writeNode("LinearRing", e, t),
-                                        t
-                                },
-                                LinearRing: function (e) {
-                                    var t = this.createElementNSPlus("gml:LinearRing");
-                                    return this.writeNode("posList", e.components, t),
-                                        t
-                                },
-                                MultiCurve: function (e) {
-                                    for (var t = this.createElementNSPlus("gml:MultiCurve"), i = e.components || [e], r = 0, n = i.length; r < n; ++r)
-                                        this.writeNode("curveMember", i[r], t);
-                                    return t
-                                },
-                                curveMember: function (e) {
-                                    var t = this.createElementNSPlus("gml:curveMember");
-                                    return this.curve ? this.writeNode("Curve", e, t) : this.writeNode("LineString", e, t),
-                                        t
-                                },
-                                MultiSurface: function (e) {
-                                    for (var t = this.createElementNSPlus("gml:MultiSurface"), i = e.components || [e], r = 0, n = i.length; r < n; ++r)
-                                        this.writeNode("surfaceMember", i[r], t);
-                                    return t
-                                },
-                                surfaceMember: function (e) {
-                                    var t = this.createElementNSPlus("gml:surfaceMember");
-                                    return this.surface ? this.writeNode("Surface", e, t) : this.writeNode("Polygon", e, t),
-                                        t
-                                },
-                                Envelope: function (e) {
-                                    var t = this.createElementNSPlus("gml:Envelope");
-                                    return this.writeNode("lowerCorner", e, t),
-                                        this.writeNode("upperCorner", e, t),
-                                        this.srsName && t.setAttribute("srsName", this.srsName),
-                                        t
-                                },
-                                lowerCorner: function (e) {
-                                    var t = this.xy ? e._sw.lng + " " + e._sw.lat : e._sw.lat + " " + e._sw.lng;
-                                    return this.createElementNSPlus("gml:lowerCorner", {
-                                        value: t
-                                    })
-                                },
-                                upperCorner: function (e) {
-                                    var t = this.xy ? e._ne.lng + " " + e._ne.lat : e._ne.lat + " " + e._ne.lng;
-                                    return this.createElementNSPlus("gml:upperCorner", {
-                                        value: t
-                                    })
-                                }
-                            }, GeoGlobe.Format.GML.Base.prototype.writers.gml),
-                            feature: GeoGlobe.Format.GML.Base.prototype.writers.feature,
-                            wfs: GeoGlobe.Format.GML.Base.prototype.writers.wfs
-                        },
-                        setGeometryTypes: function () {
-                            this.geometryTypes = {
-                                "GeoGlobe.Geometry.Point": "Point",
-                                "GeoGlobe.Geometry.MultiPoint": "MultiPoint",
-                                "GeoGlobe.Geometry.LineString": !0 === this.curve ? "Curve" : "LineString",
-                                "GeoGlobe.Geometry.MultiLineString": !1 === this.multiCurve ? "MultiLineString" : "MultiCurve",
-                                "GeoGlobe.Geometry.Polygon": !0 === this.surface ? "Surface" : "Polygon",
-                                "GeoGlobe.Geometry.MultiPolygon": !1 === this.multiSurface ? "MultiPolygon" : "MultiSurface",
-                                "GeoGlobe.Geometry.Collection": "GeometryCollection"
-                            }
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.GML.v3"
-                    }),
-                    GeoGlobe.Format.KML = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        namespaces: {
-                            kml: "http://www.opengis.net/kml/2.2",
-                            gx: "http://www.google.com/kml/ext/2.2"
-                        },
-                        kmlns: "http://earth.google.com/kml/2.0",
-                        placemarksDesc: "No description available",
-                        foldersName: "GeoGlobe export",
-                        foldersDesc: "Exported on " + new Date,
-                        extractAttributes: !0,
-                        kvpAttributes: !1,
-                        extractStyles: !1,
-                        extractTracks: !1,
-                        trackAttributes: null,
-                        internalns: null,
-                        features: null,
-                        styles: null,
-                        styleBaseUrl: "",
-                        fetched: null,
-                        maxDepth: 0,
-                        initialize: function (e) {
-                            this.regExes = {
-                                trimSpace: /^\s*|\s*$/g,
-                                removeSpace: /\s*/g,
-                                splitSpace: /\s+/,
-                                trimComma: /\s*,\s*/g,
-                                kmlColor: /(\w{2})(\w{2})(\w{2})(\w{2})/,
-                                kmlIconPalette: /root:\/\/icons\/palette-(\d+)(\.\w+)/,
-                                straightBracket: /\$\[(.*?)\]/g
-                            },
-                                this.externalProjection = new GeoGlobe.SpatialReference("EPSG:4326"),
-                                GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
-                        },
-                        read: function (e) {
-                            this.features = [],
-                                this.styles = {},
-                                this.fetched = {};
-                            var t = {
-                                depth: 0,
-                                styleBaseUrl: this.styleBaseUrl
-                            };
-                            return this.parseData(e, t)
-                        },
-                        parseData: function (e, t) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
-                            for (var i = ["Link", "NetworkLink", "Style", "StyleMap", "Placemark"], r = 0, n = i.length; r < n; ++r) {
-                                var o = i[r]
-                                    , a = this.getElementsByTagNameNS(e, "*", o);
-                                if (0 != a.length)
-                                    switch (o.toLowerCase()) {
-                                        case "link":
-                                        case "networklink":
-                                            this.parseLinks(a, t);
-                                            break;
-                                        case "style":
-                                            this.extractStyles && this.parseStyles(a, t);
-                                            break;
-                                        case "stylemap":
-                                            this.extractStyles && this.parseStyleMaps(a, t);
-                                            break;
-                                        case "placemark":
-                                            this.parseFeatures(a, t)
-                                    }
-                            }
-                            return this.features
-                        },
-                        parseLinks: function (e, t) {
-                            if (t.depth >= this.maxDepth)
-                                return !1;
-                            var i = GeoGlobe.Util.extend({}, t);
-                            i.depth++;
-                            for (var r = 0, n = e.length; r < n; r++) {
-                                var o = this.parseProperty(e[r], "*", "href");
-                                if (o && !this.fetched[o]) {
-                                    this.fetched[o] = !0;
-                                    var a = this.fetchLink(o);
-                                    a && this.parseData(a, i)
-                                }
-                            }
-                        },
-                        fetchLink: function (e) {
-                            var t = GeoGlobe.Request.GET({
-                                url: e,
-                                async: !1
-                            });
-                            if (t)
-                                return t.responseText
-                        },
-                        parseStyles: function (e, t) {
-                            for (var i = 0, r = e.length; i < r; i++) {
-                                var n = this.parseStyle(e[i]);
-                                if (n) {
-                                    var o = (t.styleBaseUrl || "") + "#" + n.id;
-                                    this.styles[o] = n
-                                }
-                            }
-                        },
-                        parseKmlColor: function (e) {
-                            var t = null;
-                            if (e) {
-                                var i = e.match(this.regExes.kmlColor);
-                                i && (t = {
-                                    color: "#" + i[4] + i[3] + i[2],
-                                    opacity: _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[1], 16) / 255
-                                })
-                            }
-                            return t
-                        },
-                        parseStyle: function (e) {
-                            for (var t, i, r = {}, n = ["LineStyle", "PolyStyle", "IconStyle", "BalloonStyle", "LabelStyle"], o = 0, a = n.length; o < a; ++o)
-                                if (t = n[o],
-                                    i = this.getElementsByTagNameNS(e, "*", t)[0])
-                                    switch (t.toLowerCase()) {
-                                        case "linestyle":
-                                            var s = this.parseProperty(i, "*", "color");
-                                            (I = this.parseKmlColor(s)) && (r.strokeColor = I.color,
-                                                r.strokeOpacity = I.opacity),
-                                                (l = this.parseProperty(i, "*", "width")) && (r.strokeWidth = l);
-                                            break;
-                                        case "polystyle":
-                                            s = this.parseProperty(i, "*", "color"),
-                                                (I = this.parseKmlColor(s)) && (r.fillOpacity = I.opacity,
-                                                    r.fillColor = I.color),
-                                                "0" == this.parseProperty(i, "*", "fill") && (r.fillColor = "none"),
-                                                "0" == this.parseProperty(i, "*", "outline") && (r.strokeWidth = "0");
-                                            break;
-                                        case "iconstyle":
-                                            var x = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.parseProperty(i, "*", "scale") || 1)
-                                                , l = 32 * x
-                                                , c = 32 * x
-                                                , u = this.getElementsByTagNameNS(i, "*", "Icon")[0];
-                                            if (u) {
-                                                var h = this.parseProperty(u, "*", "href");
-                                                if (h) {
-                                                    var f = this.parseProperty(u, "*", "w")
-                                                        , d = this.parseProperty(u, "*", "h");
-                                                    !GeoGlobe.String.startsWith(h, "http://maps.google.com/mapfiles/kml") || f || d || (f = 64,
-                                                        d = 64,
-                                                        x /= 2),
-                                                        f = f || d,
-                                                        d = d || f,
-                                                        f && (l = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(f) * x),
-                                                        d && (c = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(d) * x);
-                                                    var g = h.match(this.regExes.kmlIconPalette);
-                                                    if (g) {
-                                                        var p = g[1]
-                                                            , m = g[2]
-                                                            , b = this.parseProperty(u, "*", "x");
-                                                        h = "http://maps.google.com/mapfiles/kml/pal" + p + "/icon" + (8 * ((C = this.parseProperty(u, "*", "y")) ? 7 - C / 32 : 7) + (b ? b / 32 : 0)) + m
-                                                    }
-                                                    r.graphicOpacity = 1,
-                                                        r.externalGraphic = h
-                                                }
-                                            }
-                                            var v = this.getElementsByTagNameNS(i, "*", "hotSpot")[0];
-                                            if (v) {
-                                                b = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(v.getAttribute("x"));
-                                                var C = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(v.getAttribute("y"))
-                                                    , y = v.getAttribute("xunits");
-                                                "pixels" == y ? r.graphicXOffset = -b * x : "insetPixels" == y ? r.graphicXOffset = b * x - l : "fraction" == y && (r.graphicXOffset = -l * b);
-                                                var _ = v.getAttribute("yunits");
-                                                "pixels" == _ ? r.graphicYOffset = C * x - c + 1 : "insetPixels" == _ ? r.graphicYOffset = -C * x + 1 : "fraction" == _ && (r.graphicYOffset = -c * (1 - C) + 1)
-                                            }
-                                            r.graphicWidth = l,
-                                                r.graphicHeight = c;
-                                            break;
-                                        case "balloonstyle":
-                                            var A = GeoGlobe.Util.getXmlNodeValue(i);
-                                            A && (r.balloonStyle = A.replace(this.regExes.straightBracket, "${$1}"));
-                                            break;
-                                        case "labelstyle":
-                                            var I;
-                                            s = this.parseProperty(i, "*", "color"),
-                                                (I = this.parseKmlColor(s)) && (r.fontColor = I.color,
-                                                    r.fontOpacity = I.opacity)
-                                    }
-                            !r.strokeColor && r.fillColor && (r.strokeColor = r.fillColor);
-                            var w = e.getAttribute("id");
-                            return w && r && (r.id = w),
-                                r
-                        },
-                        parseStyleMaps: function (e, t) {
-                            for (var i = 0, r = e.length; i < r; i++)
-                                for (var n = e[i], o = this.getElementsByTagNameNS(n, "*", "Pair"), a = n.getAttribute("id"), s = 0, x = o.length; s < x; s++) {
-                                    var l = o[s]
-                                        , c = this.parseProperty(l, "*", "key")
-                                        , u = this.parseProperty(l, "*", "styleUrl");
-                                    u && "normal" == c && (this.styles[(t.styleBaseUrl || "") + "#" + a] = this.styles[(t.styleBaseUrl || "") + u])
-                                }
-                        },
-                        parseFeatures: function (e, t) {
-                            for (var i = [], r = 0, n = e.length; r < n; r++) {
-                                var o = e[r]
-                                    , a = this.parseFeature.apply(this, [o]);
-                                if (!a)
-                                    throw "Bad Placemark: " + r;
-                                if (this.extractStyles && a.attributes && a.attributes.styleUrl && (a.style = this.getStyle(a.attributes.styleUrl, t)),
-                                    this.extractStyles) {
-                                    var s = this.getElementsByTagNameNS(o, "*", "Style")[0];
-                                    if (s) {
-                                        var x = this.parseStyle(s);
-                                        x && (a.style = GeoGlobe.Util.extend(a.style, x))
-                                    }
-                                }
-                                if (this.extractTracks) {
-                                    var l = this.getElementsByTagNameNS(o, this.namespaces.gx, "Track");
-                                    if (l && l.length > 0) {
-                                        var c = l[0]
-                                            , u = {
-                                                features: [],
-                                                feature: a
-                                            };
-                                        this.readNode(c, u),
-                                            u.features.length > 0 && i.push.apply(i, u.features)
-                                    }
-                                } else
-                                    i.push(a)
-                            }
-                            this.features = this.features.concat(i)
-                        },
-                        readers: {
-                            kml: {
-                                when: function (e, t) {
-                                    t.whens.push(GeoGlobe.Date.parse(this.getChildValue(e)))
-                                },
-                                _trackPointAttribute: function (e, t) {
-                                    var i = e.nodeName.split(":").pop();
-                                    t.attributes[i].push(this.getChildValue(e))
-                                }
-                            },
-                            gx: {
-                                Track: function (e, t) {
-                                    var i = {
-                                        whens: [],
-                                        points: [],
-                                        angles: []
-                                    };
-                                    if (this.trackAttributes) {
-                                        i.attributes = {};
-                                        for (var r = 0, n = this.trackAttributes.length; r < n; ++r)
-                                            u = this.trackAttributes[r],
-                                                i.attributes[u] = [],
-                                                u in this.readers.kml || (this.readers.kml[u] = this.readers.kml._trackPointAttribute)
-                                    }
-                                    if (this.readChildNodes(e, i),
-                                        i.whens.length !== i.points.length)
-                                        throw new Error("gx:Track with unequal number of when (" + i.whens.length + ") and gx:coord (" + i.points.length + ") elements.");
-                                    var o, a, s, x = i.angles.length > 0;
-                                    if (x && i.whens.length !== i.angles.length)
-                                        throw new Error("gx:Track with unequal number of when (" + i.whens.length + ") and gx:angles (" + i.angles.length + ") elements.");
-                                    for (r = 0,
-                                        n = i.whens.length; r < n; ++r) {
-                                        if ((o = t.feature.clone()).fid = t.feature.fid || t.feature.id,
-                                            a = i.points[r],
-                                            o.geometry = a,
-                                            "z" in a && (o.attributes.altitude = a.z),
-                                            this.internalProjection && this.externalProjection && o.geometry.transform(this.externalProjection, this.internalProjection),
-                                            this.trackAttributes)
-                                            for (var l = 0, c = this.trackAttributes.length; l < c; ++l) {
-                                                var u = this.trackAttributes[l];
-                                                o.attributes[u] = i.attributes[u][r]
-                                            }
-                                        o.attributes.when = i.whens[r],
-                                            o.attributes.trackId = t.feature.id,
-                                            x && (s = i.angles[r],
-                                                o.attributes.heading = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(s[0]),
-                                                o.attributes.tilt = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(s[1]),
-                                                o.attributes.roll = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(s[2])),
-                                            t.features.push(o)
-                                    }
-                                },
-                                coord: function (e, t) {
-                                    var i = this.getChildValue(e).replace(this.regExes.trimSpace, "").split(/\s+/)
-                                        , r = new GeoGlobe.Geometry.Point(i[0], i[1]);
-                                    i.length > 2 && (r.z = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(i[2])),
-                                        t.points.push(r)
-                                },
-                                angles: function (e, t) {
-                                    var i = this.getChildValue(e).replace(this.regExes.trimSpace, "").split(/\s+/);
-                                    t.angles.push(i)
-                                }
-                            }
-                        },
-                        parseFeature: function (e) {
-                            for (var t, i, r, n, o = ["MultiGeometry", "Polygon", "LineString", "Point"], a = 0, s = o.length; a < s; ++a)
-                                if (t = o[a],
-                                    this.internalns = e.namespaceURI ? e.namespaceURI : this.kmlns,
-                                    (i = this.getElementsByTagNameNS(e, this.internalns, t)).length > 0) {
-                                    var x;
-                                    if (!(x = this.parseGeometry[t.toLowerCase()]))
-                                        throw new TypeError("Unsupported geometry type: " + t);
-                                    r = x.apply(this, [i[0]]),
-                                        this.internalProjection && this.externalProjection && r.transform(this.externalProjection, this.internalProjection);
-                                    break
-                                }
-                            this.extractAttributes && (n = this.parseAttributes(e));
-                            var l = new GeoGlobe.Feature(r, n)
-                                , c = e.getAttribute("id") || e.getAttribute("name");
-                            return null != c && (l.fid = c),
-                                l
-                        },
-                        getStyle: function (e, t) {
-                            var i = GeoGlobe.Util.removeTail(e)
-                                , r = GeoGlobe.Util.extend({}, t);
-                            if (r.depth++,
-                                r.styleBaseUrl = i,
-                                !this.styles[e] && !GeoGlobe.String.startsWith(e, "#") && r.depth <= this.maxDepth && !this.fetched[i]) {
-                                var n = this.fetchLink(i);
-                                n && this.parseData(n, r)
-                            }
-                            return GeoGlobe.Util.extend({}, this.styles[e])
-                        },
-                        parseGeometry: {
-                            point: function (e) {
-                                var t = this.getElementsByTagNameNS(e, this.internalns, "coordinates")
-                                    , i = [];
-                                if (t.length > 0) {
-                                    var r = t[0].firstChild.nodeValue;
-                                    i = (r = r.replace(this.regExes.removeSpace, "")).split(",")
-                                }
-                                if (!(i.length > 1))
-                                    throw "Bad coordinate string: " + r;
-                                return 2 == i.length && (i[2] = null),
-                                    new GeoGlobe.Geometry.Point(i[0], i[1], i[2])
-                            },
-                            linestring: function (e, t) {
-                                var i = this.getElementsByTagNameNS(e, this.internalns, "coordinates")
-                                    , r = null;
-                                if (i.length > 0) {
-                                    for (var n, o = this.getChildValue(i[0]), a = (o = (o = o.replace(this.regExes.trimSpace, "")).replace(this.regExes.trimComma, ",")).split(this.regExes.splitSpace), s = a.length, x = new Array(s), l = 0; l < s; ++l) {
-                                        if (!((n = a[l].split(",")).length > 1))
-                                            throw "Bad LineString point coordinates: " + a[l];
-                                        2 == n.length && (n[2] = null),
-                                            x[l] = new GeoGlobe.Geometry.Point(n[0], n[1], n[2])
-                                    }
-                                    if (!s)
-                                        throw "Bad LineString coordinates: " + o;
-                                    r = t ? new GeoGlobe.Geometry.LinearRing(x) : new GeoGlobe.Geometry.LineString(x)
-                                }
-                                return r
-                            },
-                            polygon: function (e) {
-                                var t = this.getElementsByTagNameNS(e, this.internalns, "LinearRing")
-                                    , i = t.length
-                                    , r = new Array(i);
-                                if (i > 0)
-                                    for (var n, o = 0, a = t.length; o < a; ++o) {
-                                        if (!(n = this.parseGeometry.linestring.apply(this, [t[o], !0])))
-                                            throw "Bad LinearRing geometry: " + o;
-                                        r[o] = n
-                                    }
-                                return new GeoGlobe.Geometry.Polygon(r)
-                            },
-                            multigeometry: function (e) {
-                                for (var t, i = [], r = e.childNodes, n = 0, o = r.length; n < o; ++n)
-                                    if (1 == (t = r[n]).nodeType) {
-                                        var a, s = t.prefix ? t.nodeName.split(":")[1] : t.nodeName;
-                                        (a = this.parseGeometry[s.toLowerCase()]) && i.push(a.apply(this, [t]))
-                                    }
-                                return new GeoGlobe.Geometry.Collection(i)
-                            }
-                        },
-                        parseAttributes: function (e) {
-                            var t, i, r = {}, n = e.getElementsByTagName("ExtendedData");
-                            n.length && (r = this.parseExtendedData(n[0]));
-                            for (var o = e.childNodes, a = 0, s = o.length; a < s; ++a)
-                                if (1 == (t = o[a]).nodeType && (i = t.childNodes).length >= 1 && i.length <= 3) {
-                                    var x;
-                                    switch (i.length) {
-                                        case 1:
-                                            x = i[0];
-                                            break;
-                                        case 2:
-                                            var l = i[0]
-                                                , c = i[1];
-                                            x = 3 == l.nodeType || 4 == l.nodeType ? l : c;
-                                            break;
-                                        case 3:
-                                        default:
-                                            x = i[1]
-                                    }
-                                    if (3 == x.nodeType || 4 == x.nodeType) {
-                                        var u = t.prefix ? t.nodeName.split(":")[1] : t.nodeName
-                                            , h = GeoGlobe.Util.getXmlNodeValue(x);
-                                        h && (h = h.replace(this.regExes.trimSpace, ""),
-                                            r[u] = h)
-                                    }
-                                }
-                            return r
-                        },
-                        parseExtendedData: function (e) {
-                            var t, i, r, n, o = {}, a = e.getElementsByTagName("Data");
-                            for (t = 0,
-                                i = a.length; t < i; t++) {
-                                n = (r = a[t]).getAttribute("name");
-                                var s = {}
-                                    , x = r.getElementsByTagName("value");
-                                if (x.length && (s.value = this.getChildValue(x[0])),
-                                    this.kvpAttributes)
-                                    o[n] = s.value;
-                                else {
-                                    var l = r.getElementsByTagName("displayName");
-                                    l.length && (s.displayName = this.getChildValue(l[0])),
-                                        o[n] = s
-                                }
-                            }
-                            var c = e.getElementsByTagName("SimpleData");
-                            for (t = 0,
-                                i = c.length; t < i; t++)
-                                s = {},
-                                    n = (r = c[t]).getAttribute("name"),
-                                    s.value = this.getChildValue(r),
-                                    this.kvpAttributes ? o[n] = s.value : (s.displayName = n,
-                                        o[n] = s);
-                            return o
-                        },
-                        parseProperty: function (e, t, i) {
-                            var r, n = this.getElementsByTagNameNS(e, t, i);
-                            try {
-                                r = GeoGlobe.Util.getXmlNodeValue(n[0])
-                            } catch (e) {
-                                r = null
-                            }
-                            return r
-                        },
-                        write: function (e) {
-                            GeoGlobe.Util.isArray(e) || (e = [e]);
-                            for (var t = this.createElementNS(this.kmlns, "kml"), i = this.createFolderXML(), r = 0, n = e.length; r < n; ++r)
-                                i.appendChild(this.createPlacemarkXML(e[r]));
-                            return t.appendChild(i),
-                                GeoGlobe.Format.XML.prototype.write.apply(this, [t])
-                        },
-                        createFolderXML: function () {
-                            var e = this.createElementNS(this.kmlns, "Folder");
-                            if (this.foldersName) {
-                                var t = this.createElementNS(this.kmlns, "name")
-                                    , i = this.createTextNode(this.foldersName);
-                                t.appendChild(i),
-                                    e.appendChild(t)
-                            }
-                            if (this.foldersDesc) {
-                                var r = this.createElementNS(this.kmlns, "description")
-                                    , n = this.createTextNode(this.foldersDesc);
-                                r.appendChild(n),
-                                    e.appendChild(r)
-                            }
-                            return e
-                        },
-                        createPlacemarkXML: function (e) {
-                            var t = this.createElementNS(this.kmlns, "name")
-                                , i = e.style && e.style.label ? e.style.label : e.id
-                                , r = e.attributes.name || i;
-                            t.appendChild(this.createTextNode(r));
-                            var n = this.createElementNS(this.kmlns, "description")
-                                , o = e.attributes.description || this.placemarksDesc;
-                            n.appendChild(this.createTextNode(o));
-                            var a = this.createElementNS(this.kmlns, "Placemark");
-                            null != e.fid && a.setAttribute("id", e.fid),
-                                a.appendChild(t),
-                                a.appendChild(n);
-                            var s = this.buildGeometryNode(e.geometry);
-                            if (a.appendChild(s),
-                                e.attributes) {
-                                var x = this.buildExtendedData(e.attributes);
-                                x && a.appendChild(x)
-                            }
-                            return a
-                        },
-                        buildGeometryNode: function (e) {
-                            var t = e.CLASS_NAME
-                                , i = t.substring(t.lastIndexOf(".") + 1)
-                                , r = this.buildGeometry[i.toLowerCase()]
-                                , n = null;
-                            return r && (n = r.apply(this, [e])),
-                                n
-                        },
-                        buildGeometry: {
-                            point: function (e) {
-                                var t = this.createElementNS(this.kmlns, "Point");
-                                return t.appendChild(this.buildCoordinatesNode(e)),
-                                    t
-                            },
-                            multipoint: function (e) {
-                                return this.buildGeometry.collection.apply(this, [e])
-                            },
-                            linestring: function (e) {
-                                var t = this.createElementNS(this.kmlns, "LineString");
-                                return t.appendChild(this.buildCoordinatesNode(e)),
-                                    t
-                            },
-                            multilinestring: function (e) {
-                                return this.buildGeometry.collection.apply(this, [e])
-                            },
-                            linearring: function (e) {
-                                var t = this.createElementNS(this.kmlns, "LinearRing");
-                                return t.appendChild(this.buildCoordinatesNode(e)),
-                                    t
-                            },
-                            polygon: function (e) {
-                                for (var t, i, r, n = this.createElementNS(this.kmlns, "Polygon"), o = e.components, a = 0, s = o.length; a < s; ++a)
-                                    r = 0 == a ? "outerBoundaryIs" : "innerBoundaryIs",
-                                        t = this.createElementNS(this.kmlns, r),
-                                        i = this.buildGeometry.linearring.apply(this, [o[a]]),
-                                        t.appendChild(i),
-                                        n.appendChild(t);
-                                return n
-                            },
-                            multipolygon: function (e) {
-                                return this.buildGeometry.collection.apply(this, [e])
-                            },
-                            collection: function (e) {
-                                for (var t, i = this.createElementNS(this.kmlns, "MultiGeometry"), r = 0, n = e.components.length; r < n; ++r)
-                                    (t = this.buildGeometryNode.apply(this, [e.components[r]])) && i.appendChild(t);
-                                return i
-                            }
-                        },
-                        buildCoordinatesNode: function (e) {
-                            var t, i = this.createElementNS(this.kmlns, "coordinates"), r = e.components;
-                            if (r) {
-                                for (var n, o = r.length, a = new Array(o), s = 0; s < o; ++s)
-                                    n = r[s],
-                                        a[s] = this.buildCoordinates(n);
-                                t = a.join(" ")
-                            } else
-                                t = this.buildCoordinates(e);
-                            var x = this.createTextNode(t);
-                            return i.appendChild(x),
-                                i
-                        },
-                        buildCoordinates: function (e) {
-                            return this.internalProjection && this.externalProjection && (e = e.clone()).transform(this.internalProjection, this.externalProjection),
-                                e.x + "," + e.y
-                        },
-                        buildExtendedData: function (e) {
-                            var t = this.createElementNS(this.kmlns, "ExtendedData");
-                            for (var i in e)
-                                if (e[i] && "name" != i && "description" != i && "styleUrl" != i) {
-                                    var r = this.createElementNS(this.kmlns, "Data");
-                                    r.setAttribute("name", i);
-                                    var n = this.createElementNS(this.kmlns, "value");
-                                    if ("object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e[i])) {
-                                        if (e[i].value && n.appendChild(this.createTextNode(e[i].value)),
-                                            e[i].displayName) {
-                                            var o = this.createElementNS(this.kmlns, "displayName");
-                                            o.appendChild(this.getXMLDoc().createCDATASection(e[i].displayName)),
-                                                r.appendChild(o)
-                                        }
-                                    } else
-                                        n.appendChild(this.createTextNode(e[i]));
-                                    r.appendChild(n),
-                                        t.appendChild(r)
-                                }
-                            return this.isSimpleContent(t) ? null : t
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.KML"
-                    }),
-                    GeoGlobe.Format.OWSCommon = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
-                        defaultVersion: "1.0.0",
-                        getVersion: function (e, t) {
-                            var i = this.version;
-                            if (!i) {
-                                var r = e.getAttribute("xmlns:ows");
-                                r && "1.1" === r.substring(r.lastIndexOf("/") + 1) && (i = "1.1.0"),
-                                    i || (i = this.defaultVersion)
-                            }
-                            return i
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.OWSCommon"
-                    }),
-                    GeoGlobe.Format.OWSCommon.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        regExes: {
-                            trimSpace: /^\s*|\s*$/g,
-                            removeSpace: /\s*/g,
-                            splitSpace: /\s+/,
-                            trimComma: /\s*,\s*/g
-                        },
-                        read: function (e, t) {
-                            t = GeoGlobe.Util.applyDefaults(t, this.options);
-                            var i = {};
-                            return this.readChildNodes(e, i),
-                                i
-                        },
-                        readers: {
-                            ows: {
-                                Exception: function (e, t) {
-                                    var i = {
-                                        code: e.getAttribute("exceptionCode"),
-                                        locator: e.getAttribute("locator"),
-                                        texts: []
-                                    };
-                                    t.exceptions.push(i),
-                                        this.readChildNodes(e, i)
-                                },
-                                ExceptionText: function (e, t) {
-                                    var i = this.getChildValue(e);
-                                    t.texts.push(i)
-                                },
-                                ServiceIdentification: function (e, t) {
-                                    t.serviceIdentification = {},
-                                        this.readChildNodes(e, t.serviceIdentification)
-                                },
-                                Title: function (e, t) {
-                                    t.title = this.getChildValue(e)
-                                },
-                                Abstract: function (e, t) {
-                                    t.abstract = this.getChildValue(e)
-                                },
-                                Keywords: function (e, t) {
-                                    t.keywords = {},
-                                        this.readChildNodes(e, t.keywords)
-                                },
-                                Keyword: function (e, t) {
-                                    t[this.getChildValue(e)] = !0
-                                },
-                                ServiceType: function (e, t) {
-                                    t.serviceType = {
-                                        codeSpace: e.getAttribute("codeSpace"),
-                                        value: this.getChildValue(e)
-                                    }
-                                },
-                                ServiceTypeVersion: function (e, t) {
-                                    t.serviceTypeVersion = this.getChildValue(e)
-                                },
-                                Fees: function (e, t) {
-                                    t.fees = this.getChildValue(e)
-                                },
-                                AccessConstraints: function (e, t) {
-                                    t.accessConstraints = this.getChildValue(e)
-                                },
-                                ServiceProvider: function (e, t) {
-                                    t.serviceProvider = {},
-                                        this.readChildNodes(e, t.serviceProvider)
-                                },
-                                ProviderName: function (e, t) {
-                                    t.providerName = this.getChildValue(e)
-                                },
-                                ProviderSite: function (e, t) {
-                                    t.providerSite = this.getAttributeNS(e, this.namespaces.xlink, "href")
-                                },
-                                ServiceContact: function (e, t) {
-                                    t.serviceContact = {},
-                                        this.readChildNodes(e, t.serviceContact)
-                                },
-                                IndividualName: function (e, t) {
-                                    t.individualName = this.getChildValue(e)
-                                },
-                                PositionName: function (e, t) {
-                                    t.positionName = this.getChildValue(e)
-                                },
-                                ContactInfo: function (e, t) {
-                                    t.contactInfo = {},
-                                        this.readChildNodes(e, t.contactInfo)
-                                },
-                                Phone: function (e, t) {
-                                    t.phone = {},
-                                        this.readChildNodes(e, t.phone)
-                                },
-                                Voice: function (e, t) {
-                                    t.voice = this.getChildValue(e)
-                                },
-                                Address: function (e, t) {
-                                    t.address = {},
-                                        this.readChildNodes(e, t.address)
-                                },
-                                DeliveryPoint: function (e, t) {
-                                    t.deliveryPoint = this.getChildValue(e)
-                                },
-                                City: function (e, t) {
-                                    t.city = this.getChildValue(e)
-                                },
-                                AdministrativeArea: function (e, t) {
-                                    t.administrativeArea = this.getChildValue(e)
-                                },
-                                PostalCode: function (e, t) {
-                                    t.postalCode = this.getChildValue(e)
-                                },
-                                Country: function (e, t) {
-                                    t.country = this.getChildValue(e)
-                                },
-                                ElectronicMailAddress: function (e, t) {
-                                    t.electronicMailAddress = this.getChildValue(e)
-                                },
-                                Role: function (e, t) {
-                                    t.role = this.getChildValue(e)
-                                },
-                                OperationsMetadata: function (e, t) {
-                                    t.operationsMetadata = {},
-                                        this.readChildNodes(e, t.operationsMetadata)
-                                },
-                                Operation: function (e, t) {
-                                    var i = e.getAttribute("name");
-                                    t[i] = {},
-                                        this.readChildNodes(e, t[i])
-                                },
-                                DCP: function (e, t) {
-                                    t.dcp = {},
-                                        this.readChildNodes(e, t.dcp)
-                                },
-                                HTTP: function (e, t) {
-                                    t.http = {},
-                                        this.readChildNodes(e, t.http)
-                                },
-                                Get: function (e, t) {
-                                    t.get || (t.get = []);
-                                    var i = {
-                                        url: this.getAttributeNS(e, this.namespaces.xlink, "href")
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.get.push(i)
-                                },
-                                Post: function (e, t) {
-                                    t.post || (t.post = []);
-                                    var i = {
-                                        url: this.getAttributeNS(e, this.namespaces.xlink, "href")
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.post.push(i)
-                                },
-                                Parameter: function (e, t) {
-                                    t.parameters || (t.parameters = {});
-                                    var i = e.getAttribute("name");
-                                    t.parameters[i] = {},
-                                        this.readChildNodes(e, t.parameters[i])
-                                },
-                                Constraint: function (e, t) {
-                                    t.constraints || (t.constraints = {});
-                                    var i = e.getAttribute("name");
-                                    t.constraints[i] = {},
-                                        this.readChildNodes(e, t.constraints[i])
-                                },
-                                Value: function (e, t) {
-                                    t[this.getChildValue(e)] = !0
-                                },
-                                OutputFormat: function (e, t) {
-                                    t.formats.push({
-                                        value: this.getChildValue(e)
-                                    }),
-                                        this.readChildNodes(e, t)
-                                },
-                                WGS84BoundingBox: function (e, t) {
-                                    var i = {};
-                                    i.crs = e.getAttribute("crs"),
-                                        t.BoundingBox ? t.BoundingBox.push(i) : (t.projection = i.crs,
-                                            i = t),
-                                        this.readChildNodes(e, i)
-                                },
-                                BoundingBox: function (e, t) {
-                                    this.readers.ows.WGS84BoundingBox.apply(this, [e, t])
-                                },
-                                LowerCorner: function (e, t) {
-                                    var i = this.getChildValue(e).replace(this.regExes.trimSpace, "")
-                                        , r = (i = i.replace(this.regExes.trimComma, ",")).split(this.regExes.splitSpace);
-                                    t.left = r[0],
-                                        t.bottom = r[1]
-                                },
-                                UpperCorner: function (e, t) {
-                                    var i = this.getChildValue(e).replace(this.regExes.trimSpace, "")
-                                        , r = (i = i.replace(this.regExes.trimComma, ",")).split(this.regExes.splitSpace);
-                                    t.right = r[0],
-                                        t.top = r[1],
-                                        t.bounds = new GeoGlobe.LngLatBounds(new GeoGlobe.LngLat(t.left, t.bottom), new GeoGlobe.LngLat(t.right, t.top)),
-                                        delete t.left,
-                                        delete t.bottom,
-                                        delete t.right,
-                                        delete t.top
-                                },
-                                Language: function (e, t) {
-                                    t.language = this.getChildValue(e)
-                                }
-                            }
-                        },
-                        writers: {
-                            ows: {
-                                BoundingBox: function (e, t) {
-                                    var i = this.createElementNSPlus(t || "ows:BoundingBox", {
-                                        attributes: {
-                                            crs: e.projection
-                                        }
-                                    });
-                                    return this.writeNode("ows:LowerCorner", e, i),
-                                        this.writeNode("ows:UpperCorner", e, i),
-                                        i
-                                },
-                                LowerCorner: function (e) {
-                                    return this.createElementNSPlus("ows:LowerCorner", {
-                                        value: e.bounds._sw.lng + " " + e.bounds._sw.lat
-                                    })
-                                },
-                                UpperCorner: function (e) {
-                                    return this.createElementNSPlus("ows:UpperCorner", {
-                                        value: e.bounds._ne.lng + " " + e.bounds._ne.lat
-                                    })
-                                },
-                                Identifier: function (e) {
-                                    return this.createElementNSPlus("ows:Identifier", {
-                                        value: e
-                                    })
-                                },
-                                Title: function (e) {
-                                    return this.createElementNSPlus("ows:Title", {
-                                        value: e
-                                    })
-                                },
-                                Abstract: function (e) {
-                                    return this.createElementNSPlus("ows:Abstract", {
-                                        value: e
-                                    })
-                                },
-                                OutputFormat: function (e) {
-                                    return this.createElementNSPlus("ows:OutputFormat", {
-                                        value: e
-                                    })
-                                }
-                            }
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.OWSCommon.v1"
-                    }),
-                    GeoGlobe.Format.OWSCommon.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.OWSCommon.v1, {
-                        namespaces: {
-                            ows: "http://www.opengis.net/ows",
-                            xlink: "http://www.w3.org/1999/xlink"
-                        },
-                        readers: {
-                            ows: GeoGlobe.Util.applyDefaults({
-                                ExceptionReport: function (e, t) {
-                                    t.success = !1,
-                                        t.exceptionReport = {
-                                            version: e.getAttribute("version"),
-                                            language: e.getAttribute("language"),
-                                            exceptions: []
-                                        },
-                                        this.readChildNodes(e, t.exceptionReport)
-                                }
-                            }, GeoGlobe.Format.OWSCommon.v1.prototype.readers.ows)
-                        },
-                        writers: {
-                            ows: GeoGlobe.Format.OWSCommon.v1.prototype.writers.ows
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.OWSCommon.v1_0_0"
-                    }),
-                    GeoGlobe.Format.OWSCommon.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.OWSCommon.v1, {
-                        namespaces: {
-                            ows: "http://www.opengis.net/ows/1.1",
-                            xlink: "http://www.w3.org/1999/xlink"
-                        },
-                        readers: {
-                            ows: GeoGlobe.Util.applyDefaults({
-                                ExceptionReport: function (e, t) {
-                                    t.exceptionReport = {
-                                        version: e.getAttribute("version"),
-                                        language: e.getAttribute("xml:lang"),
-                                        exceptions: []
-                                    },
-                                        this.readChildNodes(e, t.exceptionReport)
-                                },
-                                AllowedValues: function (e, t) {
-                                    t.allowedValues = {},
-                                        this.readChildNodes(e, t.allowedValues)
-                                },
-                                AnyValue: function (e, t) {
-                                    t.anyValue = !0
-                                },
-                                DataType: function (e, t) {
-                                    t.dataType = this.getChildValue(e)
-                                },
-                                Range: function (e, t) {
-                                    t.range = {},
-                                        this.readChildNodes(e, t.range)
-                                },
-                                MinimumValue: function (e, t) {
-                                    t.minValue = this.getChildValue(e)
-                                },
-                                MaximumValue: function (e, t) {
-                                    t.maxValue = this.getChildValue(e)
-                                },
-                                Identifier: function (e, t) {
-                                    t.identifier = this.getChildValue(e)
-                                },
-                                SupportedCRS: function (e, t) {
-                                    t.supportedCRS = this.getChildValue(e)
-                                }
-                            }, GeoGlobe.Format.OWSCommon.v1.prototype.readers.ows)
-                        },
-                        writers: {
-                            ows: GeoGlobe.Util.applyDefaults({
-                                Range: function (e) {
-                                    var t = this.createElementNSPlus("ows:Range", {
-                                        attributes: {
-                                            "ows:rangeClosure": e.closure
-                                        }
-                                    });
-                                    return this.writeNode("ows:MinimumValue", e.minValue, t),
-                                        this.writeNode("ows:MaximumValue", e.maxValue, t),
-                                        t
-                                },
-                                MinimumValue: function (e) {
-                                    return this.createElementNSPlus("ows:MinimumValue", {
-                                        value: e
-                                    })
-                                },
-                                MaximumValue: function (e) {
-                                    return this.createElementNSPlus("ows:MaximumValue", {
-                                        value: e
-                                    })
-                                },
-                                Value: function (e) {
-                                    return this.createElementNSPlus("ows:Value", {
-                                        value: e
-                                    })
-                                }
-                            }, GeoGlobe.Format.OWSCommon.v1.prototype.writers.ows)
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.OWSCommon.v1_1_0"
-                    }),
-                    GeoGlobe.Format.WFSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
-                        defaultVersion: "1.1.0",
-                        CLASS_NAME: "GeoGlobe.Format.WFSCapabilities"
-                    }),
-                    GeoGlobe.Format.WFSCapabilities.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        namespaces: {
-                            wfs: "http://www.opengis.net/wfs",
-                            xlink: "http://www.w3.org/1999/xlink",
-                            xsi: "http://www.w3.org/2001/XMLSchema-instance",
-                            ows: "http://www.opengis.net/ows"
-                        },
-                        errorProperty: "featureTypeList",
-                        defaultPrefix: "wfs",
-                        read: function (e) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
-                                e && 9 == e.nodeType && (e = e.documentElement);
-                            var t = {};
-                            return this.readNode(e, t),
-                                t
-                        },
-                        readers: {
-                            wfs: {
-                                WFS_Capabilities: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                FeatureTypeList: function (e, t) {
-                                    t.featureTypeList = {
-                                        featureTypes: []
-                                    },
-                                        this.readChildNodes(e, t.featureTypeList)
-                                },
-                                FeatureType: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.featureTypes.push(i)
-                                },
-                                Name: function (e, t) {
-                                    var i = this.getChildValue(e);
-                                    if (i) {
-                                        var r = i.split(":");
-                                        t.name = r.pop(),
-                                            r.length > 0 && (t.featureNS = this.lookupNamespaceURI(e, r[0]))
-                                    }
-                                },
-                                Title: function (e, t) {
-                                    var i = this.getChildValue(e);
-                                    i && (t.title = i)
-                                },
-                                Abstract: function (e, t) {
-                                    var i = this.getChildValue(e);
-                                    i && (t.abstract = i)
-                                }
-                            }
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WFSCapabilities.v1"
-                    }),
-                    GeoGlobe.Format.WFSCapabilities.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.WFSCapabilities.v1, {
-                        readers: {
-                            wfs: GeoGlobe.Util.applyDefaults({
-                                Service: function (e, t) {
-                                    t.service = {},
-                                        this.readChildNodes(e, t.service)
-                                },
-                                Fees: function (e, t) {
-                                    var i = this.getChildValue(e);
-                                    i && "none" != i.toLowerCase() && (t.fees = i)
-                                },
-                                AccessConstraints: function (e, t) {
-                                    var i = this.getChildValue(e);
-                                    i && "none" != i.toLowerCase() && (t.accessConstraints = i)
-                                },
-                                OnlineResource: function (e, t) {
-                                    var i = this.getChildValue(e);
-                                    i && "none" != i.toLowerCase() && (t.onlineResource = i)
-                                },
-                                Keywords: function (e, t) {
-                                    var i = this.getChildValue(e);
-                                    i && "none" != i.toLowerCase() && (t.keywords = i.split(", "))
-                                },
-                                Capability: function (e, t) {
-                                    t.capability = {},
-                                        this.readChildNodes(e, t.capability)
-                                },
-                                Request: function (e, t) {
-                                    t.request = {},
-                                        this.readChildNodes(e, t.request)
-                                },
-                                GetFeature: function (e, t) {
-                                    t.getfeature = {
-                                        href: {},
-                                        formats: []
-                                    },
-                                        this.readChildNodes(e, t.getfeature)
-                                },
-                                ResultFormat: function (e, t) {
-                                    for (var i, r = e.childNodes, n = 0; n < r.length; n++)
-                                        1 == (i = r[n]).nodeType && t.formats.push(i.nodeName)
-                                },
-                                DCPType: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                HTTP: function (e, t) {
-                                    this.readChildNodes(e, t.href)
-                                },
-                                Get: function (e, t) {
-                                    t.get = e.getAttribute("onlineResource")
-                                },
-                                Post: function (e, t) {
-                                    t.post = e.getAttribute("onlineResource")
-                                },
-                                SRS: function (e, t) {
-                                    var i = this.getChildValue(e);
-                                    i && (t.srs = i)
-                                },
-                                LatLongBoundingBox: function (e, t) {
-                                    var i = e.getAttribute("minx")
-                                        , r = e.getAttribute("miny")
-                                        , n = e.getAttribute("maxx")
-                                        , o = e.getAttribute("maxy");
-                                    t.bbox = i + "," + r + "," + n + "," + o
-                                },
-                                TemporalFeatureLayer: function (e, t) {
-                                    t.temporalFeatureLayers = [];
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.temporalFeatureLayers.push(i)
-                                },
-                                Extent: function (e, t) {
-                                    t.defaultTime = e.getAttribute("default");
-                                    var i = this.getChildValue(e).split("/");
-                                    t.time = i
-                                },
-                                Dimension: function (e, t) {
-                                    t.defaultTime = e.getAttribute("default");
-                                    var i = this.getChildValue(e).split("/");
-                                    t.time = i
-                                }
-                            }, GeoGlobe.Format.WFSCapabilities.v1.prototype.readers.wfs)
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WFSCapabilities.v1_0_0"
-                    }),
-                    GeoGlobe.Format.WFSCapabilities.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.WFSCapabilities.v1, {
-                        regExes: {
-                            trimSpace: /^\s*|\s*$/g,
-                            removeSpace: /\s*/g,
-                            splitSpace: /\s+/,
-                            trimComma: /\s*,\s*/g
-                        },
-                        readers: {
-                            wfs: GeoGlobe.Util.applyDefaults({
-                                DefaultSRS: function (e, t) {
-                                    var i = this.getChildValue(e);
-                                    i && (t.srs = i)
-                                },
-                                WGS84BoundingBox: function (e, t) {
-                                    var i = e.getElementsByTagName("ows:LowerCorner")
-                                        , r = this.getChildValue(i[0]).split(" ")
-                                        , n = e.getElementsByTagName("ows:UpperCorner")
-                                        , o = this.getChildValue(n[0]).split(" ");
-                                    t.bbox = r[0] + "," + r[1] + "," + o[0] + "," + o[1]
-                                },
-                                TemporalFeatureLayer: function (e, t) {
-                                    t.temporalFeatureLayers = [];
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.temporalFeatureLayers.push(i)
-                                },
-                                Extent: function (e, t) {
-                                    t.defaultTime = e.getAttribute("default");
-                                    var i = this.getChildValue(e).split("/");
-                                    t.time = i
-                                },
-                                Dimension: function (e, t) {
-                                    t.defaultTime = e.getAttribute("default");
-                                    var i = this.getChildValue(e).split("/");
-                                    t.time = i
-                                }
-                            }, GeoGlobe.Format.WFSCapabilities.v1.prototype.readers.wfs),
-                            ows: GeoGlobe.Format.OWSCommon.v1.prototype.readers.ows
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WFSCapabilities.v1_1_0"
-                    }),
-                    GeoGlobe.Format.WFSDescribeFeatureType = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        regExes: {
-                            trimSpace: /^\s*|\s*$/g
-                        },
-                        namespaces: {
-                            xsd: "http://www.w3.org/2001/XMLSchema"
-                        },
-                        readers: {
-                            xsd: {
-                                schema: function (e, t) {
-                                    var i, r, n = [], o = {}, a = {
-                                        complexTypes: n,
-                                        customTypes: o
-                                    };
-                                    this.readChildNodes(e, a);
-                                    var s, x, l, c, u = e.attributes;
-                                    for (i = 0,
-                                        r = u.length; i < r; ++i)
-                                        0 === (x = (s = u[i]).name).indexOf("xmlns") ? this.setNamespace(x.split(":")[1] || "", s.value) : t[x] = s.value;
-                                    for (t.featureTypes = n,
-                                        t.targetPrefix = this.namespaceAlias[t.targetNamespace],
-                                        i = 0,
-                                        r = n.length; i < r; ++i)
-                                        c = o[(l = n[i]).typeName],
-                                            o[l.typeName] && (l.typeName = c.name)
-                                },
-                                complexType: function (e, t) {
-                                    var i = {
-                                        typeName: e.getAttribute("name")
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.complexTypes.push(i)
-                                },
-                                complexContent: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                extension: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                sequence: function (e, t) {
-                                    var i = {
-                                        elements: []
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.properties = i.elements
-                                },
-                                element: function (e, t) {
-                                    var i;
-                                    if (t.elements) {
-                                        for (var r, n = {}, o = e.attributes, a = 0, s = o.length; a < s; ++a)
-                                            n[(r = o[a]).name] = r.value;
-                                        (i = n.type || n.ref) || (i = {},
-                                            this.readChildNodes(e, i),
-                                            n.restriction = i,
-                                            n.type = i.base);
-                                        var x = i.base || i;
-                                        n.localType = x.split(":").pop(),
-                                            t.elements.push(n),
-                                            this.readChildNodes(e, n)
-                                    }
-                                    if (t.complexTypes) {
-                                        var l = (i = e.getAttribute("type")).split(":").pop();
-                                        t.customTypes[l] = {
-                                            name: e.getAttribute("name"),
-                                            type: i
-                                        }
-                                    }
-                                },
-                                annotation: function (e, t) {
-                                    t.annotation = {},
-                                        this.readChildNodes(e, t.annotation)
-                                },
-                                appinfo: function (e, t) {
-                                    t.appinfo || (t.appinfo = []),
-                                        t.appinfo.push(this.getChildValue(e))
-                                },
-                                documentation: function (e, t) {
-                                    t.documentation || (t.documentation = []);
-                                    var i = this.getChildValue(e);
-                                    t.documentation.push({
-                                        lang: e.getAttribute("xml:lang"),
-                                        textContent: i.replace(this.regExes.trimSpace, "")
-                                    })
-                                },
-                                simpleType: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                restriction: function (e, t) {
-                                    t.base = e.getAttribute("base"),
-                                        this.readRestriction(e, t)
-                                }
-                            }
-                        },
-                        readRestriction: function (e, t) {
-                            for (var i, r, n, o = e.childNodes, a = 0, s = o.length; a < s; ++a)
-                                1 == (i = o[a]).nodeType && (r = i.nodeName.split(":").pop(),
-                                    n = i.getAttribute("value"),
-                                    t[r] ? ("string" == typeof t[r] && (t[r] = [t[r]]),
-                                        t[r].push(n)) : t[r] = n)
-                        },
-                        read: function (e) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
-                                e && 9 == e.nodeType && (e = e.documentElement);
-                            var t = {};
-                            if ("ExceptionReport" === e.nodeName.split(":").pop()) {
-                                var i = new GeoGlobe.Format.OGCExceptionReport;
-                                t.error = i.read(e)
-                            } else
-                                this.readNode(e, t);
-                            return t
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WFSDescribeFeatureType"
-                    }),
-                    GeoGlobe.Format.WKT = GeoGlobe.Class4OL(GeoGlobe.Format, {
-                        initialize: function (e) {
-                            this.regExes = {
-                                typeStr: /^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,
-                                spaces: /\s+/,
-                                parenComma: /\)\s*,\s*\(/,
-                                doubleParenComma: /\)\s*\)\s*,\s*\(\s*\(/,
-                                trimParens: /^\s*\(?(.*?)\)?\s*$/
-                            },
-                                GeoGlobe.Format.prototype.initialize.apply(this, [e])
-                        },
-                        read: function (e) {
-                            var t, i, r;
-                            e = e.replace(/[\n\r]/g, " ");
-                            var n = this.regExes.typeStr.exec(e);
-                            if (n && (i = n[1].toLowerCase(),
-                                r = n[2],
-                                this.parse[i] && (t = this.parse[i].apply(this, [r])),
-                                this.internalProjection && this.externalProjection))
-                                if (t && "GeoGlobe.Feature" == t.CLASS_NAME)
-                                    t.geometry.transform(this.externalProjection, this.internalProjection);
-                                else if (t && "geometrycollection" != i && "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(t))
-                                    for (var o = 0, a = t.length; o < a; o++)
-                                        t[o].geometry.transform(this.externalProjection, this.internalProjection);
-                            return t
-                        },
-                        write: function (e) {
-                            var t, i, r;
-                            e.constructor == Array ? (t = e,
-                                r = !0) : (t = [e],
-                                    r = !1);
-                            var n = [];
-                            r && n.push("GEOMETRYCOLLECTION(");
-                            for (var o = 0, a = t.length; o < a; ++o)
-                                r && o > 0 && n.push(","),
-                                    i = t[o].geometry,
-                                    n.push(this.extractGeometry(i));
-                            return r && n.push(")"),
-                                n.join("")
-                        },
-                        extractGeometry: function (e) {
-                            var t = e.CLASS_NAME.split(".")[2].toLowerCase();
-                            return this.extract[t] ? (this.internalProjection && this.externalProjection && (e = e.clone()).transform(this.internalProjection, this.externalProjection),
-                                ("collection" == t ? "GEOMETRYCOLLECTION" : t.toUpperCase()) + "(" + this.extract[t].apply(this, [e]) + ")") : null
-                        },
-                        extract: {
-                            point: function (e) {
-                                return e.x + " " + e.y
-                            },
-                            multipoint: function (e) {
-                                for (var t = [], i = 0, r = e.components.length; i < r; ++i)
-                                    t.push("(" + this.extract.point.apply(this, [e.components[i]]) + ")");
-                                return t.join(",")
-                            },
-                            linestring: function (e) {
-                                for (var t = [], i = 0, r = e.components.length; i < r; ++i)
-                                    t.push(this.extract.point.apply(this, [e.components[i]]));
-                                return t.join(",")
-                            },
-                            multilinestring: function (e) {
-                                for (var t = [], i = 0, r = e.components.length; i < r; ++i)
-                                    t.push("(" + this.extract.linestring.apply(this, [e.components[i]]) + ")");
-                                return t.join(",")
-                            },
-                            polygon: function (e) {
-                                for (var t = [], i = 0, r = e.components.length; i < r; ++i)
-                                    t.push("(" + this.extract.linestring.apply(this, [e.components[i]]) + ")");
-                                return t.join(",")
-                            },
-                            multipolygon: function (e) {
-                                for (var t = [], i = 0, r = e.components.length; i < r; ++i)
-                                    t.push("(" + this.extract.polygon.apply(this, [e.components[i]]) + ")");
-                                return t.join(",")
-                            },
-                            collection: function (e) {
-                                for (var t = [], i = 0, r = e.components.length; i < r; ++i)
-                                    t.push(this.extractGeometry.apply(this, [e.components[i]]));
-                                return t.join(",")
-                            }
-                        },
-                        parse: {
-                            point: function (e) {
-                                var t = GeoGlobe.String.trim(e).split(this.regExes.spaces);
-                                return new GeoGlobe.Feature(new GeoGlobe.Geometry.Point(t[0], t[1]))
-                            },
-                            multipoint: function (e) {
-                                for (var t, i = GeoGlobe.String.trim(e).split(","), r = [], n = 0, o = i.length; n < o; ++n)
-                                    t = i[n].replace(this.regExes.trimParens, "$1"),
-                                        r.push(this.parse.point.apply(this, [t]).geometry);
-                                return new GeoGlobe.Feature(new GeoGlobe.Geometry.MultiPoint(r))
-                            },
-                            linestring: function (e) {
-                                for (var t = GeoGlobe.String.trim(e).split(","), i = [], r = 0, n = t.length; r < n; ++r)
-                                    i.push(this.parse.point.apply(this, [t[r]]).geometry);
-                                return new GeoGlobe.Feature(new GeoGlobe.Geometry.LineString(i))
-                            },
-                            multilinestring: function (e) {
-                                for (var t, i = GeoGlobe.String.trim(e).split(this.regExes.parenComma), r = [], n = 0, o = i.length; n < o; ++n)
-                                    t = i[n].replace(this.regExes.trimParens, "$1"),
-                                        r.push(this.parse.linestring.apply(this, [t]).geometry);
-                                return new GeoGlobe.Feature(new GeoGlobe.Geometry.MultiLineString(r))
-                            },
-                            polygon: function (e) {
-                                for (var t, i, r, n = GeoGlobe.String.trim(e).split(this.regExes.parenComma), o = [], a = 0, s = n.length; a < s; ++a)
-                                    t = n[a].replace(this.regExes.trimParens, "$1"),
-                                        i = this.parse.linestring.apply(this, [t]).geometry,
-                                        r = new GeoGlobe.Geometry.LinearRing(i.components),
-                                        o.push(r);
-                                return new GeoGlobe.Feature(new GeoGlobe.Geometry.Polygon(o))
-                            },
-                            multipolygon: function (e) {
-                                for (var t, i = GeoGlobe.String.trim(e).split(this.regExes.doubleParenComma), r = [], n = 0, o = i.length; n < o; ++n)
-                                    t = i[n].replace(this.regExes.trimParens, "$1"),
-                                        r.push(this.parse.polygon.apply(this, [t]).geometry);
-                                return new GeoGlobe.Feature(new GeoGlobe.Geometry.MultiPolygon(r))
-                            },
-                            geometrycollection: function (e) {
-                                e = e.replace(/,\s*([A-Za-z])/g, "|$1");
-                                for (var t = GeoGlobe.String.trim(e).split("|"), i = [], r = 0, n = t.length; r < n; ++r)
-                                    i.push(GeoGlobe.Format.WKT.prototype.read.apply(this, [t[r]]));
-                                return i
-                            }
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WKT"
-                    }),
-                    GeoGlobe.Format.CQL = function () {
-                        var e, t = {
-                            PROPERTY: /^[_a-zA-Z]\w*/,
-                            COMPARISON: /^(=|<>|<=|<|>=|>|LIKE)/i,
-                            IS_NULL: /^IS NULL/i,
-                            COMMA: /^,/,
-                            LOGICAL: /^(AND|OR)/i,
-                            VALUE: /^('([^']|'')*'|\d+(\.\d*)?|\.\d+)/,
-                            LPAREN: /^\(/,
-                            RPAREN: /^\)/,
-                            SPATIAL: /^(BBOX|INTERSECTS|DWITHIN|WITHIN|CONTAINS)/i,
-                            NOT: /^NOT/i,
-                            BETWEEN: /^BETWEEN/i,
-                            GEOMETRY: function (e) {
-                                var t = /^(POINT|LINESTRING|POLYGON|MULTIPOINT|MULTILINESTRING|MULTIPOLYGON|GEOMETRYCOLLECTION)/.exec(e);
-                                if (t) {
-                                    var i = e.length
-                                        , r = e.indexOf("(", t[0].length);
-                                    if (r > -1)
-                                        for (var n = 1; r < i && n > 0;)
-                                            switch (r++,
-                                            e.charAt(r)) {
-                                                case "(":
-                                                    n++;
-                                                    break;
-                                                case ")":
-                                                    n--
-                                            }
-                                    return [e.substr(0, r + 1)]
-                                }
-                            },
-                            END: /^$/
-                        }, i = {
-                            LPAREN: ["GEOMETRY", "SPATIAL", "PROPERTY", "VALUE", "LPAREN"],
-                            RPAREN: ["NOT", "LOGICAL", "END", "RPAREN"],
-                            PROPERTY: ["COMPARISON", "BETWEEN", "COMMA", "IS_NULL"],
-                            BETWEEN: ["VALUE"],
-                            IS_NULL: ["END"],
-                            COMPARISON: ["VALUE"],
-                            COMMA: ["GEOMETRY", "VALUE", "PROPERTY"],
-                            VALUE: ["LOGICAL", "COMMA", "RPAREN", "END"],
-                            SPATIAL: ["LPAREN"],
-                            LOGICAL: ["NOT", "VALUE", "SPATIAL", "PROPERTY", "LPAREN"],
-                            NOT: ["PROPERTY", "LPAREN"],
-                            GEOMETRY: ["COMMA", "RPAREN"]
-                        }, r = {
-                            "=": GeoGlobe.Filter.Comparison.EQUAL_TO,
-                            "<>": GeoGlobe.Filter.Comparison.NOT_EQUAL_TO,
-                            "<": GeoGlobe.Filter.Comparison.LESS_THAN,
-                            "<=": GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO,
-                            ">": GeoGlobe.Filter.Comparison.GREATER_THAN,
-                            ">=": GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO,
-                            LIKE: GeoGlobe.Filter.Comparison.LIKE,
-                            BETWEEN: GeoGlobe.Filter.Comparison.BETWEEN,
-                            "IS NULL": GeoGlobe.Filter.Comparison.IS_NULL
-                        }, n = {}, o = {
-                            AND: GeoGlobe.Filter.Logical.AND,
-                            OR: GeoGlobe.Filter.Logical.OR
-                        }, a = {}, s = {
-                            RPAREN: 3,
-                            LOGICAL: 2,
-                            COMPARISON: 1
-                        };
-                        for (e in r)
-                            r.hasOwnProperty(e) && (n[r[e]] = e);
-                        for (e in o)
-                            o.hasOwnProperty(e) && (a[o[e]] = e);
-                        function x(e, i) {
-                            var r, n, o, a, s = i.length;
-                            for (r = 0; r < s; r++) {
-                                n = i[r];
-                                var x = (o = e,
-                                    (a = t[n]) instanceof RegExp ? a.exec(o) : a(o));
-                                if (x) {
-                                    var l = x[0];
-                                    return {
-                                        type: n,
-                                        text: l,
-                                        remainder: e.substr(l.length).replace(/^\s*/, "")
-                                    }
-                                }
-                            }
-                            var c = "ERROR: In parsing: [" + e + "], expected one of: ";
-                            for (r = 0; r < s; r++)
-                                c += "\n    " + (n = i[r]) + ": " + t[n];
-                            throw new Error(c)
-                        }
-                        return GeoGlobe.Class4OL(GeoGlobe.Format, {
-                            read: function (e) {
-                                var t = function (e) {
-                                    for (var t = [], i = []; e.length;) {
-                                        var n = e.shift();
-                                        switch (n.type) {
-                                            case "PROPERTY":
-                                            case "GEOMETRY":
-                                            case "VALUE":
-                                                i.push(n);
-                                                break;
-                                            case "COMPARISON":
-                                            case "BETWEEN":
-                                            case "IS_NULL":
-                                            case "LOGICAL":
-                                                for (var a = s[n.type]; t.length > 0 && s[t[t.length - 1].type] <= a;)
-                                                    i.push(t.pop());
-                                                t.push(n);
-                                                break;
-                                            case "SPATIAL":
-                                            case "NOT":
-                                            case "LPAREN":
-                                                t.push(n);
-                                                break;
-                                            case "RPAREN":
-                                                for (; t.length > 0 && "LPAREN" != t[t.length - 1].type;)
-                                                    i.push(t.pop());
-                                                t.pop(),
-                                                    t.length > 0 && "SPATIAL" == t[t.length - 1].type && i.push(t.pop());
-                                            case "COMMA":
-                                            case "END":
-                                                break;
-                                            default:
-                                                throw new Error("Unknown token type " + n.type)
-                                        }
-                                    }
-                                    for (; t.length > 0;)
-                                        i.push(t.pop());
-                                    var x = function e() {
-                                        var t = i.pop();
-                                        switch (t.type) {
-                                            case "LOGICAL":
-                                                var n = e()
-                                                    , a = e();
-                                                return new GeoGlobe.Filter.Logical({
-                                                    filters: [a, n],
-                                                    type: o[t.text.toUpperCase()]
-                                                });
-                                            case "NOT":
-                                                var s = e();
-                                                return new GeoGlobe.Filter.Logical({
-                                                    filters: [s],
-                                                    type: GeoGlobe.Filter.Logical.NOT
-                                                });
-                                            case "BETWEEN":
-                                                var x, l;
-                                                return i.pop(),
-                                                    l = e(),
-                                                    x = e(),
-                                                    u = e(),
-                                                    new GeoGlobe.Filter.Comparison({
-                                                        property: u,
-                                                        lowerBoundary: x,
-                                                        upperBoundary: l,
-                                                        type: GeoGlobe.Filter.Comparison.BETWEEN
-                                                    });
-                                            case "COMPARISON":
-                                                var c = e()
-                                                    , u = e();
-                                                return new GeoGlobe.Filter.Comparison({
-                                                    property: u,
-                                                    value: c,
-                                                    type: r[t.text.toUpperCase()]
-                                                });
-                                            case "IS_NULL":
-                                                return u = e(),
-                                                    new GeoGlobe.Filter.Comparison({
-                                                        property: u,
-                                                        type: r[t.text.toUpperCase()]
-                                                    });
-                                            case "VALUE":
-                                                var h = t.text.match(/^'(.*)'$/);
-                                                return h ? h[1].replace(/''/g, "'") : Number(t.text);
-                                            case "SPATIAL":
-                                                switch (t.text.toUpperCase()) {
-                                                    case "BBOX":
-                                                        var f = e()
-                                                            , d = e()
-                                                            , g = e()
-                                                            , p = e()
-                                                            , m = e();
-                                                        return new GeoGlobe.Filter.Spatial({
-                                                            type: GeoGlobe.Filter.Spatial.BBOX,
-                                                            property: m,
-                                                            value: GeoGlobe.LngLatBounds.fromArray([p, g, d, f])
-                                                        });
-                                                    case "INTERSECTS":
-                                                        return c = e(),
-                                                            u = e(),
-                                                            new GeoGlobe.Filter.Spatial({
-                                                                type: GeoGlobe.Filter.Spatial.INTERSECTS,
-                                                                property: u,
-                                                                value: c
-                                                            });
-                                                    case "WITHIN":
-                                                        return c = e(),
-                                                            u = e(),
-                                                            new GeoGlobe.Filter.Spatial({
-                                                                type: GeoGlobe.Filter.Spatial.WITHIN,
-                                                                property: u,
-                                                                value: c
-                                                            });
-                                                    case "CONTAINS":
-                                                        return c = e(),
-                                                            u = e(),
-                                                            new GeoGlobe.Filter.Spatial({
-                                                                type: GeoGlobe.Filter.Spatial.CONTAINS,
-                                                                property: u,
-                                                                value: c
-                                                            });
-                                                    case "DWITHIN":
-                                                        var b = e();
-                                                        return c = e(),
-                                                            u = e(),
-                                                            new GeoGlobe.Filter.Spatial({
-                                                                type: GeoGlobe.Filter.Spatial.DWITHIN,
-                                                                value: c,
-                                                                property: u,
-                                                                distance: Number(b)
-                                                            })
-                                                }
-                                            case "GEOMETRY":
-                                                return GeoGlobe.Geometry.fromWKT(t.text);
-                                            default:
-                                                return t.text
-                                        }
-                                    }();
-                                    if (i.length > 0) {
-                                        for (var l = "Remaining tokens after building AST: \n", c = i.length - 1; c >= 0; c--)
-                                            l += i[c].type + ": " + i[c].text + "\n";
-                                        throw new Error(l)
-                                    }
-                                    return x
-                                }(function (e) {
-                                    var t, r = [], n = ["NOT", "GEOMETRY", "SPATIAL", "PROPERTY", "LPAREN"];
-                                    do {
-                                        if (e = (t = x(e, n)).remainder,
-                                            n = i[t.type],
-                                            "END" != t.type && !n)
-                                            throw new Error("No follows list for " + t.type);
-                                        r.push(t)
-                                    } while ("END" != t.type); return r
-                                }(e));
-                                return this.keepData && (this.data = t),
-                                    t
-                            },
-                            write: function (e) {
-                                if (e instanceof GeoGlobe.Geometry)
-                                    return e.toString();
-                                switch (e.CLASS_NAME) {
-                                    case "GeoGlobe.Filter.Spatial":
-                                        switch (e.type) {
-                                            case GeoGlobe.Filter.Spatial.BBOX:
-                                                return "BBOX(" + e.property + "," + e.value.toBBOX() + ")";
-                                            case GeoGlobe.Filter.Spatial.DWITHIN:
-                                                return "DWITHIN(" + e.property + ", " + this.write(e.value) + ", " + e.distance + ")";
-                                            case GeoGlobe.Filter.Spatial.WITHIN:
-                                                return "WITHIN(" + e.property + ", " + this.write(e.value) + ")";
-                                            case GeoGlobe.Filter.Spatial.INTERSECTS:
-                                                return "INTERSECTS(" + e.property + ", " + this.write(e.value) + ")";
-                                            case GeoGlobe.Filter.Spatial.CONTAINS:
-                                                return "CONTAINS(" + e.property + ", " + this.write(e.value) + ")";
-                                            default:
-                                                throw new Error("Unknown spatial filter type: " + e.type)
-                                        }
-                                    case "GeoGlobe.Filter.Logical":
-                                        if (e.type == GeoGlobe.Filter.Logical.NOT)
-                                            return "NOT (" + this.write(e.filters[0]) + ")";
-                                        for (var t = "(", i = !0, r = 0; r < e.filters.length; r++)
-                                            i ? i = !1 : t += ") " + a[e.type] + " (",
-                                                t += this.write(e.filters[r]);
-                                        return t + ")";
-                                    case "GeoGlobe.Filter.Comparison":
-                                        return e.type == GeoGlobe.Filter.Comparison.BETWEEN ? e.property + " BETWEEN " + this.write(e.lowerBoundary) + " AND " + this.write(e.upperBoundary) : null !== e.value ? e.property + " " + n[e.type] + " " + this.write(e.value) : e.property + " " + n[e.type];
-                                    case void 0:
-                                        if ("string" == typeof e)
-                                            return "'" + e.replace(/'/g, "''") + "'";
-                                        if ("number" == typeof e)
-                                            return String(e);
-                                    default:
-                                        throw new Error("Can't encode: " + e.CLASS_NAME + " " + e)
-                                }
-                            },
-                            CLASS_NAME: "GeoGlobe.Format.CQL"
-                        })
-                    }(),
-                    GeoGlobe.Format.Filter = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
-                        defaultVersion: "1.0.0",
-                        CLASS_NAME: "GeoGlobe.Format.Filter"
-                    }),
-                    GeoGlobe.Format.Filter.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        namespaces: {
-                            ogc: "http://www.opengis.net/ogc",
-                            gml: "http://www.opengis.net/gml",
-                            xlink: "http://www.w3.org/1999/xlink",
-                            xsi: "http://www.w3.org/2001/XMLSchema-instance"
-                        },
-                        defaultPrefix: "ogc",
-                        schemaLocation: null,
-                        initialize: function (e) {
-                            GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
-                        },
-                        read: function (e) {
-                            var t = {};
-                            return this.readers.ogc.Filter.apply(this, [e, t]),
-                                t.filter
-                        },
-                        readers: {
-                            ogc: {
-                                _expression: function (e) {
-                                    for (var t, i = "", r = e.firstChild; r; r = r.nextSibling)
-                                        switch (r.nodeType) {
-                                            case 1:
-                                                (t = this.readNode(r)).property ? i += "${" + t.property + "}" : void 0 !== t.value && (i += t.value);
-                                                break;
-                                            case 3:
-                                            case 4:
-                                                i += r.nodeValue
-                                        }
-                                    return i
-                                },
-                                Filter: function (e, t) {
-                                    var i = {
-                                        fids: [],
-                                        filters: []
-                                    };
-                                    this.readChildNodes(e, i),
-                                        i.fids.length > 0 ? t.filter = new GeoGlobe.Filter.FeatureId({
-                                            fids: i.fids
-                                        }) : i.filters.length > 0 && (t.filter = i.filters[0])
-                                },
-                                FeatureId: function (e, t) {
-                                    var i = e.getAttribute("fid");
-                                    i && t.fids.push(i)
-                                },
-                                And: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Logical({
-                                        type: GeoGlobe.Filter.Logical.AND
-                                    });
-                                    this.readChildNodes(e, i),
-                                        t.filters.push(i)
-                                },
-                                Or: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Logical({
-                                        type: GeoGlobe.Filter.Logical.OR
-                                    });
-                                    this.readChildNodes(e, i),
-                                        t.filters.push(i)
-                                },
-                                Not: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Logical({
-                                        type: GeoGlobe.Filter.Logical.NOT
-                                    });
-                                    this.readChildNodes(e, i),
-                                        t.filters.push(i)
-                                },
-                                PropertyIsLessThan: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Comparison({
-                                        type: GeoGlobe.Filter.Comparison.LESS_THAN
-                                    });
-                                    this.readChildNodes(e, i),
-                                        t.filters.push(i)
-                                },
-                                PropertyIsGreaterThan: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Comparison({
-                                        type: GeoGlobe.Filter.Comparison.GREATER_THAN
-                                    });
-                                    this.readChildNodes(e, i),
-                                        t.filters.push(i)
-                                },
-                                PropertyIsLessThanOrEqualTo: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Comparison({
-                                        type: GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO
-                                    });
-                                    this.readChildNodes(e, i),
-                                        t.filters.push(i)
-                                },
-                                PropertyIsGreaterThanOrEqualTo: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Comparison({
-                                        type: GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO
-                                    });
-                                    this.readChildNodes(e, i),
-                                        t.filters.push(i)
-                                },
-                                PropertyIsBetween: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Comparison({
-                                        type: GeoGlobe.Filter.Comparison.BETWEEN
-                                    });
-                                    this.readChildNodes(e, i),
-                                        t.filters.push(i)
-                                },
-                                Literal: function (e, t) {
-                                    t.value = GeoGlobe.String.numericIf(this.getChildValue(e), !0)
-                                },
-                                PropertyName: function (e, t) {
-                                    t.property = this.getChildValue(e)
-                                },
-                                LowerBoundary: function (e, t) {
-                                    t.lowerBoundary = GeoGlobe.String.numericIf(this.readers.ogc._expression.call(this, e), !0)
-                                },
-                                UpperBoundary: function (e, t) {
-                                    t.upperBoundary = GeoGlobe.String.numericIf(this.readers.ogc._expression.call(this, e), !0)
-                                },
-                                Intersects: function (e, t) {
-                                    this.readSpatial(e, t, GeoGlobe.Filter.Spatial.INTERSECTS)
-                                },
-                                Within: function (e, t) {
-                                    this.readSpatial(e, t, GeoGlobe.Filter.Spatial.WITHIN)
-                                },
-                                Contains: function (e, t) {
-                                    this.readSpatial(e, t, GeoGlobe.Filter.Spatial.CONTAINS)
-                                },
-                                DWithin: function (e, t) {
-                                    this.readSpatial(e, t, GeoGlobe.Filter.Spatial.DWITHIN)
-                                },
-                                Distance: function (e, t) {
-                                    t.distance = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)),
-                                        t.distanceUnits = e.getAttribute("units")
-                                },
-                                Function: function (e, t) { },
-                                PropertyIsNull: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Comparison({
-                                        type: GeoGlobe.Filter.Comparison.IS_NULL
-                                    });
-                                    this.readChildNodes(e, i),
-                                        t.filters.push(i)
-                                }
-                            }
-                        },
-                        readSpatial: function (e, t, i) {
-                            var r = new GeoGlobe.Filter.Spatial({
-                                type: i
-                            });
-                            this.readChildNodes(e, r),
-                                r.value = r.components[0],
-                                delete r.components,
-                                t.filters.push(r)
-                        },
-                        encodeLiteral: function (e) {
-                            return e instanceof Date && (e = GeoGlobe.Date.toISOString(e)),
-                                e
-                        },
-                        writeOgcExpression: function (e, t) {
-                            return e instanceof GeoGlobe.Filter.Function ? this.writeNode("Function", e, t) : this.writeNode("Literal", e, t),
-                                t
-                        },
-                        write: function (e) {
-                            return this.writers.ogc.Filter.apply(this, [e])
-                        },
-                        writers: {
-                            ogc: {
-                                Filter: function (e) {
-                                    var t = this.createElementNSPlus("ogc:Filter");
-                                    return this.writeNode(this.getFilterType(e), e, t),
-                                        t
-                                },
-                                _featureIds: function (e) {
-                                    for (var t = this.createDocumentFragment(), i = 0, r = e.fids.length; i < r; ++i)
-                                        this.writeNode("ogc:FeatureId", e.fids[i], t);
-                                    return t
-                                },
-                                FeatureId: function (e) {
-                                    return this.createElementNSPlus("ogc:FeatureId", {
-                                        attributes: {
-                                            fid: e
-                                        }
-                                    })
-                                },
-                                And: function (e) {
-                                    for (var t, i = this.createElementNSPlus("ogc:And"), r = 0, n = e.filters.length; r < n; ++r)
-                                        t = e.filters[r],
-                                            this.writeNode(this.getFilterType(t), t, i);
-                                    return i
-                                },
-                                Or: function (e) {
-                                    for (var t, i = this.createElementNSPlus("ogc:Or"), r = 0, n = e.filters.length; r < n; ++r)
-                                        t = e.filters[r],
-                                            this.writeNode(this.getFilterType(t), t, i);
-                                    return i
-                                },
-                                Not: function (e) {
-                                    var t = this.createElementNSPlus("ogc:Not")
-                                        , i = e.filters[0];
-                                    return this.writeNode(this.getFilterType(i), i, t),
-                                        t
-                                },
-                                PropertyIsLessThan: function (e) {
-                                    var t = this.createElementNSPlus("ogc:PropertyIsLessThan");
-                                    return this.writeNode("PropertyName", e, t),
-                                        this.writeOgcExpression(e.value, t),
-                                        t
-                                },
-                                PropertyIsGreaterThan: function (e) {
-                                    var t = this.createElementNSPlus("ogc:PropertyIsGreaterThan");
-                                    return this.writeNode("PropertyName", e, t),
-                                        this.writeOgcExpression(e.value, t),
-                                        t
-                                },
-                                PropertyIsLessThanOrEqualTo: function (e) {
-                                    var t = this.createElementNSPlus("ogc:PropertyIsLessThanOrEqualTo");
-                                    return this.writeNode("PropertyName", e, t),
-                                        this.writeOgcExpression(e.value, t),
-                                        t
-                                },
-                                PropertyIsGreaterThanOrEqualTo: function (e) {
-                                    var t = this.createElementNSPlus("ogc:PropertyIsGreaterThanOrEqualTo");
-                                    return this.writeNode("PropertyName", e, t),
-                                        this.writeOgcExpression(e.value, t),
-                                        t
-                                },
-                                PropertyIsBetween: function (e) {
-                                    var t = this.createElementNSPlus("ogc:PropertyIsBetween");
-                                    return this.writeNode("PropertyName", e, t),
-                                        this.writeNode("LowerBoundary", e, t),
-                                        this.writeNode("UpperBoundary", e, t),
-                                        t
-                                },
-                                PropertyName: function (e) {
-                                    return this.createElementNSPlus("ogc:PropertyName", {
-                                        value: e.property
-                                    })
-                                },
-                                Literal: function (e) {
-                                    var t = this.encodeLiteral || GeoGlobe.Format.Filter.v1.prototype.encodeLiteral;
-                                    return this.createElementNSPlus("ogc:Literal", {
-                                        value: t(e)
-                                    })
-                                },
-                                LowerBoundary: function (e) {
-                                    var t = this.createElementNSPlus("ogc:LowerBoundary");
-                                    return this.writeOgcExpression(e.lowerBoundary, t),
-                                        t
-                                },
-                                UpperBoundary: function (e) {
-                                    var t = this.createElementNSPlus("ogc:UpperBoundary");
-                                    return this.writeNode("Literal", e.upperBoundary, t),
-                                        t
-                                },
-                                INTERSECTS: function (e) {
-                                    return this.writeSpatial(e, "Intersects")
-                                },
-                                WITHIN: function (e) {
-                                    return this.writeSpatial(e, "Within")
-                                },
-                                CONTAINS: function (e) {
-                                    return this.writeSpatial(e, "Contains")
-                                },
-                                DWITHIN: function (e) {
-                                    var t = this.writeSpatial(e, "DWithin");
-                                    return this.writeNode("Distance", e, t),
-                                        t
-                                },
-                                Distance: function (e) {
-                                    return this.createElementNSPlus("ogc:Distance", {
-                                        attributes: {
-                                            units: e.distanceUnits
-                                        },
-                                        value: e.distance
-                                    })
-                                },
-                                Function: function (e) {
-                                    for (var t = this.createElementNSPlus("ogc:Function", {
-                                        attributes: {
-                                            name: e.name
-                                        }
-                                    }), i = e.params, r = 0, n = i.length; r < n; r++)
-                                        this.writeOgcExpression(i[r], t);
-                                    return t
-                                },
-                                PropertyIsNull: function (e) {
-                                    var t = this.createElementNSPlus("ogc:PropertyIsNull");
-                                    return this.writeNode("PropertyName", e, t),
-                                        t
-                                },
-                                SortBy: function (e) {
-                                    for (var t = this.createElementNSPlus("ogc:SortBy"), i = 0, r = e.length; i < r; i++)
-                                        this.writeNode("ogc:SortProperty", e[i], t);
-                                    return t
-                                },
-                                SortProperty: function (e) {
-                                    var t = this.createElementNSPlus("ogc:SortProperty");
-                                    return this.writeNode("ogc:PropertyName", e, t),
-                                        this.writeNode("ogc:SortOrder", "DESC" == e.order ? "DESC" : "ASC", t),
-                                        t
-                                },
-                                SortOrder: function (e) {
-                                    return this.createElementNSPlus("ogc:SortOrder", {
-                                        value: e
-                                    })
-                                }
-                            }
-                        },
-                        getFilterType: function (e) {
-                            var t = this.filterMap[e.type];
-                            if (!t)
-                                throw "Filter writing not supported for rule type: " + e.type;
-                            return t
-                        },
-                        filterMap: {
-                            "&&": "And",
-                            "||": "Or",
-                            "!": "Not",
-                            "==": "PropertyIsEqualTo",
-                            "!=": "PropertyIsNotEqualTo",
-                            "<": "PropertyIsLessThan",
-                            ">": "PropertyIsGreaterThan",
-                            "<=": "PropertyIsLessThanOrEqualTo",
-                            ">=": "PropertyIsGreaterThanOrEqualTo",
-                            "..": "PropertyIsBetween",
-                            "~": "PropertyIsLike",
-                            NULL: "PropertyIsNull",
-                            BBOX: "BBOX",
-                            DWITHIN: "DWITHIN",
-                            WITHIN: "WITHIN",
-                            CONTAINS: "CONTAINS",
-                            INTERSECTS: "INTERSECTS",
-                            FID: "_featureIds"
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.Filter.v1"
-                    }),
-                    GeoGlobe.Format.Filter.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.GML.v2, GeoGlobe.Format.Filter.v1, {
-                        VERSION: "1.0.0",
-                        schemaLocation: "http://www.opengis.net/ogc/filter/1.0.0/filter.xsd",
-                        initialize: function (e) {
-                            GeoGlobe.Format.GML.v2.prototype.initialize.apply(this, [e])
-                        },
-                        readers: {
-                            ogc: GeoGlobe.Util.applyDefaults({
-                                PropertyIsEqualTo: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Comparison({
-                                        type: GeoGlobe.Filter.Comparison.EQUAL_TO
-                                    });
-                                    this.readChildNodes(e, i),
-                                        t.filters.push(i)
-                                },
-                                PropertyIsNotEqualTo: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Comparison({
-                                        type: GeoGlobe.Filter.Comparison.NOT_EQUAL_TO
-                                    });
-                                    this.readChildNodes(e, i),
-                                        t.filters.push(i)
-                                },
-                                PropertyIsLike: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Comparison({
-                                        type: GeoGlobe.Filter.Comparison.LIKE
-                                    });
-                                    this.readChildNodes(e, i);
-                                    var r = e.getAttribute("wildCard")
-                                        , n = e.getAttribute("singleChar")
-                                        , o = e.getAttribute("escape");
-                                    i.value2regex(r, n, o),
-                                        t.filters.push(i)
-                                }
-                            }, GeoGlobe.Format.Filter.v1.prototype.readers.ogc),
-                            gml: GeoGlobe.Format.GML.v2.prototype.readers.gml,
-                            feature: GeoGlobe.Format.GML.v2.prototype.readers.feature
-                        },
-                        writers: {
-                            ogc: GeoGlobe.Util.applyDefaults({
-                                PropertyIsEqualTo: function (e) {
-                                    var t = this.createElementNSPlus("ogc:PropertyIsEqualTo");
-                                    return this.writeNode("PropertyName", e, t),
-                                        this.writeOgcExpression(e.value, t),
-                                        t
-                                },
-                                PropertyIsNotEqualTo: function (e) {
-                                    var t = this.createElementNSPlus("ogc:PropertyIsNotEqualTo");
-                                    return this.writeNode("PropertyName", e, t),
-                                        this.writeOgcExpression(e.value, t),
-                                        t
-                                },
-                                PropertyIsLike: function (e) {
-                                    var t = this.createElementNSPlus("ogc:PropertyIsLike", {
-                                        attributes: {
-                                            wildCard: "*",
-                                            singleChar: ".",
-                                            escape: "!"
-                                        }
-                                    });
-                                    return this.writeNode("PropertyName", e, t),
-                                        this.writeNode("Literal", e.regex2value(), t),
-                                        t
-                                },
-                                BBOX: function (e) {
-                                    var t = this.createElementNSPlus("ogc:BBOX");
-                                    e.property && this.writeNode("PropertyName", e, t);
-                                    var i = this.writeNode("gml:Box", e.value, t);
-                                    return e.projection && i.setAttribute("srsName", e.projection),
-                                        t
-                                }
-                            }, GeoGlobe.Format.Filter.v1.prototype.writers.ogc),
-                            gml: GeoGlobe.Format.GML.v2.prototype.writers.gml,
-                            feature: GeoGlobe.Format.GML.v2.prototype.writers.feature
-                        },
-                        writeSpatial: function (e, t) {
-                            var i, r = this.createElementNSPlus("ogc:" + t);
-                            return this.writeNode("PropertyName", e, r),
-                                e.value instanceof GeoGlobe.Filter.Function ? this.writeNode("Function", e.value, r) : (i = e.value instanceof GeoGlobe.Geometry ? this.writeNode("feature:_geometry", e.value).firstChild : this.writeNode("gml:Box", e.value),
-                                    e.projection && i.setAttribute("srsName", e.projection),
-                                    r.appendChild(i)),
-                                r
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.Filter.v1_0_0"
-                    }),
-                    GeoGlobe.Format.Filter.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.GML.v3, GeoGlobe.Format.Filter.v1, {
-                        VERSION: "1.1.0",
-                        schemaLocation: "http://www.opengis.net/ogc/filter/1.1.0/filter.xsd",
-                        initialize: function (e) {
-                            GeoGlobe.Format.GML.v3.prototype.initialize.apply(this, [e])
-                        },
-                        readers: {
-                            ogc: GeoGlobe.Util.applyDefaults({
-                                PropertyIsEqualTo: function (e, t) {
-                                    var i = e.getAttribute("matchCase")
-                                        , r = new GeoGlobe.Filter.Comparison({
-                                            type: GeoGlobe.Filter.Comparison.EQUAL_TO,
-                                            matchCase: !("false" === i || "0" === i)
-                                        });
-                                    this.readChildNodes(e, r),
-                                        t.filters.push(r)
-                                },
-                                PropertyIsNotEqualTo: function (e, t) {
-                                    var i = e.getAttribute("matchCase")
-                                        , r = new GeoGlobe.Filter.Comparison({
-                                            type: GeoGlobe.Filter.Comparison.NOT_EQUAL_TO,
-                                            matchCase: !("false" === i || "0" === i)
-                                        });
-                                    this.readChildNodes(e, r),
-                                        t.filters.push(r)
-                                },
-                                PropertyIsLike: function (e, t) {
-                                    var i = new GeoGlobe.Filter.Comparison({
-                                        type: GeoGlobe.Filter.Comparison.LIKE
-                                    });
-                                    this.readChildNodes(e, i);
-                                    var r = e.getAttribute("wildCard")
-                                        , n = e.getAttribute("singleChar")
-                                        , o = e.getAttribute("escapeChar");
-                                    i.value2regex(r, n, o),
-                                        t.filters.push(i)
-                                }
-                            }, GeoGlobe.Format.Filter.v1.prototype.readers.ogc),
-                            gml: GeoGlobe.Format.GML.v3.prototype.readers.gml,
-                            feature: GeoGlobe.Format.GML.v3.prototype.readers.feature
-                        },
-                        writers: {
-                            ogc: GeoGlobe.Util.applyDefaults({
-                                PropertyIsEqualTo: function (e) {
-                                    var t = this.createElementNSPlus("ogc:PropertyIsEqualTo", {
-                                        attributes: {
-                                            matchCase: e.matchCase
-                                        }
-                                    });
-                                    return this.writeNode("PropertyName", e, t),
-                                        this.writeOgcExpression(e.value, t),
-                                        t
-                                },
-                                PropertyIsNotEqualTo: function (e) {
-                                    var t = this.createElementNSPlus("ogc:PropertyIsNotEqualTo", {
-                                        attributes: {
-                                            matchCase: e.matchCase
-                                        }
-                                    });
-                                    return this.writeNode("PropertyName", e, t),
-                                        this.writeOgcExpression(e.value, t),
-                                        t
-                                },
-                                PropertyIsLike: function (e) {
-                                    var t = this.createElementNSPlus("ogc:PropertyIsLike", {
-                                        attributes: {
-                                            matchCase: e.matchCase,
-                                            wildCard: "*",
-                                            singleChar: ".",
-                                            escapeChar: "!"
-                                        }
-                                    });
-                                    return this.writeNode("PropertyName", e, t),
-                                        this.writeNode("Literal", e.regex2value(), t),
-                                        t
-                                },
-                                BBOX: function (e) {
-                                    var t = this.createElementNSPlus("ogc:BBOX");
-                                    e.property && this.writeNode("PropertyName", e, t);
-                                    var i = this.writeNode("gml:Envelope", e.value);
-                                    return e.projection && i.setAttribute("srsName", e.projection),
-                                        t.appendChild(i),
-                                        t
-                                },
-                                SortBy: function (e) {
-                                    for (var t = this.createElementNSPlus("ogc:SortBy"), i = 0, r = e.length; i < r; i++)
-                                        this.writeNode("ogc:SortProperty", e[i], t);
-                                    return t
-                                },
-                                SortProperty: function (e) {
-                                    var t = this.createElementNSPlus("ogc:SortProperty");
-                                    return this.writeNode("ogc:PropertyName", e, t),
-                                        this.writeNode("ogc:SortOrder", "DESC" == e.order ? "DESC" : "ASC", t),
-                                        t
-                                },
-                                SortOrder: function (e) {
-                                    return this.createElementNSPlus("ogc:SortOrder", {
-                                        value: e
-                                    })
-                                }
-                            }, GeoGlobe.Format.Filter.v1.prototype.writers.ogc),
-                            gml: GeoGlobe.Format.GML.v3.prototype.writers.gml,
-                            feature: GeoGlobe.Format.GML.v3.prototype.writers.feature
-                        },
-                        writeSpatial: function (e, t) {
-                            var i, r = this.createElementNSPlus("ogc:" + t);
-                            return this.writeNode("PropertyName", e, r),
-                                e.value instanceof GeoGlobe.Filter.Function ? this.writeNode("Function", e.value, r) : (i = e.value instanceof GeoGlobe.Geometry ? this.writeNode("feature:_geometry", e.value).firstChild : this.writeNode("gml:Envelope", e.value),
-                                    e.projection && i.setAttribute("srsName", e.projection),
-                                    r.appendChild(i)),
-                                r
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.Filter.v1_1_0"
-                    }),
-                    GeoGlobe.Format.WFST = function (e) {
-                        e = GeoGlobe.Util.applyDefaults(e, GeoGlobe.Format.WFST.DEFAULTS);
-                        var t = GeoGlobe.Format.WFST["v" + e.version.replace(/\./g, "_")];
-                        if (!t)
-                            throw "Unsupported WFST version: " + e.version;
-                        return new t(e)
-                    }
+                    o.Message = function() {}
                     ,
-                    GeoGlobe.Format.WFST.DEFAULTS = {
-                        version: "1.0.0"
-                    },
-                    GeoGlobe.Format.WFST.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        namespaces: {
-                            xlink: "http://www.w3.org/1999/xlink",
-                            xsi: "http://www.w3.org/2001/XMLSchema-instance",
-                            wfs: "http://www.opengis.net/wfs",
-                            gml: "http://www.opengis.net/gml",
-                            ogc: "http://www.opengis.net/ogc",
-                            ows: "http://www.opengis.net/ows"
-                        },
-                        defaultPrefix: "wfs",
-                        version: null,
-                        schemaLocations: null,
-                        srsName: null,
-                        extractAttributes: !0,
-                        xy: !0,
-                        stateName: null,
-                        initialize: function (e) {
-                            this.stateName = {},
-                                this.stateName[GeoGlobe.State.INSERT] = "wfs:Insert",
-                                this.stateName[GeoGlobe.State.UPDATE] = "wfs:Update",
-                                this.stateName[GeoGlobe.State.DELETE] = "wfs:Delete",
-                                GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
-                        },
-                        getSrsName: function (e, t) {
-                            var i = t && t.srsName;
-                            return i || (i = e && e.layer ? e.layer.projection.getCode() : this.srsName),
-                                i
-                        },
-                        read: function (e, t) {
-                            t = t || {},
-                                GeoGlobe.Util.applyDefaults(t, {
-                                    output: "features"
-                                }),
-                                "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
-                                e && 9 == e.nodeType && (e = e.documentElement);
-                            var i = {};
-                            return e && this.readNode(e, i, !0),
-                                i.features && "features" === t.output && (i = i.features),
-                                i
-                        },
-                        readers: {
-                            wfs: {
-                                FeatureCollection: function (e, t) {
-                                    t.features = [],
-                                        this.readChildNodes(e, t)
-                                }
-                            }
-                        },
-                        write: function (e, t) {
-                            var i = this.writeNode("wfs:Transaction", {
-                                features: e,
-                                options: t
-                            })
-                                , r = this.schemaLocationAttr();
-                            return r && this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", r),
-                                GeoGlobe.Format.XML.prototype.write.apply(this, [i])
-                        },
-                        writers: {
-                            wfs: {
-                                GetFeature: function (e) {
-                                    var t = this.createElementNSPlus("wfs:GetFeature", {
-                                        attributes: {
-                                            service: "WFS",
-                                            version: this.version,
-                                            outputFormat: e && e.outputFormat,
-                                            maxFeatures: e && e.maxFeatures,
-                                            resultType: e && e.resultType,
-                                            startPosition: e && e.startPosition,
-                                            "xsi:schemaLocation": this.schemaLocationAttr(e)
-                                        }
-                                    });
-                                    if ("string" == typeof this.featureType)
-                                        this.writeNode("Query", e, t);
-                                    else
-                                        for (var i = 0, r = this.featureType.length; i < r; i++)
-                                            e.featureType = this.featureType[i],
-                                                this.writeNode("Query", e, t);
-                                    return t
-                                },
-                                Transaction: function (e) {
-                                    var t, i, r = (e = e || {}).options || {}, n = this.createElementNSPlus("wfs:Transaction", {
-                                        attributes: {
-                                            service: "WFS",
-                                            version: this.version,
-                                            handle: r.handle
-                                        }
-                                    }), o = e.features;
-                                    if (o) {
-                                        var a, s;
-                                        for (!0 === r.multi && GeoGlobe.Util.extend(this.geometryTypes, {
-                                            "GeoGlobe.Geometry.Point": "MultiPoint",
-                                            "GeoGlobe.Geometry.LineString": !0 === this.multiCurve ? "MultiCurve" : "MultiLineString",
-                                            "GeoGlobe.Geometry.Polygon": !0 === this.multiSurface ? "MultiSurface" : "MultiPolygon"
-                                        }),
-                                            t = 0,
-                                            i = o.length; t < i; ++t)
-                                            s = o[t],
-                                                (a = this.stateName[s.state]) && this.writeNode(a, {
-                                                    feature: s,
-                                                    options: r
-                                                }, n);
-                                        !0 === r.multi && this.setGeometryTypes()
-                                    }
-                                    if (r.nativeElements)
-                                        for (t = 0,
-                                            i = r.nativeElements.length; t < i; ++t)
-                                            this.writeNode("wfs:Native", r.nativeElements[t], n);
-                                    return n
-                                },
-                                Native: function (e) {
-                                    return this.createElementNSPlus("wfs:Native", {
-                                        attributes: {
-                                            vendorId: e.vendorId,
-                                            safeToIgnore: e.safeToIgnore
-                                        },
-                                        value: e.value
-                                    })
-                                },
-                                Insert: function (e) {
-                                    var t = e.feature
-                                        , i = e.options
-                                        , r = this.createElementNSPlus("wfs:Insert", {
-                                            attributes: {
-                                                handle: i && i.handle
-                                            }
-                                        });
-                                    return this.srsName = this.getSrsName(t),
-                                        this.writeNode("feature:_typeName", t, r),
-                                        r
-                                },
-                                Update: function (e) {
-                                    var t = e.feature
-                                        , i = e.options
-                                        , r = this.createElementNSPlus("wfs:Update", {
-                                            attributes: {
-                                                handle: i && i.handle,
-                                                typeName: (this.featureNS ? this.featurePrefix + ":" : "") + this.featureType
-                                            }
-                                        });
-                                    this.featureNS && r.setAttribute("xmlns:" + this.featurePrefix, this.featureNS);
-                                    var n = t.modified;
-                                    for (var o in null === this.geometryName || n && void 0 === n.geometry || (this.srsName = this.getSrsName(t),
-                                        this.writeNode("Property", {
-                                            name: this.geometryName,
-                                            value: t.geometry
-                                        }, r)),
-                                        t.attributes)
-                                        void 0 === t.attributes[o] || n && n.attributes && (!n.attributes || void 0 === n.attributes[o]) || this.writeNode("Property", {
-                                            name: o,
-                                            value: t.attributes[o]
-                                        }, r);
-                                    return this.writeNode("ogc:Filter", new GeoGlobe.Filter.FeatureId({
-                                        fids: [t.fid]
-                                    }), r),
-                                        r
-                                },
-                                Property: function (e) {
-                                    var t = this.createElementNSPlus("wfs:Property");
-                                    return this.writeNode("Name", e.name, t),
-                                        null !== e.value && this.writeNode("Value", e.value, t),
-                                        t
-                                },
-                                Name: function (e) {
-                                    return this.createElementNSPlus("wfs:Name", {
-                                        value: e
-                                    })
-                                },
-                                Value: function (e) {
-                                    var t;
-                                    if (e instanceof GeoGlobe.Geometry) {
-                                        t = this.createElementNSPlus("wfs:Value");
-                                        var i = this.writeNode("feature:_geometry", e).firstChild;
-                                        t.appendChild(i)
-                                    } else
-                                        t = this.createElementNSPlus("wfs:Value", {
-                                            value: e
-                                        });
-                                    return t
-                                },
-                                Delete: function (e) {
-                                    var t = e.feature
-                                        , i = e.options
-                                        , r = this.createElementNSPlus("wfs:Delete", {
-                                            attributes: {
-                                                handle: i && i.handle,
-                                                typeName: (this.featureNS ? this.featurePrefix + ":" : "") + this.featureType
-                                            }
-                                        });
-                                    return this.featureNS && r.setAttribute("xmlns:" + this.featurePrefix, this.featureNS),
-                                        this.writeNode("ogc:Filter", new GeoGlobe.Filter.FeatureId({
-                                            fids: [t.fid]
-                                        }), r),
-                                        r
-                                }
-                            }
-                        },
-                        schemaLocationAttr: function (e) {
-                            e = GeoGlobe.Util.extend({
-                                featurePrefix: this.featurePrefix,
-                                schema: this.schema
-                            }, e);
-                            var t = GeoGlobe.Util.extend({}, this.schemaLocations);
-                            e.schema && (t[e.featurePrefix] = e.schema);
-                            var i, r = [];
-                            for (var n in t)
-                                (i = this.namespaces[n]) && r.push(i + " " + t[n]);
-                            return r.join(" ") || void 0
-                        },
-                        setFilterProperty: function (e) {
-                            if (e.filters)
-                                for (var t = 0, i = e.filters.length; t < i; ++t)
-                                    GeoGlobe.Format.WFST.v1.prototype.setFilterProperty.call(this, e.filters[t]);
-                            else
-                                e instanceof GeoGlobe.Filter.Spatial && !e.property && (e.property = this.geometryName)
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WFST.v1"
-                    }),
-                    GeoGlobe.Format.WFST.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.Filter.v1_0_0, GeoGlobe.Format.WFST.v1, {
-                        version: "1.0.0",
-                        srsNameInQuery: !1,
-                        schemaLocations: {
-                            wfs: "http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd"
-                        },
-                        initialize: function (e) {
-                            GeoGlobe.Format.Filter.v1_0_0.prototype.initialize.apply(this, [e]),
-                                GeoGlobe.Format.WFST.v1.prototype.initialize.apply(this, [e])
-                        },
-                        readNode: function (e, t, i) {
-                            return GeoGlobe.Format.GML.v2.prototype.readNode.apply(this, arguments)
-                        },
-                        readers: {
-                            wfs: GeoGlobe.Util.applyDefaults({
-                                WFS_TransactionResponse: function (e, t) {
-                                    t.insertIds = [],
-                                        t.success = !1,
-                                        this.readChildNodes(e, t)
-                                },
-                                InsertResult: function (e, t) {
-                                    var i = {
-                                        fids: []
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.insertIds = t.insertIds.concat(i.fids)
-                                },
-                                TransactionResult: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                Status: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                SUCCESS: function (e, t) {
-                                    t.success = !0
-                                }
-                            }, GeoGlobe.Format.WFST.v1.prototype.readers.wfs),
-                            gml: GeoGlobe.Format.GML.v2.prototype.readers.gml,
-                            feature: GeoGlobe.Format.GML.v2.prototype.readers.feature,
-                            ogc: GeoGlobe.Format.Filter.v1_0_0.prototype.readers.ogc
-                        },
-                        writers: {
-                            wfs: GeoGlobe.Util.applyDefaults({
-                                Query: function (e) {
-                                    var t = (e = GeoGlobe.Util.extend({
-                                        featureNS: this.featureNS,
-                                        featurePrefix: this.featurePrefix,
-                                        featureType: this.featureType,
-                                        srsName: this.srsName,
-                                        srsNameInQuery: this.srsNameInQuery
-                                    }, e)).featurePrefix
-                                        , i = this.createElementNSPlus("wfs:Query", {
-                                            attributes: {
-                                                typeName: (e.featureNS ? t + ":" : "") + e.featureType,
-                                                time: e && e.time,
-                                                userecent: e && e.userecent
-                                            }
-                                        });
-                                    if (e.srsNameInQuery && e.srsName && i.setAttribute("srsName", e.srsName),
-                                        e.featureNS && i.setAttribute("xmlns:" + t, e.featureNS),
-                                        e.propertyNames)
-                                        for (var r = 0, n = e.propertyNames.length; r < n; r++)
-                                            this.writeNode("ogc:PropertyName", {
-                                                property: e.propertyNames[r]
-                                            }, i);
-                                    return e.filter && (this.setFilterProperty(e.filter),
-                                        this.writeNode("ogc:Filter", e.filter, i)),
-                                        e.sortBy && this.writeNode("ogc:SortBy", e.sortBy, i),
-                                        e.groupBy && this.writeNode("ogc:GroupBy", e.groupBy, i),
-                                        i
-                                }
-                            }, GeoGlobe.Format.WFST.v1.prototype.writers.wfs),
-                            gml: GeoGlobe.Format.GML.v2.prototype.writers.gml,
-                            feature: GeoGlobe.Format.GML.v2.prototype.writers.feature,
-                            ogc: GeoGlobe.Format.Filter.v1_0_0.prototype.writers.ogc
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WFST.v1_0_0"
-                    }),
-                    GeoGlobe.Format.WFST.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.Filter.v1_1_0, GeoGlobe.Format.WFST.v1, {
-                        version: "1.1.0",
-                        schemaLocations: {
-                            wfs: "http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"
-                        },
-                        initialize: function (e) {
-                            GeoGlobe.Format.Filter.v1_1_0.prototype.initialize.apply(this, [e]),
-                                GeoGlobe.Format.WFST.v1.prototype.initialize.apply(this, [e])
-                        },
-                        readNode: function (e, t, i) {
-                            return GeoGlobe.Format.GML.v3.prototype.readNode.apply(this, arguments)
-                        },
-                        readers: {
-                            wfs: GeoGlobe.Util.applyDefaults({
-                                FeatureCollection: function (e, t) {
-                                    t.numberOfFeatures = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("numberOfFeatures")),
-                                        GeoGlobe.Format.WFST.v1.prototype.readers.wfs.FeatureCollection.apply(this, arguments)
-                                },
-                                TransactionResponse: function (e, t) {
-                                    t.insertIds = [],
-                                        t.success = !1,
-                                        this.readChildNodes(e, t)
-                                },
-                                TransactionSummary: function (e, t) {
-                                    t.success = !0
-                                },
-                                InsertResults: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                Feature: function (e, t) {
-                                    var i = {
-                                        fids: []
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.insertIds.push(i.fids[0])
-                                }
-                            }, GeoGlobe.Format.WFST.v1.prototype.readers.wfs),
-                            gml: GeoGlobe.Format.GML.v3.prototype.readers.gml,
-                            feature: GeoGlobe.Format.GML.v3.prototype.readers.feature,
-                            ogc: GeoGlobe.Format.Filter.v1_1_0.prototype.readers.ogc,
-                            ows: GeoGlobe.Format.OWSCommon.v1_0_0.prototype.readers.ows
-                        },
-                        writers: {
-                            wfs: GeoGlobe.Util.applyDefaults({
-                                GetFeature: function (e) {
-                                    var t = GeoGlobe.Format.WFST.v1.prototype.writers.wfs.GetFeature.apply(this, arguments);
-                                    return e && this.setAttributes(t, {
-                                        resultType: e.resultType,
-                                        startIndex: e.startIndex,
-                                        count: e.count
-                                    }),
-                                        t
-                                },
-                                Query: function (e) {
-                                    var t = (e = GeoGlobe.Util.extend({
-                                        featureNS: this.featureNS,
-                                        featurePrefix: this.featurePrefix,
-                                        featureType: this.featureType,
-                                        srsName: this.srsName
-                                    }, e)).featurePrefix
-                                        , i = this.createElementNSPlus("wfs:Query", {
-                                            attributes: {
-                                                typeName: (e.featureNS ? t + ":" : "") + e.featureType,
-                                                srsName: e.srsName,
-                                                time: e && e.time,
-                                                userecent: e && e.userecent
-                                            }
-                                        });
-                                    if (e.featureNS && i.setAttribute("xmlns:" + t, e.featureNS),
-                                        e.propertyNames)
-                                        for (var r = 0, n = e.propertyNames.length; r < n; r++)
-                                            this.writeNode("wfs:PropertyName", {
-                                                property: e.propertyNames[r]
-                                            }, i);
-                                    return e.filter && (GeoGlobe.Format.WFST.v1_1_0.prototype.setFilterProperty.call(this, e.filter),
-                                        this.writeNode("ogc:Filter", e.filter, i)),
-                                        e.sortBy && this.writeNode("ogc:SortBy", e.sortBy, i),
-                                        e.groupBy && this.writeNode("ogc:GroupBy", e.groupBy, i),
-                                        i
-                                },
-                                PropertyName: function (e) {
-                                    return this.createElementNSPlus("wfs:PropertyName", {
-                                        value: e.property
-                                    })
-                                }
-                            }, GeoGlobe.Format.WFST.v1.prototype.writers.wfs),
-                            gml: GeoGlobe.Format.GML.v3.prototype.writers.gml,
-                            feature: GeoGlobe.Format.GML.v3.prototype.writers.feature,
-                            ogc: GeoGlobe.Format.Filter.v1_1_0.prototype.writers.ogc
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WFST.v1_1_0"
-                    }),
-                    GeoGlobe.Format.JSON = GeoGlobe.Class4OL(GeoGlobe.Format, {
-                        indent: "    ",
-                        space: " ",
-                        newline: "\n",
-                        level: 0,
-                        pretty: !1,
-                        nativeJSON: !(!window.JSON || "function" != typeof JSON.parse || "function" != typeof _babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2___default.a),
-                        read: function read(json, filter) {
-                            var object;
-                            if (this.nativeJSON)
-                                object = JSON.parse(json, filter);
-                            else
-                                try {
-                                    if (/^[\],:{}\s]*$/.test(json.replace(/\\["\\\/bfnrtu]/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, "")) && (object = eval("(" + json + ")"),
-                                        "function" == typeof filter)) {
-                                        function walk(e, t) {
-                                            if (t && "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(t))
-                                                for (var i in t)
-                                                    t.hasOwnProperty(i) && (t[i] = walk(i, t[i]));
-                                            return filter(e, t)
-                                        }
-                                        object = walk("", object)
-                                    }
-                                } catch (e) { }
-                            return this.keepData && (this.data = object),
-                                object
-                        },
-                        write: function (e, t) {
-                            this.pretty = !!t;
-                            var i = null
-                                , r = _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e);
-                            if (this.serialize[r])
-                                try {
-                                    i = !this.pretty && this.nativeJSON ? _babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2___default()(e) : this.serialize[r].apply(this, [e])
-                                } catch (e) {
-                                    GeoGlobe.Console.error("Trouble serializing: " + e)
-                                }
-                            return i
-                        },
-                        writeIndent: function () {
-                            var e = [];
-                            if (this.pretty)
-                                for (var t = 0; t < this.level; ++t)
-                                    e.push(this.indent);
-                            return e.join("")
-                        },
-                        writeNewline: function () {
-                            return this.pretty ? this.newline : ""
-                        },
-                        writeSpace: function () {
-                            return this.pretty ? this.space : ""
-                        },
-                        serialize: {
-                            object: function (e) {
-                                if (null == e)
-                                    return "null";
-                                if (e.constructor == Date)
-                                    return this.serialize.date.apply(this, [e]);
-                                if (e.constructor == Array)
-                                    return this.serialize.array.apply(this, [e]);
-                                var t, i, r, n = ["{"];
-                                this.level += 1;
-                                var o = !1;
-                                for (t in e)
-                                    e.hasOwnProperty(t) && (i = GeoGlobe.Format.JSON.prototype.write.apply(this, [t, this.pretty]),
-                                        r = GeoGlobe.Format.JSON.prototype.write.apply(this, [e[t], this.pretty]),
-                                        null != i && null != r && (o && n.push(","),
-                                            n.push(this.writeNewline(), this.writeIndent(), i, ":", this.writeSpace(), r),
-                                            o = !0));
-                                return this.level -= 1,
-                                    n.push(this.writeNewline(), this.writeIndent(), "}"),
-                                    n.join("")
-                            },
-                            array: function (e) {
-                                var t, i = ["["];
-                                this.level += 1;
-                                for (var r = 0, n = e.length; r < n; ++r)
-                                    null != (t = GeoGlobe.Format.JSON.prototype.write.apply(this, [e[r], this.pretty])) && (r > 0 && i.push(","),
-                                        i.push(this.writeNewline(), this.writeIndent(), t));
-                                return this.level -= 1,
-                                    i.push(this.writeNewline(), this.writeIndent(), "]"),
-                                    i.join("")
-                            },
-                            string: function (e) {
-                                var t = {
-                                    "\b": "\\b",
-                                    "\t": "\\t",
-                                    "\n": "\\n",
-                                    "\f": "\\f",
-                                    "\r": "\\r",
-                                    '"': '\\"',
-                                    "\\": "\\\\"
-                                };
-                                return /["\\\x00-\x1f]/.test(e) ? '"' + e.replace(/([\x00-\x1f\\"])/g, (function (e, i) {
-                                    var r = t[i];
-                                    return r || (r = i.charCodeAt(),
-                                        "\\u00" + Math.floor(r / 16).toString(16) + (r % 16).toString(16))
-                                }
-                                )) + '"' : '"' + e + '"'
-                            },
-                            number: function (e) {
-                                return isFinite(e) ? String(e) : "null"
-                            },
-                            boolean: function (e) {
-                                return String(e)
-                            },
-                            date: function (e) {
-                                function t(e) {
-                                    return e < 10 ? "0" + e : e
-                                }
-                                return '"' + e.getFullYear() + "-" + t(e.getMonth() + 1) + "-" + t(e.getDate()) + "T" + t(e.getHours()) + ":" + t(e.getMinutes()) + ":" + t(e.getSeconds()) + '"'
-                            }
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.JSON"
-                    }),
-                    GeoGlobe.Format.GeoJSON = GeoGlobe.Class4OL(GeoGlobe.Format.JSON, {
-                        ignoreExtraDims: !1,
-                        read: function (e, t, i) {
-                            t = t || "FeatureCollection";
-                            var r, n = null;
-                            if (r = "string" == typeof e ? GeoGlobe.Format.JSON.prototype.read.apply(this, [e, i]) : e) {
-                                if ("string" != typeof r.type)
-                                    GeoGlobe.Console.error("Bad GeoJSON - no type: " + e);
-                                else if (this.isValidType(r, t))
-                                    switch (t) {
-                                        case "Geometry":
-                                            try {
-                                                n = this.parseGeometry(r)
-                                            } catch (e) {
-                                                GeoGlobe.Console.error(e)
-                                            }
-                                            break;
-                                        case "Feature":
-                                            try {
-                                                (n = this.parseFeature(r)).type = "Feature"
-                                            } catch (e) {
-                                                GeoGlobe.Console.error(e)
-                                            }
-                                            break;
-                                        case "FeatureCollection":
-                                            switch (n = [],
-                                            r.type) {
-                                                case "Feature":
-                                                    try {
-                                                        n.push(this.parseFeature(r))
-                                                    } catch (e) {
-                                                        n = null,
-                                                            GeoGlobe.Console.error(e)
-                                                    }
-                                                    break;
-                                                case "FeatureCollection":
-                                                    for (var o = 0, a = r.features.length; o < a; ++o)
-                                                        try {
-                                                            n.push(this.parseFeature(r.features[o]))
-                                                        } catch (e) {
-                                                            n = null,
-                                                                GeoGlobe.Console.error(e)
-                                                        }
-                                                    break;
-                                                default:
-                                                    try {
-                                                        var s = this.parseGeometry(r);
-                                                        n.push(new GeoGlobe.Feature(s))
-                                                    } catch (e) {
-                                                        n = null,
-                                                            GeoGlobe.Console.error(e)
-                                                    }
-                                            }
-                                    }
-                            } else
-                                GeoGlobe.Console.error("Bad JSON: " + e);
-                            return n
-                        },
-                        isValidType: function (e, t) {
-                            var i = !1;
-                            switch (t) {
-                                case "Geometry":
-                                    -1 == GeoGlobe.Util.indexOf(["Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", "Box", "GeometryCollection"], e.type) ? GeoGlobe.Console.error("Unsupported geometry type: " + e.type) : i = !0;
-                                    break;
-                                case "FeatureCollection":
-                                    i = !0;
-                                    break;
-                                default:
-                                    e.type == t ? i = !0 : GeoGlobe.Console.error("Cannot convert types from " + e.type + " to " + t)
-                            }
-                            return i
-                        },
-                        parseFeature: function (e) {
-                            var t, i, r, n;
-                            r = e.properties ? e.properties : {},
-                                n = e.geometry && e.geometry.bbox || e.bbox;
-                            try {
-                                i = this.parseGeometry(e.geometry)
-                            } catch (e) {
-                                throw e
-                            }
-                            return t = new GeoGlobe.Feature(i, r),
-                                n && (t.bounds = GeoGlobe.LngLatBounds.fromArray(n)),
-                                e.id && (t.fid = e.id),
-                                t
-                        },
-                        parseGeometry: function (e) {
-                            if (null == e)
-                                return null;
-                            var t, i = !1;
-                            if ("GeometryCollection" == e.type) {
-                                if (!GeoGlobe.Util.isArray(e.geometries))
-                                    throw "GeometryCollection must have geometries array: " + e;
-                                for (var r = e.geometries.length, n = new Array(r), o = 0; o < r; ++o)
-                                    n[o] = this.parseGeometry.apply(this, [e.geometries[o]]);
-                                t = new GeoGlobe.Geometry.Collection(n),
-                                    i = !0
-                            } else {
-                                if (!GeoGlobe.Util.isArray(e.coordinates))
-                                    throw "Geometry must have coordinates array: " + e;
-                                if (!this.parseCoords[e.type.toLowerCase()])
-                                    throw "Unsupported geometry type: " + e.type;
-                                try {
-                                    t = this.parseCoords[e.type.toLowerCase()].apply(this, [e.coordinates])
-                                } catch (e) {
-                                    throw e
-                                }
-                            }
-                            return this.internalProjection && this.externalProjection && !i && t.transform(this.externalProjection, this.internalProjection),
-                                t
-                        },
-                        parseCoords: {
-                            point: function (e) {
-                                if (0 == this.ignoreExtraDims && 2 != e.length)
-                                    throw "Only 2D points are supported: " + e;
-                                return new GeoGlobe.Geometry.Point(e[0], e[1])
-                            },
-                            multipoint: function (e) {
-                                for (var t = [], i = null, r = 0, n = e.length; r < n; ++r) {
-                                    try {
-                                        i = this.parseCoords.point.apply(this, [e[r]])
-                                    } catch (e) {
-                                        throw e
-                                    }
-                                    t.push(i)
-                                }
-                                return new GeoGlobe.Geometry.MultiPoint(t)
-                            },
-                            linestring: function (e) {
-                                for (var t = [], i = null, r = 0, n = e.length; r < n; ++r) {
-                                    try {
-                                        i = this.parseCoords.point.apply(this, [e[r]])
-                                    } catch (e) {
-                                        throw e
-                                    }
-                                    t.push(i)
-                                }
-                                return new GeoGlobe.Geometry.LineString(t)
-                            },
-                            multilinestring: function (e) {
-                                for (var t = [], i = null, r = 0, n = e.length; r < n; ++r) {
-                                    try {
-                                        i = this.parseCoords.linestring.apply(this, [e[r]])
-                                    } catch (e) {
-                                        throw e
-                                    }
-                                    t.push(i)
-                                }
-                                return new GeoGlobe.Geometry.MultiLineString(t)
-                            },
-                            polygon: function (e) {
-                                for (var t, i, r = [], n = 0, o = e.length; n < o; ++n) {
-                                    try {
-                                        i = this.parseCoords.linestring.apply(this, [e[n]])
-                                    } catch (e) {
-                                        throw e
-                                    }
-                                    t = new GeoGlobe.Geometry.LinearRing(i.components),
-                                        r.push(t)
-                                }
-                                return new GeoGlobe.Geometry.Polygon(r)
-                            },
-                            multipolygon: function (e) {
-                                for (var t = [], i = null, r = 0, n = e.length; r < n; ++r) {
-                                    try {
-                                        i = this.parseCoords.polygon.apply(this, [e[r]])
-                                    } catch (e) {
-                                        throw e
-                                    }
-                                    t.push(i)
-                                }
-                                return new GeoGlobe.Geometry.MultiPolygon(t)
-                            },
-                            box: function (e) {
-                                if (2 != e.length)
-                                    throw "GeoJSON box coordinates must have 2 elements";
-                                return new GeoGlobe.Geometry.Polygon([new GeoGlobe.Geometry.LinearRing([new GeoGlobe.Geometry.Point(e[0][0], e[0][1]), new GeoGlobe.Geometry.Point(e[1][0], e[0][1]), new GeoGlobe.Geometry.Point(e[1][0], e[1][1]), new GeoGlobe.Geometry.Point(e[0][0], e[1][1]), new GeoGlobe.Geometry.Point(e[0][0], e[0][1])])])
-                            }
-                        },
-                        write: function (e, t) {
-                            var i = {
-                                type: null
-                            };
-                            if (GeoGlobe.Util.isArray(e)) {
-                                i.type = "FeatureCollection";
-                                var r = e.length;
-                                i.features = new Array(r);
-                                for (var n = 0; n < r; ++n) {
-                                    var o = e[n];
-                                    if (!o instanceof GeoGlobe.Feature)
-                                        throw "FeatureCollection only supports collections of features: " + o;
-                                    i.features[n] = this.extract.feature.apply(this, [o])
-                                }
-                            } else
-                                0 == e.CLASS_NAME.indexOf("GeoGlobe.Geometry") ? i = this.extract.geometry.apply(this, [e]) : e instanceof GeoGlobe.Feature && (i = this.extract.feature.apply(this, [e]),
-                                    e.layer && e.layer.projection && (i.crs = this.createCRSObject(e)));
-                            return GeoGlobe.Format.JSON.prototype.write.apply(this, [i, t])
-                        },
-                        createCRSObject: function (e) {
-                            var t = e.layer.projection.toString()
-                                , i = {};
-                            if (t.match(/epsg:/i)) {
-                                var r = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(t.substring(t.indexOf(":") + 1));
-                                i = 4326 == r ? {
-                                    type: "name",
-                                    properties: {
-                                        name: "urn:ogc:def:crs:OGC:1.3:CRS84"
-                                    }
+                    o.Enum = function() {}
+                    ,
+                    o.Service = function() {}
+                    ,
+                    o
+                }(s, s.Lang, s.Reflect),
+                s.Map = function(e, t) {
+                    function i(e) {
+                        var t = 0;
+                        return {
+                            next: function() {
+                                return t < e.length ? {
+                                    done: !1,
+                                    value: e[t++]
                                 } : {
-                                    type: "name",
-                                    properties: {
-                                        name: "EPSG:" + r
-                                    }
+                                    done: !0
                                 }
                             }
-                            return i
-                        },
-                        extract: {
-                            feature: function (e) {
-                                var t = this.extract.geometry.apply(this, [e.geometry])
-                                    , i = {
-                                        type: "Feature",
-                                        properties: e.attributes,
-                                        geometry: t
-                                    };
-                                return null != e.fid && (i.id = e.fid),
-                                    i
-                            },
-                            geometry: function (e) {
-                                if (null == e)
-                                    return null;
-                                this.internalProjection && this.externalProjection && (e = e.clone()).transform(this.internalProjection, this.externalProjection);
-                                var t = e.CLASS_NAME.split(".")[2]
-                                    , i = this.extract[t.toLowerCase()].apply(this, [e]);
-                                return "Collection" == t ? {
-                                    type: "GeometryCollection",
-                                    geometries: i
-                                } : {
-                                    type: t,
-                                    coordinates: i
-                                }
-                            },
-                            point: function (e) {
-                                return [e.x, e.y]
-                            },
-                            multipoint: function (e) {
-                                for (var t = [], i = 0, r = e.components.length; i < r; ++i)
-                                    t.push(this.extract.point.apply(this, [e.components[i]]));
-                                return t
-                            },
-                            linestring: function (e) {
-                                for (var t = [], i = 0, r = e.components.length; i < r; ++i)
-                                    t.push(this.extract.point.apply(this, [e.components[i]]));
-                                return t
-                            },
-                            multilinestring: function (e) {
-                                for (var t = [], i = 0, r = e.components.length; i < r; ++i)
-                                    t.push(this.extract.linestring.apply(this, [e.components[i]]));
-                                return t
-                            },
-                            polygon: function (e) {
-                                for (var t = [], i = 0, r = e.components.length; i < r; ++i)
-                                    t.push(this.extract.linestring.apply(this, [e.components[i]]));
-                                return t
-                            },
-                            multipolygon: function (e) {
-                                for (var t = [], i = 0, r = e.components.length; i < r; ++i)
-                                    t.push(this.extract.polygon.apply(this, [e.components[i]]));
-                                return t
-                            },
-                            collection: function (e) {
-                                for (var t = e.components.length, i = new Array(t), r = 0; r < t; ++r)
-                                    i[r] = this.extract.geometry.apply(this, [e.components[r]]);
-                                return i
+                        }
+                    }
+                    var r = function(e, i) {
+                        if (!e.map)
+                            throw Error("field is not a map");
+                        if (this.field = e,
+                        this.keyElem = new t.Element(e.keyType,null,!0,e.syntax),
+                        this.valueElem = new t.Element(e.type,e.resolvedType,!1,e.syntax),
+                        this.map = {},
+                        x()(this, "size", {
+                            get: function() {
+                                return a()(this.map).length
                             }
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.GeoJSON"
-                    }),
-                    GeoGlobe.Format.WMTS = GeoGlobe.Class4OL({
-                        initialize: function (e) {
-                            GeoGlobe.Util.extend(this, e)
-                        },
-                        getWMTSCapabilities: function (e) {
-                            var t = null;
-                            return this.getCapabilities(e, (function (e) {
-                                var i = e.responseXML;
-                                i && i.documentElement || (i = e.responseText);
-                                var r = new GeoGlobe.Format.WMTSCapabilities.v1_0_0;
-                                t = r.read(i)
-                            }
-                            ), (function () {
-                                alert("WMTS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
-                            }
-                            )),
-                                t
-                        },
-                        getCapabilities: function (e, t, i) {
-                            "function" != typeof i && (i = function () {
-                                alert("WMTS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
-                            }
-                            ),
-                                GeoGlobe.Request.GET({
-                                    url: e,
-                                    params: {
-                                        REQUEST: "GetCapabilities",
-                                        SERVICE: "WMTS"
-                                    },
-                                    scope: this,
-                                    async: !1,
-                                    success: function (e) {
-                                        "function" == typeof t && t(e)
-                                    },
-                                    failure: i
-                                })
-                        },
-                        createLayerOption: function (e, t, i) {
-                            if (!("layer" in i))
-                                throw new Error("Missing property 'layer' in configuration.");
-                            for (var r, n = t.contents, o = (n.layers,
-                                0), a = n.layers.length; o < a; ++o)
-                                if (n.layers[o].identifier === i.layer) {
-                                    r = n.layers[o];
-                                    break
-                                }
-                            if (!r)
-                                throw new Error("Layer not found");
-                            var s, x, l = i.format;
-                            if (!l && r.formats && r.formats.length && (l = r.formats[0]),
-                                i.matrixSet)
-                                s = n.tileMatrixSets[i.matrixSet];
-                            else if (i.projection) {
-                                o = 0;
-                                for (var c = r.tileMatrixSetLinks.length; o < c; o++)
-                                    if (n.tileMatrixSets[r.tileMatrixSetLinks[o].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3") === i.projection) {
-                                        s = n.tileMatrixSets[r.tileMatrixSetLinks[o].tileMatrixSet];
-                                        break
-                                    }
-                            } else
-                                r.tileMatrixSetLinks.length >= 1 && (s = n.tileMatrixSets[r.tileMatrixSetLinks[0].tileMatrixSet]);
-                            if (!s)
-                                throw new Error("matrixSet not found");
-                            for (o = 0,
-                                a = r.styles.length; o < a && !(x = r.styles[o]).isDefault; ++o)
-                                ;
-                            var u = i.requestEncoding;
-                            u || (u = "KVP",
-                                t.operationsMetadata.GetTile.dcp.http);
-                            var h = []
-                                , f = i.params || {};
-                            delete i.params;
-                            for (var d = 0, g = r.dimensions.length; d < g; d++) {
-                                var p = r.dimensions[d];
-                                h.push(p.identifier),
-                                    f.hasOwnProperty(p.identifier) || (f[p.identifier] = p.default)
-                            }
-                            var m, b, v, C = i.projection || s.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"), y = i.units || ("EPSG:4326" === C ? "degrees" : "m"), _ = [], A = [], I = r.tileMatrixSetLinks, w = function (e) {
-                                _.push(28e-5 * e / GeoGlobe.METERS_PER_INCH / GeoGlobe.INCHES_PER_UNIT[y]),
-                                    (!m || m > e) && (m = e),
-                                    (!b || b < e) && (b = e)
-                            }, G = 0;
-                            for (c = I.length; G < c; G++)
-                                if ((v = I[G]).tileMatrixSet === s.identifier) {
-                                    if (v.tileMatrixSetLimits) {
-                                        for (var E, S = {}, T = 0, P = s.matrixIds.length; T < P; T++)
-                                            S[s.matrixIds[T].identifier] = s.matrixIds[T];
-                                        for (T = 0,
-                                            P = v.tileMatrixSetLimits.length; T < P; T++)
-                                            E = S[v.tileMatrixSetLimits[T].tileMatrix],
-                                                A.push(E),
-                                                w(E.scaleDenominator)
-                                    } else
-                                        for (T = 0,
-                                            P = s.matrixIds.length; T < P; T++)
-                                            w(s.matrixIds[T].scaleDenominator);
-                                    break
-                                }
-                            _.sort((function (e, t) {
-                                return t - e
-                            }
-                            ));
-                            var M, N = this.getParameterString({
-                                SERVICE: "WMTS",
-                                REQUEST: "GetTile",
-                                VERSION: t.version,
-                                LAYER: r.identifier,
-                                STYLE: x.identifier,
-                                TILEMATRIXSET: s.identifier,
-                                FORMAT: l,
-                                TILEMATRIX: "{z}",
-                                TILEROW: "{y}",
-                                TILECOL: "{x}"
-                            });
-                            M = e.endsWith("?") ? GeoGlobe.ProxyHost + e + N : GeoGlobe.ProxyHost + e + "?" + N;
-                            var L = GeoGlobe.Util.randomStr(10);
-                            if (r.bounds)
-                                var R = [r.bounds._sw.lng, r.bounds._sw.lat, r.bounds._ne.lng, r.bounds._ne.lat];
-                            else
-                                r.BoundingBox && (R = r.BoundingBox[0].bounds.toBBOX());
-                            var O = r.tileMatrixSetLinks[0].tileMatrixSet
-                                , F = n.tileMatrixSets[O].matrixIds[0].identifier
-                                , D = {
-                                    name: r.identifier,
-                                    srs: C,
-                                    bbox: R,
-                                    format: r.formats,
-                                    zoomoffset: F
-                                };
-                            return {
-                                id: "layer_" + r.identifier + "_" + L,
-                                type: "raster",
-                                source: {
-                                    type: "raster",
-                                    tiles: [M],
-                                    tileSize: 256
-                                },
-                                metadata: D,
-                                paint: {
-                                    "raster-opacity": 1
+                        }),
+                        i)
+                            for (var r = a()(i), n = 0; n < r.length; n++) {
+                                var o = this.keyElem.valueFromString(r[n])
+                                  , s = this.valueElem.verifyValue(i[r[n]]);
+                                this.map[this.keyElem.valueToString(o)] = {
+                                    key: o,
+                                    value: s
                                 }
                             }
-                        },
-                        createLayer: function (e, t) {
-                            var i = this.getWMTSCapabilities(e);
-                            if (t)
-                                var r = {
-                                    layer: t.layer
-                                };
-                            else
-                                r = {
-                                    layer: i.contents.layers[0].identifier
-                                };
-                            return this.createLayerOption(e, i, r)
-                        },
-                        createLayers: function (e) {
-                            for (var t = this.getWMTSCapabilities(e), i = t.contents.layers, r = [], n = 0; n < i.length; n++) {
-                                var o = {
-                                    layer: i[n].identifier
-                                }
-                                    , a = this.createLayerOption(e, t, o);
-                                r.push(a)
-                            }
-                            return r
-                        },
-                        getParameterString: function (e) {
-                            var t = [];
-                            for (var i in e) {
-                                var r = e[i];
-                                null != r && "function" != typeof r && t.push(i + "=" + r)
-                            }
-                            return t.join("&")
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WMTS"
-                    }),
-                    GeoGlobe.Format.WMS = GeoGlobe.Class4OL({
-                        initialize: function (e) {
-                            GeoGlobe.Util.extend(this, e)
-                        },
-                        getWMSCapabilities: function (e) {
-                            var t = null;
-                            return this.getCapabilities(e, (function (e) {
-                                var i = e.responseXML;
-                                i && i.documentElement || (i = e.responseText);
-                                var r = new GeoGlobe.Format.WMSCapabilities.v1_1_1;
-                                t = r.read(i)
-                            }
-                            ), (function () {
-                                alert("WMS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
-                            }
-                            )),
-                                t
-                        },
-                        getCapabilities: function (e, t, i) {
-                            "function" != typeof i && (i = function () {
-                                alert("WMS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
-                            }
-                            ),
-                                GeoGlobe.Request.GET({
-                                    url: e,
-                                    params: {
-                                        REQUEST: "GetCapabilities",
-                                        SERVICE: "WMS",
-                                        VERSION: "1.1.1"
-                                    },
-                                    scope: this,
-                                    async: !1,
-                                    success: function (e) {
-                                        "function" == typeof t && t(e)
-                                    },
-                                    failure: i
-                                })
-                        },
-                        createLayerOption: function createLayerOption(url, capabilities, config) {
-                            var layer;
-                            if (!("layer" in config))
-                                throw new Error("Missing property 'layer' in configuration.");
-                            for (var contents = capabilities.capability, layers = contents.layers, layerDef, i = 0, ii = contents.layers.length; i < ii; ++i)
-                                if (contents.layers[i].name === config.layer) {
-                                    layerDef = contents.layers[i];
-                                    break
-                                }
-                            if (!layerDef)
-                                throw new Error("Layer not found");
-                            var format = config.format;
-                            if (!format && layerDef.formats && layerDef.formats.length) {
-                                for (var f = 0; f < layerDef.formats.length; f++)
-                                    "image/png" == layerDef.formats[f] && (format = layerDef.formats[f]);
-                                "image/png" != format && (format = layerDef.formats[0])
-                            }
-                            var styles = config.styles;
-                            !styles && layerDef.styles && layerDef.styles.length && (styles = layerDef.styles[0].name);
-                            var srs = eval(layerDef.srs), SRS;
-                            for (var o in srs)
-                                SRS = o;
-                            var wms_url = ""
-                                , transparent = config.transparent;
-                            if (config.isTile) {
-                                var param = this.getParameterString({
-                                    SERVICE: "WMS",
-                                    REQUEST: "GetMap",
-                                    VERSION: "1.1.1",
-                                    LAYERS: layerDef.name,
-                                    styles: styles,
-                                    FORMAT: format,
-                                    TRANSPARENT: transparent,
-                                    BBOX: "{bbox-epsg-3857}",
-                                    WIDTH: "256",
-                                    HEIGHT: "256",
-                                    SRS: SRS
-                                });
-                                wms_url = url.endsWith("?") ? url + param : url + "?" + param,
-                                    wms_url = GeoGlobe.appendToProxy(wms_url);
-                                var randomNum = GeoGlobe.Util.randomStr(10)
-                                    , metadata = {
-                                        name: layerDef.name,
-                                        srs: SRS,
-                                        bbox: layerDef.bbox,
-                                        format: format
-                                    }
-                                    , layerOption = {
-                                        id: "layer_" + layerDef.name + "_" + randomNum,
-                                        type: "raster",
-                                        source: {
-                                            type: "raster",
-                                            tiles: [wms_url],
-                                            tileSize: 256
-                                        },
-                                        metadata: metadata,
-                                        paint: {
-                                            "raster-opacity": 1
-                                        }
-                                    };
-                                return layerOption
-                            }
-                            return layerOption = new GeoGlobe.Layer.WMS({
-                                url: url,
-                                layer: layerDef.name,
-                                format: format,
-                                version: "1.1.1",
-                                SRS: SRS,
-                                styles: styles,
-                                bbox: layerDef.bbox,
-                                isTile: !1
-                            }),
-                                layerOption
-                        },
-                        createLayer: function (e, t, i) {
-                            this.url = e,
-                                i = !(void 0 !== i && !i);
-                            var r = !!(t && void 0 === t.transparent || t.transparent)
-                                , n = this.getWMSCapabilities(e)
-                                , o = {
-                                    layer: t && t.layer ? t.layer : n.capability.layers[0].name,
-                                    transparent: r,
-                                    isTile: i
-                                };
-                            return this.createLayerOption(e, n, o)
-                        },
-                        createLayers: function (e, t, i) {
-                            i = !(void 0 !== i && !i);
-                            for (var r = !!(t && void 0 === t.transparent || t.transparent), n = this.getWMSCapabilities(e), o = n.capability.layers, a = [], s = 0; s < o.length; s++) {
-                                var x = {
-                                    layer: o[s].name,
-                                    transparent: r,
-                                    isTile: i
-                                }
-                                    , l = this.createLayerOption(e, n, x);
-                                a.push(l)
-                            }
-                            return a
-                        },
-                        getParameterString: function (e) {
-                            var t = [];
-                            for (var i in e) {
-                                var r = e[i];
-                                null != r && "function" != typeof r && t.push(i + "=" + r)
-                            }
-                            return t.join("&")
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WMS"
-                    }),
-                    GeoGlobe.Format.VTS = GeoGlobe.Class4OL({
-                        initialize: function (e) {
-                            GeoGlobe.Util.extend(this, e)
-                        },
-                        getVTSCapabilities: function (e) {
-                            this.url = e;
-                            var t = null;
-                            return this.getCapabilities(e, (function (e) {
-                                var i = e.responseXML;
-                                i && i.documentElement || (i = e.responseText);
-                                var r = new GeoGlobe.Format.VTSCapabilities.v1_0_0;
-                                t = r.read(i)
-                            }
-                            ), (function () {
-                                alert("VTS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
-                            }
-                            )),
-                                t
-                        },
-                        getCapabilities: function (e, t, i) {
-                            "function" != typeof i && (i = function () {
-                                alert("VTS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
-                            }
-                            ),
-                                GeoGlobe.Request.GET({
-                                    url: e,
-                                    params: {
-                                        REQUEST: "GetCapabilities",
-                                        SERVICE: "WMTS"
-                                    },
-                                    scope: this,
-                                    async: !1,
-                                    success: function (e) {
-                                        "function" == typeof t && t(e)
-                                    },
-                                    failure: i
-                                })
-                        },
-                        createLayerOption: function (e, t, i) {
-                            if (!("layer" in i))
-                                throw new Error("Missing property 'layer' in configuration.");
-                            for (var r, n = t.contents, o = (n.layers,
-                                0), a = n.layers.length; o < a; ++o)
-                                if (n.layers[o].identifier === i.layer) {
-                                    r = n.layers[o];
-                                    break
-                                }
-                            if (!r)
-                                throw new Error("Layer not found");
-                            var s, x = i.format;
-                            if (!x && r.formats && r.formats.length && (x = r.formats[0]),
-                                i.matrixSet)
-                                s = n.tileMatrixSets[i.matrixSet];
-                            else if (i.projection) {
-                                o = 0;
-                                for (var l = r.tileMatrixSetLinks.length; o < l; o++)
-                                    if (n.tileMatrixSets[r.tileMatrixSetLinks[o].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3") === i.projection) {
-                                        s = n.tileMatrixSets[r.tileMatrixSetLinks[o].tileMatrixSet];
-                                        break
-                                    }
-                            } else
-                                r.tileMatrixSetLinks.length >= 1 && (s = n.tileMatrixSets[r.tileMatrixSetLinks[0].tileMatrixSet]);
-                            if (!s)
-                                throw new Error("matrixSet not found");
-                            var c = [];
-                            i.styleName && "" != i.styleName ? c[0] = i.styleName : this.GetStyleName((function (e) {
-                                c = e
-                            }
-                            ));
-                            var u = i.requestEncoding;
-                            u || (u = "KVP",
-                                t.operationsMetadata.GetTile.dcp.http);
-                            var h = []
-                                , f = i.params || {};
-                            delete i.params;
-                            for (var d = 0, g = r.dimensions.length; d < g; d++) {
-                                var p = r.dimensions[d];
-                                h.push(p.identifier),
-                                    f.hasOwnProperty(p.identifier) || (f[p.identifier] = p.default)
-                            }
-                            var m, b, v, C = i.projection || s.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"), y = i.units || ("EPSG:4326" === C ? "degrees" : "m"), _ = [], A = [], I = r.tileMatrixSetLinks, w = function (e) {
-                                _.push(28e-5 * e / GeoGlobe.METERS_PER_INCH / GeoGlobe.INCHES_PER_UNIT[y]),
-                                    (!m || m > e) && (m = e),
-                                    (!b || b < e) && (b = e)
-                            }, G = 0;
-                            for (l = I.length; G < l; G++)
-                                if ((v = I[G]).tileMatrixSet === s.identifier) {
-                                    if (v.tileMatrixSetLimits) {
-                                        for (var E, S = {}, T = 0, P = s.matrixIds.length; T < P; T++)
-                                            S[s.matrixIds[T].identifier] = s.matrixIds[T];
-                                        for (T = 0,
-                                            P = v.tileMatrixSetLimits.length; T < P; T++)
-                                            E = S[v.tileMatrixSetLimits[T].tileMatrix],
-                                                A.push(E),
-                                                w(E.scaleDenominator)
-                                    } else
-                                        for (T = 0,
-                                            P = s.matrixIds.length; T < P; T++)
-                                            w(s.matrixIds[T].scaleDenominator);
-                                    break
-                                }
-                            _.sort((function (e, t) {
-                                return t - e
-                            }
-                            ));
-                            var M, N = {
-                                layers: [],
-                                source: {},
-                                source_id: "",
-                                url: "",
-                                url_tmpl: "",
-                                layerType: "VTS"
-                            }, L = this.getParameterString({
-                                SERVICE: "WMTS",
-                                REQUEST: "GetTile",
-                                VERSION: t.version,
-                                LAYER: r.identifier,
-                                TILEMATRIXSET: s.identifier,
-                                FORMAT: "protobuf",
-                                TILEMATRIX: "{z}",
-                                TILEROW: "{y}",
-                                TILECOL: "{x}"
-                            });
-                            if (N.url = e,
-                                M = e.endsWith("?") ? GeoGlobe.ProxyHost + e + L : GeoGlobe.ProxyHost + e + "?" + L,
-                                N.url_tmpl = M,
-                                GeoGlobe.Util.randomStr(10),
-                                r.bounds)
-                                var R = [r.bounds._sw.lng, r.bounds._sw.lat, r.bounds._ne.lng, r.bounds._ne.lat];
-                            else
-                                r.BoundingBox && (R = r.BoundingBox[0].bounds.toBBOX());
-                            var O = r.tileMatrixSetLinks[0].tileMatrixSet
-                                , F = n.tileMatrixSets[O].matrixIds[0].identifier;
-                            return this.GetStyle(c[0], (function (e) {
-                                if (e.sprite)
-                                    var t = GeoGlobe.ProxyHost + e.sprite;
-                                else
-                                    t = "";
-                                if (e.glyphs)
-                                    var i = GeoGlobe.ProxyHost + e.glyphs;
-                                else
-                                    i = "";
-                                var n = {
-                                    name: r.identifier,
-                                    sprite: t,
-                                    glyphs: i,
-                                    styleName: e.styleName,
-                                    srs: C,
-                                    bbox: R,
-                                    format: r.formats,
-                                    zoomoffset: F
-                                }
-                                    , o = "source_vts_" + GeoGlobe.Util.randomStr(6);
-                                if (N.source_id = o,
-                                    N.source = {
-                                        type: "vector",
-                                        tiles: [M]
-                                    },
-                                    e.styleData)
-                                    for (var a = 0; a < e.styleData.layers.length; a++)
-                                        e.styleData.layers[a].metadata = n,
-                                            e.styleData.layers[a].source = o,
-                                            N.layers[a] = e.styleData.layers[a];
-                                else
-                                    for (a = 0; a < e.layers.length; a++)
-                                        e.layers[a].metadata = n,
-                                            e.layers[a].source = o,
-                                            N.layers[a] = e.layers[a]
-                            }
-                            ), (function () {
-                                alert("WMTS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
-                            }
-                            )),
-                                N
-                        },
-                        createLayer: function (e, t) {
-                            var i = this.getVTSCapabilities(e);
-                            return (t = t || {}).layer = t.layer ? t.layer : i.contents.layers[0].identifier,
-                                t.styleName = t.styleName ? t.styleName : "",
-                                this.createLayerOption(e, i, t)
-                        },
-                        createLayers: function (e) {
-                            for (var t = this.getVTSCapabilities(e), i = t.contents.layers, r = [], n = 0; n < i.length; n++) {
-                                var o = {
-                                    layer: i[n].identifier
-                                }
-                                    , a = this.createLayerOption(e, t, o);
-                                r.push(a)
-                            }
-                            return r
-                        },
-                        GetStyleName: function (e, t) {
-                            var i = this.url
-                                , r = {
-                                    REQUEST: "GetStyle",
-                                    SERVICE: "WMTS",
-                                    VERSION: "1.0.0"
-                                };
-                            t || (t = function () {
-                                this.failFn(r.REQUEST)
-                            }
-                            ),
-                                GeoGlobe.Request.GET({
-                                    url: i,
-                                    params: r,
-                                    scope: this,
-                                    async: !1,
-                                    success: function (i) {
-                                        var r = i.responseText;
-                                        if (!r)
-                                            return t(),
-                                                !1;
-                                        var n = (new GeoGlobe.Format.JSON).read(r)
-                                            , o = [];
-                                        if (n.style)
-                                            for (var a = 0; a < n.style.length; a++)
-                                                o.push(n.style[a].styleName);
-                                        else if (n.styleName)
-                                            for (var s = 0; s < n.styleName.length; s++)
-                                                o.push(n.styleName[s]);
-                                        e(o)
-                                    },
-                                    failure: t
-                                })
-                        },
-                        GetStyle: function (e, t, i) {
-                            var r = this.url;
-                            if ("" != e && null != e) {
-                                var n = {
-                                    REQUEST: "GetStyle",
-                                    SERVICE: "WMTS",
-                                    VERSION: "1.0.0",
-                                    STYLENAME: e
-                                };
-                                i || (i = function () {
-                                    this.failFn(n.REQUEST)
-                                }
-                                ),
-                                    GeoGlobe.Request.GET({
-                                        url: r,
-                                        params: n,
-                                        scope: this,
-                                        async: !1,
-                                        success: function (e) {
-                                            var r = e.responseText;
-                                            if (!r)
-                                                return i(),
-                                                    !1;
-                                            var n = (new GeoGlobe.Format.JSON).read(r);
-                                            t(n)
-                                        },
-                                        failure: i
-                                    })
-                            } else
-                                alert("璇锋煡鐪嬫牱寮忓悕绉版槸鍚﹀瓨鍦�")
-                        },
-                        getParameterString: function (e) {
-                            var t = [];
-                            for (var i in e) {
-                                var r = e[i];
-                                null != r && "function" != typeof r && t.push(i + "=" + r)
-                            }
-                            return t.join("&")
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.VTS"
-                    }),
-                    GeoGlobe.Format.WMSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
-                        defaultVersion: "1.1.1",
-                        profile: null,
-                        CLASS_NAME: "GeoGlobe.Format.WMSCapabilities"
-                    }),
-                    GeoGlobe.Format.WMSCapabilities.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        namespaces: {
-                            wms: "http://www.opengis.net/wms",
-                            xlink: "http://www.w3.org/1999/xlink",
-                            xsi: "http://www.w3.org/2001/XMLSchema-instance"
-                        },
-                        defaultPrefix: "wms",
-                        read: function (e) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
-                            var t = e;
-                            e && 9 == e.nodeType && (e = e.documentElement);
-                            var i = {};
-                            if (this.readNode(e, i),
-                                void 0 === i.service) {
-                                var r = new GeoGlobe.Format.OGCExceptionReport;
-                                i.error = r.read(t)
-                            }
-                            return i
-                        },
-                        readers: {
-                            wms: {
-                                Service: function (e, t) {
-                                    t.service = {},
-                                        this.readChildNodes(e, t.service)
-                                },
-                                Name: function (e, t) {
-                                    t.name = this.getChildValue(e)
-                                },
-                                Title: function (e, t) {
-                                    t.title = this.getChildValue(e)
-                                },
-                                Abstract: function (e, t) {
-                                    t.abstract = this.getChildValue(e)
-                                },
-                                BoundingBox: function (e, t) {
-                                    var i = {};
-                                    i.bbox = [_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("minx")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("miny")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("maxx")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("maxy"))];
-                                    var r = {
-                                        x: _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("resx")),
-                                        y: _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("resy"))
-                                    };
-                                    return isNaN(r.x) && isNaN(r.y) || (i.res = r),
-                                        i
-                                },
-                                OnlineResource: function (e, t) {
-                                    t.href = this.getAttributeNS(e, this.namespaces.xlink, "href")
-                                },
-                                ContactInformation: function (e, t) {
-                                    t.contactInformation = {},
-                                        this.readChildNodes(e, t.contactInformation)
-                                },
-                                ContactPersonPrimary: function (e, t) {
-                                    t.personPrimary = {},
-                                        this.readChildNodes(e, t.personPrimary)
-                                },
-                                ContactPerson: function (e, t) {
-                                    t.person = this.getChildValue(e)
-                                },
-                                ContactOrganization: function (e, t) {
-                                    t.organization = this.getChildValue(e)
-                                },
-                                ContactPosition: function (e, t) {
-                                    t.position = this.getChildValue(e)
-                                },
-                                ContactAddress: function (e, t) {
-                                    t.contactAddress = {},
-                                        this.readChildNodes(e, t.contactAddress)
-                                },
-                                AddressType: function (e, t) {
-                                    t.type = this.getChildValue(e)
-                                },
-                                Address: function (e, t) {
-                                    t.address = this.getChildValue(e)
-                                },
-                                City: function (e, t) {
-                                    t.city = this.getChildValue(e)
-                                },
-                                StateOrProvince: function (e, t) {
-                                    t.stateOrProvince = this.getChildValue(e)
-                                },
-                                PostCode: function (e, t) {
-                                    t.postcode = this.getChildValue(e)
-                                },
-                                Country: function (e, t) {
-                                    t.country = this.getChildValue(e)
-                                },
-                                ContactVoiceTelephone: function (e, t) {
-                                    t.phone = this.getChildValue(e)
-                                },
-                                ContactFacsimileTelephone: function (e, t) {
-                                    t.fax = this.getChildValue(e)
-                                },
-                                ContactElectronicMailAddress: function (e, t) {
-                                    t.email = this.getChildValue(e)
-                                },
-                                Fees: function (e, t) {
-                                    var i = this.getChildValue(e);
-                                    i && "none" != i.toLowerCase() && (t.fees = i)
-                                },
-                                AccessConstraints: function (e, t) {
-                                    var i = this.getChildValue(e);
-                                    i && "none" != i.toLowerCase() && (t.accessConstraints = i)
-                                },
-                                Capability: function (e, t) {
-                                    t.capability = {
-                                        nestedLayers: [],
-                                        layers: []
-                                    },
-                                        this.readChildNodes(e, t.capability)
-                                },
-                                Request: function (e, t) {
-                                    t.request = {},
-                                        this.readChildNodes(e, t.request)
-                                },
-                                GetCapabilities: function (e, t) {
-                                    t.getcapabilities = {
-                                        formats: []
-                                    },
-                                        this.readChildNodes(e, t.getcapabilities)
-                                },
-                                Format: function (e, t) {
-                                    GeoGlobe.Util.isArray(t.formats) ? t.formats.push(this.getChildValue(e)) : t.format = this.getChildValue(e)
-                                },
-                                DCPType: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                HTTP: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                Get: function (e, t) {
-                                    t.get = {},
-                                        this.readChildNodes(e, t.get),
-                                        t.href || (t.href = t.get.href)
-                                },
-                                Post: function (e, t) {
-                                    t.post = {},
-                                        this.readChildNodes(e, t.post),
-                                        t.href || (t.href = t.get.href)
-                                },
-                                GetMap: function (e, t) {
-                                    t.getmap = {
-                                        formats: []
-                                    },
-                                        this.readChildNodes(e, t.getmap)
-                                },
-                                GetFeatureInfo: function (e, t) {
-                                    t.getfeatureinfo = {
-                                        formats: []
-                                    },
-                                        this.readChildNodes(e, t.getfeatureinfo)
-                                },
-                                Exception: function (e, t) {
-                                    t.exception = {
-                                        formats: []
-                                    },
-                                        this.readChildNodes(e, t.exception)
-                                },
-                                Layer: function (e, t) {
-                                    var i, r;
-                                    t.capability ? (r = t.capability,
-                                        i = t) : r = t;
-                                    var n = e.getAttributeNode("queryable")
-                                        , o = n && n.specified ? e.getAttribute("queryable") : null
-                                        , a = (n = e.getAttributeNode("cascaded")) && n.specified ? e.getAttribute("cascaded") : null
-                                        , s = (n = e.getAttributeNode("opaque")) && n.specified ? e.getAttribute("opaque") : null
-                                        , x = e.getAttribute("noSubsets")
-                                        , l = e.getAttribute("fixedWidth")
-                                        , c = e.getAttribute("fixedHeight")
-                                        , u = i || {}
-                                        , h = GeoGlobe.Util.extend
-                                        , f = {
-                                            nestedLayers: [],
-                                            styles: i ? [].concat(i.styles) : [],
-                                            srs: i ? h({}, u.srs) : {},
-                                            metadataURLs: [],
-                                            bbox: i ? h({}, u.bbox) : {},
-                                            llbbox: u.llbbox,
-                                            dimensions: i ? h({}, u.dimensions) : {},
-                                            authorityURLs: i ? h({}, u.authorityURLs) : {},
-                                            identifiers: {},
-                                            keywords: [],
-                                            queryable: o && "" !== o ? "1" === o || "true" === o : u.queryable || !1,
-                                            cascaded: null !== a ? _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(a) : u.cascaded || 0,
-                                            opaque: s ? "1" === s || "true" === s : u.opaque || !1,
-                                            noSubsets: null !== x ? "1" === x || "true" === x : u.noSubsets || !1,
-                                            fixedWidth: null != l ? _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(l) : u.fixedWidth || 0,
-                                            fixedHeight: null != c ? _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(c) : u.fixedHeight || 0,
-                                            minScale: u.minScale,
-                                            maxScale: u.maxScale,
-                                            attribution: u.attribution
-                                        };
-                                    if (t.nestedLayers.push(f),
-                                        f.capability = r,
-                                        this.readChildNodes(e, f),
-                                        delete f.capability,
-                                        f.name) {
-                                        var d = f.name.split(":")
-                                            , g = r.request
-                                            , p = g.getfeatureinfo;
-                                        d.length > 0 && (f.prefix = d[0]),
-                                            r.layers.push(f),
-                                            void 0 === f.formats && (f.formats = g.getmap.formats),
-                                            void 0 === f.infoFormats && p && (f.infoFormats = p.formats)
-                                    }
-                                },
-                                Attribution: function (e, t) {
-                                    t.attribution = {},
-                                        this.readChildNodes(e, t.attribution)
-                                },
-                                LogoURL: function (e, t) {
-                                    t.logo = {
-                                        width: e.getAttribute("width"),
-                                        height: e.getAttribute("height")
-                                    },
-                                        this.readChildNodes(e, t.logo)
-                                },
-                                Style: function (e, t) {
-                                    var i = {};
-                                    t.styles.push(i),
-                                        this.readChildNodes(e, i)
-                                },
-                                LegendURL: function (e, t) {
-                                    var i = {
-                                        width: e.getAttribute("width"),
-                                        height: e.getAttribute("height")
-                                    };
-                                    t.legend = i,
-                                        this.readChildNodes(e, i)
-                                },
-                                MetadataURL: function (e, t) {
-                                    var i = {
-                                        type: e.getAttribute("type")
-                                    };
-                                    t.metadataURLs.push(i),
-                                        this.readChildNodes(e, i)
-                                },
-                                DataURL: function (e, t) {
-                                    t.dataURL = {},
-                                        this.readChildNodes(e, t.dataURL)
-                                },
-                                FeatureListURL: function (e, t) {
-                                    t.featureListURL = {},
-                                        this.readChildNodes(e, t.featureListURL)
-                                },
-                                AuthorityURL: function (e, t) {
-                                    var i = e.getAttribute("name")
-                                        , r = {};
-                                    this.readChildNodes(e, r),
-                                        t.authorityURLs[i] = r.href
-                                },
-                                Identifier: function (e, t) {
-                                    var i = e.getAttribute("authority");
-                                    t.identifiers[i] = this.getChildValue(e)
-                                },
-                                KeywordList: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                SRS: function (e, t) {
-                                    t.srs[this.getChildValue(e)] = !0
-                                }
-                            }
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1"
-                    }),
-                    GeoGlobe.Format.WMSCapabilities.v1_1 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1, {
-                        readers: {
-                            wms: GeoGlobe.Util.applyDefaults({
-                                WMT_MS_Capabilities: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                Keyword: function (e, t) {
-                                    t.keywords && t.keywords.push(this.getChildValue(e))
-                                },
-                                DescribeLayer: function (e, t) {
-                                    t.describelayer = {
-                                        formats: []
-                                    },
-                                        this.readChildNodes(e, t.describelayer)
-                                },
-                                GetLegendGraphic: function (e, t) {
-                                    t.getlegendgraphic = {
-                                        formats: []
-                                    },
-                                        this.readChildNodes(e, t.getlegendgraphic)
-                                },
-                                GetStyles: function (e, t) {
-                                    t.getstyles = {
-                                        formats: []
-                                    },
-                                        this.readChildNodes(e, t.getstyles)
-                                },
-                                PutStyles: function (e, t) {
-                                    t.putstyles = {
-                                        formats: []
-                                    },
-                                        this.readChildNodes(e, t.putstyles)
-                                },
-                                UserDefinedSymbolization: function (e, t) {
-                                    var i = {
-                                        supportSLD: 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("SupportSLD")),
-                                        userLayer: 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("UserLayer")),
-                                        userStyle: 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("UserStyle")),
-                                        remoteWFS: 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("RemoteWFS"))
-                                    };
-                                    t.userSymbols = i
-                                },
-                                LatLonBoundingBox: function (e, t) {
-                                    t.llbbox = [_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("minx")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("miny")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("maxx")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("maxy"))]
-                                },
-                                BoundingBox: function (e, t) {
-                                    var i = GeoGlobe.Format.WMSCapabilities.v1.prototype.readers.wms.BoundingBox.apply(this, [e, t]);
-                                    i.srs = e.getAttribute("SRS"),
-                                        t.bbox[i.srs] = i
-                                },
-                                ScaleHint: function (e, t) {
-                                    var i = e.getAttribute("min")
-                                        , r = e.getAttribute("max")
-                                        , n = Math.pow(2, .5)
-                                        , o = GeoGlobe.INCHES_PER_UNIT.m;
-                                    0 != i && (t.maxScale = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()((i / n * o * GeoGlobe.DOTS_PER_INCH).toPrecision(13))),
-                                        r != Number.POSITIVE_INFINITY && (t.minScale = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()((r / n * o * GeoGlobe.DOTS_PER_INCH).toPrecision(13)))
-                                },
-                                Dimension: function (e, t) {
-                                    var i = {
-                                        name: e.getAttribute("name").toLowerCase(),
-                                        units: e.getAttribute("units"),
-                                        unitsymbol: e.getAttribute("unitSymbol")
-                                    };
-                                    t.dimensions[i.name] = i
-                                },
-                                Extent: function (e, t) {
-                                    var i = e.getAttribute("name").toLowerCase();
-                                    if (i in t.dimensions) {
-                                        var r = t.dimensions[i];
-                                        r.nearestVal = "1" === e.getAttribute("nearestValue"),
-                                            r.multipleVal = "1" === e.getAttribute("multipleValues"),
-                                            r.current = "1" === e.getAttribute("current"),
-                                            r.default = e.getAttribute("default") || "";
-                                        var n = this.getChildValue(e);
-                                        r.values = n.split(",")
-                                    }
-                                }
-                            }, GeoGlobe.Format.WMSCapabilities.v1.prototype.readers.wms)
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_1"
-                    }),
-                    GeoGlobe.Format.WMSCapabilities.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1_1, {
-                        version: "1.1.0",
-                        readers: {
-                            wms: GeoGlobe.Util.applyDefaults({
-                                SRS: function (e, t) {
-                                    for (var i = this.getChildValue(e).split(/ +/), r = 0, n = i.length; r < n; r++)
-                                        t.srs[i[r]] = !0
-                                }
-                            }, GeoGlobe.Format.WMSCapabilities.v1_1.prototype.readers.wms)
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_1_0"
-                    }),
-                    GeoGlobe.Format.WMSCapabilities.v1_1_1 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1_1, {
-                        version: "1.1.1",
-                        readers: {
-                            wms: GeoGlobe.Util.applyDefaults({
-                                SRS: function (e, t) {
-                                    t.srs[this.getChildValue(e)] = !0
-                                }
-                            }, GeoGlobe.Format.WMSCapabilities.v1_1.prototype.readers.wms)
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_1_1"
-                    }),
-                    GeoGlobe.Format.WMSCapabilities.v1_1_1_WMSC = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1_1_1, {
-                        version: "1.1.1",
-                        profile: "WMSC",
-                        readers: {
-                            wms: GeoGlobe.Util.applyDefaults({
-                                VendorSpecificCapabilities: function (e, t) {
-                                    t.vendorSpecific = {
-                                        tileSets: []
-                                    },
-                                        this.readChildNodes(e, t.vendorSpecific)
-                                },
-                                TileSet: function (e, t) {
-                                    var i = {
-                                        srs: {},
-                                        bbox: {},
-                                        resolutions: []
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.tileSets.push(i)
-                                },
-                                Resolutions: function (e, t) {
-                                    for (var i = this.getChildValue(e).split(" "), r = 0, n = i.length; r < n; r++)
-                                        "" != i[r] && t.resolutions.push(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(i[r]))
-                                },
-                                Width: function (e, t) {
-                                    t.width = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                Height: function (e, t) {
-                                    t.height = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                Layers: function (e, t) {
-                                    t.layers = this.getChildValue(e)
-                                },
-                                Styles: function (e, t) {
-                                    t.styles = this.getChildValue(e)
-                                }
-                            }, GeoGlobe.Format.WMSCapabilities.v1_1_1.prototype.readers.wms)
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_1_1_WMSC"
-                    }),
-                    GeoGlobe.Format.WMSCapabilities.v1_3 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1, {
-                        readers: {
-                            wms: GeoGlobe.Util.applyDefaults({
-                                WMS_Capabilities: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                LayerLimit: function (e, t) {
-                                    t.layerLimit = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                MaxWidth: function (e, t) {
-                                    t.maxWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                MaxHeight: function (e, t) {
-                                    t.maxHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                BoundingBox: function (e, t) {
-                                    var i = GeoGlobe.Format.WMSCapabilities.v1.prototype.readers.wms.BoundingBox.apply(this, [e, t]);
-                                    i.srs = e.getAttribute("CRS"),
-                                        t.bbox[i.srs] = i
-                                },
-                                CRS: function (e, t) {
-                                    this.readers.wms.SRS.apply(this, [e, t])
-                                },
-                                EX_GeographicBoundingBox: function (e, t) {
-                                    t.llbbox = [],
-                                        this.readChildNodes(e, t.llbbox)
-                                },
-                                westBoundLongitude: function (e, t) {
-                                    t[0] = this.getChildValue(e)
-                                },
-                                eastBoundLongitude: function (e, t) {
-                                    t[2] = this.getChildValue(e)
-                                },
-                                southBoundLatitude: function (e, t) {
-                                    t[1] = this.getChildValue(e)
-                                },
-                                northBoundLatitude: function (e, t) {
-                                    t[3] = this.getChildValue(e)
-                                },
-                                MinScaleDenominator: function (e, t) {
-                                    t.maxScale = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.getChildValue(e)).toPrecision(16)
-                                },
-                                MaxScaleDenominator: function (e, t) {
-                                    t.minScale = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.getChildValue(e)).toPrecision(16)
-                                },
-                                Dimension: function (e, t) {
-                                    var i = {
-                                        name: e.getAttribute("name").toLowerCase(),
-                                        units: e.getAttribute("units"),
-                                        unitsymbol: e.getAttribute("unitSymbol"),
-                                        nearestVal: "1" === e.getAttribute("nearestValue"),
-                                        multipleVal: "1" === e.getAttribute("multipleValues"),
-                                        default: e.getAttribute("default") || "",
-                                        current: "1" === e.getAttribute("current"),
-                                        values: this.getChildValue(e).split(",")
-                                    };
-                                    t.dimensions[i.name] = i
-                                },
-                                Keyword: function (e, t) {
-                                    var i = {
-                                        value: this.getChildValue(e),
-                                        vocabulary: e.getAttribute("vocabulary")
-                                    };
-                                    t.keywords && t.keywords.push(i)
-                                }
-                            }, GeoGlobe.Format.WMSCapabilities.v1.prototype.readers.wms),
-                            sld: {
-                                UserDefinedSymbolization: function (e, t) {
-                                    this.readers.wms.UserDefinedSymbolization.apply(this, [e, t]),
-                                        t.userSymbols.inlineFeature = 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("InlineFeature")),
-                                        t.userSymbols.remoteWCS = 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("RemoteWCS"))
-                                },
-                                DescribeLayer: function (e, t) {
-                                    this.readers.wms.DescribeLayer.apply(this, [e, t])
-                                },
-                                GetLegendGraphic: function (e, t) {
-                                    this.readers.wms.GetLegendGraphic.apply(this, [e, t])
-                                }
-                            }
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_3"
-                    }),
-                    GeoGlobe.Format.WMSCapabilities.v1_3_0 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1_3, {
-                        version: "1.3.0",
-                        CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_3_0"
-                    }),
-                    GeoGlobe.Format.WMTSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
-                        defaultVersion: "1.0.0",
-                        yx: {
-                            "urn:ogc:def:crs:EPSG::4326": !0
-                        },
-                        createLayer: function (e, t) {
-                            if (!("layer" in t))
-                                throw new Error("Missing property 'layer' in configuration.");
-                            for (var i, r = e.contents, n = (r.layers,
-                                0), o = r.layers.length; n < o; ++n)
-                                if (r.layers[n].identifier === t.layer) {
-                                    i = r.layers[n];
-                                    break
-                                }
-                            if (!i)
-                                throw new Error("Layer not found");
-                            var a, s, x = t.format;
-                            if (!x && i.formats && i.formats.length && (x = i.formats[0]),
-                                t.matrixSet)
-                                a = r.tileMatrixSets[t.matrixSet];
-                            else if (t.projection) {
-                                n = 0;
-                                for (var l = i.tileMatrixSetLinks.length; n < l; n++)
-                                    if (r.tileMatrixSets[i.tileMatrixSetLinks[n].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3") === t.projection) {
-                                        a = r.tileMatrixSets[i.tileMatrixSetLinks[n].tileMatrixSet];
-                                        break
-                                    }
-                            } else
-                                i.tileMatrixSetLinks.length >= 1 && (a = r.tileMatrixSets[i.tileMatrixSetLinks[0].tileMatrixSet]);
-                            if (!a)
-                                throw new Error("matrixSet not found");
-                            for (n = 0,
-                                o = i.styles.length; n < o && !(s = i.styles[n]).isDefault; ++n)
-                                ;
-                            var c = t.requestEncoding;
-                            c || (c = "KVP",
-                                e.operationsMetadata.GetTile.dcp.http);
-                            var u = []
-                                , h = t.params || {};
-                            delete t.params;
-                            for (var f = 0, d = i.dimensions.length; f < d; f++) {
-                                var g = i.dimensions[f];
-                                u.push(g.identifier),
-                                    h.hasOwnProperty(g.identifier) || (h[g.identifier] = g.default)
-                            }
-                            var p, m, b, v, C = t.projection || a.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"), y = t.units || ("EPSG:4326" === C ? "degrees" : "m"), _ = [], A = [], I = i.tileMatrixSetLinks, w = function (e) {
-                                _.push(28e-5 * e / GeoGlobe.METERS_PER_INCH / GeoGlobe.INCHES_PER_UNIT[y]),
-                                    (!p || p > e) && (p = e),
-                                    (!m || m < e) && (m = e)
-                            }, G = 0;
-                            for (l = I.length; G < l; G++)
-                                if ((b = I[G]).tileMatrixSet === a.identifier) {
-                                    if (b.tileMatrixSetLimits) {
-                                        for (var E, S = {}, T = 0, P = a.matrixIds.length; T < P; T++)
-                                            S[a.matrixIds[T].identifier] = a.matrixIds[T];
-                                        for (T = 0,
-                                            P = b.tileMatrixSetLimits.length; T < P; T++)
-                                            E = S[b.tileMatrixSetLimits[T].tileMatrix],
-                                                A.push(E),
-                                                w(E.scaleDenominator)
-                                    } else
-                                        for (T = 0,
-                                            P = a.matrixIds.length; T < P; T++)
-                                            w(a.matrixIds[T].scaleDenominator);
-                                    break
-                                }
-                            if ("REST" === c && i.resourceUrls) {
-                                v = [],
-                                    i.resourceUrls;
-                                for (var M, N = 0, L = i.resourceUrls.length; N < L; ++N)
-                                    (M = i.resourceUrls[N]).format === x && "tile" === M.resourceType && v.push(M.template)
-                            } else {
-                                var R, O = e.operationsMetadata.GetTile.dcp.http.get;
-                                for (v = [],
-                                    n = 0,
-                                    o = O.length; n < o; n++)
-                                    (!(R = O[n].constraints) || R && R.GetEncoding.allowedValues[c]) && v.push(O[n].url)
-                            }
-                            _.sort((function (e, t) {
-                                return t - e
-                            }
-                            ));
-                            var F, D = "SERVICE=WMTS&REQUEST=GetTile&VERSION=" + e.version + "&LAYER=" + i.identifier + "&STYLE=" + s.identifier + "&TILEMATRIXSET=" + a.identifier + "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=" + x;
-                            F = v[0].endsWith("?") ? v[0] + D : v[0] + "?" + D;
-                            var U = GeoGlobe.Util.applyDefaults(t, {
-                                id: i.identifier,
-                                url: [F]
-                            })
-                                , k = {
-                                    id: U.id,
-                                    layer: {
-                                        id: U.id,
-                                        type: "raster",
-                                        source: U.id
-                                    },
-                                    source: {
-                                        type: "raster",
-                                        tiles: U.url,
-                                        tileSize: 256
-                                    }
-                                };
-                            return k.matrixSet = a,
-                                k.identifier = i.identifier,
-                                k.bounds = i.bounds,
-                                k
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WMTSCapabilities"
-                    }),
-                    GeoGlobe.Format.WMTSCapabilities.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.OWSCommon.v1_1_0, {
-                        version: "1.0.0",
-                        namespaces: {
-                            ows: "http://www.opengis.net/ows/1.1",
-                            wmts: "http://www.opengis.net/wmts/1.0",
-                            xlink: "http://www.w3.org/1999/xlink"
-                        },
-                        yx: null,
-                        defaultPrefix: "wmts",
-                        initialize: function (e) {
-                            GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]),
-                                this.options = e;
-                            var t = GeoGlobe.Util.extend({}, GeoGlobe.Format.WMTSCapabilities.prototype.yx);
-                            this.yx = GeoGlobe.Util.extend(t, this.yx)
-                        },
-                        read: function (e) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
-                                e && 9 == e.nodeType && (e = e.documentElement);
-                            var t = {};
-                            return this.readNode(e, t),
-                                t.version = this.version,
-                                t
-                        },
-                        readers: {
-                            wmts: {
-                                Capabilities: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                Contents: function (e, t) {
-                                    t.contents = {},
-                                        t.contents.layers = [],
-                                        t.contents.tileMatrixSets = {},
-                                        this.readChildNodes(e, t.contents)
-                                },
-                                Layer: function (e, t) {
-                                    var i = {
-                                        styles: [],
-                                        formats: [],
-                                        dimensions: [],
-                                        tileMatrixSetLinks: []
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.layers.push(i)
-                                },
-                                Style: function (e, t) {
-                                    var i = {};
-                                    i.isDefault = "true" === e.getAttribute("isDefault"),
-                                        this.readChildNodes(e, i),
-                                        t.styles.push(i)
-                                },
-                                Format: function (e, t) {
-                                    t.formats.push(this.getChildValue(e))
-                                },
-                                TileMatrixSetLink: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.tileMatrixSetLinks.push(i)
-                                },
-                                TileMatrixSet: function (e, t) {
-                                    if (t.layers) {
-                                        var i = {
-                                            matrixIds: []
-                                        };
-                                        this.readChildNodes(e, i),
-                                            t.tileMatrixSets[i.identifier] = i
-                                    } else
-                                        t.tileMatrixSet = this.getChildValue(e)
-                                },
-                                TileMatrixSetLimits: function (e, t) {
-                                    t.tileMatrixSetLimits = [],
-                                        this.readChildNodes(e, t)
-                                },
-                                TileMatrixLimits: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.tileMatrixSetLimits.push(i)
-                                },
-                                MinTileRow: function (e, t) {
-                                    t.minTileRow = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                MaxTileRow: function (e, t) {
-                                    t.maxTileRow = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                MinTileCol: function (e, t) {
-                                    t.minTileCol = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                MaxTileCol: function (e, t) {
-                                    t.maxTileCol = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                TileMatrix: function (e, t) {
-                                    if (t.identifier) {
-                                        var i = {
-                                            supportedCRS: t.supportedCRS
-                                        };
-                                        this.readChildNodes(e, i),
-                                            t.matrixIds.push(i)
-                                    } else
-                                        t.tileMatrix = this.getChildValue(e)
-                                },
-                                ScaleDenominator: function (e, t) {
-                                    t.scaleDenominator = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.getChildValue(e))
-                                },
-                                TopLeftCorner: function (e, t) {
-                                    var i, r = this.getChildValue(e).split(" ");
-                                    if (t.supportedCRS) {
-                                        var n = t.supportedCRS.replace(/urn:ogc:def:crs:(\w+):.+:(\w+)$/, "urn:ogc:def:crs:$1::$2");
-                                        i = !!this.yx[n]
-                                    }
-                                    t.topLeftCorner = i ? new GeoGlobe.LngLat(r[1], r[0]) : new GeoGlobe.LngLat(r[0], r[1])
-                                },
-                                TileWidth: function (e, t) {
-                                    t.tileWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                TileHeight: function (e, t) {
-                                    t.tileHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                MatrixWidth: function (e, t) {
-                                    t.matrixWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                MatrixHeight: function (e, t) {
-                                    t.matrixHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                ResourceURL: function (e, t) {
-                                    t.resourceUrl = t.resourceUrl || {};
-                                    var i = e.getAttribute("resourceType");
-                                    t.resourceUrls || (t.resourceUrls = []);
-                                    var r = t.resourceUrl[i] = {
-                                        format: e.getAttribute("format"),
-                                        template: e.getAttribute("template"),
-                                        resourceType: i
-                                    };
-                                    t.resourceUrls.push(r)
-                                },
-                                LegendURL: function (e, t) {
-                                    t.legends = t.legends || [];
-                                    var i = {
-                                        format: e.getAttribute("format"),
-                                        href: e.getAttribute("xlink:href")
-                                    }
-                                        , r = e.getAttribute("width")
-                                        , n = e.getAttribute("height")
-                                        , o = e.getAttribute("minScaleDenominator")
-                                        , a = e.getAttribute("maxScaleDenominator");
-                                    null !== r && (i.width = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(r)),
-                                        null !== n && (i.height = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(n)),
-                                        null !== o && (i.minScaleDenominator = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(o)),
-                                        null !== a && (i.maxScaleDenominator = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(a)),
-                                        t.legends.push(i)
-                                },
-                                InfoFormat: function (e, t) {
-                                    t.infoFormats = t.infoFormats || [],
-                                        t.infoFormats.push(this.getChildValue(e))
-                                },
-                                WSDL: function (e, t) {
-                                    t.wsdl = {},
-                                        t.wsdl.href = e.getAttribute("xlink:href")
-                                },
-                                ServiceMetadataURL: function (e, t) {
-                                    t.serviceMetadataUrl = {},
-                                        t.serviceMetadataUrl.href = e.getAttribute("xlink:href")
-                                },
-                                Dimension: function (e, t) {
-                                    var i = {
-                                        values: []
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.dimensions.push(i)
-                                },
-                                Default: function (e, t) {
-                                    t.default = this.getChildValue(e)
-                                },
-                                Value: function (e, t) {
-                                    t.values.push(this.getChildValue(e))
-                                }
-                            },
-                            ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.readers.ows
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WMTSCapabilities.v1_0_0"
-                    }),
-                    GeoGlobe.Format.VTSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
-                        defaultVersion: "1.0.0",
-                        yx: {
-                            "urn:ogc:def:crs:EPSG::4326": !0
-                        },
-                        createLayer: function (e, t) {
-                            if (!("layer" in t))
-                                throw new Error("Missing property 'layer' in configuration.");
-                            for (var i, r = e.contents, n = (r.layers,
-                                0), o = r.layers.length; n < o; ++n)
-                                if (r.layers[n].identifier === t.layer) {
-                                    i = r.layers[n];
-                                    break
-                                }
-                            if (!i)
-                                throw new Error("Layer not found");
-                            var a, s, x = t.format;
-                            if (!x && i.formats && i.formats.length && (x = i.formats[0]),
-                                t.matrixSet)
-                                a = r.tileMatrixSets[t.matrixSet];
-                            else if (t.projection) {
-                                n = 0;
-                                for (var l = i.tileMatrixSetLinks.length; n < l; n++)
-                                    if (r.tileMatrixSets[i.tileMatrixSetLinks[n].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3") === t.projection) {
-                                        a = r.tileMatrixSets[i.tileMatrixSetLinks[n].tileMatrixSet];
-                                        break
-                                    }
-                            } else
-                                i.tileMatrixSetLinks.length >= 1 && (a = r.tileMatrixSets[i.tileMatrixSetLinks[0].tileMatrixSet]);
-                            if (!a)
-                                throw new Error("matrixSet not found");
-                            for (n = 0,
-                                o = i.styles.length; n < o && !(s = i.styles[n]).isDefault; ++n)
-                                ;
-                            var c = t.requestEncoding;
-                            c || (c = "KVP",
-                                e.operationsMetadata.GetTile.dcp.http);
-                            var u = []
-                                , h = t.params || {};
-                            delete t.params;
-                            for (var f = 0, d = i.dimensions.length; f < d; f++) {
-                                var g = i.dimensions[f];
-                                u.push(g.identifier),
-                                    h.hasOwnProperty(g.identifier) || (h[g.identifier] = g.default)
-                            }
-                            var p, m, b, v, C = t.projection || a.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"), y = t.units || ("EPSG:4326" === C ? "degrees" : "m"), _ = [], A = [], I = i.tileMatrixSetLinks, w = function (e) {
-                                _.push(28e-5 * e / GeoGlobe.METERS_PER_INCH / GeoGlobe.INCHES_PER_UNIT[y]),
-                                    (!p || p > e) && (p = e),
-                                    (!m || m < e) && (m = e)
-                            }, G = 0;
-                            for (l = I.length; G < l; G++)
-                                if ((b = I[G]).tileMatrixSet === a.identifier) {
-                                    if (b.tileMatrixSetLimits) {
-                                        for (var E, S = {}, T = 0, P = a.matrixIds.length; T < P; T++)
-                                            S[a.matrixIds[T].identifier] = a.matrixIds[T];
-                                        for (T = 0,
-                                            P = b.tileMatrixSetLimits.length; T < P; T++)
-                                            E = S[b.tileMatrixSetLimits[T].tileMatrix],
-                                                A.push(E),
-                                                w(E.scaleDenominator)
-                                    } else
-                                        for (T = 0,
-                                            P = a.matrixIds.length; T < P; T++)
-                                            w(a.matrixIds[T].scaleDenominator);
-                                    break
-                                }
-                            if ("REST" === c && i.resourceUrls) {
-                                v = [],
-                                    i.resourceUrls;
-                                for (var M, N = 0, L = i.resourceUrls.length; N < L; ++N)
-                                    (M = i.resourceUrls[N]).format === x && "tile" === M.resourceType && v.push(M.template)
-                            } else {
-                                var R, O = e.operationsMetadata.GetTile.dcp.http.get;
-                                for (v = [],
-                                    n = 0,
-                                    o = O.length; n < o; n++)
-                                    (!(R = O[n].constraints) || R && R.GetEncoding.allowedValues[c]) && v.push(O[n].url)
-                            }
-                            _.sort((function (e, t) {
-                                return t - e
-                            }
-                            ));
-                            var F, D = "SERVICE=WMTS&REQUEST=GetTile&VERSION=" + e.version + "&LAYER=" + i.identifier + "&STYLE=" + s.identifier + "&TILEMATRIXSET=" + a.identifier + "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=" + x;
-                            F = v[0].endsWith("?") ? v[0] + D : v[0] + "?" + D;
-                            var U = GeoGlobe.Util.applyDefaults(t, {
-                                id: i.identifier,
-                                url: [F]
-                            })
-                                , k = new GeoGlobe.Layer.VTS(U);
-                            return k.matrixSet = a,
-                                k.identifier = i.identifier,
-                                k.bounds = i.bounds,
-                                k
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.VTSCapabilities"
-                    }),
-                    GeoGlobe.Format.VTSCapabilities.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.OWSCommon.v1_1_0, {
-                        version: "1.0.0",
-                        namespaces: {
-                            ows: "http://www.opengis.net/ows/1.1",
-                            wmts: "http://www.opengis.net/wmts/1.0",
-                            xlink: "http://www.w3.org/1999/xlink"
-                        },
-                        yx: null,
-                        defaultPrefix: "wmts",
-                        initialize: function (e) {
-                            GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]),
-                                this.options = e;
-                            var t = GeoGlobe.Util.extend({}, GeoGlobe.Format.VTSCapabilities.prototype.yx);
-                            this.yx = GeoGlobe.Util.extend(t, this.yx)
-                        },
-                        read: function (e) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
-                                e && 9 == e.nodeType && (e = e.documentElement);
-                            var t = {};
-                            return this.readNode(e, t),
-                                t.version = this.version,
-                                t
-                        },
-                        readers: {
-                            wmts: {
-                                Capabilities: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                Contents: function (e, t) {
-                                    t.contents = {},
-                                        t.contents.layers = [],
-                                        t.contents.tileMatrixSets = {},
-                                        this.readChildNodes(e, t.contents)
-                                },
-                                Layer: function (e, t) {
-                                    var i = {
-                                        styles: [],
-                                        formats: [],
-                                        dimensions: [],
-                                        tileMatrixSetLinks: []
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.layers.push(i)
-                                },
-                                Style: function (e, t) {
-                                    var i = {};
-                                    i.isDefault = "true" === e.getAttribute("isDefault"),
-                                        this.readChildNodes(e, i),
-                                        t.styles.push(i)
-                                },
-                                Format: function (e, t) {
-                                    t.formats.push(this.getChildValue(e))
-                                },
-                                TileMatrixSetLink: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.tileMatrixSetLinks.push(i)
-                                },
-                                TileMatrixSet: function (e, t) {
-                                    if (t.layers) {
-                                        var i = {
-                                            matrixIds: []
-                                        };
-                                        this.readChildNodes(e, i),
-                                            t.tileMatrixSets[i.identifier] = i
-                                    } else
-                                        t.tileMatrixSet = this.getChildValue(e)
-                                },
-                                TileMatrixSetLimits: function (e, t) {
-                                    t.tileMatrixSetLimits = [],
-                                        this.readChildNodes(e, t)
-                                },
-                                TileMatrixLimits: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.tileMatrixSetLimits.push(i)
-                                },
-                                MinTileRow: function (e, t) {
-                                    t.minTileRow = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                MaxTileRow: function (e, t) {
-                                    t.maxTileRow = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                MinTileCol: function (e, t) {
-                                    t.minTileCol = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                MaxTileCol: function (e, t) {
-                                    t.maxTileCol = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                TileMatrix: function (e, t) {
-                                    if (t.identifier) {
-                                        var i = {
-                                            supportedCRS: t.supportedCRS
-                                        };
-                                        this.readChildNodes(e, i),
-                                            t.matrixIds.push(i)
-                                    } else
-                                        t.tileMatrix = this.getChildValue(e)
-                                },
-                                ScaleDenominator: function (e, t) {
-                                    t.scaleDenominator = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.getChildValue(e))
-                                },
-                                TopLeftCorner: function (e, t) {
-                                    var i, r = this.getChildValue(e).split(" ");
-                                    if (t.supportedCRS) {
-                                        var n = t.supportedCRS.replace(/urn:ogc:def:crs:(\w+):.+:(\w+)$/, "urn:ogc:def:crs:$1::$2");
-                                        i = !!this.yx[n]
-                                    }
-                                    t.topLeftCorner = i ? new GeoGlobe.LngLat(r[1], r[0]) : new GeoGlobe.LngLat(r[0], r[1])
-                                },
-                                TileWidth: function (e, t) {
-                                    t.tileWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                TileHeight: function (e, t) {
-                                    t.tileHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                MatrixWidth: function (e, t) {
-                                    t.matrixWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                MatrixHeight: function (e, t) {
-                                    t.matrixHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
-                                },
-                                ResourceURL: function (e, t) {
-                                    t.resourceUrl = t.resourceUrl || {};
-                                    var i = e.getAttribute("resourceType");
-                                    t.resourceUrls || (t.resourceUrls = []);
-                                    var r = t.resourceUrl[i] = {
-                                        format: e.getAttribute("format"),
-                                        template: e.getAttribute("template"),
-                                        resourceType: i
-                                    };
-                                    t.resourceUrls.push(r)
-                                },
-                                LegendURL: function (e, t) {
-                                    t.legends = t.legends || [];
-                                    var i = {
-                                        format: e.getAttribute("format"),
-                                        href: e.getAttribute("xlink:href")
-                                    }
-                                        , r = e.getAttribute("width")
-                                        , n = e.getAttribute("height")
-                                        , o = e.getAttribute("minScaleDenominator")
-                                        , a = e.getAttribute("maxScaleDenominator");
-                                    null !== r && (i.width = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(r)),
-                                        null !== n && (i.height = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(n)),
-                                        null !== o && (i.minScaleDenominator = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(o)),
-                                        null !== a && (i.maxScaleDenominator = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(a)),
-                                        t.legends.push(i)
-                                },
-                                InfoFormat: function (e, t) {
-                                    t.infoFormats = t.infoFormats || [],
-                                        t.infoFormats.push(this.getChildValue(e))
-                                },
-                                WSDL: function (e, t) {
-                                    t.wsdl = {},
-                                        t.wsdl.href = e.getAttribute("xlink:href")
-                                },
-                                ServiceMetadataURL: function (e, t) {
-                                    t.serviceMetadataUrl = {},
-                                        t.serviceMetadataUrl.href = e.getAttribute("xlink:href")
-                                },
-                                Dimension: function (e, t) {
-                                    var i = {
-                                        values: []
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.dimensions.push(i)
-                                },
-                                Default: function (e, t) {
-                                    t.default = this.getChildValue(e)
-                                },
-                                Value: function (e, t) {
-                                    t.values.push(this.getChildValue(e))
-                                }
-                            },
-                            ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.readers.ows
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.VTSCapabilities.v1_0_0"
-                    }),
-                    GeoGlobe.Format.WPSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
-                        defaultVersion: "1.0.0",
-                        CLASS_NAME: "GeoGlobe.Format.WPSCapabilities"
-                    }),
-                    GeoGlobe.Format.WPSCapabilities.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        namespaces: {
-                            ows: "http://www.opengis.net/ows/1.1",
-                            wps: "http://www.opengis.net/wps/1.0.0",
-                            xlink: "http://www.w3.org/1999/xlink"
-                        },
-                        regExes: {
-                            trimSpace: /^\s*|\s*$/g,
-                            removeSpace: /\s*/g,
-                            splitSpace: /\s+/,
-                            trimComma: /\s*,\s*/g
-                        },
-                        initialize: function (e) {
-                            GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
-                        },
-                        read: function (e) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
-                                e && 9 == e.nodeType && (e = e.documentElement);
-                            var t = {};
-                            return this.readNode(e, t),
-                                t
-                        },
-                        readers: {
-                            wps: {
-                                Capabilities: function (e, t) {
-                                    this.readChildNodes(e, t)
-                                },
-                                ProcessOfferings: function (e, t) {
-                                    t.processOfferings = {},
-                                        this.readChildNodes(e, t.processOfferings)
-                                },
-                                Process: function (e, t) {
-                                    var i = {
-                                        processVersion: this.getAttributeNS(e, this.namespaces.wps, "processVersion")
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t[i.identifier] = i
-                                },
-                                Languages: function (e, t) {
-                                    t.languages = [],
-                                        this.readChildNodes(e, t.languages)
-                                },
-                                Default: function (e, t) {
-                                    var i = {
-                                        isDefault: !0
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.push(i)
-                                },
-                                Supported: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.push(i)
-                                }
-                            },
-                            ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.readers.ows
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WPSCapabilities.v1_0_0"
-                    }),
-                    GeoGlobe.Format.WCSGetCoverage = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        namespaces: {
-                            ows: "http://www.opengis.net/ows/1.1",
-                            wcs: "http://www.opengis.net/wcs/1.1",
-                            xlink: "http://www.w3.org/1999/xlink",
-                            xsi: "http://www.w3.org/2001/XMLSchema-instance"
-                        },
-                        regExes: {
-                            trimSpace: /^\s*|\s*$/g,
-                            removeSpace: /\s*/g,
-                            splitSpace: /\s+/,
-                            trimComma: /\s*,\s*/g
-                        },
-                        VERSION: "1.1.2",
-                        schemaLocation: "http://www.opengis.net/wcs/1.1 http://schemas.opengis.net/wcs/1.1/wcsGetCoverage.xsd",
-                        write: function (e) {
-                            var t = this.writeNode("wcs:GetCoverage", e);
-                            return this.setAttributeNS(t, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation),
-                                GeoGlobe.Format.XML.prototype.write.apply(this, [t])
-                        },
-                        writers: {
-                            wcs: {
-                                GetCoverage: function (e) {
-                                    var t = this.createElementNSPlus("wcs:GetCoverage", {
-                                        attributes: {
-                                            version: e.version || this.VERSION,
-                                            service: "WCS"
-                                        }
-                                    });
-                                    return this.writeNode("ows:Identifier", e.identifier, t),
-                                        this.writeNode("wcs:DomainSubset", e.domainSubset, t),
-                                        this.writeNode("wcs:Output", e.output, t),
-                                        t
-                                },
-                                DomainSubset: function (e) {
-                                    var t = this.createElementNSPlus("wcs:DomainSubset", {});
-                                    return this.writeNode("ows:BoundingBox", e.boundingBox, t),
-                                        e.temporalSubset && this.writeNode("wcs:TemporalSubset", e.temporalSubset, t),
-                                        t
-                                },
-                                TemporalSubset: function (e) {
-                                    for (var t = this.createElementNSPlus("wcs:TemporalSubset", {}), i = 0, r = e.timePeriods.length; i < r; ++i)
-                                        this.writeNode("wcs:TimePeriod", e.timePeriods[i], t);
-                                    return t
-                                },
-                                TimePeriod: function (e) {
-                                    var t = this.createElementNSPlus("wcs:TimePeriod", {});
-                                    return this.writeNode("wcs:BeginPosition", e.begin, t),
-                                        this.writeNode("wcs:EndPosition", e.end, t),
-                                        e.resolution && this.writeNode("wcs:TimeResolution", e.resolution, t),
-                                        t
-                                },
-                                BeginPosition: function (e) {
-                                    return this.createElementNSPlus("wcs:BeginPosition", {
-                                        value: e
-                                    })
-                                },
-                                EndPosition: function (e) {
-                                    return this.createElementNSPlus("wcs:EndPosition", {
-                                        value: e
-                                    })
-                                },
-                                TimeResolution: function (e) {
-                                    return this.createElementNSPlus("wcs:TimeResolution", {
-                                        value: e
-                                    })
-                                },
-                                Output: function (e) {
-                                    var t = this.createElementNSPlus("wcs:Output", {
-                                        attributes: {
-                                            format: e.format,
-                                            store: e.store
-                                        }
-                                    });
-                                    return e.gridCRS && this.writeNode("wcs:GridCRS", e.gridCRS, t),
-                                        t
-                                },
-                                GridCRS: function (e) {
-                                    var t = this.createElementNSPlus("wcs:GridCRS", {});
-                                    return this.writeNode("wcs:GridBaseCRS", e.baseCRS, t),
-                                        e.type && this.writeNode("wcs:GridType", e.type, t),
-                                        e.origin && this.writeNode("wcs:GridOrigin", e.origin, t),
-                                        this.writeNode("wcs:GridOffsets", e.offsets, t),
-                                        e.CS && this.writeNode("wcs:GridCS", e.CS, t),
-                                        t
-                                },
-                                GridBaseCRS: function (e) {
-                                    return this.createElementNSPlus("wcs:GridBaseCRS", {
-                                        value: e
-                                    })
-                                },
-                                GridOrigin: function (e) {
-                                    return this.createElementNSPlus("wcs:GridOrigin", {
-                                        value: e
-                                    })
-                                },
-                                GridType: function (e) {
-                                    return this.createElementNSPlus("wcs:GridType", {
-                                        value: e
-                                    })
-                                },
-                                GridOffsets: function (e) {
-                                    return this.createElementNSPlus("wcs:GridOffsets", {
-                                        value: e
-                                    })
-                                },
-                                GridCS: function (e) {
-                                    return this.createElementNSPlus("wcs:GridCS", {
-                                        value: e
-                                    })
-                                }
-                            },
-                            ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.writers.ows
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WCSGetCoverage"
-                    }),
-                    GeoGlobe.Format.WPSExecute = GeoGlobe.Class4OL(GeoGlobe.Format.XML, GeoGlobe.Format.Filter.v1_1_0, {
-                        namespaces: {
-                            ows: "http://www.opengis.net/ows/1.1",
-                            gml: "http://www.opengis.net/gml",
-                            wps: "http://www.opengis.net/wps/1.0.0",
-                            wfs: "http://www.opengis.net/wfs",
-                            ogc: "http://www.opengis.net/ogc",
-                            wcs: "http://www.opengis.net/wcs",
-                            xlink: "http://www.w3.org/1999/xlink",
-                            xsi: "http://www.w3.org/2001/XMLSchema-instance"
-                        },
-                        regExes: {
-                            trimSpace: /^\s*|\s*$/g,
-                            removeSpace: /\s*/g,
-                            splitSpace: /\s+/,
-                            trimComma: /\s*,\s*/g
-                        },
-                        VERSION: "1.0.0",
-                        schemaLocation: "http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd",
-                        schemaLocationAttr: function (e) { },
-                        write: function (e) {
-                            var t;
-                            GeoGlobe.Format.XML.supportActiveX ? (t = new ActiveXObject("Microsoft.XMLDOM"),
-                                this.xmldom = t) : t = document.implementation.createDocument("", "", null);
-                            var i = this.writeNode("wps:Execute", e, t);
-                            return this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation),
-                                GeoGlobe.Format.XML.prototype.write.apply(this, [i])
-                        },
-                        read: function (e) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
-                                e && 9 == e.nodeType && (e = e.documentElement);
-                            var t = {};
-                            return this.readNode(e, t),
-                                t
-                        },
-                        writers: {
-                            wps: {
-                                Execute: function (e) {
-                                    var t = this.createElementNSPlus("wps:Execute", {
-                                        attributes: {
-                                            version: this.VERSION,
-                                            service: "WPS"
-                                        }
-                                    });
-                                    return this.writeNode("ows:Identifier", e.identifier, t),
-                                        this.writeNode("wps:DataInputs", e.dataInputs, t),
-                                        this.writeNode("wps:ResponseForm", e.responseForm, t),
-                                        t
-                                },
-                                ResponseForm: function (e) {
-                                    var t = this.createElementNSPlus("wps:ResponseForm", {});
-                                    return e.rawDataOutput && this.writeNode("wps:RawDataOutput", e.rawDataOutput, t),
-                                        e.responseDocument && this.writeNode("wps:ResponseDocument", e.responseDocument, t),
-                                        t
-                                },
-                                ResponseDocument: function (e) {
-                                    var t = this.createElementNSPlus("wps:ResponseDocument", {
-                                        attributes: {
-                                            storeExecuteResponse: e.storeExecuteResponse,
-                                            lineage: e.lineage,
-                                            status: e.status
-                                        }
-                                    });
-                                    if (e.outputs)
-                                        for (var i = 0, r = e.outputs.length; i < r; i++)
-                                            this.writeNode("wps:Output", e.outputs[i], t);
-                                    return t
-                                },
-                                Output: function (e) {
-                                    var t = this.createElementNSPlus("wps:Output", {
-                                        attributes: {
-                                            asReference: e.asReference,
-                                            mimeType: e.mimeType,
-                                            encoding: e.encoding,
-                                            schema: e.schema
-                                        }
-                                    });
-                                    return this.writeNode("ows:Identifier", e.identifier, t),
-                                        this.writeNode("ows:Title", e.title, t),
-                                        this.writeNode("ows:Abstract", e.abstract, t),
-                                        t
-                                },
-                                RawDataOutput: function (e) {
-                                    var t = this.createElementNSPlus("wps:RawDataOutput", {
-                                        attributes: {
-                                            mimeType: e.mimeType,
-                                            encoding: e.encoding,
-                                            schema: e.schema
-                                        }
-                                    });
-                                    return this.writeNode("ows:Identifier", e.identifier, t),
-                                        t
-                                },
-                                DataInputs: function (e) {
-                                    for (var t = this.createElementNSPlus("wps:DataInputs", {}), i = 0, r = e.length; i < r; ++i)
-                                        this.writeNode("wps:Input", e[i], t);
-                                    return t
-                                },
-                                Input: function (e) {
-                                    var t = this.createElementNSPlus("wps:Input", {});
-                                    return this.writeNode("ows:Identifier", e.identifier, t),
-                                        e.title && this.writeNode("ows:Title", e.title, t),
-                                        e.data && this.writeNode("wps:Data", e.data, t),
-                                        e.reference && this.writeNode("wps:Reference", e.reference, t),
-                                        e.boundingBoxData && this.writeNode("wps:BoundingBoxData", e.boundingBoxData, t),
-                                        t
-                                },
-                                Data: function (e) {
-                                    var t = this.createElementNSPlus("wps:Data", {});
-                                    return e.literalData ? this.writeNode("wps:LiteralData", e.literalData, t) : e.complexData ? this.writeNode("wps:ComplexData", e.complexData, t) : e.boundingBoxData && this.writeNode("ows:BoundingBox", e.boundingBoxData, t),
-                                        t
-                                },
-                                LiteralData: function (e) {
-                                    return this.createElementNSPlus("wps:LiteralData", {
-                                        attributes: {
-                                            uom: e.uom
-                                        },
-                                        value: e.value
-                                    })
-                                },
-                                ComplexData: function (e) {
-                                    var t = this.createElementNSPlus("wps:ComplexData", {
-                                        attributes: {
-                                            mimeType: e.mimeType,
-                                            encoding: e.encoding,
-                                            schema: e.schema
-                                        }
-                                    })
-                                        , i = e.value;
-                                    return "string" == typeof i ? t.appendChild(this.getXMLDoc().createCDATASection(e.value)) : t.appendChild(i),
-                                        t
-                                },
-                                Reference: function (e) {
-                                    var t = this.createElementNSPlus("wps:Reference", {
-                                        attributes: {
-                                            mimeType: e.mimeType,
-                                            "xlink:href": e.href,
-                                            method: e.method,
-                                            encoding: e.encoding,
-                                            schema: e.schema
-                                        }
-                                    });
-                                    return e.body && this.writeNode("wps:Body", e.body, t),
-                                        t
-                                },
-                                BoundingBoxData: function (e, t) {
-                                    this.writers.ows.BoundingBox.apply(this, [e, t, "wps:BoundingBoxData"])
-                                },
-                                Body: function (e) {
-                                    var t = this.createElementNSPlus("wps:Body", {});
-                                    return e.wcs ? this.writeNode("wcs:GetCoverage", e.wcs, t) : e.wfs ? (this.featureType = e.wfs.featureType,
-                                        this.version = e.wfs.version,
-                                        this.writeNode("wfs:GetFeature", e.wfs, t)) : this.writeNode("wps:Execute", e, t),
-                                        t
-                                }
-                            },
-                            wcs: GeoGlobe.Format.WCSGetCoverage.prototype.writers.wcs,
-                            wfs: GeoGlobe.Format.WFST.v1_1_0.prototype.writers.wfs,
-                            ogc: GeoGlobe.Format.Filter.v1_1_0.prototype.writers.ogc,
-                            ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.writers.ows
-                        },
-                        readers: {
-                            wps: {
-                                ExecuteResponse: function (e, t) {
-                                    t.executeResponse = {
-                                        lang: e.getAttribute("lang"),
-                                        statusLocation: e.getAttribute("statusLocation"),
-                                        serviceInstance: e.getAttribute("serviceInstance"),
-                                        service: e.getAttribute("service")
-                                    },
-                                        this.readChildNodes(e, t.executeResponse)
-                                },
-                                Process: function (e, t) {
-                                    t.process = {},
-                                        this.readChildNodes(e, t.process)
-                                },
-                                Status: function (e, t) {
-                                    t.status = {
-                                        creationTime: e.getAttribute("creationTime")
-                                    },
-                                        this.readChildNodes(e, t.status)
-                                },
-                                ProcessSucceeded: function (e, t) {
-                                    t.processSucceeded = !0
-                                },
-                                ProcessOutputs: function (e, t) {
-                                    t.processOutputs = [],
-                                        this.readChildNodes(e, t.processOutputs)
-                                },
-                                Output: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.push(i)
-                                },
-                                Reference: function (e, t) {
-                                    t.reference = {
-                                        href: e.getAttribute("href"),
-                                        mimeType: e.getAttribute("mimeType"),
-                                        encoding: e.getAttribute("encoding"),
-                                        schema: e.getAttribute("schema")
-                                    }
-                                },
-                                Data: function (e, t) {
-                                    t.data = {},
-                                        this.readChildNodes(e, t)
-                                },
-                                LiteralData: function (e, t) {
-                                    t.literalData = {
-                                        dataType: e.getAttribute("dataType"),
-                                        uom: e.getAttribute("uom"),
-                                        value: this.getChildValue(e)
-                                    }
-                                },
-                                ComplexData: function (e, t) {
-                                    var i;
-                                    if (t.complexData = {
-                                        mimeType: e.getAttribute("mimeType"),
-                                        schema: e.getAttribute("schema"),
-                                        encoding: e.getAttribute("encoding"),
-                                        value: ""
-                                    },
-                                        this.isSimpleContent(e))
-                                        for (i = e.firstChild; i; i = i.nextSibling)
-                                            switch (i.nodeType) {
-                                                case 3:
-                                                case 4:
-                                                    t.complexData.value += i.nodeValue
-                                            }
-                                    else
-                                        for (i = e.firstChild; i; i = i.nextSibling)
-                                            1 == i.nodeType && (t.complexData.value = i)
-                                },
-                                BoundingBox: function (e, t) {
-                                    t.boundingBoxData = {
-                                        dimensions: e.getAttribute("dimensions"),
-                                        crs: e.getAttribute("crs")
-                                    },
-                                        this.readChildNodes(e, t.boundingBoxData)
-                                }
-                            },
-                            ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.readers.ows
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.WPSExecute"
-                    }),
-                    GeoGlobe.Format.OGCExceptionReport = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        namespaces: {
-                            ogc: "http://www.opengis.net/ogc"
-                        },
-                        regExes: {
-                            trimSpace: /^\s*|\s*$/g,
-                            removeSpace: /\s*/g,
-                            splitSpace: /\s+/,
-                            trimComma: /\s*,\s*/g
-                        },
-                        defaultPrefix: "ogc",
-                        read: function (e) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
-                            var t = {
-                                exceptionReport: null
-                            };
-                            return e.documentElement && (this.readChildNodes(e, t),
-                                null === t.exceptionReport && (t = (new GeoGlobe.Format.OWSCommon).read(e))),
-                                t
-                        },
-                        readers: {
-                            ogc: {
-                                ServiceExceptionReport: function (e, t) {
-                                    t.exceptionReport = {
-                                        exceptions: []
-                                    },
-                                        this.readChildNodes(e, t.exceptionReport)
-                                },
-                                ServiceException: function (e, t) {
-                                    var i = {
-                                        code: e.getAttribute("code"),
-                                        locator: e.getAttribute("locator"),
-                                        text: this.getChildValue(e)
-                                    };
-                                    t.exceptions.push(i)
-                                }
-                            }
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.OGCExceptionReport"
-                    }),
-                    GeoGlobe.Format.QueryStringFilter = function () {
-                        var e = {};
-                        return e[GeoGlobe.Filter.Comparison.EQUAL_TO] = "eq",
-                            e[GeoGlobe.Filter.Comparison.NOT_EQUAL_TO] = "ne",
-                            e[GeoGlobe.Filter.Comparison.LESS_THAN] = "lt",
-                            e[GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO] = "lte",
-                            e[GeoGlobe.Filter.Comparison.GREATER_THAN] = "gt",
-                            e[GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO] = "gte",
-                            e[GeoGlobe.Filter.Comparison.LIKE] = "ilike",
-                            GeoGlobe.Class4OL(GeoGlobe.Format, {
-                                wildcarded: !1,
-                                srsInBBOX: !1,
-                                write: function (t, i) {
-                                    i = i || {};
-                                    var r = t.CLASS_NAME
-                                        , n = r.substring(r.lastIndexOf(".") + 1);
-                                    switch (n) {
-                                        case "Spatial":
-                                            switch (t.type) {
-                                                case GeoGlobe.Filter.Spatial.BBOX:
-                                                    i.bbox = t.value.toArray(),
-                                                        this.srsInBBOX && t.projection && i.bbox.push(t.projection.getCode());
-                                                    break;
-                                                case GeoGlobe.Filter.Spatial.DWITHIN:
-                                                    i.tolerance = t.distance;
-                                                case GeoGlobe.Filter.Spatial.WITHIN:
-                                                    i.lon = t.value.x,
-                                                        i.lat = t.value.y;
-                                                    break;
-                                                default:
-                                                    GeoGlobe.Console.warn("Unknown spatial filter type " + t.type)
-                                            }
-                                            break;
-                                        case "Comparison":
-                                            var o = e[t.type];
-                                            if (void 0 !== o) {
-                                                var a = t.value;
-                                                t.type == GeoGlobe.Filter.Comparison.LIKE && (a = a.replace(/%/g, "\\%").replace(/\\\\\.(\*)?/g, (function (e, t) {
-                                                    return t ? e : "\\\\_"
-                                                }
-                                                )).replace(/\\\\\.\*/g, "\\\\%").replace(/(\\)?\.(\*)?/g, (function (e, t, i) {
-                                                    return t || i ? e : "_"
-                                                }
-                                                )).replace(/(\\)?\.\*/g, (function (e, t) {
-                                                    return t ? e : "%"
-                                                }
-                                                )).replace(/\\\./g, ".").replace(/(\\)?\\\*/g, (function (e, t) {
-                                                    return t ? e : "*"
-                                                }
-                                                )),
-                                                    this.wildcarded && (a = "%" + a + "%")),
-                                                    i[t.property + "__" + o] = a,
-                                                    i.queryable = i.queryable || [],
-                                                    i.queryable.push(t.property)
-                                            } else
-                                                GeoGlobe.Console.warn("Unknown comparison filter type " + t.type);
-                                            break;
-                                        case "Logical":
-                                            if (t.type === GeoGlobe.Filter.Logical.AND)
-                                                for (var s = 0, x = t.filters.length; s < x; s++)
-                                                    i = this.write(t.filters[s], i);
-                                            else
-                                                GeoGlobe.Console.warn("Unsupported logical filter type " + t.type);
-                                            break;
-                                        default:
-                                            GeoGlobe.Console.warn("Unknown filter type " + n)
-                                    }
-                                    return i
-                                },
-                                CLASS_NAME: "GeoGolobe.Format.QueryStringFilter"
-                            })
-                    }(),
-                    GeoGlobe.Format.BusCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        tagName: "NETWORK_Capabilities",
-                        read: function (e) {
-                            var t;
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
-                            var i = {};
-                            return (t = e.nodeName != this.tagName ? e.getElementsByTagName(this.tagName) : [e]).length > 0 && this.runChildNodes(i, t[0]),
-                                i
-                        },
-                        runChildNodes: function (e, t, i) {
-                            for (var r, n, o = t.childNodes, a = 0; a < o.length; ++a)
-                                1 == (r = o[a]).nodeType && (n = i ? this["read_" + i + "_" + r.nodeName] : this["read_" + r.nodeName]) && n.apply(this, [e, r])
-                        },
-                        read_Service: function (e, t) {
-                            var i = {};
-                            this.runChildNodes(i, t, "Service"),
-                                e.service = i
-                        },
-                        read_Service_Name: function (e, t) {
-                            var i = this.getChildValue(t);
-                            i && (e.name = i)
-                        },
-                        read_Service_Title: function (e, t) {
-                            var i = this.getChildValue(t);
-                            i && (e.title = i)
-                        },
-                        read_Service_Abstract: function (e, t) {
-                            var i = this.getChildValue(t);
-                            i && (e.serviceAbstract = i)
-                        },
-                        read_Service_KeywordList: function (e, t) { },
-                        read_Service_OnlineResource: function (e, t) {
-                            var i = this.getChildValue(t);
-                            e && (e.onlineResource = i)
-                        },
-                        read_Capability: function (e, t) {
-                            var i = {};
-                            this.runChildNodes(i, t, "Capability"),
-                                e.capability = i
-                        },
-                        read_Capability_Request: function (e, t) {
-                            var i = {};
-                            this.runChildNodes(i, t, "Capability_Request"),
-                                e.request = i
-                        },
-                        read_Capability_Request_GetCapabilities: function (e, t) {
-                            var i = t.getElementsByTagName("HTTP")
-                                , r = {};
-                            i[0] && this.runChildNodes(r, i[0], "Capability_Request_GetCapabilities_DCPType_HTTP"),
-                                e.getCapabilities = r
-                        },
-                        read_Capability_Request_GetCapabilities_DCPType_HTTP_Get: function (e, t) {
-                            var i = t.getAttribute("onlineResource");
-                            i && (e.getUrl = i)
-                        },
-                        read_Capability_Request_GetCapabilities_DCPType_HTTP_Post: function (e, t) {
-                            var i = t.getAttribute("onlineResource");
-                            i && (e.postUrl = i)
-                        },
-                        read_Capability_Request_queryStation: function (e, t) {
-                            var i = t.getElementsByTagName("HTTP")
-                                , r = {};
-                            i[0] && this.runChildNodes(r, i[0], "Capability_Request_queryStation_DCPType_HTTP"),
-                                e.queryStation = r
-                        },
-                        read_Capability_Request_queryStation_DCPType_HTTP_Get: function (e, t) {
-                            var i = t.getAttribute("onlineResource");
-                            i && (e.getUrl = i)
-                        },
-                        read_Capability_Request_queryStation_DCPType_HTTP_Post: function (e, t) {
-                            var i = t.getAttribute("onlineResource");
-                            i && (e.postUrl = i)
-                        },
-                        read_Capability_Request_queryLine: function (e, t) {
-                            var i = t.getElementsByTagName("HTTP")
-                                , r = {};
-                            i[0] && this.runChildNodes(r, i[0], "Capability_Request_queryLine_DCPType_HTTP"),
-                                e.queryLine = r
-                        },
-                        read_Capability_Request_queryLine_DCPType_HTTP_Get: function (e, t) {
-                            var i = t.getAttribute("onlineResource");
-                            i && (e.getUrl = i)
-                        },
-                        read_Capability_Request_queryLine_DCPType_HTTP_Post: function (e, t) {
-                            var i = t.getAttribute("onlineResource");
-                            i && (e.postUrl = i)
-                        },
-                        read_Capability_Request_queryChange: function (e, t) {
-                            var i = t.getElementsByTagName("HTTP");
-                            i[0] && this.runChildNodes({}, i[0], "Capability_Request_queryChange_DCPType_HTTP")
-                        },
-                        read_Capability_Request_queryChange_DCPType_HTTP_Get: function (e, t) {
-                            var i = t.getAttribute("onlineResource");
-                            i && (e.getUrl = i)
-                        },
-                        read_Capability_Request_queryChange_DCPType_HTTP_Post: function (e, t) {
-                            var i = t.getAttribute("onlineResource");
-                            i && (e.postUrl = i)
-                        },
-                        read_Capability_Networks: function (e, t) {
-                            for (var i = t.getElementsByTagName("Name"), r = [], n = 0; n < i.length; n++) {
-                                var o = this.getChildValue(i[n]);
-                                o && r.push(o)
-                            }
-                            e.networks = r
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.BusCapabilities"
-                    }),
-                    GeoGlobe.Format.XML2JSON = GeoGlobe.Class4OL({
-                        initialize: function () { },
-                        read: function (e, t, i) {
-                            t || (t = ""),
-                                e = (e = e.replace(/\s*\/>/g, "/>")).replace(/<\?[^>]*>/g, "").replace(/<\![^>]*>/g, ""),
-                                t.sort || (t = t.split(","));
-                            var r = this.no_fast_endings(e);
-                            r = this.attris_to_tags(r),
-                                r = (r = escape(r)).split("%3C").join("<").split("%3E").join(">").split("%3D").join("=").split("%22").join('"');
-                            for (var n = 0; n < t.length; n++)
-                                r = (r = r.replace(new RegExp("<" + t[n] + ">", "g"), "*$**" + t[n] + "**$*")).replace(new RegExp("</" + t[n] + ">", "g"), "*$***" + t[n] + "**$*");
-                            r = "<JSONTAGWRAPPER>" + r + "</JSONTAGWRAPPER>",
-                                this.xmlobject = {};
-                            var o = this.xml_to_object(r).JSONTAGWRAPPER;
-                            return i && (o = this.show_json_structure(o, i)),
-                                o
-                        },
-                        xml_to_object: function xml_to_object(xmlcode) {
-                            var x = xmlcode.replace(/<\//g, "?");
-                            x = x.split("<");
-                            for (var y = [], level = 0, opentags = [], i = 1; i < x.length; i++) {
-                                var tagname = x[i].split(">")[0];
-                                for (opentags.push(tagname),
-                                    level++,
-                                    y.push(level + "<" + x[i].split("?")[0]); x[i].indexOf("?" + opentags[opentags.length - 1] + ">") >= 0;)
-                                    level--,
-                                        opentags.pop()
-                            }
-                            for (var oldniva = -1, objname = "this.xmlobject", i = 0; i < y.length; i++) {
-                                var preeval = ""
-                                    , niva = y[i].split("<")[0]
-                                    , tagnamn = y[i].split("<")[1].split(">")[0];
-                                tagnamn = tagnamn.replace(/%3A/, "_");
-                                var rest = y[i].split(">")[1];
-                                if (niva <= oldniva)
-                                    for (var tabort = oldniva - niva + 1, j = 0; j < tabort; j++)
-                                        objname = objname.substring(0, objname.lastIndexOf("."));
-                                objname += "." + tagnamn;
-                                var pobject = objname.substring(0, objname.lastIndexOf("."));
-                                "object" != eval("typeof " + pobject) && (preeval += pobject + "={value:" + pobject + "};\n");
-                                var objlast = objname.substring(objname.lastIndexOf(".") + 1)
-                                    , already = !1;
-                                for (k in eval(pobject))
-                                    k == objlast && (already = !0);
-                                for (var onlywhites = !0, s = 0; s < rest.length; s += 3)
-                                    "%" != rest.charAt(s) && (onlywhites = !1);
-                                "" == rest || onlywhites ? rest = "{}" : rest / 1 != rest && (rest = "'" + rest.replace(/\'/g, "\\'") + "'",
-                                    rest = rest.replace(/\*\$\*\*\*/g, "</"),
-                                    rest = rest.replace(/\*\$\*\*/g, "<"),
-                                    rest = rest.replace(/\*\*\$\*/g, ">")),
-                                    "'" == rest.charAt(0) && (rest = "unescape(" + rest + ")"),
-                                    already && !eval(objname + ".sort") && (preeval += objname + "=[" + objname + "];\n");
-                                var before = "=";
-                                after = "",
-                                    already && (before = ".push(",
-                                        after = ")");
-                                var toeval = preeval + objname + before + rest + after;
-                                eval(toeval),
-                                    eval(objname + ".sort") && (objname += "[" + eval(objname + ".length-1") + "]"),
-                                    oldniva = niva
-                            }
-                            return this.xmlobject
-                        },
-                        show_json_structure: function (e, t, i) {
-                            var r = "";
-                            for (var n in e.sort ? r += "[\n" : r += "{\n",
-                                e)
-                                e.sort || (r += n + ":"),
-                                    "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e[n]) ? r += this.show_json_structure(e[n], !1, 1) : "function" == typeof e[n] ? r += e[n] + "" : "string" != typeof e[n] ? r += e[n] + ",\n" : r += "'" + e[n].replace(/\'/g, "\\'").replace(/\n/g, "\\n").replace(/\t/g, "\\t").replace(/\r/g, "\\r") + "',\n";
-                            if (e.sort ? r += "],\n" : r += "},\n",
-                                !i) {
-                                var o = (r = (r = (r = r.substring(0, r.lastIndexOf(","))).replace(new RegExp(",\n}", "g"), "\n}")).replace(new RegExp(",\n]", "g"), "\n]")).split("\n");
-                                r = "";
-                                var a = 0;
-                                for (n = 0; n < o.length; n++) {
-                                    (o[n].indexOf("}") >= 0 || o[n].indexOf("]") >= 0) && a--,
-                                        tabs = "";
-                                    for (var s = 0; s < a; s++)
-                                        tabs += "\t";
-                                    r += tabs + o[n] + "\n",
-                                        (o[n].indexOf("{") >= 0 || o[n].indexOf("[") >= 0) && a++
-                                }
-                                "html" == t && (r = (r = r.replace(/</g, "&lt;").replace(/>/g, "&gt;")).replace(/\n/g, "<BR>").replace(/\t/g, "&nbsp;&nbsp;&nbsp;&nbsp;")),
-                                    "compact" == t && (r = r.replace(/\n/g, "").replace(/\t/g, ""))
-                            }
-                            return r
-                        },
-                        no_fast_endings: function (e) {
-                            e = e.split("/>");
-                            for (var t = 1; t < e.length; t++) {
-                                var i = e[t - 1].substring(e[t - 1].lastIndexOf("<") + 1).split(" ")[0];
-                                e[t] = "></" + i + ">" + e[t]
-                            }
-                            return e.join("")
-                        },
-                        attris_to_tags: function (e) {
-                            var t = " =\"'".split("");
-                            e = e.split(">");
-                            for (var i = 0; i < e.length; i++) {
-                                for (var r = e[i].split("<"), n = 0; n < 4; n++)
-                                    r[0] = r[0].replace(new RegExp(t[n], "g"), "_jsonconvtemp" + n + "_");
-                                if (r[1]) {
-                                    r[1] = r[1].replace(/'/g, '"'),
-                                        r[1] = r[1].split('"');
-                                    for (var o = 1; o < r[1].length; o += 2)
-                                        for (n = 0; n < 4; n++)
-                                            r[1][o] = r[1][o].replace(new RegExp(t[n], "g"), "_jsonconvtemp" + n + "_");
-                                    r[1] = r[1].join('"')
-                                }
-                                e[i] = r.join("<")
-                            }
-                            for (e = (e = (e = e.join(">")).replace(/ ([^=]*)=([^ |>]*)/g, "><$1>$2</$1")).replace(/>"/g, ">").replace(/"</g, "<"),
-                                n = 0; n < 4; n++)
-                                e = e.replace(new RegExp("_jsonconvtemp" + n + "_", "g"), t[n]);
-                            return e
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.XML2JSON"
-                    }),
-                    GeoGlobe.Format.CSWGetRecords = function (e) {
-                        e = GeoGlobe.Util.applyDefaults(e, GeoGlobe.Format.CSWGetRecords.DEFAULTS);
-                        var t = GeoGlobe.Format.CSWGetRecords["v" + e.version.replace(/\./g, "_")];
-                        if (!t)
-                            throw "Unsupported CSWGetRecords version: " + e.version;
-                        return new t(e)
+                    }
+                      , n = r.prototype;
+                    return n.clear = function() {
+                        this.map = {}
                     }
                     ,
-                    GeoGlobe.Format.CSWGetRecords.DEFAULTS = {
-                        version: "2.0.2"
-                    },
-                    GeoGlobe.Format.CSWGetRecords.v2_0_2 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        namespaces: {
-                            csw: "http://www.opengis.net/cat/csw/2.0.2",
-                            dc: "http://purl.org/dc/elements/1.1/",
-                            dct: "http://purl.org/dc/terms/",
-                            gmd: "http://www.isotc211.org/2005/gmd",
-                            geonet: "http://www.fao.org/geonetwork",
-                            ogc: "http://www.opengis.net/ogc",
-                            ows: "http://www.opengis.net/ows",
-                            xlink: "http://www.w3.org/1999/xlink",
-                            xsi: "http://www.w3.org/2001/XMLSchema-instance"
-                        },
-                        defaultPrefix: "csw",
-                        version: "2.0.2",
-                        schemaLocation: "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd",
-                        requestId: null,
-                        resultType: null,
-                        outputFormat: null,
-                        outputSchema: null,
-                        startPosition: null,
-                        maxRecords: null,
-                        DistributedSearch: null,
-                        ResponseHandler: null,
-                        Query: null,
-                        regExes: {
-                            trimSpace: /^\s*|\s*$/g,
-                            removeSpace: /\s*/g,
-                            splitSpace: /\s+/,
-                            trimComma: /\s*,\s*/g
-                        },
-                        initialize: function (e) {
-                            GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
-                        },
-                        read: function (e) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
-                                e && 9 == e.nodeType && (e = e.documentElement);
-                            var t = {};
-                            return this.readNode(e, t),
-                                t
-                        },
-                        readers: {
-                            csw: {
-                                GetRecordsResponse: function (e, t) {
-                                    t.records = [],
-                                        this.readChildNodes(e, t);
-                                    var i = this.getAttributeNS(e, "", "version");
-                                    "" != i && (t.version = i)
-                                },
-                                RequestId: function (e, t) {
-                                    t.RequestId = this.getChildValue(e)
-                                },
-                                SearchStatus: function (e, t) {
-                                    t.SearchStatus = {};
-                                    var i = this.getAttributeNS(e, "", "timestamp");
-                                    "" != i && (t.SearchStatus.timestamp = i)
-                                },
-                                SearchResults: function (e, t) {
-                                    this.readChildNodes(e, t);
-                                    for (var i = e.attributes, r = {}, n = 0, o = i.length; n < o; ++n)
-                                        "numberOfRecordsMatched" == i[n].name || "numberOfRecordsReturned" == i[n].name || "nextRecord" == i[n].name ? r[i[n].name] = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[n].nodeValue) : r[i[n].name] = i[n].nodeValue;
-                                    t.SearchResults = r
-                                },
-                                SummaryRecord: function (e, t) {
-                                    var i = {
-                                        type: "SummaryRecord"
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.records.push(i)
-                                },
-                                BriefRecord: function (e, t) {
-                                    var i = {
-                                        type: "BriefRecord"
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.records.push(i)
-                                },
-                                DCMIRecord: function (e, t) {
-                                    var i = {
-                                        type: "DCMIRecord"
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.records.push(i)
-                                },
-                                Record: function (e, t) {
-                                    var i = {
-                                        type: "Record"
-                                    };
-                                    this.readChildNodes(e, i),
-                                        t.records.push(i)
-                                },
-                                "*": function (e, t) {
-                                    t[e.localName || e.nodeName.split(":").pop()] = this.getChildValue(e)
-                                }
-                            },
-                            geonet: {
-                                info: function (e, t) {
-                                    var i = {};
-                                    this.readChildNodes(e, i),
-                                        t.gninfo = i
-                                }
-                            },
-                            dc: {
-                                "*": function (e, t) {
-                                    var i = e.localName || e.nodeName.split(":").pop();
-                                    GeoGlobe.Util.isArray(t[i]) || (t[i] = []);
-                                    for (var r = {}, n = e.attributes, o = 0, a = n.length; o < a; ++o)
-                                        r[n[o].name] = n[o].nodeValue;
-                                    r.value = this.getChildValue(e),
-                                        "" != r.value && t[i].push(r)
-                                }
-                            },
-                            dct: {
-                                "*": function (e, t) {
-                                    var i = e.localName || e.nodeName.split(":").pop();
-                                    GeoGlobe.Util.isArray(t[i]) || (t[i] = []),
-                                        t[i].push(this.getChildValue(e))
-                                }
-                            },
-                            ows: GeoGlobe.Util.applyDefaults({
-                                BoundingBox: function (e, t) {
-                                    t.bounds && (t.BoundingBox = [{
-                                        crs: t.projection,
-                                        value: [t.bounds._sw.lng, t.bounds._sw.lat, t.bounds._ne.lng, t.bounds._ne.lat]
-                                    }],
-                                        delete t.projection,
-                                        delete t.bounds),
-                                        GeoGlobe.Format.OWSCommon.v1_0_0.prototype.readers.ows.BoundingBox.apply(this, arguments)
-                                }
-                            }, GeoGlobe.Format.OWSCommon.v1_0_0.prototype.readers.ows)
-                        },
-                        write: function (e) {
-                            var t = this.writeNode("csw:GetRecords", e);
-                            return t.setAttribute("xmlns:gmd", this.namespaces.gmd),
-                                GeoGlobe.Format.XML.prototype.write.apply(this, [t])
-                        },
-                        writers: {
-                            csw: {
-                                GetRecords: function (e) {
-                                    e || (e = {});
-                                    var t = this.createElementNSPlus("csw:GetRecords", {
-                                        attributes: {
-                                            service: "CSW",
-                                            version: this.version,
-                                            requestId: e.requestId || this.requestId,
-                                            resultType: e.resultType || this.resultType,
-                                            outputFormat: e.outputFormat || this.outputFormat,
-                                            outputSchema: e.outputSchema || this.outputSchema,
-                                            startPosition: e.startPosition || this.startPosition,
-                                            maxRecords: e.maxRecords || this.maxRecords
-                                        }
-                                    });
-                                    (e.DistributedSearch || this.DistributedSearch) && this.writeNode("csw:DistributedSearch", e.DistributedSearch || this.DistributedSearch, t);
-                                    var i = e.ResponseHandler || this.ResponseHandler;
-                                    if (GeoGlobe.Util.isArray(i) && i.length > 0)
-                                        for (var r = 0, n = i.length; r < n; r++)
-                                            this.writeNode("csw:ResponseHandler", i[r], t);
-                                    return this.writeNode("Query", e.Query || this.Query, t),
-                                        t
-                                },
-                                DistributedSearch: function (e) {
-                                    return this.createElementNSPlus("csw:DistributedSearch", {
-                                        attributes: {
-                                            hopCount: e.hopCount
-                                        }
-                                    })
-                                },
-                                ResponseHandler: function (e) {
-                                    return this.createElementNSPlus("csw:ResponseHandler", {
-                                        value: e.value
-                                    })
-                                },
-                                Query: function (e) {
-                                    e || (e = {});
-                                    var t = this.createElementNSPlus("csw:Query", {
-                                        attributes: {
-                                            typeNames: e.typeNames || "csw:Record"
-                                        }
-                                    })
-                                        , i = e.ElementName;
-                                    if (GeoGlobe.Util.isArray(i) && i.length > 0)
-                                        for (var r = 0, n = i.length; r < n; r++)
-                                            this.writeNode("csw:ElementName", i[r], t);
-                                    else
-                                        this.writeNode("csw:ElementSetName", e.ElementSetName || {
-                                            value: "summary"
-                                        }, t);
-                                    return e.Constraint && this.writeNode("csw:Constraint", e.Constraint, t),
-                                        e.SortBy && this.writeNode("ogc:SortBy", e.SortBy, t),
-                                        t
-                                },
-                                ElementName: function (e) {
-                                    return this.createElementNSPlus("csw:ElementName", {
-                                        value: e.value
-                                    })
-                                },
-                                ElementSetName: function (e) {
-                                    return this.createElementNSPlus("csw:ElementSetName", {
-                                        attributes: {
-                                            typeNames: e.typeNames
-                                        },
-                                        value: e.value
-                                    })
-                                },
-                                Constraint: function (e) {
-                                    var t = this.createElementNSPlus("csw:Constraint", {
-                                        attributes: {
-                                            version: e.version
-                                        }
-                                    });
-                                    if (e.Filter) {
-                                        var i = new GeoGlobe.Format.Filter({
-                                            version: e.version
-                                        });
-                                        t.appendChild(i.write(e.Filter))
-                                    } else if (e.CqlText) {
-                                        var r = this.createElementNSPlus("CqlText", {
-                                            value: e.CqlText.value
-                                        });
-                                        t.appendChild(r)
-                                    }
-                                    return t
-                                }
-                            },
-                            ogc: GeoGlobe.Format.Filter.v1_1_0.prototype.writers.ogc
-                        },
-                        CLASS_NAME: "GeoGlobe.Format.CSWGetRecords.v2_0_2"
-                    }),
-                    function (e, t) {
-                        e.GeoGlobe.Format.X2JS = function (e) {
-                            void 0 === (e = e || {}).escapeMode && (e.escapeMode = !0),
-                                e.attributePrefix = e.attributePrefix || "_",
-                                e.arrayAccessForm = e.arrayAccessForm || "none",
-                                e.emptyNodeForm = e.emptyNodeForm || "text",
-                                void 0 === e.enableToStringFunc && (e.enableToStringFunc = !0),
-                                e.arrayAccessFormPaths = e.arrayAccessFormPaths || [],
-                                void 0 === e.skipEmptyTextNodesForObj && (e.skipEmptyTextNodesForObj = !0),
-                                void 0 === e.stripWhitespaces && (e.stripWhitespaces = !0),
-                                e.datetimeAccessFormPaths = e.datetimeAccessFormPaths || [],
-                                void 0 === e.useDoubleQuotes && (e.useDoubleQuotes = !1),
-                                e.xmlElementsFilter = e.xmlElementsFilter || [],
-                                e.jsonPropertiesFilter = e.jsonPropertiesFilter || [],
-                                void 0 === e.keepCData && (e.keepCData = !1);
-                            var t = 1
-                                , i = 3
-                                , r = 4
-                                , n = 8
-                                , o = 9;
-                            function a(e) {
-                                var t = e.localName;
-                                return null == t && (t = e.baseName),
-                                    null != t && "" != t || (t = e.nodeName),
-                                    t
-                            }
-                            function s(e) {
-                                return "string" == typeof e ? e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;") : e
-                            }
-                            function x(e, t, i, r) {
-                                for (var n = 0; n < e.length; n++) {
-                                    var o = e[n];
-                                    if ("string" == typeof o) {
-                                        if (o == r)
-                                            break
-                                    } else if (o instanceof RegExp) {
-                                        if (o.test(r))
-                                            break
-                                    } else if ("function" == typeof o && o(t, i, r))
-                                        break
-                                }
-                                return n != e.length
-                            }
-                            function l(t, i, r) {
-                                switch (e.arrayAccessForm) {
-                                    case "property":
-                                        t[i] instanceof Array ? t[i + "_asArray"] = t[i] : t[i + "_asArray"] = [t[i]]
-                                }
-                                !(t[i] instanceof Array) && e.arrayAccessFormPaths.length > 0 && x(e.arrayAccessFormPaths, t, i, r) && (t[i] = [t[i]])
-                            }
-                            function c(e) {
-                                var t = e.split(/[-T:+Z]/g)
-                                    , i = new Date(t[0], t[1] - 1, t[2])
-                                    , r = t[5].split(".");
-                                if (i.setHours(t[3], t[4], r[0]),
-                                    r.length > 1 && i.setMilliseconds(r[1]),
-                                    t[6] && t[7]) {
-                                    var n = 60 * t[6] + Number(t[7]);
-                                    n = 0 + ("-" == (/\d\d-\d\d:\d\d$/.test(e) ? "-" : "+") ? -1 * n : n),
-                                        i.setMinutes(i.getMinutes() - n - i.getTimezoneOffset())
-                                } else
-                                    -1 !== e.indexOf("Z", e.length - 1) && (i = new Date(Date.UTC(i.getFullYear(), i.getMonth(), i.getDate(), i.getHours(), i.getMinutes(), i.getSeconds(), i.getMilliseconds())));
-                                return i
-                            }
-                            function u(i, r, n, o) {
-                                return !(r == t && e.xmlElementsFilter.length > 0) || x(e.xmlElementsFilter, i, n, o)
-                            }
-                            function h(s, f) {
-                                if (s.nodeType == o) {
-                                    for (var d = new Object, g = s.childNodes, p = 0; p < g.length; p++) {
-                                        if ((m = g.item(p)).nodeType == t)
-                                            d[b = a(m)] = h(m, b)
-                                    }
-                                    return d
-                                }
-                                if (s.nodeType == t) {
-                                    (d = new Object).__cnt = 0;
-                                    for (g = s.childNodes,
-                                        p = 0; p < g.length; p++) {
-                                        var m, b = a(m = g.item(p));
-                                        if (m.nodeType != n) {
-                                            var v = f + "." + b;
-                                            u(d, m.nodeType, b, v) && (d.__cnt++,
-                                                null == d[b] ? (d[b] = h(m, v),
-                                                    l(d, b, v)) : (null != d[b] && (d[b] instanceof Array || (d[b] = [d[b]],
-                                                        l(d, b, v))),
-                                                        d[b][d[b].length] = h(m, v)))
-                                        }
-                                    }
-                                    for (var C = 0; C < s.attributes.length; C++) {
-                                        var y = s.attributes.item(C);
-                                        d.__cnt++,
-                                            d[e.attributePrefix + y.name] = y.value
-                                    }
-                                    var _ = s.prefix;
-                                    return null != _ && "" != _ && (d.__cnt++,
-                                        d.__prefix = _),
-                                        null != d["#text"] && (d.__text = d["#text"],
-                                            d.__text instanceof Array && (d.__text = d.__text.join("\n")),
-                                            e.stripWhitespaces && (d.__text = d.__text.trim()),
-                                            delete d["#text"],
-                                            "property" == e.arrayAccessForm && delete d["#text_asArray"],
-                                            d.__text = function (t, i, r) {
-                                                if (e.datetimeAccessFormPaths.length > 0) {
-                                                    var n = r.split(".#")[0];
-                                                    return x(e.datetimeAccessFormPaths, t, i, n) ? c(t) : t
-                                                }
-                                                return t
-                                            }(d.__text, b, f + "." + b)),
-                                        null != d["#cdata-section"] && (d.__cdata = d["#cdata-section"],
-                                            delete d["#cdata-section"],
-                                            "property" == e.arrayAccessForm && delete d["#cdata-section_asArray"]),
-                                        0 == d.__cnt && "text" == e.emptyNodeForm ? d = "" : 1 == d.__cnt && null != d.__text ? d = d.__text : 1 != d.__cnt || null == d.__cdata || e.keepCData ? d.__cnt > 1 && null != d.__text && e.skipEmptyTextNodesForObj && (e.stripWhitespaces && "" == d.__text || "" == d.__text.trim()) && delete d.__text : d = d.__cdata,
-                                        delete d.__cnt,
-                                        !e.enableToStringFunc || null == d.__text && null == d.__cdata || (d.toString = function () {
-                                            return (null != this.__text ? this.__text : "") + (null != this.__cdata ? this.__cdata : "")
-                                        }
-                                        ),
-                                        d
-                                }
-                                if (s.nodeType == i || s.nodeType == r)
-                                    return s.nodeValue
-                            }
-                            function f(t, i, r, n) {
-                                var o = "<" + (null != t && null != t.__prefix ? t.__prefix + ":" : "") + i;
-                                if (null != r)
-                                    for (var a = 0; a < r.length; a++) {
-                                        var x = r[a]
-                                            , l = t[x];
-                                        e.escapeMode && (l = s(l)),
-                                            o += " " + x.substr(e.attributePrefix.length) + "=",
-                                            e.useDoubleQuotes ? o += '"' + l + '"' : o += "'" + l + "'"
-                                    }
-                                return o + (n ? "/>" : ">")
-                            }
-                            function d(e, t) {
-                                return "</" + (null != e.__prefix ? e.__prefix + ":" : "") + t + ">"
-                            }
-                            function g(t, i) {
-                                return "property" == e.arrayAccessForm && (n = "_asArray",
-                                    -1 !== (r = i.toString()).indexOf(n, r.length - n.length)) || 0 == i.toString().indexOf(e.attributePrefix) || 0 == i.toString().indexOf("__") || t[i] instanceof Function;
-                                var r, n
-                            }
-                            function p(e) {
-                                var t = 0;
-                                if (e instanceof Object)
-                                    for (var i in e)
-                                        g(e, i) || t++;
-                                return t
-                            }
-                            function m(t) {
-                                var i = [];
-                                if (t instanceof Object)
-                                    for (var r in t)
-                                        -1 == r.toString().indexOf("__") && 0 == r.toString().indexOf(e.attributePrefix) && i.push(r);
-                                return i
-                            }
-                            function b(t) {
-                                var i, r, n = "";
-                                return t instanceof Object ? n += (r = "",
-                                    null != (i = t).__cdata && (r += "<![CDATA[" + i.__cdata + "]]>"),
-                                    null != i.__text && (e.escapeMode ? r += s(i.__text) : r += i.__text),
-                                    r) : null != t && (e.escapeMode ? n += s(t) : n += t),
-                                    n
-                            }
-                            function v(e, t) {
-                                return "" === e ? t : e + "." + t
-                            }
-                            function C(e, t, i, r) {
-                                var n = "";
-                                if (0 == e.length)
-                                    n += f(e, t, i, !0);
-                                else
-                                    for (var o = 0; o < e.length; o++)
-                                        n += f(e[o], t, m(e[o]), !1),
-                                            n += y(e[o], v(r, t)),
-                                            n += d(e[o], t);
-                                return n
-                            }
-                            function y(t, i) {
-                                var r, n, o, a = "";
-                                if (p(t) > 0)
-                                    for (var s in t)
-                                        if (!g(t, s) && ("" == i || (r = t,
-                                            n = s,
-                                            o = v(i, s),
-                                            0 == e.jsonPropertiesFilter.length || "" == o || x(e.jsonPropertiesFilter, r, n, o)))) {
-                                            var l = t[s]
-                                                , c = m(l);
-                                            if (null == l || null == l)
-                                                a += f(l, s, c, !0);
-                                            else if (l instanceof Object)
-                                                if (l instanceof Array)
-                                                    a += C(l, s, c, i);
-                                                else if (l instanceof Date)
-                                                    a += f(l, s, c, !1),
-                                                        a += l.toISOString(),
-                                                        a += d(l, s);
-                                                else {
-                                                    p(l) > 0 || null != l.__text || null != l.__cdata ? (a += f(l, s, c, !1),
-                                                        a += y(l, v(i, s)),
-                                                        a += d(l, s)) : a += f(l, s, c, !0)
-                                                }
-                                            else
-                                                a += f(l, s, c, !1),
-                                                    a += b(l),
-                                                    a += d(l, s)
-                                        }
-                                return a + b(t)
-                            }
-                            this.parseXmlString = function (e) {
-                                var t, i = window.ActiveXObject || "ActiveXObject" in window;
-                                if (void 0 === e)
-                                    return null;
-                                if (window.DOMParser) {
-                                    var r = new window.DOMParser
-                                        , n = null;
-                                    if (!i)
-                                        try {
-                                            n = r.parseFromString("INVALID", "text/xml").getElementsByTagName("parsererror")[0].namespaceURI
-                                        } catch (e) {
-                                            n = null
-                                        }
-                                    try {
-                                        t = r.parseFromString(e, "text/xml"),
-                                            null != n && t.getElementsByTagNameNS(n, "parsererror").length > 0 && (t = null)
-                                    } catch (e) {
-                                        t = null
-                                    }
-                                } else
-                                    0 == e.indexOf("<?") && (e = e.substr(e.indexOf("?>") + 2)),
-                                        (t = new ActiveXObject("Microsoft.XMLDOM")).async = "false",
-                                        t.loadXML(e);
-                                return t
-                            }
-                                ,
-                                this.asArray = function (e) {
-                                    return void 0 === e || null == e ? [] : e instanceof Array ? e : [e]
-                                }
-                                ,
-                                this.toXmlDateTime = function (e) {
-                                    return e instanceof Date ? e.toISOString() : "number" == typeof e ? new Date(e).toISOString() : null
-                                }
-                                ,
-                                this.asDateTime = function (e) {
-                                    return "string" == typeof e ? c(e) : e
-                                }
-                                ,
-                                this.xml2json = function (e) {
-                                    return h(e)
-                                }
-                                ,
-                                this.xml_str2json = function (e) {
-                                    var t = this.parseXmlString(e);
-                                    return null != t ? this.xml2json(t) : null
-                                }
-                                ,
-                                this.json2xml_str = function (e) {
-                                    return y(e, "")
-                                }
-                                ,
-                                this.json2xml = function (e) {
-                                    var t = this.json2xml_str(e);
-                                    return this.parseXmlString(t)
-                                }
-                                ,
-                                this.getVersion = function () {
-                                    return "1.2.0"
-                                }
-                        }
-                            ,
-                            e.GeoGlobe.Format.X2JS.CLASS_NAME = "GeoGlobe.Format.X2JS"
-                    }(window),
-                    GeoGlobe.Query.Service = GeoGlobe.Class4OL({
-                        name: null,
-                        url: null,
-                        version: null,
-                        userid: "test@liferay.com",
-                        initialize: function (e, t, i) {
-                            this.name = e,
-                                this.url = t,
-                                GeoGlobe.Util.extend(this, i)
-                        },
-                        getCapabilities: function (e, t) { },
-                        isExist: function () { },
-                        failFn: function (e) {
-                            alert("鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + this.url + "\n鎿嶄綔绫诲瀷锛�" + e)
-                        },
-                        _parseToXML: function (e) {
-                            var t = e.responseXML;
-                            return t && t.documentElement || (t = e.responseText),
-                                (new GeoGlobe.Format.XML).read(t)
-                        },
-                        _checkIsError: function (e) {
-                            return (new GeoGlobe.Format.XML).read(e).selectNodes("ServiceExceptionReport").length > 0 ? this._parseToJSON(e) : null
-                        },
-                        _isException: function (e) {
-                            return !(!e || !e.ServiceExceptionReport)
-                        },
-                        _parseToJSON: function (e) {
-                            return (new GeoGlobe.Util.Format.XML2JSON).read(e)
-                        },
-                        CLASS_NAME: "GeoGlobe.Query.Service"
-                    }),
-                    GeoGlobe.Query.RouteQuery = GeoGlobe.Class4OL(GeoGlobe.Query.Service, {
-                        _format: null,
-                        initialize: function (e, t, i) {
-                            this.name = e,
-                                this.url = t,
-                                this._format = new GeoGlobe.Format.RouteQuery,
-                                GeoGlobe.Util.extend(this, i)
-                        },
-                        getCapabilities: function (e, t) {
-                            var i = this.url;
-                            GeoGlobe.loadURL(i, {
-                                REQUEST: "GetCapabilities"
-                            }, this, e, t)
-                        },
-                        findRoute: function (e, t, i) {
-                            var r = {
-                                REQUEST: "FindRoute",
-                                SERVICE: "ROUTE",
-                                VERSION: "1.0.0"
-                            };
-                            for (var n in {
-                                data: !0,
-                                orig: !0,
-                                dest: !0
-                            })
-                                if (!(n in e))
-                                    throw new Error("Missing property '" + n + "'");
-                            r.DATA = e.data,
-                                r.ORIG = e.orig,
-                                r.DEST = e.dest,
-                                null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
-                                null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
-                                null !== e.radius && void 0 !== e.radius && (r.RADIUS = e.radius),
-                                null !== e.queryType && void 0 !== e.queryType && (r.QUERYTYPE = e.queryType),
-                                null !== e.midpos && void 0 !== e.midpos && (r.MIDPOS = e.midpos),
-                                null !== e.avoidPos && void 0 !== e.avoidPos && (r.AVOIDPOS = e.avoidPos),
-                                null !== e.filterRoute && void 0 !== e.filterRoute && (r.FILTERROUTE = e.filterRoute),
-                                null !== e.resultCount && void 0 !== e.resultCount && (r.RESULTCOUNT = e.resultCount),
-                                GeoGlobe.Request.GET({
-                                    url: this.url,
-                                    params: r,
-                                    async: !1,
-                                    scope: this,
-                                    success: function (e) {
-                                        var i = this._format.read(e.responseText);
-                                        if ("string" != typeof i.exceptionInfo) {
-                                            var r = new GeoGlobe.Query.RoutesResult(i)
-                                                , n = r.routes
-                                                , o = (new GeoGlobe.Format.GeoJSON).write(n)
-                                                , a = new GeoGlobe.Format.JSON;
-                                            geojsonRoute = a.read(o),
-                                                r.geojsonRoute = geojsonRoute,
-                                                t(r)
-                                        } else
-                                            t(i)
-                                    },
-                                    failure: i
-                                })
-                        },
-                        getRouteInfo: function (e, t, i) {
-                            var r = {
-                                REQUEST: "GetRouteInfo",
-                                SERVICE: "ROUTE",
-                                VERSION: "1.0.0"
-                            };
-                            if (!e.data || !e.id)
-                                throw "Error!Not data and id for bus query.";
-                            r.DATA = e.data,
-                                r.ID = e.id,
-                                GeoGlobe.Request.GET({
-                                    url: this.url,
-                                    params: r,
-                                    scope: this,
-                                    success: function (e) {
-                                        var i = this._format.read(e.responseText);
-                                        "string" != typeof i.exceptionInfo ? (i = new GeoGlobe.Query.RouteInfoResult(i),
-                                            t(i)) : t(i)
-                                    },
-                                    failure: i
-                                })
-                        },
-                        CLASS_NAME: "GeoGlobe.Query.RouteQuery"
-                    }),
-                    GeoGlobe.Format.RouteQuery = new GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        initialize: function (e) {
-                            GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
-                        },
-                        read: function (e) {
-                            var t = {}
-                                , i = [];
-                            if ("string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
-                                e && 9 == e.nodeType) {
-                                i = [];
-                                var r = GeoGlobe.Format.XML.prototype.getChildEl.apply(this, [e]).nodeName;
-                                if ("ServiceExceptionReport" === r) {
-                                    var n = GeoGlobe.Format.XML.prototype.getElementsByTagNameNS(e, "*", "ServiceException")[0];
-                                    return {
-                                        exceptionInfo: GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [n]),
-                                        exceptionCode: n.getAttribute("code")
-                                    }
-                                }
-                                for (var o = e.getElementsByTagName(r)[0].childNodes, a = 0; a < o.length; a++) {
-                                    var s = o[a]
-                                        , x = s.nodeName;
-                                    this._resultPaser[r][x] && this._resultPaser[r][x].apply(this, [s, i])
-                                }
-                            }
-                            return "routeinfo" === (r = r.toLowerCase()) ? t.items = i : t[r] = i,
-                                t
-                        },
-                        _resultPaser: {
-                            RouteInfo: {
-                                Item: function (e, t) {
-                                    var i = e.childNodes
-                                        , r = e.getAttribute("id")
-                                        , n = {};
-                                    r && (n = {
-                                        id: r
-                                    });
-                                    for (var o = 0; o < i.length; o++) {
-                                        var a = (e = i[o]).nodeName;
-                                        this._resultPaser.RouteInfo[a] && this._resultPaser.RouteInfo[a].apply(this, [e, n])
-                                    }
-                                    t.push(n)
-                                },
-                                Name: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
-                                    i && (t.name = i)
-                                },
-                                Toll: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
-                                    t.toll = i
-                                },
-                                Level: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
-                                    t.level = i
-                                },
-                                Length: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
-                                    t.length = i
-                                },
-                                Geometry: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getElementsByTagNameNS(e, "*", "LineString")[0];
-                                    if (i) {
-                                        var r = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [i]);
-                                        if ("string" == typeof r && r.length > 0) {
-                                            for (var n = r.split(" "), o = [], a = 0, s = n.length; a < s; a++) {
-                                                var x = n[a].split(",");
-                                                o.push(new GeoGlobe.Geometry.Point(new Number(x[0]), new Number(x[1])))
-                                            }
-                                            var l = new GeoGlobe.Geometry.LineString(o);
-                                            t.geometry = l
-                                        }
-                                    }
-                                },
-                                Directions: function (e, t) {
-                                    t.directions = [];
-                                    for (var i = e.childNodes, r = 0; r < i.length; r++) {
-                                        var n = (e = i[r]).nodeName;
-                                        this._resultPaser.RouteInfo[n] && this._resultPaser.RouteInfo[n](e, t.directions)
-                                    }
-                                },
-                                Direction: function (e, t) {
-                                    var i = {}
-                                        , r = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
-                                    i.direction = r,
-                                        i.nextID = e.getAttribute("nextID"),
-                                        i.nextItem = e.getAttribute("nextItem"),
-                                        t.push(i)
-                                }
-                            },
-                            Routes: {
-                                Route: function (e, t) {
-                                    for (var i = e.childNodes, r = {}, n = 0; n < i.length; n++) {
-                                        var o = (e = i[n]).nodeName;
-                                        this._resultPaser.Routes[o] && this._resultPaser.Routes[o].apply(this, [e, r])
-                                    }
-                                    t.push(r)
-                                },
-                                Item: function (e, t) {
-                                    GeoGlobe.Util.isArray(t.items) || (t.items = []);
-                                    var i = e.childNodes
-                                        , r = e.getAttribute("id")
-                                        , n = {};
-                                    r && (n = {
-                                        id: r
-                                    });
-                                    for (var o = 0; o < i.length; o++) {
-                                        var a = (e = i[o]).nodeName;
-                                        this._resultPaser.Routes[a] && this._resultPaser.Routes[a].apply(this, [e, n])
-                                    }
-                                    t.items.push(n)
-                                },
-                                Distance: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
-                                    t.distance = i
-                                },
-                                Name: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
-                                    i && (t.name = i)
-                                },
-                                Length: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
-                                    t.length = i
-                                },
-                                Direction: function (e, t) {
-                                    var i = {}
-                                        , r = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
-                                    i.direction = r,
-                                        i.nextID = e.getAttribute("nextID"),
-                                        i.nextItem = e.getAttribute("nextItem"),
-                                        t.direction = i
-                                },
-                                Geometry: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getElementsByTagNameNS(e, "*", "LineString")[0];
-                                    if (i) {
-                                        var r = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [i]);
-                                        if ("string" == typeof r && r.length > 0) {
-                                            for (var n = r.split(" "), o = [], a = 0, s = n.length; a < s; a++) {
-                                                var x = n[a].split(",");
-                                                o.push(new GeoGlobe.Geometry.Point(new Number(x[0]), new Number(x[1])))
-                                            }
-                                            var l = new GeoGlobe.Geometry.LineString(o);
-                                            t.geometry = l
-                                        }
-                                    }
-                                },
-                                Duration: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
-                                    t.duration = i
-                                },
-                                BoundingBox: function (e, t) {
-                                    for (var i = e.childNodes, r = 0; r < i.length; r++) {
-                                        var n = (e = i[r]).nodeName;
-                                        this._resultPaser.Routes[n] && this._resultPaser.Routes[n].apply(this, [e, t])
-                                    }
-                                },
-                                LowerCorner: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]).replace(/^\s*|\s*$/g, "")
-                                        , r = (i = i.replace(/\s*,\s*/g, ",")).split(",");
-                                    t.left = r[0],
-                                        t.bottom = r[1]
-                                },
-                                UpperCorner: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]).replace(/^\s*|\s*$/g, "")
-                                        , r = (i = i.replace(/\s*,\s*/g, ",")).split(",");
-                                    t.right = r[0],
-                                        t.top = r[1],
-                                        t.bounds = new GeoGlobe.LngLatBounds(new GeoGlobe.LngLat(t.left, t.bottom), new GeoGlobe.LngLat(t.right, t.top)),
-                                        delete t.left,
-                                        delete t.bottom,
-                                        delete t.right,
-                                        delete t.top
-                                },
-                                Count: function (e, t) {
-                                    var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
-                                    t.count = i
-                                }
-                            }
-                        }
-                    }),
-                    GeoGlobe.Query.RoutesResult = GeoGlobe.Class4OL({
-                        data: null,
-                        routes: null,
-                        initialize: function (e) {
-                            this.routes = [];
-                            var t = null;
-                            if (e && e.routes && (this.data = e,
-                                t = e.routes),
-                                GeoGlobe.Util.isArray(t))
-                                for (var i = 0, r = t.length; i < r; i++) {
-                                    var n = new GeoGlobe.Query.RouteResult;
-                                    for (var o in t[i])
-                                        n[o] = t[i][o];
-                                    this.routes.push(n)
-                                }
-                        },
-                        CLASS_NAME: "GeoGlobe.Query.RoutesResult"
-                    }),
-                    GeoGlobe.Query.RouteResult = GeoGlobe.Class4OL({
-                        bounds: null,
-                        count: null,
-                        distance: null,
-                        duration: null,
-                        geometry: null,
-                        items: null,
-                        initialize: function () { },
-                        CLASS_NAME: "GeoGlobe.Query.RouteResult"
-                    }),
-                    GeoGlobe.Query.RouteInfoResult = GeoGlobe.Class4OL({
-                        data: null,
-                        items: null,
-                        initialize: function (e) {
-                            if (this.items = [],
-                                e && e.items) {
-                                this.data = e;
-                                var t = e.items
-                            }
-                            if (GeoGlobe.Util.isArray(t))
-                                for (var i = 0, r = t.length; i < r; i++) {
-                                    var n = new GeoGlobe.Query.RouteInfoItem;
-                                    for (var o in t[i])
-                                        n[o] = t[i][o];
-                                    this.items.push(n)
-                                }
-                        },
-                        CLASS_NAME: "GeoGlobe.Query.RouteInfoResult"
-                    }),
-                    GeoGlobe.Query.RouteInfoItem = GeoGlobe.Class4OL({
-                        id: null,
-                        name: null,
-                        toll: null,
-                        length: null,
-                        geometry: null,
-                        level: null,
-                        directions: null,
-                        initialize: function () { },
-                        CLASS_NAME: "GeoGlobe.Query.RouteInfoItem"
-                    }),
-                    GeoGlobe.Query.BusQuery = GeoGlobe.Class4OL(GeoGlobe.Query.Service, {
-                        networkName: null,
-                        transferScheme: null,
-                        initialize: function (e, t, i) {
-                            this.name = e,
-                                this.url = t,
-                                GeoGlobe.Util.extend(this, i)
-                        },
-                        getCapabilities: function (e, t) {
-                            "function" != typeof t && (t = function () {
-                                alert("鍏氦鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + this.url + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
-                            }
-                            ),
-                                GeoGlobe.Request.GET({
-                                    url: this.url,
-                                    params: {
-                                        REQUEST: "GetCapabilities"
-                                    },
-                                    scope: this,
-                                    async: !1,
-                                    success: function (t) {
-                                        "function" == typeof e && e(t)
-                                    },
-                                    failure: t
-                                })
-                        },
-                        isExist: function () {
-                            var e = !1
-                                , t = this.url;
-                            return GeoGlobe.Request.GET({
-                                url: t,
-                                scope: this,
-                                async: !1,
-                                success: function () {
-                                    e = !0
-                                }
-                            }),
-                                e
-                        },
-                        queryStation: function (e, t, i) {
-                            var r = {
-                                REQUEST: "QueryStation"
-                            };
-                            if (!e.networkName)
-                                throw "Error!Not network name for bus query.";
-                            r.NETWORKNAME = e.networkName,
-                                null !== e.stationId && void 0 !== e.stationId && (r.STATIONID = e.stationId),
-                                null !== e.stationName && void 0 !== e.stationName && (r.STATIONNAME = e.stationName),
-                                null !== e.lineId && void 0 !== e.lineId && (r.LINEID = e.lineId),
-                                null !== e.lineName && void 0 !== e.lineName && (r.LINENAME = e.lineName),
-                                null !== e.coordinate && void 0 !== e.coordinate && (r.COORDINATE = e.coordinate),
-                                null !== e.bbox && void 0 !== e.bbox && (r.BOX = e.bbox),
-                                GeoGlobe.Request.GET({
-                                    url: this.url,
-                                    params: r,
-                                    scope: this,
-                                    success: function (e) {
-                                        var i = this._parserFeatures(e.responseText);
-                                        t(i)
-                                    },
-                                    failure: i
-                                })
-                        },
-                        queryLine: function (e, t, i) {
-                            var r = {
-                                REQUEST: "QueryLine"
-                            };
-                            if (!e.networkName)
-                                throw "Error!Not network name for bus query.";
-                            r.NETWORKNAME = e.networkName,
-                                null !== e.lineName && void 0 !== e.lineName && (r.LINENAME = e.lineName),
-                                null !== e.lineId && void 0 !== e.lineId && (r.LINEID = e.lineId),
-                                null !== e.stationName && void 0 !== e.stationName && (r.STATIONNAME = e.stationName),
-                                null !== e.stationId && void 0 !== e.stationId && (r.STATIONID = e.stationId),
-                                null !== e.coordinate && void 0 !== e.coordinate && (r.COORDINATE = e.coordinate),
-                                null !== e.bbox && void 0 !== e.bbox && (r.BOX = e.bbox),
-                                GeoGlobe.Request.GET({
-                                    url: this.url,
-                                    params: r,
-                                    scope: this,
-                                    success: function (e) {
-                                        var i = this._parserFeatures(e.responseText);
-                                        t(i)
-                                    },
-                                    failure: i
-                                })
-                        },
-                        queryChange: function (e, t, i) {
-                            var r = {
-                                REQUEST: "QueryChange"
-                            };
-                            if (!e.networkName)
-                                throw "Error!Not network name for bus query.";
-                            r.NETWORKNAME = e.networkName,
-                                null !== e.startStationId && void 0 !== e.startStationId && (r.STARTSTATIONID = e.startStationId),
-                                null !== e.endStationId && void 0 !== e.endStationId && (r.ENDSTATIONID = e.endStationId),
-                                null !== e.orderType && void 0 !== e.orderType && (r.ORDERTYPE = e.orderType),
-                                null !== e.startCoordinate && void 0 !== e.startCoordinate && (r.STARTCOORDINATE = e.startCoordinate),
-                                null !== e.endCoordinate && void 0 !== e.endCoordinate && (r.ENDCOORDINATE = e.endCoordinate),
-                                null !== e.maxDepth && void 0 !== e.maxDepth && (r.MAXDEPTH = e.maxDepth),
-                                null !== e.maxCost && void 0 !== e.maxCost && (r.MAXCOST = e.maxCost),
-                                null !== e.maxSolutions && void 0 !== e.maxSolutions && (r.MAXSOLUTIONS = e.maxSolutions),
-                                null !== e.ChangeCount && void 0 !== e.ChangeCount && (r.CHANGECOUNT = e.ChangeCount),
-                                GeoGlobe.Request.GET({
-                                    url: this.url,
-                                    params: r,
-                                    scope: this,
-                                    success: function (e) {
-                                        for (var i = [], r = (e.responseXML.documentElement ? e.responseXML : format.read(e.responseText)).selectNodes("/Features/FeatureCollection"), n = new GeoGlobe.Format.XML, o = 0; o < r.length; o++) {
-                                            var a = r[o]
-                                                , s = this._getAttibutionOfNode(a, ["cost", "price", "walkingDistance", "transferTimes"])
-                                                , x = n.write(r[o])
-                                                , l = this._parserFeatures(x);
-                                            l.attributes = s;
-                                            for (var c = a.selectNodes("featureMember"), u = 0; u < c.length; u++) {
-                                                var h = c[u].selectNodes("Road");
-                                                l[u].isOnFoot = h[0].getAttribute("isOnFoot")
-                                            }
-                                            i.push(l)
-                                        }
-                                        t(i)
-                                    },
-                                    failure: i
-                                })
-                        },
-                        _getAttibutionOfNode: function (e, t) {
-                            var i = {};
-                            if (e.tagName)
-                                for (var r = 0; r < t.length; r++)
-                                    i[t[r]] = e.getAttribute(t[r]);
-                            return i
-                        },
-                        _getGeometryType: function (e) {
-                            return "polygon"
-                        },
-                        _pagingToString: function (e, t) {
-                            return "<numPerPage>" + (t = t || this.maxPerPage) + "</numPerPage><curPage>" + (e = e || 1) + "</curPage>"
-                        },
-                        _orderByToString: function (e, t) {
-                            return e ? "<orderBy><PropertyName>" + e + "</PropertyName></orderBy>" : ""
-                        },
-                        _geometryToString: function (e) {
-                            return '<geometry><Polygon><outerBoundaryIs><LinearRing><coordinates decimal="." cs="," ts=" ">20,30 21,41 52,42 53,33 20,30</coordinates></LinearRing></outerBoundaryIs></Polygon></geometry>'
-                        },
-                        _stringToGeometry: function (e) {
-                            return GeoGlobe.Geometry.Polygon.createRegularPolygon(new GeoGlobe.Geometry.Point(360 * Math.random() - 160, 90 * Math.random() - 70), Math.round(20 * Math.random()), Math.round(10 * Math.random()))
-                        },
-                        _parserFeatures: function (e) {
-                            var t = new GeoGlobe.Format.GML;
-                            return t.gmlns = "*",
-                                t.read(e)
-                        },
-                        _parserResponseText: function (e, t) {
-                            if (t) {
-                                var i = new RegExp("<" + t + ">", ["g"])
-                                    , r = new RegExp("</" + t + ">", ["g"]);
-                                e = (e = e.replace(i, "<featureMember><" + t + ">")).replace(r, "</" + t + "></featureMember>")
-                            }
-                            return (e = (e = (e = e.replace(/<gml:LineString>/g, "<gml:LineString><gml:coordinates>")).replace(/<\/gml:LineString>/g, "</gml:coordinates></gml:LineString>")).replace(/<gml:Point>/g, "<gml:Point><gml:coordinates>")).replace(/<\/gml:Point>/g, "</gml:coordinates></gml:Point>")
-                        },
-                        _parserFeaturesNew: function (e, t) {
-                            var i = new GeoGlobe.Format.GML;
-                            return i.gmlns = "*",
-                                t && (i.featureName = t),
-                                i.read(e)
-                        },
-                        _parserSuccessResult: function (e) {
-                            return (new GeoGlobe.Util.Format.XML2JSON).read(e)
-                        },
-                        _parseToXML: function (e) {
-                            var t = e.responseXML;
-                            return t && t.documentElement || (t = e.responseText),
-                                (new GeoGlobe.Format.XML).read(t)
-                        },
-                        _parseToJSON: function (e) {
-                            return (new GeoGlobe.Format.XML2JSON).read(e)
-                        },
-                        queryTransferScheme: function (e, t, i) {
-                            var r = {
-                                request: "QueryTransferScheme",
-                                SERVICE: "BUS",
-                                VERSION: "1.0.0"
-                            };
-                            for (var n in {
-                                networkName: !0,
-                                transferMode: !0,
-                                startInput: !0,
-                                endInput: !0
-                            })
-                                if (!(n in e))
-                                    throw new Error("缂哄皯蹇呴�夊睘鎬э細'" + n + "'銆�");
-                            r.networkName = e.networkName,
-                                null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
-                                null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
-                                null !== e.transferMode && void 0 !== e.transferMode && (r.TRANSFERMODE = e.transferMode),
-                                null !== e.startInput && void 0 !== e.startInput && (r.STARTINPUT = e.startInput),
-                                null !== e.endInput && void 0 !== e.endInput && (r.ENDINPUT = e.endInput),
-                                null !== e.inputMode && void 0 !== e.inputMode && (r.INPUTMODEL = e.inputMode),
-                                null !== e.ExistGoTime && void 0 !== e.ExistGoTime && (r.EXISTGOTIME = e.ExistGoTime),
-                                null !== e.StartTime && void 0 !== e.StartTime && (r.STARTTIME = e.StartTime),
-                                null !== e.MaxSearchDistance && void 0 !== e.MaxSearchDistance && (r.MAXSEARCHDISTANCE = e.MaxSearchDistance),
-                                null !== e.PrioritySubset && void 0 !== e.PrioritySubset && (r.PRIORITYSUBSET = e.PrioritySubset),
-                                null !== e.ExistAbsolutePriority && void 0 !== e.ExistAbsolutePriority && (r.EXISTABSOLUTEPRIORITY = e.ExistAbsolutePriority),
-                                null !== e.LagSubset && void 0 !== e.LagSubset && (r.LAGSUBSET = e.LagSubset),
-                                null !== e.OutputPage && void 0 !== e.OutputPage && (r.OUTPUTPAGE = e.OutputPage),
-                                null !== e.PageSize && void 0 !== e.PageSize && (r.PAGESIZE = e.PageSize),
-                                null !== e.ChangeCount && void 0 !== e.ChangeCount && (r.CHANGECOUNT = e.ChangeCount),
-                                GeoGlobe.Request.GET({
-                                    url: this.url,
-                                    params: r,
-                                    async: !1,
-                                    scope: this,
-                                    success: GeoGlobe.Function.bind((function (e) {
-                                        var i = e.responseXML
-                                            , r = {
-                                                startPoint: [],
-                                                transferScheme: [],
-                                                endPoint: []
-                                            };
-                                        if (!i)
-                                            return t(r),
-                                                r;
-                                        var n = new GeoGlobe.Format.XML
-                                            , o = i.selectNodes("/ServiceExceptionReport/ServiceExceptionMessage");
-                                        if (o && o.length > 0)
-                                            return t(r),
-                                                r;
-                                        var a = i.selectNodes("/QueryTransferSchemeResponse")
-                                            , s = n.write(a[0])
-                                            , x = this._parseToJSON(s)
-                                            , l = x.QueryTransferSchemeResponse.StartPoint;
-                                        GeoGlobe.Util.isArray(l) || (l = [l]);
-                                        var c = x.QueryTransferSchemeResponse.EndPoint;
-                                        GeoGlobe.Util.isArray(c) || (c = [c]);
-                                        var u = x.QueryTransferSchemeResponse.TransferScheme
-                                            , h = this._getPointGeometryByGMLPointStr(l[0].Geometry.gml_Point)
-                                            , f = new GeoGlobe.Feature(h)
-                                            , d = this._getPointGeometryByGMLPointStr(c[0].Geometry.gml_Point)
-                                            , g = new GeoGlobe.Feature(d)
-                                            , p = this._parserTransferScheme(u);
-                                        t(r = {
-                                            startPoint: f,
-                                            transferScheme: p,
-                                            endPoint: g
-                                        })
-                                    }
-                                    ), this),
-                                    failure: i
-                                })
-                        },
-                        _parserTransferScheme: function (e) {
-                            GeoGlobe.Util.isArray(e) || (e = [e]);
-                            for (var t = new Array, i = 0; i < e.length; i++) {
-                                var r = e[i]
-                                    , n = this._parserSectionInfo(r.SectionInfo)
-                                    , o = this._parserSectionRouting(r.SectionRouting)
-                                    , a = {
-                                        Cost: e[i].Cost,
-                                        SectionInfo: n,
-                                        SectionRouting: o,
-                                        TotalDistance: e[i].TotalDistance,
-                                        TransferCount: e[i].TransferCount
-                                    };
-                                t.push(a)
-                            }
-                            return t
-                        },
-                        _parserSectionInfo: function (e) {
-                            GeoGlobe.Util.isArray(e) || (e = [e]);
-                            for (var t = new Array, i = 0; i < e.length; i++) {
-                                var r = this._getPointFeatureByObj(e[i].FromStation);
-                                e[i].FromStation.PassagewayRouting && ((n = this._getPointFeatureByObj(e[i].FromStation.PassagewayRouting)).SectionRouting && (n.attributes.SectionRouting = n.data.SectionRouting = this._parserSectionRouting(n.SectionRouting)),
-                                    r.attributes.PassagewayRouting = r.data.PassagewayRouting = n);
-                                var n, o = this._getPointFeatureByObj(e[i].ToStation);
-                                e[i].ToStation.PassagewayRouting && ((n = this._getPointFeatureByObj(e[i].ToStation.PassagewayRouting)).SectionRouting && (n.attributes.SectionRouting = n.data.SectionRouting = this._parserSectionRouting(n.SectionRouting)),
-                                    o.attributes.PassagewayRouting = o.data.PassagewayRouting = n);
-                                var a = this._parserSectionLines(e[i].SectionLines.SectionLine)
-                                    , s = this._parserSectionRouting(e[i].SectionRouting);
-                                t.push({
-                                    FromStation: r,
-                                    SectionLine: a,
-                                    ToStation: o,
-                                    SectionRouting: s
-                                })
-                            }
-                            return t
-                        },
-                        _parserSectionLines: function (e) {
-                            GeoGlobe.Util.isArray(e) || (e = [e]);
-                            for (var t = new Array, i = 0; i < e.length; i++) {
-                                var r = new GeoGlobe.Feature(null, e[i]);
-                                t.push(r)
-                            }
-                            return t
-                        },
-                        _parserSectionRouting: function (e) {
-                            GeoGlobe.Util.isArray(e) || (e = [e]);
-                            for (var t = new Array, i = 0; i < e.length; i++)
-                                t.push(e[i]);
-                            return t
-                        },
-                        _getPointGeometryByGMLPointStr: function (e) {
-                            var t = e.split(",");
-                            return new GeoGlobe.Geometry.Point(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t[0]), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t[1]))
-                        },
-                        _getPointFeatureByObj: function (e) {
-                            var t = null;
-                            return e.Geometry && e.Geometry.gml_Point && (t = this._getPointGeometryByGMLPointStr(e.Geometry.gml_Point)),
-                                new GeoGlobe.Feature(t, e)
-                        },
-                        _getLineGeometryByGMLLineStr: function (e) {
-                            if (!e)
-                                return null;
-                            for (var t = e.split(" "), i = [], r = 0, n = t.length; r < n; r++) {
-                                var o = this._getPointGeometryByGMLPointStr(t[r]);
-                                i.push(o)
-                            }
-                            return new GeoGlobe.Geometry.LineString(i)
-                        },
-                        queryTransferGeometry: function (e, t, i) {
-                            var r = {
-                                request: "QueryTransferGeometry",
-                                SERVICE: "BUS",
-                                VERSION: "1.0.0"
-                            };
-                            if (!e.networkName)
-                                throw "Error!Not network name for bus query.";
-                            if (null === e.parameterInfo || void 0 === e.parameterInfo || "" === e.parameterInfo)
-                                throw "Error!Not parameterInfo for bus query.";
-                            r.networkName = e.networkName,
-                                r.PARAMETERINFO = "";
-                            for (var n = 0; n < e.parameterInfo.length; n++)
-                                r.PARAMETERINFO += e.parameterInfo[n].toString(),
-                                    n != e.parameterInfo.length - 1 && (r.PARAMETERINFO += "_");
-                            null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
-                                null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
-                                GeoGlobe.Request.GET({
-                                    url: this.url,
-                                    params: r,
-                                    scope: this,
-                                    async: !1,
-                                    success: GeoGlobe.Function.bind((function (e) {
-                                        var i = this._parseQueryTransferGeometryResult(e);
-                                        t(i)
-                                    }
-                                    ), this),
-                                    failure: i
-                                })
-                        },
-                        _parseQueryTransferGeometryResult: function (e) {
-                            resXML = e.responseXML;
-                            var t = [];
-                            if (!resXML)
-                                return t;
-                            var i = new GeoGlobe.Format.XML
-                                , r = resXML.selectNodes("/QueryTransferGeometryResponse");
-                            if (r && r.length <= 0)
-                                return t;
-                            var n = i.write(r[0])
-                                , o = this._parseToJSON(n).QueryTransferGeometryResponse.SectionGeometry;
-                            if (o) {
-                                GeoGlobe.Util.isArray(o) || (o = [o]);
-                                for (var a = 0; a < o.length; a++) {
-                                    var s = this._getLineGeometryByGMLLineStr(o[a].Geometry.gml_LineString)
-                                        , x = new GeoGlobe.Feature(s, {
-                                            ID: o[a].ID
-                                        });
-                                    t.push(x)
-                                }
-                            }
-                            return t
-                        },
-                        queryKeyWord: function (e, t, i) {
-                            var r = {
-                                REQUEST: "QueryKeyWord",
-                                SERVICE: "BUS",
-                                VERSION: "1.0.0",
-                                SEARCHTYPE: 2
-                            };
-                            if (!e.networkName)
-                                throw "Error!Not network name for bus query.";
-                            if (null === e.keyWord || void 0 === e.keyWord || "" === e.keyWord)
-                                throw "Error!Not keyWord for bus query.";
-                            r.NETWORKNAME = e.networkName,
-                                r.KEYWORD = e.keyWord,
-                                null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
-                                null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
-                                null !== e.searchType && void 0 !== e.searchType && (r.SEARCHTYPE = e.searchType),
-                                null !== e.keyWordType && void 0 !== e.keyWordType && (r.KEYWORDTYPE = e.keyWordType),
-                                GeoGlobe.Request.GET({
-                                    url: this.url,
-                                    params: r,
-                                    async: !1,
-                                    scope: this,
-                                    success: GeoGlobe.Function.bind((function (i) {
-                                        var r = this._parserQueryKeyWordResult(i, e.keyWordType);
-                                        t(r)
-                                    }
-                                    ), this),
-                                    failure: i
-                                })
-                        },
-                        _parserQueryKeyWordResult: function (e, t) {
-                            var i = e.responseXML
-                                , r = [];
-                            if (!i)
-                                return r;
-                            var n = new GeoGlobe.Format.XML
-                                , o = i.selectNodes("/ServiceExceptionReport/ServiceExceptionMessage");
-                            if (o && o.length > 0)
-                                return r;
-                            var a = i.selectNodes("/QueryKeyWordResponse")
-                                , s = n.write(a[0])
-                                , x = this._parseToJSON(s);
-                            if (1 === t) {
-                                var l = x.QueryKeyWordResponse.Stations.Station;
-                                l && !GeoGlobe.Util.isArray(l) && (l = [l]);
-                                for (var c = 0; c < l.length; c++) {
-                                    var u = this._getPointFeatureByObj(l[c]);
-                                    r.push(u)
-                                }
-                            } else if (2 === t) {
-                                var h = x.QueryKeyWordResponse.Passageways.Passageway;
-                                for (h && !GeoGlobe.Util.isArray(h) && (h = [h]),
-                                    c = 0; c < h.length; c++)
-                                    u = this._getPointFeatureByObj(h[c]),
-                                        r.push(u)
-                            } else {
-                                var f = x.QueryKeyWordResponse.Lines.Line;
-                                for (f && !GeoGlobe.Util.isArray(f) && (f = [f]),
-                                    c = 0; c < f.length; c++) {
-                                    var d = new GeoGlobe.Feature(null, f[c]);
-                                    r.push(d)
-                                }
-                            }
-                            return r
-                        },
-                        queryStationInfo: function (e, t, i) {
-                            var r = {
-                                REQUEST: "QueryStationInfo",
-                                SERVICE: "BUS",
-                                VERSION: "1.0.0"
-                            };
-                            if (!e.networkName)
-                                throw "Error!Not network name for bus query.";
-                            if (null === e.stationId || void 0 === e.stationId || "" === e.stationId)
-                                throw "Error!Not stationId for bus query.";
-                            r.NETWORKNAME = e.networkName,
-                                null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
-                                null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
-                                null !== e.stationId && void 0 !== e.stationId && (r.STATIONID = e.stationId),
-                                GeoGlobe.Request.GET({
-                                    url: this.url,
-                                    params: r,
-                                    scope: this,
-                                    success: function (e) {
-                                        if (resXML = e.responseXML,
-                                            resXML) {
-                                            for (var i = new GeoGlobe.Format.XML, r = this._parserQueryStationInfoNode("Lines", i, resXML), n = this._parserQueryStationInfoNode("Passageways", i, resXML), o = new Array, a = 0; a < n.length; a++) {
-                                                var s = this._getPointFeatureByObj(n[a]);
-                                                o.push(s)
-                                            }
-                                            t({
-                                                lines: r,
-                                                passageways: o
-                                            })
-                                        } else
-                                            t({
-                                                lines: [],
-                                                passageways: []
-                                            })
-                                    },
-                                    failure: i
-                                })
-                        },
-                        _parserQueryStationInfoNode: function (e, t, i) {
-                            switch (e) {
-                                case "Lines":
-                                    var r = i.selectNodes("/QueryStationInfoResponse/StationInfo/Lines")
-                                        , n = new Array;
-                                    if (r.length > 0) {
-                                        var o = t.write(r[0]);
-                                        n = this._parseToJSON(o).Lines.Line,
-                                            GeoGlobe.Util.isArray(n) || (n = [n])
-                                    }
-                                    return n;
-                                case "Passageways":
-                                    r = i.selectNodes("/QueryStationInfoResponse");
-                                    var a = new Array;
-                                    if (r.length > 0) {
-                                        o = t.write(r[0]);
-                                        var s = this._parseToJSON(o).QueryStationInfoResponse.StationInfo.Passageways;
-                                        s && (a = s.Passageway,
-                                            GeoGlobe.Util.isArray(a) || (a = [a]))
-                                    }
-                                    return a;
-                                default:
-                                    return []
-                            }
-                        },
-                        queryLineInfo: function (e, t, i) {
-                            var r = {
-                                REQUEST: "QueryLineInfo",
-                                SERVICE: "BUS",
-                                VERSION: "1.0.0"
-                            };
-                            if (!e.networkName)
-                                throw "Error!Not network name for bus query.";
-                            if (null === e.lineId || void 0 === e.lineId || "" === e.lineId)
-                                throw "Error!Not lineId for bus query.";
-                            r.NETWORKNAME = e.networkName,
-                                null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
-                                null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
-                                null !== e.lineId && void 0 !== e.lineId && (r.LINEID = e.lineId),
-                                null !== e.startNodeNumber && void 0 !== e.startNodeNumber && (r.STARTNODENUMBER = e.startNodeNumber),
-                                null !== e.endNodeNumber && void 0 !== e.endNodeNumber && (r.ENDNODENUMBER = e.endNodeNumber),
-                                GeoGlobe.Request.GET({
-                                    url: this.url,
-                                    params: r,
-                                    scope: this,
-                                    success: function (e) {
-                                        var i = []
-                                            , r = null;
-                                        if (e.responseXML) {
-                                            var n = (r = e.responseXML).selectNodes("/ServiceExceptionReport/ServiceExceptionMessage");
-                                            if (n && n.length > 0)
-                                                return void t(i);
-                                            for (var o = new GeoGlobe.Format.XML, a = this._parserQueryLineInfoNode("Line", o, r), s = new Array, x = 0; x < a.length; x++) {
-                                                for (var l = new Array, c = 0; c < a[x].VIAStations.Station.length; c++) {
-                                                    var u = this._getPointFeatureByObj(a[x].VIAStations.Station[c]);
-                                                    l.push(u)
-                                                }
-                                                a[x].Stations = l;
-                                                var h = this._getLineGeometryByGMLLineStr(a[x].Geometry.gml_LineString)
-                                                    , f = new GeoGlobe.Feature(h, a[x]);
-                                                s.push(f)
-                                            }
-                                            i = s
-                                        }
-                                        t(i)
-                                    },
-                                    failure: i
-                                })
-                        },
-                        _parserQueryLineInfoNode: function (e, t, i) {
-                            switch (e) {
-                                case "Line":
-                                    var r = i.selectNodes("/QueryLineInfoResponse")
-                                        , n = t.write(r[0])
-                                        , o = this._parseToJSON(n).QueryLineInfoResponse.Line;
-                                    return new Array,
-                                        o && !GeoGlobe.Util.isArray(o) ? [o] : o;
-                                default:
-                                    return []
-                            }
-                        },
-                        queryPassagewayInfo: function (e, t, i) {
-                            var r = {
-                                REQUEST: "QueryPassagewayInfo",
-                                SERVICE: "BUS",
-                                VERSION: "1.0.0"
-                            };
-                            if (!e.networkName)
-                                throw "Error!Not network name for bus query.";
-                            if (null === e.passagewayId || void 0 === e.passagewayId || "" === e.passagewayId)
-                                throw "Error!Not passagewayId for bus query.";
-                            r.NETWORKNAME = e.networkName,
-                                null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
-                                null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
-                                null !== e.passagewayId && void 0 !== e.passagewayId && (r.PASSAGEWAYID = e.passagewayId),
-                                GeoGlobe.Request.GET({
-                                    url: this.url,
-                                    params: r,
-                                    scope: this,
-                                    success: function (e) {
-                                        var i = e.responseXML
-                                            , r = [];
-                                        if (!i)
-                                            return t(r),
-                                                r;
-                                        new GeoGlobe.Format.XML;
-                                        var n = i.selectNodes("/ServiceExceptionReport/ServiceExceptionMessage");
-                                        if (n && n.length > 0)
-                                            return t(r),
-                                                r;
-                                        var o = this._parserResponseText(e.responseText);
-                                        r = this._parserFeaturesNew(o, "Stations"),
-                                            t(r)
-                                    }
-                                })
-                        },
-                        _queryByName: function (e, t, i) {
-                            var r = this
-                                , n = null;
-                            return r.queryKeyWord({
-                                networkName: r.networkName,
-                                keyWord: e,
-                                keyWordType: 1,
-                                SEARCHTYPE: 2
-                            }, (function (e) {
-                                if (0 != e.length) {
-                                    var o = e[0].geometry.x + " " + e[0].geometry.y;
-                                    r.queryKeyWord({
-                                        networkName: r.networkName,
-                                        keyWord: t,
-                                        keyWordType: 1,
-                                        SEARCHTYPE: 2
-                                    }, (function (e) {
-                                        if (0 != e.length) {
-                                            var t = e[0].geometry.x + " " + e[0].geometry.y;
-                                            n = r._queryTransferScheme(o, t, i)
-                                        } else
-                                            alert("娌℃湁鏌ヨ鍒扮粓鐐�")
-                                    }
-                                    ))
-                                } else
-                                    alert("娌℃湁鏌ヨ鍒拌捣鐐�")
-                            }
-                            )),
-                                n
-                        },
-                        queryBus: function (e, t, i) {
-                            var r = this
-                                , n = null;
-                            return r.getCapabilities(GeoGlobe.Function.bind((function (o) {
-                                var a = o.responseXML;
-                                a && a.documentElement || (a = o.responseText);
-                                var s = (new GeoGlobe.Format.BusCapabilities).read(a);
-                                if (s.capability) {
-                                    var x = s.capability.networks[0];
-                                    if (r.networkName = x,
-                                        "string" == typeof e && "string" == typeof t)
-                                        n = r._queryByName(e, t, i);
-                                    else {
-                                        var l = e.lng + " " + e.lat
-                                            , c = t.lng + " " + t.lat;
-                                        n = r._queryTransferScheme(l, c, i)
-                                    }
-                                } else
-                                    alert("鍏氦鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + url + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
-                            }
-                            ), this), (function () {
-                                alert("鍏氦鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + url + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
-                            }
-                            )),
-                            {
-                                flag: !!n,
-                                featuresInfo: n
-                            }
-                        },
-                        failFn: function () {
-                            alert("鍏氦鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + url + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
-                        },
-                        _queryTransferScheme: function (e, t, i) {
-                            return this.queryTransferScheme({
-                                networkName: this.networkName,
-                                transferMode: i || 0,
-                                inputMode: 0,
-                                startInput: e,
-                                endInput: t
-                            }, (function (e) {
-                                featuresInfo = e
-                            }
-                            )),
-                                this.transferScheme = featuresInfo.transferScheme,
-                                featuresInfo
-                        },
-                        queryBusTransferSchemeByIndex: function (e) {
-                            var t = null
-                                , r = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e)
-                                , n = this.transferScheme[r].SectionInfo
-                                , o = new Array
-                                , a = new Array;
-                            for (i = 0; i < n.length; i++) {
-                                var s = n[i].SectionLine[0]
-                                    , x = s.data.ID
-                                    , l = s.data.FromOrdinal
-                                    , c = s.data.ToOrdinal;
-                                o.push([0, x, l, c]),
-                                    a.push(n[i].FromStation),
-                                    a.push(n[i].ToStation)
-                            }
-                            return this.queryTransferGeometry({
-                                networkName: this.networkName,
-                                parameterInfo: o
-                            }, (function (e) {
-                                var i = e
-                                    , r = new GeoGlobe.Format.GeoJSON
-                                    , n = r.write(i)
-                                    , o = r.write(a)
-                                    , s = new GeoGlobe.Format.JSON
-                                    , x = s.read(n)
-                                    , l = s.read(o);
-                                t = {
-                                    lineFeatures: i,
-                                    geojsonRoute: x,
-                                    stationFeatures: a,
-                                    geojsonStation: l
-                                }
-                            }
-                            )),
-                                t
-                        },
-                        CLASS_NAME: "GeoGlobe.Query.BusQuery"
-                    }),
-                    document.implementation.hasFeature("XPath", "3.0") && (XMLDocument.prototype.selectNodes = function (e, t) {
-                        t || (t = this);
-                        for (var i = this.evaluate(e, t, (function (e) {
-                            return {
-                                csw: "http://www.opengis.net/cat/csw",
-                                smmd: "http://data.sbsm.gov.cn/smmd/2007",
-                                wfs: "http://www.opengis.net/wfs",
-                                gml: "http://www.opengis.net/gml",
-                                geoglobe: "http://www.geostar.com.cn/geoglobe"
-                            }[e] || null
-                        }
-                        ), XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null), r = [], n = 0; n < i.snapshotLength; n++)
-                            r[n] = i.snapshotItem(n);
-                        return r
-                    }
-                        ,
-                        Element.prototype.selectNodes = function (e) {
-                            if (this.ownerDocument.selectNodes)
-                                return this.ownerDocument.selectNodes(e, this);
-                            throw "For XML Elements Only"
-                        }
-                    ),
-                    document.implementation.hasFeature("XPath", "3.0") && (XMLDocument.prototype.selectSingleNode = function (e, t) {
-                        t || (t = this);
-                        var i = this.selectNodes(e, t);
-                        return i.length > 0 ? i[0] : null
-                    }
-                        ,
-                        Element.prototype.selectSingleNode = function (e) {
-                            if (this.ownerDocument.selectSingleNode)
-                                return this.ownerDocument.selectSingleNode(e, this);
-                            throw "For XML Elements Only"
-                        }
-                    ),
-                    GeoGlobe.Query.WFSQuery = GeoGlobe.Class4OL({
-                        url: null,
-                        version: "1.0.0",
-                        featureNS: null,
-                        isReverse: !1,
-                        featurePrefix: "",
-                        featureType: "",
-                        maxFeatures: 10,
-                        filter: null,
-                        geometryName: "the_geom",
-                        protocol: null,
-                        format: null,
-                        formatOptions: null,
-                        isSeparate: !1,
-                        srsName: "EPSG:4326",
-                        time: null,
-                        userecent: !0,
-                        sortBy: null,
-                        groupBy: null,
-                        resultType: "Results",
-                        startPosition: null,
-                        initialize: function (e, t, i) {
-                            this.url = e,
-                                this.featureType = t;
-                            var r = null;
-                            i && (!0 === i.isReverse || !1 === i.isReverse ? (this.isReverse = i.isReverse,
-                                r = !i.isReverse) : r = !this.isReverse,
-                                i.format ? (i.format instanceof GeoGlobe.Format.GML.v2 || i.format instanceof GeoGlobe.Format.GML.v3) && i.format.setFeatureType_(t) : this.format = new GeoGlobe.Format.GML({
-                                    xy: r
-                                })),
-                                GeoGlobe.Util.extend(this, i)
-                        },
-                        query: function (e, t, i) {
-                            this.protocol = new GeoGlobe.Protocol.WFS({
-                                readFormat: this.format,
-                                formatOptions: this.formatOptions,
-                                propertyNames: this.propertyNames,
-                                maxFeatures: this.maxFeatures,
-                                featurePrefix: this.featurePrefix,
-                                featureNS: this.featureNS,
-                                url: this.url,
-                                version: this.version,
-                                geometryName: this.geometryName,
-                                featureType: this.featureType,
-                                time: this.time,
-                                userecent: this.userecent,
-                                srsName: this.srsName
-                            });
-                            var r = e || this.filter
-                                , n = t || this.successFn
-                                , o = i || this.failFn
-                                , a = GeoGlobe.Function.bind((function (e) {
-                                    if (e.success()) {
-                                        var t = e.features;
-                                        this.isSeparate && (t = this._separateFeatures(t));
-                                        var i = this._read_trueName(e);
-                                        i && (t.trueNames = i);
-                                        var r = (new GeoGlobe.Format.GeoJSON).write(t)
-                                            , a = (new GeoGlobe.Format.JSON).read(r);
-                                        n({
-                                            features: t,
-                                            geojson: a
-                                        })
-                                    } else
-                                        o()
-                                }
-                                ), this);
-                            this.response = this.protocol.read({
-                                sortBy: this.sortBy,
-                                filter: r,
-                                callback: a
-                            })
-                        },
-                        queryPage: function (e, t, i, r) {
-                            var n = r && r.perPageNumber || 15
-                                , o = ((r && r.pageNumber || 1) - 1) * n + 1;
-                            this.protocol = new GeoGlobe.Protocol.WFS({
-                                readFormat: this.format,
-                                multi: !0,
-                                formatOptions: this.formatOptions,
-                                propertyNames: this.propertyNames,
-                                maxFeatures: n,
-                                startPosition: o,
-                                featurePrefix: this.featurePrefix,
-                                url: this.url,
-                                featureNS: this.featureNS,
-                                version: this.version,
-                                geometryName: this.geometryName,
-                                featureType: this.featureType,
-                                time: this.time,
-                                userecent: this.userecent,
-                                srsName: this.srsName
-                            });
-                            var a = e || this.filter
-                                , s = t || this.successFn
-                                , x = i || this.failFn
-                                , l = GeoGlobe.Function.bind((function (e) {
-                                    if (e.success()) {
-                                        var t = e.features;
-                                        this.isSeparate && (t = this._separateFeatures(t));
-                                        var i = this._read_trueName(e);
-                                        t.trueNames = i;
-                                        var r = (new GeoGlobe.Format.GeoJSON).write(t)
-                                            , n = (new GeoGlobe.Format.JSON).read(r);
-                                        s({
-                                            features: t,
-                                            geojson: n
-                                        })
-                                    } else
-                                        x()
-                                }
-                                ), this);
-                            this.response = this.protocol.read({
-                                sortBy: this.sortBy,
-                                filter: a,
-                                callback: l
-                            })
-                        },
-                        queryTotalNumber: function (e, t, i) {
-                            var r = new GeoGlobe.Format.WFSHits;
-                            this.protocol = new GeoGlobe.Protocol.WFS({
-                                readFormat: r,
-                                propertyNames: this.propertyNames,
-                                resultType: "hits",
-                                maxFeatures: this.maxFeatures,
-                                featurePrefix: this.featurePrefix,
-                                featureNS: this.featureNS,
-                                url: this.url,
-                                version: this.version,
-                                geometryName: this.geometryName,
-                                featureType: this.featureType,
-                                time: this.time,
-                                userecent: this.userecent
-                            });
-                            var n = e || this.filter
-                                , o = t || this.successFn
-                                , a = i || this.failFn
-                                , s = GeoGlobe.Function.bind((function (e) {
-                                    if (e.success()) {
-                                        var t = e.features;
-                                        o(t)
-                                    } else
-                                        a()
-                                }
-                                ), this);
-                            this.response = this.protocol.read({
-                                filter: n,
-                                callback: s
-                            })
-                        },
-                        _read_trueName: function (e) {
-                            var t = [];
-                            if (e.priv && e.priv.responseText) {
-                                if (null == this.format)
-                                    return null;
-                                var i = this.format.getXMLDoc().getElementsByTagName("trueName");
-                                if (null == i || 0 == i.length)
-                                    return null;
-                                for (var r = 0; r < i.length; r++)
-                                    t.push(i[r].text);
-                                return t
-                            }
-                            return t
-                        },
-                        getBufferRegion: function (e, t, i) {
-                            var r = this._getFeaturesCenter(e);
-                            switch (i) {
-                                case "km":
-                                    t *= 1e3;
-                                case "m":
-                                    t = this._meterToDegree(t, r)
-                            }
-                            return GeoGlobe.Geometry.Polygon.createRegularPolygon(e.geometry, t, 40, 360)
-                        },
-                        _getFeaturesCenter: function (e) {
-                            return this._getFeaturesExtent(e).getCenterLonLat()
-                        },
-                        _getFeaturesExtent: function (e) {
-                            GeoGlobe.Util.isArray(e) || (e = [e]);
-                            var t = null;
-                            if (e && e.length > 0) {
-                                t = new GeoGlobe.LngLatBounds;
-                                for (var i = null, r = 0, n = e.length; r < n; r++)
-                                    (i = e[r].geometry) && t.extend(i.getBounds())
-                            }
-                            return t
-                        },
-                        _meterToDegree: function (e, t) {
-                            var i = t.lat;
-                            return e * (899e-8 / Math.cos(GeoGlobe.Util.rad(i)))
-                        },
-                        pointQuery: function (e, t, i, r, n) {
-                            t = t || 0,
-                                i = i || "degree";
-                            var o = new GeoGlobe.Filter.Spatial({
-                                type: GeoGlobe.Filter.Spatial.DWITHIN,
-                                property: this.geometryName,
-                                distance: t,
-                                distanceUnits: i,
-                                value: e
-                            });
-                            this.query(o, r, n)
-                        },
-                        pathQuery: function (e, t, i, r, n) {
-                            t = t || 0,
-                                i = i || "degree";
-                            var o = new GeoGlobe.Filter.Spatial({
-                                type: GeoGlobe.Filter.Spatial.DWITHIN,
-                                property: this.geometryName,
-                                distance: t,
-                                distanceUnits: i,
-                                value: e
-                            });
-                            this.query(o, r, n)
-                        },
-                        polygonQuery: function (e, t, i, r) {
-                            var n = t ? GeoGlobe.Filter.Spatial.CONTAINS : GeoGlobe.Filter.Spatial.INTERSECTS
-                                , o = new GeoGlobe.Filter.Spatial({
-                                    type: n,
-                                    property: this.geometryName,
-                                    value: e
-                                });
-                            this.query(o, i, r)
-                        },
-                        bboxQuery: function (e, t, i) {
-                            var r = new GeoGlobe.Filter.Spatial({
-                                type: GeoGlobe.Filter.Spatial.BBOX,
-                                property: this.geometryName,
-                                value: e
-                            });
-                            this.query(r, t, i)
-                        },
-                        attributeQuery: function (e, t, i, r, n, o) {
-                            var a = r && r.matchCase
-                                , s = r ? r.lowerBoundary : null
-                                , x = r ? r.upperBoundary : null
-                                , l = new GeoGlobe.Filter.Comparison({
-                                    type: e,
-                                    property: t,
-                                    value: i,
-                                    matchCase: a,
-                                    lowerBoundary: s,
-                                    upperBoundary: x
-                                });
-                            this.query(l, n, o)
-                        },
-                        statisticsQuery: function (e, t, i) {
-                            this.protocol = new GeoGlobe.Protocol.WFS({
-                                readFormat: this.format,
-                                formatOptions: this.formatOptions,
-                                propertyNames: this.propertyNames,
-                                resultType: "statistics",
-                                maxFeatures: this.maxFeatures,
-                                featurePrefix: this.featurePrefix,
-                                featureNS: this.featureNS,
-                                url: this.url,
-                                version: this.version,
-                                geometryName: this.geometryName,
-                                featureType: this.featureType,
-                                time: this.time,
-                                userecent: this.userecent
-                            });
-                            var r = e || this.filter
-                                , n = t || this.successFn
-                                , o = i || this.failFn
-                                , a = GeoGlobe.Function.bind((function (e) {
-                                    if (e.success()) {
-                                        try {
-                                            var t = e.priv.responseXML
-                                                , i = this._analysis_StatisticsResult(t)
-                                        } catch (t) {
-                                            return void n(e.priv.responseText)
-                                        }
-                                        n(i)
-                                    } else
-                                        o()
-                                }
-                                ), this);
-                            this.response = this.protocol.read({
-                                sortBy: this.sortBy,
-                                groupBy: this.groupBy,
-                                filter: r,
-                                callback: a
-                            })
-                        },
-                        _analysis_StatisticsResult: function (e) {
-                            var t = {}
-                                , i = e.documentElement.firstChild.childNodes;
-                            return 0 < i.length && (t.layers = this._analysis_StatisticsResult_results(i)),
-                                t
-                        },
-                        _analysis_StatisticsResult_results: function (e) {
-                            for (var t = [], i = 0; i < e.length; i++) {
-                                for (var r = {}, n = [], o = e[i].childNodes, a = 0; a < o.length; a++) {
-                                    var s = {};
-                                    s.layerName = o[a].parentNode.nodeName,
-                                        "Microsoft Internet Explorer" == navigator.appName ? s.result = this._analysis_StatisticsResult_results_result_IE(o[a]) : s.result = this._analysis_StatisticsResult_results_result_google(o[a]),
-                                        n.push(s)
-                                }
-                                r.results = n,
-                                    t.push(r)
-                            }
-                            return t
-                        },
-                        _analysis_StatisticsResult_results_result_IE: function (e) {
-                            var t = {}
-                                , i = 0;
-                            "Key" == e.childNodes[0].nodeName && (t.Key = e.childNodes[0].text,
-                                i = 1);
-                            for (var r = [], n = []; i < e.childNodes.length; i++) {
-                                var o = {}
-                                    , a = {};
-                                o.name = e.childNodes[i].getAttribute("name"),
-                                    a.Value = e.childNodes[i].text,
-                                    r.push(o),
-                                    n.push(a)
-                            }
-                            return t.name = r,
-                                t.values = n,
-                                t
-                        },
-                        _analysis_StatisticsResult_results_result_google: function (e) {
-                            var t = {}
-                                , i = 0;
-                            "Key" == e.childNodes[0].nodeName && (t.Key = e.childNodes[0].innerHTML,
-                                i = 1);
-                            for (var r = [], n = []; i < e.childNodes.length; i++) {
-                                var o = {}
-                                    , a = {};
-                                o.name = e.childNodes[i].getAttribute("name"),
-                                    a.Value = e.childNodes[i].innerHTML,
-                                    r.push(o),
-                                    n.push(a)
-                            }
-                            return t.name = r,
-                                t.values = n,
-                                t
-                        },
-                        successFn: function (e) { },
-                        failFn: function () {
-                            alert("瀵逛笉璧�,鏌ヨ澶辫触,璇锋煡璇㈡湇鍔℃槸鍚︽甯搞��")
-                        },
-                        _separateFeatures: function (e) {
-                            for (var t = {}, i = 0; i < e.length; i++) {
-                                var r, n = e[i];
-                                t[r = n.gml ? n.gml.featureType : n.type] || (t[r] = []),
-                                    t[r].push(n)
-                            }
-                            return t
-                        },
-                        setTime: function (e) {
-                            this.time = e
-                        },
-                        setUserecent: function (e) {
-                            this.userecent = e
-                        },
-                        CLASS_NAME: "GeoGlobe.Query.WFSQuery"
-                    }),
-                    GeoGlobe.Query.WFSQuery.reverseGeometryXY = function (e) {
-                        var t = {
-                            Point: function (e, t) {
-                                var i = e.x
-                                    , r = e.y
-                                    , n = e.clone(e);
-                                return n.x = r,
-                                    n.y = i,
-                                    n
-                            },
-                            LineString: function (e, t) {
-                                for (var i = e.clone(e), r = 0; r < i.components.length; r++) {
-                                    var n = t.Point(i.components[r]);
-                                    i.components[r] = n
-                                }
-                                return i
-                            },
-                            Polygon: function (e, t) {
-                                for (var i = e.clone(e), r = 0; r < i.components.length; r++)
-                                    for (var n = 0; n < i.components[r].components.length - 1; n++) {
-                                        var o = t.Point(i.components[r].components[n]);
-                                        i.components[r].components[n] = o
-                                    }
-                                return i
-                            }
-                        };
-                        return t[{
-                            "GeoGlobe.Geometry.Point": "Point",
-                            "GeoGlobe.Geometry.MultiPoint": "MultiPoint",
-                            "GeoGlobe.Geometry.LineString": "LineString",
-                            "GeoGlobe.Geometry.MultiLineString": "MultiLineString",
-                            "GeoGlobe.Geometry.Polygon": "Polygon",
-                            "GeoGlobe.Geometry.MultiPolygon": "MultiPolygon",
-                            "GeoGlobe.Geometry.Collection": "GeometryCollection"
-                        }[e.CLASS_NAME]](e, t)
-                    }
-                    ,
-                    GeoGlobe.Format.WFSHits = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
-                        wfsns: "http://www.opengis.net/wfs",
-                        featureCollection: "FeatureCollection",
-                        read: function (e) {
-                            "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
-                            var t = e.documentElement;
-                            return {
-                                numberOfFeatures: _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(t.getAttribute("numberOfFeatures"))
-                            }
-                        }
-                    }),
-                    GeoGlobe.Query.GeoCodingQuery = function (e, t) {
-                        t = GeoGlobe.Util.applyDefaults(t, GeoGlobe.Query.GeoCodingQuery.DEFAULTS);
-                        var i = GeoGlobe.Query.GeoCodingQuery["v" + t.version.replace(/\./g, "_")];
-                        if (!i)
-                            throw "涓嶆敮鎸佺殑鍦板潃鍖归厤鏈嶅姟鐗堟湰: " + t.version;
-                        return new i(e, t)
-                    }
-                    ,
-                    GeoGlobe.Query.GeoCodingQuery.DEFAULTS = {
-                        version: "1.0.0"
-                    },
-                    GeoGlobe.Query.GeoCodingQuery.v1 = GeoGlobe.Class4OL({
-                        version: "1.0.0",
-                        url: null,
-                        initialize: function (e, t) {
-                            this.url = e,
-                                GeoGlobe.Util.extend(this, t),
-                                this.format = new GeoGlobe.Format.JSON
-                        },
-                        getCommonParams: function (e) {
-                            var t = {
-                                request: "GetCategory",
-                                service: "GeoCoding",
-                                version: this.version,
-                                output: "json"
-                            };
-                            return GeoGlobe.Util.extend(t, e),
-                                t
-                        },
-                        getCategoryByName: function (e, t, i) {
-                            var r = this.getCommonParams();
-                            "string" == typeof e && 0 !== e.length && (r.categoryName = e),
-                                i = i || this.failFn,
-                                GeoGlobe.Function.bind(this._requestCategory, this)(r, t, i)
-                        },
-                        getCategoryByCode: function (e, t, i) {
-                            var r = this.getCommonParams();
-                            "number" == typeof e && (r.categoryCode = e),
-                                GeoGlobe.Function.bind(this._requestCategory, this)(r, t, i)
-                        },
-                        getAllCategory: function (e, t) {
-                            var i = this.getCommonParams();
-                            GeoGlobe.Function.bind(this._requestCategory, this)(i, e, t)
-                        },
-                        _requestCategory: function (e, t, i) {
-                            i = i || this.failFn,
-                                GeoGlobe.loadURL(this.url, e, this, (function (e) {
-                                    try {
-                                        var i = this.format.read(e.responseText)
-                                    } catch (i) {
-                                        return void t(e.responseText)
-                                    }
-                                    t(i)
-                                }
-                                ), i)
-                        },
-                        _analysis_GeoCodeResult: function (e) {
-                            var t = {
-                                status: e.status
-                            };
-                            switch (e.status) {
-                                case "OK":
-                                    (i = e.results) && (t.results = this._analysis_GeoCodeResult_results(i));
-                                    break;
-                                case "INVALID_REQUEST":
-                                case "NO_RESULTS":
-                                case "UNKNOWN_ERROR":
-                                    break;
-                                default:
-                                    var i;
-                                    t = {
-                                        requestKeyWord: e.requestKeyWord,
-                                        count: e.count,
-                                        statisticsLevel: e.statisticsLevel,
-                                        statisticsLevelName: e.statisticsLevelName
-                                    },
-                                        e && e.count > 0 && (i = e.results) && (t.results = this._analysis_GeoCodeResult_statistics(i))
-                            }
-                            return t
-                        },
-                        _analysis_GeoCodeResult_results: function (e) {
-                            var t = [];
-                            if (GeoGlobe.Util.isArray(e)) {
-                                for (var i = 0, r = e.length; i < r; i++) {
-                                    var n = {};
-                                    n.requestKeyWord = e[i].requestKeyWord,
-                                        e[i].errorCorrectionTips && (n.errorCorrectionTips = e[i].errorCorrectionTips),
-                                        n.count = e[i].count,
-                                        e[i].result && (n.result = this._analysis_GeoCodeResult_results_result(e[i].result)),
-                                        t.push(n)
-                                }
-                                return t
-                            }
-                        },
-                        _analysis_GeoCodeResult_statistics: function (e) {
-                            var t = [];
-                            if (GeoGlobe.Util.isArray(e)) {
-                                for (var i = 0, r = e.length; i < r; i++) {
-                                    var n = {};
-                                    e[i].errorCorrectionTips && (n.errorCorrectionTips = e[i].errorCorrectionTips),
-                                        e[i] && (n.name = e[i].name,
-                                            n.value = e[i].value,
-                                            n.remark = e[i].remark),
-                                        t.push(n)
-                                }
-                                return t
-                            }
-                        },
-                        _analysis_GeoCodeResult_results_result: function (e) {
-                            for (var t = [], i = 0, r = e.length; i < r; i++) {
-                                var n = {}
-                                    , o = {};
-                                n.resultType = e[i].resultType,
-                                    n.precise = e[i].precise,
-                                    n.isBrief = e[i].isBrief,
-                                    n.score = e[i].score,
-                                    e[i].addressComponent.street && (o = e[i].addressComponent.street),
-                                    0 == n.isBrief && (n.addressComponent = this._analysis_GeoCodeResult_results_result_address(e[i].addressComponent, n.resultType)),
-                                    n.poiArray = this._analysispoiArray(e[i].poiArray),
-                                    e[i].location && (n.location = e[i].location),
-                                    0 == n.precise && (n.referenceAddressArray = e[i].referenceAddressArray),
-                                    o && (n.street_path = o),
-                                    t.push(n)
-                            }
-                            return t
-                        },
-                        _analysis_GeoCodeResult_results_result_address: function (e, t) {
-                            var i = {
-                                country: e.country
-                            };
-                            if (e.province && (i.province = e.province),
-                                e.city && (i.city = e.city),
-                                e.district && (i.district = e.district),
-                                e.town && (i.town = e.town),
-                                e.street && (i.street = {
-                                    name: e.street.name
-                                },
-                                    "street" === t && e.street.geometry)) {
-                                var r = this.format.read(e.street.geometry)
-                                    , n = null;
-                                (r.paths || r.rings || r.x && r.y) && (n = this._getGeometry(r),
-                                    i.street.geometry = n)
-                            }
-                            if (e.streetNumber && (i.streetNumber = e.streetNumber),
-                                e.buildingNumber && (i.buildingNumber = e.buildingNumber),
-                                "adminArea" === t) {
-                                if (e.geometry) {
-                                    var o = this.format.read(e.geometry)
-                                        , a = null;
-                                    o.rings || o.paths ? (a = this._getGeometry(o),
-                                        i.geometry = a) : "number" == typeof o.x && "number" == typeof o.y && (i.geometry = this._getGeometry(o))
-                                }
-                                e.subordinate && (i.subordinate = e.subordinate),
-                                    e.zipCode && (i.zipCode = e.zipCode),
-                                    e.callingCode && (i.callingCode = e.callingCode)
-                            }
-                            return i
-                        },
-                        _analysispoiArray: function (e) {
-                            for (var t = [], i = 0, r = e.length; i < r; i++) {
-                                var n = {};
-                                for (var o in e[i])
-                                    n[o] = e[i][o];
-                                if ("" != n.geometry && null != n.geometry) {
-                                    var a = this.format.read(n.geometry);
-                                    n.geometry = this._getGeometry(a)
-                                }
-                                t.push(n)
-                            }
-                            return t
-                        },
-                        _analysisLocation: function (e) { },
-                        _getGeometry: function (e) {
-                            for (var t in e) {
-                                if ("spatialReference" == t)
-                                    return;
-                                return e = e.hasOwnProperty("x") && e.hasOwnProperty("y") ? new GeoGlobe.Geometry.Point(e.x, e.y) : e.hasOwnProperty("xmin") && e.hasOwnProperty("ymin") && e.hasOwnProperty("xmax") && e.hasOwnProperty("ymax") ? new GeoGlobe.Bounds(e.xmin, e.ymin, e.xmax, e.ymax).toGeometry() : this._geometryType[t](e[t])
-                            }
-                        },
-                        _geometryType: {
-                            points: function (e) {
-                                var t = [];
-                                if (GeoGlobe.Util.isArray(e))
-                                    for (var i = 0, r = e.length; i < r; i++) {
-                                        var n = new GeoGlobe.Geometry.Point(e[i][0], e[i][1]);
-                                        t.push(n)
-                                    }
-                                return t
-                            },
-                            paths: function (e) {
-                                var t = [];
-                                if (GeoGlobe.Util.isArray(e)) {
-                                    for (var i = 0, r = e.length; i < r; i++) {
-                                        for (var n = [], o = 0, a = e[i].length; o < a; o++)
-                                            n.push(new GeoGlobe.Geometry.Point(e[i][o][0], e[i][o][1]));
-                                        var s = new GeoGlobe.Geometry.LineString(n);
-                                        t.push(s)
-                                    }
-                                    var x = new GeoGlobe.Geometry.MultiLineString(t)
-                                }
-                                return x
-                            },
-                            rings: function (e) {
-                                var t = [];
-                                if (GeoGlobe.Util.isArray(e)) {
-                                    for (var i = 0, r = e.length; i < r; i++) {
-                                        for (var n = [], o = 0, a = e[i].length; o < a; o++)
-                                            n.push(new GeoGlobe.Geometry.Point(e[i][o][0], e[i][o][1]));
-                                        var s = new GeoGlobe.Geometry.LinearRing(n);
-                                        t.push(s)
-                                    }
-                                    var x = new GeoGlobe.Geometry.Polygon(t)
-                                }
-                                return x
-                            }
-                        },
-                        failFn: function (e) {
-                            "string" == typeof e && alert(e),
-                                alert("瀵逛笉璧凤紝鏌ヨ璇锋眰澶辫触锛佽妫�鏌ュ湴鍧�鍖归厤鏈嶅姟鏄惁姝e父杩愯銆俓n褰撳墠鏈嶅姟鍦板潃涓猴細" + this.url)
-                        },
-                        CLASS_NAME: "GeoGlobe.Query.GeoCodingQuery.v1"
-                    }),
-                    GeoGlobe.Query.GeoCodingQuery.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Query.GeoCodingQuery.v1, {
-                        addressesToLocations: function (e, t, i) {
-                            var r = this.getCommonParams({
-                                request: "GeoCoder"
-                            });
-                            if ("string" == typeof e.address)
-                                r.address = e.address;
-                            else if (GeoGlobe.Util.isArray(e.address)) {
-                                for (var n = "", o = 0; o < e.address.length; o++)
-                                    n += e.address[o] + ",";
-                                n = n.substr(0, n.length - 1),
-                                    r.address = n
-                            } else if (null == e.address || null == e.address)
-                                throw "address鏄繀閫夊弬鏁帮紒";
-                            if ("number" == typeof e.categoryCode && (r.categoryCode = e.categoryCode),
-                                e.extent instanceof GeoGlobe.LngLatBounds)
-                                r.bbox = e.extent.toBBOX(null, !0);
-                            else if (e.extent instanceof GeoGlobe.Geometry.Polygon) {
-                                for (var a = e.extent, s = [], x = (o = 0,
-                                    a.components.length); o < x; o++)
-                                    for (var l = a.components[o].components, c = 0; c < l.length; c++)
-                                        s.push(l[c].toShortString());
-                                r.bbox = s.join(",")
-                            }
-                            "boolean" == typeof e.fuzzyMatch && (r.fuzzyMatch = e.fuzzyMatch),
-                                "string" == typeof e.resultType && (r.resultType = e.resultType),
-                                "number" == typeof e.maxCount && (r.maxCount = e.maxCount),
-                                "number" == typeof e.startPosition && (r.startPosition = e.startPosition),
-                                GeoGlobe.loadURL(this.url, r, this, (function (e) {
-                                    try {
-                                        var i = this.format.read(e.responseText);
-                                        if ("result" == r.resultType)
-                                            var n = this._parseQueryResultToFeature(i);
-                                        else
-                                            n = this._analysis_GeoCodeResult(i)
-                                    } catch (i) {
-                                        return void t(e.responseText)
-                                    }
-                                    t(n)
-                                }
-                                ), this.failFn)
-                        },
-                        locationToAddresses: function (e, t, i) {
-                            var r = this.getCommonParams({
-                                request: "GeoCoder"
-                            });
-                            if (!e.lonlat)
-                                throw "address鏄繀閫夊弬鏁帮紒璇峰~鍐欐纭殑鏁版嵁绫诲瀷锛�";
-                            r.latlng = e.lonlat.lat + "," + e.lonlat.lng,
-                                "number" == typeof e.tolerance && (r.tolerance = e.tolerance),
-                                "string" == typeof e.unit && (r.unit = e.unit),
-                                "string" == typeof e.resultType && (r.resultType = e.resultType),
-                                "number" == typeof e.maxCount && (r.maxCount = e.maxCount),
-                                "number" == typeof e.startPosition && (r.startPosition = e.startPosition),
-                                GeoGlobe.loadURL(this.url, r, this, (function (e) {
-                                    try {
-                                        var i = this.format.read(e.responseText);
-                                        if ("result" == r.resultType)
-                                            var n = this._parseQueryResultToFeature(i);
-                                        else
-                                            n = this._analysis_GeoCodeResult(i)
-                                    } catch (i) {
-                                        return void t(e.responseText)
-                                    }
-                                    t(n, i)
-                                }
-                                ), this.failFn)
-                        },
-                        getLocations: function (e, t, i) {
-                            this.addressesToLocations(e, GeoGlobe.Function.bind((function (e) {
-                                t(this._parseQueryResultToFeature(e, total))
-                            }
-                            ), this), i)
-                        },
-                        getLocationsByPage: function (e, t, i) {
-                            e.resultType = "hits",
-                                this.addressesToLocations(e, GeoGlobe.Function.bind((function (r) {
-                                    if ("OK" == r.status) {
-                                        e.resultType = "result";
-                                        var n = r.results[0].count;
-                                        null != e.maxCount && null != e.maxCount || (e.maxCount = 3),
-                                            e.startPosition = (e.startPosition - 1) * e.maxCount + 1,
-                                            this.addressesToLocations(e, GeoGlobe.Function.bind((function (e) {
-                                                t(this._parseQueryResultToFeature(e, n))
-                                            }
-                                            ), this), i)
-                                    } else
-                                        alert("娌℃湁鏌ヨ鍒颁换浣曟暟鎹�")
-                                }
-                                ), this), i)
-                        },
-                        getAddresses: function (e, t, i) {
-                            this.locationToAddresses(e, GeoGlobe.Function.bind((function (e) {
-                                t(this._parseQueryResultToFeature(e, total))
-                            }
-                            ), this), i)
-                        },
-                        getAddressesByPage: function (e, t, i) {
-                            e.resultType = "hits",
-                                this.locationToAddresses(e, GeoGlobe.Function.bind((function (r) {
-                                    if ("OK" == r.status) {
-                                        e.resultType = "result";
-                                        var n = r.results[0].count;
-                                        null != e.maxCount && null != e.maxCount || (e.maxCount = 3),
-                                            e.startPosition = (e.startPosition - 1) * e.maxCount + 1,
-                                            this.locationToAddresses(e, GeoGlobe.Function.bind((function (e) {
-                                                t(this._parseQueryResultToFeature(e, n))
-                                            }
-                                            ), this), i)
-                                    } else
-                                        alert("娌℃湁鏌ヨ鍒颁换浣曟暟鎹�")
-                                }
-                                ), this), i)
-                        },
-                        _parseQueryResultToFeature: function (e) {
-                            var t = [];
-                            if ("OK" == e.status && e.results)
-                                for (var i = 0; i < e.results.length; i++) {
-                                    var r = e.results[i].result;
-                                    if (r)
-                                        for (var n = 0; n < r.length; n++) {
-                                            var o = {}
-                                                , a = null;
-                                            if (o.requestKeyWord = e.results[i].requestKeyWord,
-                                                GeoGlobe.Util.isArray(r[n].poiArray))
-                                                for (var s = 0; s < r[n].poiArray.length; s++)
-                                                    o.CONTINENT = r[n].poiArray[s].CONTINENT,
-                                                        o.GBCODE = r[n].poiArray[s].GBCODE,
-                                                        o.STANDARDNAME = r[n].poiArray[s].STANDARDNAME,
-                                                        o.name = r[n].poiArray[s].name;
-                                            if (r[n].addressComponent) {
-                                                var x = r[n].addressComponent;
-                                                o.address = this._getAddress(x, o.name),
-                                                    o.country = r[n].addressComponent.country,
-                                                    o.province = r[n].addressComponent.province,
-                                                    o.city = r[n].addressComponent.city,
-                                                    o.district = r[n].addressComponent.district,
-                                                    r[n].addressComponent.street ? (o.streetName = r[n].addressComponent.street.name,
-                                                        o.streetgeometry = r[n].addressComponent.street.geometry) : o.streetName = "",
-                                                    o.streetNumber = r[n].addressComponent.streetNumber
-                                            }
-                                            r[n].location && (r[n].location.lng && (o.lng = r[n].location.lng),
-                                                r[n].location.lat && (o.lat = r[n].location.lat),
-                                                a = new GeoGlobe.Geometry.Point(r[n].location.lng, r[n].location.lat)),
-                                                o.isBrief = r[n].isBrief,
-                                                o.precise = r[n].precise,
-                                                o.resultType = r[n].resultType,
-                                                o.score = r[n].score;
-                                            var l = new GeoGlobe.Feature(a, o);
-                                            t.push(l)
-                                        }
-                                }
-                            var c = (new GeoGlobe.Format.GeoJSON).write(t)
-                                , u = (new GeoGlobe.Format.JSON).read(c);
-                            return {
-                                status: e.status,
-                                features: t,
-                                geojsonFeatures: u
-                            }
-                        },
-                        _getAddress: function (e, t) {
-                            var i = "";
-                            return e.country && (i += e.country),
-                                e.province && (i += e.province),
-                                e.city && (i += e.city),
-                                e.district && (i += e.district),
-                                e.street && (e.street.name && (i += e.street.name),
-                                    e.streetNumber && (i += e.streetNumber + "鍙�")),
-                                t && (i += t),
-                                i
-                        },
-                        CLASS_NAME: "GeoGlobe.Query.GeoCodingQuery.v1_0_0"
-                    }),
-                    GeoGlobe.Query.GeoCodingQuery.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Query.GeoCodingQuery.v1, {
-                        method: "get",
-                        initialize: function (e, t) {
-                            GeoGlobe.Util.extend(this, t),
-                                this.filterFormat = new GeoGlobe.Format.Filter,
-                                GeoGlobe.Query.GeoCodingQuery.v1.prototype.initialize.apply(this, arguments)
-                        },
-                        addressesToLocations: function (e, t, i) {
-                            var r = this.getCommonParams({
-                                request: "GeoCoder"
-                            });
-                            if (r.reverseMatch = !1,
-                                "string" == typeof e.address && (r.keyword = e.address),
-                                "number" == typeof e.categoryCode && (r.categoryCode = e.categoryCode),
-                                !(null != e.address && null != e.address || null != e.categoryCode && null != e.categoryCode))
-                                throw "address鏄繀閫夊弬鏁帮紒";
-                            if (e.extent instanceof GeoGlobe.LngLatBounds)
-                                r.bbox = e.extent.toBBOX(null, !0);
-                            else if (e.extent instanceof GeoGlobe.Geometry.Polygon) {
-                                for (var n = e.extent, o = [], a = 0, s = n.components.length; a < s; a++)
-                                    for (var x = n.components[a].components, l = 0; l < x.length; l++)
-                                        o.push(x[l].toShortString());
-                                r.bbox = o.join(",")
-                            }
-                            if (e.filter instanceof GeoGlobe.Filter) {
-                                var c = this.filterFormat.write(e.filter)
-                                    , u = GeoGlobe.Format.XML.prototype.write.apply(this.filterFormat, [c]);
-                                r.filter = u
-                            }
-                            "string" == typeof e.resultType && (r.resultType = e.resultType),
-                                "statistics" == e.resultType && (r.statisticsLevel = e.statisticsLevel),
-                                "number" == typeof e.maxCount && (r.maxCount = e.maxCount),
-                                "number" == typeof e.startPosition && (r.startPosition = e.startPosition),
-                                "boolean" == typeof e.semanticAnalysis && (r.semanticAnalysis = e.semanticAnalysis),
-                                "boolean" == typeof e.customWeight && (r.customWeight = e.customWeight),
-                                this._setGeoCoderCommonProperty(r, e),
-                                this._getCodingRequest(r, t, i)
-                        },
-                        _getCodingRequest: function (e, t, i) {
-                            if ("get" == this.method)
-                                GeoGlobe.loadURL(this.url, e, this, (function (i) {
-                                    try {
-                                        var r = this.format.read(i.responseText);
-                                        if ("result" == e.resultType)
-                                            var n = this._parseQueryResultToFeature(r);
-                                        else
-                                            n = this._analysis_GeoCodeResult(r)
-                                    } catch (e) {
-                                        return void t(i.responseText)
-                                    }
-                                    t(n)
-                                }
-                                ), this.failFn);
-                            else {
-                                var r = GeoGlobe.Util.getParameterString(e);
-                                GeoGlobe.Request.POST({
-                                    url: this.url,
-                                    data: r,
-                                    success: function (e) {
-                                        try {
-                                            var i = this.format.read(e.responseText)
-                                                , r = this._analysis_GeoCodeResult(i)
-                                        } catch (i) {
-                                            return void t(e.responseText)
-                                        }
-                                        t(r)
-                                    },
-                                    failure: this.failFn,
-                                    scope: this
-                                })
-                            }
-                        },
-                        _setGeoCoderCommonProperty: function (e, t) {
-                            "string" == typeof t.sortFields && (e.sortFields = t.sortFields),
-                                "string" == typeof t.scoreFilter && (e.scoreFilter = t.scoreFilter)
-                        },
-                        locationToAddresses: function (e, t, i) {
-                            var r = this.getCommonParams({
-                                request: "GeoCoder"
-                            });
-                            if (r.reverseMatch = !0,
-                                !e.lonlat)
-                                throw "address鏄繀閫夊弬鏁帮紒璇峰~鍐欐纭殑鏁版嵁绫诲瀷锛�";
-                            r.keyword = e.lonlat.lat + "," + e.lonlat.lng,
-                                "number" == typeof e.tolerance && (r.tolerance = e.tolerance),
-                                "string" == typeof e.unit && (r.unit = e.unit),
-                                "string" == typeof e.resultType && (r.resultType = e.resultType),
-                                "statistics" == e.resultType && (r.statisticsLevel = e.statisticsLevel),
-                                "number" == typeof e.maxCount && (r.maxCount = e.maxCount),
-                                "number" == typeof e.startPosition && (r.startPosition = e.startPosition),
-                                "boolean" == typeof e.customWeight && (r.customWeight = e.customWeight),
-                                this._setGeoCoderCommonProperty(r, e),
-                                this._getCodingRequest(r, t, i)
-                        },
-                        batchAddressesToLocations: function (e, t, i) {
-                            var r = this.getCommonParams({
-                                request: "BatchGeoCoder",
-                                service: "GeoCoding"
-                            });
-                            if (r.reverseMatch = !1,
-                                GeoGlobe.Util.isArray(e.address)) {
-                                for (var n = "", o = 0; o < e.address.length; o++)
-                                    n += e.address[o] + ",";
-                                n = n.substr(0, n.length - 1),
-                                    r.keywords = n
-                            } else if (null == e.address || null == e.address)
-                                throw "address鏄繀閫夊弬鏁帮紒";
-                            if ("number" == typeof e.singleKeywordResultCount && (r.singleKeywordResultCount = e.singleKeywordResultCount),
-                                e.filter instanceof GeoGlobe.Filter) {
-                                var a = this.filterFormat.write(e.filter)
-                                    , s = GeoGlobe.Format.XML.prototype.write.apply(this.filterFormat, [a]);
-                                r.filter = s
-                            }
-                            this._setGeoCoderCommonProperty(r, e),
-                                this._getCodingRequest(r, t, i)
-                        },
-                        batchLocationToAddresses: function (e, t, i) {
-                            var r = this.getCommonParams({
-                                request: "BatchGeoCoder",
-                                service: "GeoCoding"
-                            });
-                            if (r.reverseMatch = !0,
-                                e.lonlats instanceof GeoGlobe.LonLat)
-                                e.lonlats = [e.lonlats];
-                            else if (!GeoGlobe.Util.isArray(e.lonlats))
-                                throw "address鏄繀閫夊弬鏁帮紒璇峰~鍐欐纭殑鏁版嵁绫诲瀷锛�";
-                            if (GeoGlobe.Util.isArray(e.lonlats)) {
-                                for (var n = "", o = 0; o < e.lonlats.length; o++)
-                                    n += e.lonlats[o].lat + "," + e.lonlats[o].lng + ";";
-                                n = n.substr(0, n.length - 1),
-                                    r.keywords = n
-                            }
-                            "number" == typeof e.tolerance && (r.tolerance = e.tolerance),
-                                "string" == typeof e.unit && (r.unit = e.unit),
-                                "number" == typeof e.singleKeywordResultCount && (r.singleKeywordResultCount = e.singleKeywordResultCount),
-                                this._setGeoCoderCommonProperty(r, e),
-                                this._getCodingRequest(r, t, i)
-                        },
-                        _getAddress: function (e, t) {
-                            var i = "";
-                            return e.country && (i += e.country),
-                                e.province && (i += e.province),
-                                e.city && (i += e.city),
-                                e.district && (i += e.district),
-                                e.street && (e.street.name && (i += e.street.name),
-                                    e.streetNumber && (i += e.streetNumber + "鍙�")),
-                                t && (i += t),
-                                i
-                        },
-                        getLocations: function (e, t, i) {
-                            this.addressesToLocations(e, GeoGlobe.Function.bind((function (e) {
-                                t(this._parseQueryResultToFeature(e, total))
-                            }
-                            ), this), i)
-                        },
-                        getLocationsByPage: function (e, t, i) {
-                            e.resultType = "hits",
-                                this.addressesToLocations(e, GeoGlobe.Function.bind((function (r) {
-                                    if ("OK" == r.status) {
-                                        e.resultType = "result";
-                                        var n = r.results[0].count;
-                                        null != e.maxCount && null != e.maxCount || (e.maxCount = 3),
-                                            e.startPosition = (e.startPosition - 1) * e.maxCount + 1,
-                                            this.addressesToLocations(e, GeoGlobe.Function.bind((function (e) {
-                                                t(this._parseQueryResultToFeature(e, n))
-                                            }
-                                            ), this), i)
-                                    } else
-                                        alert("娌℃湁鏌ヨ鍒颁换浣曟暟鎹�")
-                                }
-                                ), this), i)
-                        },
-                        getAddresses: function (e, t, i) {
-                            this.locationToAddresses(e, GeoGlobe.Function.bind((function (e) {
-                                t(this._parseQueryResultToFeature(e, total))
-                            }
-                            ), this), i)
-                        },
-                        getAddressesByPage: function (e, t, i) {
-                            e.resultType = "hits",
-                                this.locationToAddresses(e, GeoGlobe.Function.bind((function (r) {
-                                    if ("OK" == r.status) {
-                                        e.resultType = "result";
-                                        var n = r.results[0].count;
-                                        null != e.maxCount && null != e.maxCount || (e.maxCount = 3),
-                                            e.startPosition = (e.startPosition - 1) * e.maxCount + 1,
-                                            this.locationToAddresses(e, GeoGlobe.Function.bind((function (e) {
-                                                t(this._parseQueryResultToFeature(e, n))
-                                            }
-                                            ), this), i)
-                                    } else
-                                        alert("娌℃湁鏌ヨ鍒颁换浣曟暟鎹�")
-                                }
-                                ), this), i)
-                        },
-                        batchGetAddresses: function (e, t, i) {
-                            this.batchLocationToAddresses(e, GeoGlobe.Function.bind((function (e) {
-                                t(this._parseQueryResultToFeature(e))
-                            }
-                            ), this), i)
-                        },
-                        batchGetLocations: function (e, t, i) {
-                            this.batchAddressesToLocations(e, GeoGlobe.Function.bind((function (e) {
-                                t(this._parseQueryResultToFeature(e))
-                            }
-                            ), this), i)
-                        },
-                        _parseQueryResultToFeature: function (e) {
-                            var t = [];
-                            if ("OK" == e.status && e.results)
-                                for (var i = 0; i < e.results.length; i++) {
-                                    var r = e.results[i].result;
-                                    if (r)
-                                        for (var n = 0; n < r.length; n++) {
-                                            var o = {}
-                                                , a = null;
-                                            if (o.requestKeyWord = e.results[i].requestKeyWord,
-                                                GeoGlobe.Util.isArray(r[n].poiArray))
-                                                for (var s = 0; s < r[n].poiArray.length; s++)
-                                                    o.CONTINENT = r[n].poiArray[s].CONTINENT,
-                                                        o.GBCODE = r[n].poiArray[s].GBCODE,
-                                                        o.STANDARDNAME = r[n].poiArray[s].STANDARDNAME,
-                                                        o.name = r[n].poiArray[s].name;
-                                            if (r[n].addressComponent) {
-                                                var x = r[n].addressComponent;
-                                                o.address = this._getAddress(x, o.name),
-                                                    o.country = r[n].addressComponent.country,
-                                                    o.province = r[n].addressComponent.province,
-                                                    o.city = r[n].addressComponent.city,
-                                                    o.district = r[n].addressComponent.district,
-                                                    r[n].addressComponent.street ? (o.streetName = r[n].addressComponent.street.name,
-                                                        o.streetgeometry = r[n].addressComponent.street.geometry) : o.streetName = "",
-                                                    o.streetNumber = r[n].addressComponent.streetNumber
-                                            }
-                                            r[n].location && (r[n].location.lng && (o.lng = r[n].location.lng),
-                                                r[n].location.lat && (o.lat = r[n].location.lat),
-                                                a = new GeoGlobe.Geometry.Point(r[n].location.lng, r[n].location.lat)),
-                                                o.isBrief = r[n].isBrief,
-                                                o.precise = r[n].precise,
-                                                o.resultType = r[n].resultType,
-                                                o.score = r[n].score;
-                                            var l = new GeoGlobe.Feature(a, o);
-                                            t.push(l)
-                                        }
-                                }
-                            var c = (new GeoGlobe.Format.GeoJSON).write(t)
-                                , u = (new GeoGlobe.Format.JSON).read(c);
-                            return {
-                                status: e.status,
-                                features: t,
-                                geojsonFeatures: u
-                            }
-                        },
-                        CLASS_NAME: "GeoGlobe.Query.GeoCodingQuery.v1_1_0"
-                    }),
-                    GeoGlobe.Service = GeoGlobe.Class({
-                        name: null,
-                        url: null,
-                        version: null,
-                        userid: "test@liferay.com",
-                        initialize: function (e, t, i) {
-                            this.name = e,
-                                this.url = t,
-                                GeoGlobe.Util.extend(this, i)
-                        },
-                        getCapabilities: function (e, t) { },
-                        isExist: function () { },
-                        failFn: function (e) {
-                            alert("鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + this.url + "\n鎿嶄綔绫诲瀷锛�" + e)
-                        },
-                        _parseToXML: function (e) {
-                            var t = e.responseXML;
-                            return t && t.documentElement || (t = e.responseText),
-                                (new GeoGlobe.Format.XML).read(t)
-                        },
-                        _checkIsError: function (e) {
-                            return (new GeoGlobe.Format.XML).read(e).selectNodes("ServiceExceptionReport").length > 0 ? this._parseToJSON(e) : null
-                        },
-                        _isException: function (e) {
-                            return !(!e || !e.ServiceExceptionReport)
-                        },
-                        _parseToJSON: function (e) {
-                            return (new GeoGlobe.Util.Format.XML2JSON).read(e)
-                        },
-                        CLASS_NAME: "GeoGlobe.Service"
-                    }),
-                    GeoGlobe.Service.WFST = GeoGlobe.Class4OL(GeoGlobe.Service, {
-                        xy: !0,
-                        initialize: function (e, t, i) {
-                            GeoGlobe.Service.prototype.initialize.apply(this, arguments)
-                        },
-                        getCapabilities: function (e, t) {
-                            var i = this.url
-                                , r = {
-                                    REQUEST: "GetCapabilities",
-                                    SERVICE: "WFS",
-                                    VERSION: "1.0.0"
-                                };
-                            t || (t = function () {
-                                this.failFn(r.REQUEST)
-                            }
-                            ),
-                                GeoGlobe.loadURL(i, r, this, (function (t) {
-                                    e(t)
-                                }
-                                ), t)
-                        },
-                        isExist: function () {
-                            var e = !1
-                                , t = this.url;
-                            return GeoGlobe.Request.GET({
-                                url: t,
-                                params: {
-                                    REQUEST: "GetCapabilities",
-                                    SERVICE: "WFS"
-                                },
-                                scope: this,
-                                async: !1,
-                                success: function () {
-                                    e = !0
-                                }
-                            }),
-                                e
-                        },
-                        describeFeatureType: function (e, t, i) {
-                            var r = this.url;
-                            GeoGlobe.Util.applyDefaults(e, {
-                                SERVICE: "WFS",
-                                VERSION: "1.0.0",
-                                REQUEST: "DescribeFeatureType"
-                            }),
-                                i || (i = function () {
-                                    this.failFn(e.REQUEST)
-                                }
-                                ),
-                                GeoGlobe.loadURL(r, e, this, (function (e) {
-                                    t(e)
-                                }
-                                ), i)
-                        },
-                        getFeature: function (e, t, i) {
-                            var r = this.url;
-                            GeoGlobe.Util.applyDefaults(e, {
-                                SERVICE: "WFS",
-                                VERSION: "1.0.0",
-                                REQUEST: "GetFeature"
-                            }),
-                                i || (i = function () {
-                                    this.failFn(e.REQUEST)
-                                }
-                                ),
-                                GeoGlobe.loadURL(r, e, this, (function (e) {
-                                    t(e)
-                                }
-                                ), i)
-                        },
-                        lockFeature: function (e, t, i) {
-                            this.url,
-                                GeoGlobe.Util.applyDefaults(e, {
-                                    service: "WFS",
-                                    version: "1.0.0",
-                                    request: "LockFeature",
-                                    expiry: 1,
-                                    lockAction: "ALL"
-                                });
-                            var r = this._parserFilterToString(e.filter)
-                                , n = GeoGlobe.String.format('<?xml version="1.0" encoding="UTF-8"?><LockFeature version="${version}" service="${service}" lockAction="${lockAction}" expiry="${expiry}" xmlns:wfs=" http://www.opengis.net/wfs" xmlns:gml=" http://www.opengis.net/gml" xmlns:myns=" http://www.someserver.com/myns" xmlns:ogc=" http://www.opengis.net/ogc" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs ../wfs/1.1.0/WFS.xsd"><Lock typeName="${typeName}">${filterXMLString}</Lock></LockFeature>', {
-                                    version: e.version,
-                                    service: e.service,
-                                    lockAction: e.lockAction,
-                                    expiry: e.expiry,
-                                    typeName: e.typeName,
-                                    filterXMLString: r
-                                });
-                            i || (i = function () {
-                                this.failFn(e.request)
-                            }
-                            ),
-                                new GeoGlobe.Request.POST({
-                                    url: this.url,
-                                    data: n,
-                                    scope: this,
-                                    success: t,
-                                    failure: i
-                                })
-                        },
-                        transaction: function (e, t, i, r, n, o) {
-                            var a = this.url;
-                            GeoGlobe.Util.applyDefaults(e, {
-                                service: "WFS",
-                                version: "1.0.0",
-                                request: "Transaction",
-                                releaseAction: "ALL"
-                            });
-                            var s = e.lockId
-                                , x = "";
-                            s && (x += "<LockId>" + s + "</LockId>");
-                            var l = "";
-                            t && (l += this._getInsertString(t)),
-                                i && (l += this._getUpdateString(i)),
-                                r && (l += this._getDeleteString(r));
-                            var c = GeoGlobe.String.format('<?xml version="1.0" encoding="UTF-8"?><wfs:Transaction releaseAction="${releaseAction}" handle="Transaction 01" version="${version}" service="${service}" xmlns="http://www.someserver.com/myns" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:wfs="http://www.opengis.net/wfs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">${lockIdString}${transactionString}</wfs:Transaction>', {
-                                releaseAction: e.releaseAction,
-                                version: e.version,
-                                service: e.service,
-                                lockIdString: x,
-                                transactionString: l
-                            });
-                            o || (o = function () {
-                                this.failFn(e.request)
-                            }
-                            ),
-                                new GeoGlobe.Request.POST({
-                                    url: a,
-                                    data: c,
-                                    scope: this,
-                                    success: n,
-                                    failure: o
-                                })
-                        },
-                        parseTransactionResult: function (e) {
-                            var t = (new GeoGlobe.Format.XML2JSON).read(e.responseText)
-                                , i = new Array
-                                , r = this._objToArray(t.wfs_WFS_TransactionResponse.wfs_TransactionResult.wfs_Status)
-                                , n = this._objToArray(t.wfs_WFS_TransactionResponse.wfs_InsertResults);
-                            if (!r)
-                                return i;
-                            for (var o = 0; o < r.length; o++)
-                                void 0 !== r[o].wfs_SUCCESS ? i.push({
-                                    status: "SUCCESS",
-                                    fid: n && n[o] ? n[o].ogc_FeatureId.fid : null
-                                }) : i.push({
-                                    status: "FAILED",
-                                    fid: null
-                                });
-                            return i
-                        },
-                        _objToArray: function (e) {
-                            return !e || e instanceof Array || (e = [e]),
-                                e
-                        },
-                        _getInsertString: function (e) {
-                            for (var t = e.features, i = e.typeName, r = "", n = 0; n < t.length; n++) {
-                                var o = t[n];
-                                r += '<wfs:Insert handle="Insert ' + n + '">' + this._getInsertFeatureString(o, i) + "</wfs:Insert>"
-                            }
-                            return r
-                        },
-                        _getInsertFeatureString: function (e, t) {
-                            var i = "";
-                            for (var r in e.attributes)
-                                "OID" != r && (i += GeoGlobe.String.format("<${tag}><![CDATA[${value}]]></${tag}>", {
-                                    value: e.attributes[r] ? e.attributes[r] : "",
-                                    tag: r
-                                }));
-                            return i += GeoGlobe.String.format("<GEOMETRY>${geometry}</GEOMETRY>", {
-                                geometry: this._getGeometryStringByFeature(e)
-                            }),
-                                GeoGlobe.String.format("<${typeName}>${content}</${typeName}>", {
-                                    typeName: t,
-                                    content: i
-                                })
-                        },
-                        _getUpdateString: function (e) {
-                            e.filter;
-                            for (var t = e.typeName, i = e.features, r = "", n = 0; n < i.length; n++)
-                                if (i[n].geometry) {
-                                    var o = this._getUpdatePropertyString(i[n])
-                                        , a = new GeoGlobe.Filter.FeatureId({
-                                            fids: [t + "." + i[n].attributes.OID]
-                                        });
-                                    r += '<wfs:Update typeName="' + t + '" handle="Update ' + n + '">' + o + this._parserFilterToString(a) + "</wfs:Update>"
-                                }
-                            return r
-                        },
-                        _getUpdatePropertyString: function (e) {
-                            var t = "";
-                            for (var i in e.data)
-                                "OID" != i && e.data[i] && (t += "<wfs:Property><wfs:Name><![CDATA[" + i + "]]></wfs:Name><wfs:Value><![CDATA[" + (e.data[i] ? e.data[i] : "") + "]]></wfs:Value></wfs:Property>");
-                            return t + "<wfs:Property><wfs:Name>Geometry</wfs:Name><wfs:Value>" + this._getGeometryStringByFeature(e) + "</wfs:Value></wfs:Property>"
-                        },
-                        _getGeometryStringByFeature: function (e) {
-                            var t = new GeoGlobe.Format.GML({
-                                xy: this.xy
-                            });
-                            t.buildCoordinatesNode = GeoGlobe.Function.bind((function (e) {
-                                var t = this.createElementNS(this.gmlns, "gml:coordinates");
-                                t.setAttribute("decimal", "."),
-                                    t.setAttribute("cs", ","),
-                                    t.setAttribute("ts", " ");
-                                var i = [];
-                                if (e instanceof GeoGlobe.LngLatBounds)
-                                    this.xy ? (i.push(e.left + "," + e.bottom),
-                                        i.push(e.right + "," + e.top)) : (i.push(e.bottom + "," + e.left),
-                                            i.push(e.top + "," + e.right));
-                                else
-                                    for (var r = e.components ? e.components : [e], n = 0; n < r.length; n++)
-                                        this.xy ? i.push(r[n].x + "," + r[n].y) : i.push(r[n].y + "," + r[n].x);
-                                var o = this.createTextNode(i.join(" "));
-                                return t.appendChild(o),
-                                    t
-                            }
-                            ), t);
-                            var i = t.buildGeometryNode(e.geometry);
-                            return (new GeoGlobe.Format.XML).write(i)
-                        },
-                        _getDeleteString: function (e) {
-                            for (var t = e.filter, i = e.typeName, r = "", n = 0; n < t.fids.length; n++) {
-                                r += '<wfs:Delete typeName="' + i + '" handle="Delete ' + n + '">';
-                                var o = new GeoGlobe.Filter.FeatureId({
-                                    fids: [t.fids[n]]
-                                });
-                                r += this._parserFilterToString(o),
-                                    r += "</wfs:Delete>"
-                            }
-                            return r
-                        },
-                        _parserFilterToString: function (e) {
-                            var t = "";
-                            if (e) {
-                                var i = (new GeoGlobe.Format.Filter.v1).write(e);
-                                return (new GeoGlobe.Format.XML).write(i)
-                            }
-                            return t
-                        },
-                        CLASS_NAME: "GeoGlobe.Service.WFST"
-                    }),
-                    GeoGlobe.Service.CTS = GeoGlobe.Class4OL(GeoGlobe.Service, {
-                        initialize: function (e, t, i) {
-                            GeoGlobe.Service.prototype.initialize.apply(this, arguments)
-                        },
-                        getCapabilities: function (e, t) {
-                            var i = this.url
-                                , r = {
-                                    REQUEST: "GetCapabilities",
-                                    SERVICE: "CTS"
-                                };
-                            t || (t = function () {
-                                this.failFn(r.REQUEST)
-                            }
-                            ),
-                                GeoGlobe.loadURL(i, r, this, (function (t) {
-                                    e(t)
-                                }
-                                ), t)
-                        },
-                        isExist: function () {
-                            var e = !1
-                                , t = this.url;
-                            return GeoGlobe.Request.GET({
-                                url: t,
-                                params: {
-                                    REQUEST: "GetCapabilities",
-                                    SERVICE: "CTS"
-                                },
-                                scope: this,
-                                async: !1,
-                                success: function () {
-                                    e = !0
-                                }
-                            }),
-                                e
-                        },
-                        TransCoords: function (e, t, i) {
-                            var r = this.url;
-                            GeoGlobe.Util.applyDefaults(e, {
-                                SERVICE: "CTS",
-                                REQUEST: "TransCoords"
-                            }),
-                                i || (i = function () {
-                                    this.failFn(e.REQUEST)
-                                }
-                                ),
-                                GeoGlobe.loadURL(r, e, this, (function (i) {
-                                    if ("xml" == e.FORMAT) {
-                                        var r = {}
-                                            , n = i.responseXML;
-                                        GeoGlobe.Function.bind(this.xmltoJson, this);
-                                        var o = this.xmltoJson(n);
-                                        r.attributes = o.CTS_TransResult["cts:Coordinate"].attributes.dim;
-                                        for (var a = o.CTS_TransResult["cts:Coordinate"].text.split(","), s = [], x = 0; x < a.length; x++)
-                                            s.push(a[x]);
-                                        r.coordvalue = s
-                                    } else if ("json" == e.FORMAT) {
-                                        r = {},
-                                            o = i.responseText;
-                                        var l = (new GeoGlobe.Format.JSON).read(o);
-                                        r.attributes = l.CTS_TransResult.dim,
-                                            r.coordvalue = l.CTS_TransResult.Coordinate
-                                    }
-                                    t(r)
-                                }
-                                ), i)
-                        },
-                        xmltoJson: function (e) {
-                            var t = {};
-                            if (1 == e.nodeType) {
-                                if (e.attributes.length > 0) {
-                                    t.attributes = {};
-                                    for (var i = 0; i < e.attributes.length; i++) {
-                                        var r = e.attributes.item(i);
-                                        t.attributes[r.nodeName] = r.nodeValue
-                                    }
-                                }
-                            } else
-                                3 == e.nodeType && (t = e.nodeValue);
-                            if (e.hasChildNodes())
-                                for (var n = 0; n < e.childNodes.length; n++) {
-                                    var o = e.childNodes.item(n)
-                                        , a = o.nodeName.replace("ows:", "");
-                                    if (void 0 === t[a = a.replace("#", "")])
-                                        t[a] = this.xmltoJson(o);
-                                    else {
-                                        if (void 0 === t[a].push) {
-                                            var s = t[a];
-                                            t[a] = [],
-                                                t[a].push(s)
-                                        }
-                                        t[a].push(this.xmltoJson(o))
-                                    }
-                                }
-                            return t
-                        },
-                        AffineTransform: function (e, t, i) {
-                            var r = this.url;
-                            GeoGlobe.Util.applyDefaults(e, {
-                                SERVICE: "CTS",
-                                REQUEST: "AffineTransform"
-                            }),
-                                i || (i = function () {
-                                    this.failFn(e.REQUEST)
-                                }
-                                ),
-                                GeoGlobe.loadURL(r, e, this, (function (i) {
-                                    if ("xml" == e.FORMAT) {
-                                        var r = {}
-                                            , n = i.responseXML;
-                                        GeoGlobe.Function.bind(this.xmltoJson, this);
-                                        var o = this.xmltoJson(n);
-                                        r.attributes = o.CTS_AffineTransResult["cts:Coordinate"].attributes.dim;
-                                        for (var a = o.CTS_AffineTransResult["cts:Coordinate"].text.split(","), s = [], x = 0; x < a.length; x++)
-                                            s.push(a[x]);
-                                        r.coordvalue = s
-                                    } else if ("json" == e.FORMAT) {
-                                        r = {},
-                                            o = i.responseText;
-                                        var l = (new GeoGlobe.Format.JSON).read(o);
-                                        r.attributes = l.CTS_AffineTransResult.dim,
-                                            r.coordvalue = l.CTS_AffineTransResult.Coordinate
-                                    }
-                                    t(r)
-                                }
-                                ), i)
-                        },
-                        CLASS_NAME: "GeoGlobe.Service.CTS"
-                    }),
-                    GeoGlobe.Service.WMS = GeoGlobe.Class4OL(GeoGlobe.Service, {
-                        initialize: function (e, t, i) {
-                            GeoGlobe.Service.prototype.initialize.apply(this, arguments)
-                        },
-                        getCapabilities: function (e, t) {
-                            var i = this.url
-                                , r = {
-                                    REQUEST: "GetCapabilities",
-                                    SERVICE: "WMS"
-                                };
-                            t || (t = function () {
-                                this.failFn(r.REQUEST)
-                            }
-                            ),
-                                GeoGlobe.loadURL(i, r, this, (function (t) {
-                                    var i = t.responseXML;
-                                    GeoGlobe.Function.bind(this.xmlToJson, this);
-                                    var r, n = this.xmlToJson(i), o = {}, a = n.WMT_MS_Capabilities, s = a.Capability.Layer.Layer, x = a.Capability.Request;
-                                    r = s.length ? s[0] : s,
-                                        o.version = a.attributes.version,
-                                        o.format = x.GetMap.Format[1].text,
-                                        o.layer = r.Title.text,
-                                        o.bbox = r.BoundingBox.attributes.SRS,
-                                        o.maxExtent = a.Capability.Layer.LatLonBoundingBox.attributes,
-                                        e(o, n)
-                                }
-                                ), t)
-                        },
-                        isExist: function () {
-                            var e = !1
-                                , t = this.url;
-                            return GeoGlobe.Request.GET({
-                                url: t,
-                                params: {
-                                    REQUEST: "GetCapabilities",
-                                    SERVICE: "WMS"
-                                },
-                                scope: this,
-                                async: !1,
-                                success: function () {
-                                    e = !0
-                                }
-                            }),
-                                e
-                        },
-                        xmlToJson: function (e) {
-                            var t = {};
-                            if (1 == e.nodeType) {
-                                if (e.attributes.length > 0) {
-                                    t.attributes = {};
-                                    for (var i = 0; i < e.attributes.length; i++) {
-                                        var r = e.attributes.item(i);
-                                        t.attributes[r.nodeName] = r.nodeValue
-                                    }
-                                }
-                            } else
-                                3 == e.nodeType && (t = e.nodeValue);
-                            if (e.hasChildNodes())
-                                for (var n = 0; n < e.childNodes.length; n++) {
-                                    var o = e.childNodes.item(n)
-                                        , a = o.nodeName.replace("ows:", "");
-                                    if (void 0 === t[a = a.replace("#", "")])
-                                        t[a] = this.xmlToJson(o);
-                                    else {
-                                        if (void 0 === t[a].push) {
-                                            var s = t[a];
-                                            t[a] = [],
-                                                t[a].push(s)
-                                        }
-                                        t[a].push(this.xmlToJson(o))
-                                    }
-                                }
-                            return t
-                        },
-                        getMap: function (e) {
-                            this.url;
-                            var t = {};
-                            return e.layers && (t.LAYERS = e.layers),
-                                e.format && (t.FORMAT = e.format),
-                                e.bbox && (t.BBOX = "{bbox-epsg-3857}"),
-                                e.width && (t.WIDTH = e.width),
-                                e.height && (t.HEIGHT = e.height),
-                                e.version && (t.VERSION = e.version),
-                                e.SRS && (t.SRS = e.SRS),
-                                GeoGlobe.Util.applyDefaults(t, {
-                                    service: "WMS",
-                                    request: "GetMap",
-                                    TRANSPARENT: !0
-                                }),
-                                this.urlAppend(this.url, this.getParameterString(t || {}))
-                        },
-                        getParameterString: function (e) {
-                            var t = [];
-                            for (var i in e) {
-                                var r = e[i];
-                                if (null != r && "function" != typeof r) {
-                                    var n;
-                                    if ("object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(r) && r.constructor == Array) {
-                                        for (var o, a = [], s = 0, x = r.length; s < x; s++)
-                                            o = r[s],
-                                                a.push(encodeURIComponent(null == o ? "" : o));
-                                        n = a.join(",")
-                                    } else
-                                        n = r;
-                                    t.push(encodeURIComponent(i) + "=" + n)
-                                }
-                            }
-                            return t.join("&")
-                        },
-                        urlAppend: function (e, t) {
-                            var i = e;
-                            if (t) {
-                                var r = (e + " ").split(/[?&]/);
-                                i += " " === r.pop() ? t : r.length ? "&" + t : "?" + t
-                            }
-                            return i
-                        },
-                        CLASS_NAME: "GeoGlobe.Service.WMS"
-                    }),
-                    GeoGlobe.Service.WMTS = GeoGlobe.Class4OL(GeoGlobe.Service, {
-                        initialize: function (e, t, i) {
-                            GeoGlobe.Service.prototype.initialize.apply(this, arguments)
-                        },
-                        getCapabilities: function (e, t) {
-                            var i = this.url
-                                , r = {
-                                    REQUEST: "GetCapabilities",
-                                    SERVICE: "WMTS"
-                                };
-                            t || (t = function () {
-                                this.failFn(r.REQUEST)
-                            }
-                            ),
-                                GeoGlobe.loadURL(i, r, this, (function (t) {
-                                    var i = t.responseXML;
-                                    GeoGlobe.Function.bind(this.xmlToJson, this);
-                                    var r = this.xmlToJson(i)
-                                        , n = r.Capabilities
-                                        , o = {}
-                                        , a = n.Contents.Layer;
-                                    a = a.length ? a[0] : a,
-                                        o.version = n.attributes.version;
-                                    var s = n.Contents;
-                                    o.layer = a.Title.text,
-                                        o.LayerIdentifier = a.Identifier.text,
-                                        o.StyleIdentifier = a.Style.Identifier.text,
-                                        o.MatrixSet = a.TileMatrixSetLink[0].TileMatrixSet.text,
-                                        o.Format = a.Format[1].text,
-                                        o.Bounding = a.BoundingBox;
-                                    var x = ""
-                                        , l = s.TileMatrixSet[0].TileMatrix;
-                                    if (l.length > 0)
-                                        for (var c = 0, u = l.length; c < u && c != u; c++)
-                                            x += l[c].ScaleDenominator.text + ",";
-                                    o.Scales = x.substr(0, x.length - 1),
-                                        o.zoomOffset = l[0].Identifier.text,
-                                        e(o, r)
-                                }
-                                ), t)
-                        },
-                        xmlToJson: function (e) {
-                            var t = {};
-                            if (1 == e.nodeType) {
-                                if (e.attributes.length > 0) {
-                                    t.attributes = {};
-                                    for (var i = 0; i < e.attributes.length; i++) {
-                                        var r = e.attributes.item(i);
-                                        t.attributes[r.nodeName] = r.nodeValue
-                                    }
-                                }
-                            } else
-                                3 == e.nodeType && (t = e.nodeValue);
-                            if (e.hasChildNodes())
-                                for (var n = 0; n < e.childNodes.length; n++) {
-                                    var o = e.childNodes.item(n)
-                                        , a = o.nodeName.replace("ows:", "");
-                                    if (void 0 === t[a = a.replace("#", "")])
-                                        t[a] = this.xmlToJson(o);
-                                    else {
-                                        if (void 0 === t[a].push) {
-                                            var s = t[a];
-                                            t[a] = [],
-                                                t[a].push(s)
-                                        }
-                                        t[a].push(this.xmlToJson(o))
-                                    }
-                                }
-                            return t
-                        },
-                        isExist: function () {
-                            var e = !1
-                                , t = this.url;
-                            return GeoGlobe.Request.GET({
-                                url: t,
-                                params: {
-                                    REQUEST: "GetCapabilities",
-                                    SERVICE: "WMTS"
-                                },
-                                scope: this,
-                                async: !1,
-                                success: function () {
-                                    e = !0
-                                }
-                            }),
-                                e
-                        },
-                        getTile: function (e) {
-                            var t = {};
-                            return e.layer && (t.LAYER = e.layer),
-                                e.format && (t.FORMAT = e.format),
-                                e.tileMatrixSet && (t.TILEMATRIXSET = e.tileMatrixSet),
-                                e.TILEMATRIX && (t.TILEMATRIX = e.TILEMATRIX),
-                                e.TILEROW && (t.TILEROW = e.TILEROW),
-                                e.TILECOL && (t.TILECOL = e.TILECOL),
-                                e.version && (t.VERSION = e.version),
-                                e.style && (t.STYLE = e.style),
-                                GeoGlobe.Util.applyDefaults(t, {
-                                    service: "WMTS",
-                                    request: "GetTile"
-                                }),
-                                this.urlAppend(this.url, this.getParameterString(t || {}))
-                        },
-                        getParameterString: function (e) {
-                            var t = [];
-                            for (var i in e) {
-                                var r = e[i];
-                                if (null != r && "function" != typeof r) {
-                                    var n;
-                                    if ("object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(r) && r.constructor == Array) {
-                                        for (var o, a = [], s = 0, x = r.length; s < x; s++)
-                                            o = r[s],
-                                                a.push(encodeURIComponent(null == o ? "" : o));
-                                        n = a.join(",")
-                                    } else
-                                        n = r;
-                                    t.push(encodeURIComponent(i) + "=" + n)
-                                }
-                            }
-                            return t.join("&")
-                        },
-                        urlAppend: function (e, t) {
-                            var i = e;
-                            if (t) {
-                                var r = (e + " ").split(/[?&]/);
-                                i += " " === r.pop() ? t : r.length ? "&" + t : "?" + t
-                            }
-                            return i
-                        },
-                        getCapabilitiesForRest: function (e, t) {
-                            var i = this.url;
-                            i.match(/\/$/) || (i += "/"),
-                                i += "1.0.0/WMTSCapabilities.xml",
-                                t || (t = function () {
-                                    this.failFn("GetCapabilities")
-                                }
-                                ),
-                                GeoGlobe.loadURL(i, null, this, (function (t) {
-                                    e(t)
-                                }
-                                ), t)
-                        },
-                        getTileForRest: function (e) {
-                            var t = e.layer
-                                , i = e.style
-                                , r = e.tileMatrixSet
-                                , n = e.tileMatrix
-                                , o = e.tileRow
-                                , a = e.tileCol
-                                , s = null
-                                , x = e.format ? e.format : "image/png";
-                            s || (s = {
-                                "image/png": "png",
-                                "image/png8": "png",
-                                "image/png24": "png",
-                                "image/png32": "png",
-                                png: "png",
-                                "image/jpeg": "jpg",
-                                "image/jpg": "jpg",
-                                jpeg: "jpg",
-                                jpg: "jpg"
-                            }[x] || x.split("/").pop());
-                            var l = t + "/" + i + "/" + r + "/" + n + "/" + o + "/" + a + "." + s
-                                , c = this.url;
-                            return c.match(/\/$/) || (c += "/"),
-                                c + l
-                        },
-                        CLASS_NAME: "GeoGlobe.Service.WMTS"
-                    }),
-                    GeoGlobe.Analysis.BufferAnalysis = GeoGlobe.Class4OL({
-                        url: null,
-                        type: 1,
-                        accuracy: 32,
-                        initialize: function (e, t) {
-                            this.url = e,
-                                GeoGlobe.Util.extend(this, t)
-                        },
-                        _buildPostXML: function (e, t) {
-                            return '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><wps:Execute service="WPS" version="1.0.0" xmlns:gml="http://www.opengis.net/gml" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 ../wpsExecute_request.xsd"><ows:Identifier>Buffer</ows:Identifier><wps:DataInputs><wps:Input><ows:Identifier>InputPolygon</ows:Identifier><wps:Data><wps:ComplexData schema="http://foo.bar/MyComplexValueSchema.xsd" mimeType="text/xml" encoding="UTF-8">' + (new GeoGlobe.Format.GML).write(e) + "</wps:ComplexData></wps:Data></wps:Input><wps:Input><ows:Identifier>BufferDistance</ows:Identifier><wps:Data><wps:LiteralData>" + t + "</wps:LiteralData></wps:Data></wps:Input><wps:Input><ows:Identifier>BufferType</ows:Identifier><wps:Data><wps:LiteralData>" + this.type + "</wps:LiteralData></wps:Data></wps:Input><wps:Input><ows:Identifier>BufferAccuracy</ows:Identifier><wps:Data><wps:LiteralData>" + this.accuracy + "</wps:LiteralData></wps:Data></wps:Input></wps:DataInputs><wps:ResponseForm><wps:RawDataOutput><ows:Identifier>BufferedPolygon</ows:Identifier></wps:RawDataOutput></wps:ResponseForm></wps:Execute>"
-                        },
-                        _getFeaturesCenter: function (e) {
-                            return this._getFeaturesExtent(e).getCenterLonLat()
-                        },
-                        _getFeaturesExtent: function (e) {
-                            GeoGlobe.Util.isArray(e) || (e = [e]);
-                            var t = null;
-                            if (e && e.length > 0) {
-                                t = new GeoGlobe.LngLatBounds;
-                                for (var i = null, r = 0, n = e.length; r < n; r++)
-                                    (i = e[r].geometry) && t.extend(i.getBounds())
-                            }
-                            return t
-                        },
-                        startAnalysis: function (e, t, i) {
-                            var r = (new GeoGlobe.Format.GeoJSON).read(e)
-                                , n = this._getFeaturesCenter(r);
-                            switch (i && -1 != GeoGlobe.Util.indexOf(["m", "km", "degree"], i) || (i = "m"),
-                            i) {
-                                case "km":
-                                    t *= 1e3;
-                                case "m":
-                                    t = this._meterToDegree(t, n)
-                            }
-                            var o = this._buildPostXML(r, t);
-                            new GeoGlobe.Request.POST({
-                                url: this.url,
-                                data: o,
-                                scope: this,
-                                success: function (e) {
-                                    if ("" != e.responseText && null != e.responseText) {
-                                        var t = this._parserResult(e)
-                                            , i = (new GeoGlobe.Format.GeoJSON).write(t)
-                                            , r = (new GeoGlobe.Format.JSON).read(i);
-                                        this.successFn(r)
-                                    } else
-                                        this.failFn()
-                                },
-                                failure: this.failFn
-                            })
-                        },
-                        _meterToDegree: function (e, t) {
-                            var i = t.lat;
-                            return e * (899e-8 / Math.cos(GeoGlobe.Util.rad(i)))
-                        },
-                        successFn: function (e) { },
-                        failFn: function () {
-                            alert("缂撳啿鍒嗘瀽鎿嶄綔澶辫触锛岃妫�娴嬫湇鍔℃槸鍚︽甯歌繍琛屻��")
-                        },
-                        _parserResult: function (e) {
-                            var t = new GeoGlobe.Format.XML;
-                            return e.responseXML || (e.responseXML = t.read(e.responseText)),
-                                (new GeoGlobe.Format.GML).read(e.responseXML)
-                        },
-                        CLASS_NAME: "GeoGlobe.Analysis.BufferAnalysis"
-                    }),
-                    GeoGlobe.Analysis.BufferAnalysis.CAP_ROUND = 1,
-                    GeoGlobe.Analysis.BufferAnalysis.CAP_BUTT = 2,
-                    GeoGlobe.Analysis.BufferAnalysis.CAP_SQUARE = 3,
-                    GeoGlobe.Analysis.CoreBufferAnalysis = GeoGlobe.Class({
-                        url: null,
-                        type: "intersection",
-                        _requestStrTemplate: "{'BufferAnalysis': {'service': 'OverlapService','version': '1.0.0','layerName': '${layerName}','bufferRadius': '${bufferRadius}','bufferStyle':'${bufferStyle}','outPutFormat': 'JSON','bufferType': '${bufferType}','isSynchronization': 'true'}}",
-                        initialize: function (e, t) {
-                            this.url = e,
-                                GeoGlobe.Util.extend(this, t)
-                        },
-                        _buildRequestStr: function () {
-                            return GeoGlobe.String.format(this._requestStrTemplate, {
-                                type: this.type,
-                                layerName: this.layerName,
-                                bufferRadius: this.bufferRadius,
-                                bufferStyle: this.bufferStyle,
-                                bufferType: this.bufferType
-                            })
-                        },
-                        startAnalysis: function (e) {
-                            if (this._checkSet())
-                                return !1;
-                            var t = this._buildRequestStr();
-                            new GeoGlobe.Request.POST({
-                                url: this.url,
-                                data: t,
-                                scope: this,
-                                success: function (t) {
-                                    "" != t.responseText && null != t.responseText ? this.successFn(t, e) : this.failFn()
-                                },
-                                failure: this.failFn
-                            })
-                        },
-                        _checkSet: function () {
-                            if (!this.url)
-                                return !1
-                        },
-                        successFn: function (e) { },
-                        failFn: function () {
-                            alert("缂撳啿鍒嗘瀽鎿嶄綔澶辫触锛岃妫�娴嬫湇鍔℃槸鍚︽甯歌繍琛�")
-                        },
-                        CLASS_NAME: "GeoGlobe.Analysis.CoreBufferAnalysis"
-                    }),
-                    GeoGlobe.Analysis.GetFeature = GeoGlobe.Class4OL({
-                        url: null,
-                        type: "intersection",
-                        _reqStrTemplate: "{'GetFeature': {'service': 'OverlapService','version': '1.0.0','dataSource':'${sourceInputs}','Query': [{'typeName':'${dataInputs}'}],'maxFeatures': '','startPosition': '','outPutFormat': 'GeoJSON','resultType': ''}}",
-                        initialize: function (e, t) {
-                            this.url = e,
-                                GeoGlobe.Util.extend(this, t)
-                        },
-                        _buildReqStr: function () {
-                            return GeoGlobe.String.format(this._reqStrTemplate, {
-                                type: this.type,
-                                dataInputs: this.typeName,
-                                sourceInputs: this.DataSource
-                            })
-                        },
-                        startAnalysis: function (e) {
-                            if (this._checkSet())
-                                return !1;
-                            var t = this._buildReqStr();
-                            new GeoGlobe.Request.POST({
-                                url: this.url,
-                                data: t,
-                                scope: this,
-                                success: function (e) {
-                                    "" != e.responseText && null != e.responseText ? this.successFn(e) : this.failFn()
-                                },
-                                failure: this.failFn
-                            })
-                        },
-                        _checkSet: function () {
-                            if (!this.url)
-                                return !1
-                        },
-                        successFn: function (e) { },
-                        failFn: function () {
-                            alert("鏈嶅姟璇锋眰鎿嶄綔澶辫触锛岃妫�娴嬫湇鍔℃槸鍚︽甯歌繍琛屻��")
-                        },
-                        CLASS_NAME: "GeoGlobe.Analysis.GetFeature"
-                    }),
-                    GeoGlobe.Analysis.SpatialAnalysis = GeoGlobe.Class({
-                        url: null,
-                        type: "intersection",
-                        _requestStrTemplate: "{'SpatialAnalysis': {'service': 'OverlapService','version': '1.0.0','origionLayerNames': ['${origionLayerNames}'],'targetLayerNames': ['${targetLayerNames}'],'outPutFormat': 'GeoJSON','operator': '${dataInputs}','isSynchronization': 'true','tolerance': '${tolerance}'}}",
-                        initialize: function (e, t) {
-                            this.url = e,
-                                GeoGlobe.Util.extend(this, t)
-                        },
-                        _buildRequestStr: function () {
-                            return GeoGlobe.String.format(this._requestStrTemplate, {
-                                type: this.type,
-                                dataInputs: this.operator,
-                                origionLayerNames: this.origionLayerNames,
-                                targetLayerNames: this.targetLayerNames,
-                                tolerance: this.tolerance
-                            })
-                        },
-                        startAnalysis: function (e) {
-                            if (this._checkSet())
-                                return !1;
-                            var t = this._buildRequestStr();
-                            new GeoGlobe.Request.POST({
-                                url: this.url,
-                                data: t,
-                                scope: this,
-                                success: function (t) {
-                                    "" != t.responseText && null != t.responseText ? this.successFn(t, e) : this.failFn()
-                                },
-                                failure: this.failFn
-                            })
-                        },
-                        _checkSet: function () {
-                            if (!this.url)
-                                return !1
-                        },
-                        successFn: function (e) { },
-                        failFn: function () {
-                            alert("鍙犵疆鍒嗘瀽鎿嶄綔澶辫触锛岃妫�娴嬫湇鍔℃槸鍚︽甯歌繍琛屻��")
-                        },
-                        CLASS_NAME: "GeoGlobe.Analysis.SpatialAnalysis"
-                    })
-            }
-            ).call(this, __webpack_require__(96)(module), __webpack_require__(238))
-        }
-        , function (e, t) {
-            var i;
-            i = function () {
-                return this
-            }();
-            try {
-                i = i || new Function("return this")()
-            } catch (e) {
-                "object" == typeof window && (i = window)
-            }
-            e.exports = i
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(17)
-                , n = i(240)
-                , o = i(62);
-            i(65)("search", 1, (function (e, t, i, a) {
-                return [function (i) {
-                    var r = e(this)
-                        , n = null == i ? void 0 : i[t];
-                    return void 0 !== n ? n.call(i, r) : new RegExp(i)[t](String(r))
-                }
-                    , function (e) {
-                        var t = a(i, e, this);
-                        if (t.done)
-                            return t.value;
-                        var s = r(e)
-                            , x = String(this)
-                            , l = s.lastIndex;
-                        n(l, 0) || (s.lastIndex = 0);
-                        var c = o(s, x);
-                        return n(s.lastIndex, l) || (s.lastIndex = l),
-                            null === c ? -1 : c.index
-                    }
-                ]
-            }
-            ))
-        }
-        , function (e, t) {
-            e.exports = Object.is || function (e, t) {
-                return e === t ? 0 !== e || 1 / e == 1 / t : e != e && t != t
-            }
-        }
-        , function (e, t, i) {
-            "use strict";
-            var r = i(17)
-                , n = i(19)
-                , o = i(81)
-                , a = i(62);
-            i(65)("match", 1, (function (e, t, i, s) {
-                return [function (i) {
-                    var r = e(this)
-                        , n = null == i ? void 0 : i[t];
-                    return void 0 !== n ? n.call(i, r) : new RegExp(i)[t](String(r))
-                }
-                    , function (e) {
-                        var t = s(i, e, this);
-                        if (t.done)
-                            return t.value;
-                        var x = r(e)
-                            , l = String(this);
-                        if (!x.global)
-                            return a(x, l);
-                        var c = x.unicode;
-                        x.lastIndex = 0;
-                        for (var u, h = [], f = 0; null !== (u = a(x, l));) {
-                            var d = String(u[0]);
-                            h[f] = d,
-                                "" === d && (x.lastIndex = o(l, n(x.lastIndex), c)),
-                                f++
-                        }
-                        return 0 === f ? null : h
-                    }
-                ]
-            }
-            ))
-        }
-        , function (e, i, r) {
-            "use strict";
-            r.r(i);
-            r(146);
-            var n, o = r(144), a = r.n(o), s = (r(79),
-                r(15)), x = r.n(s), l = (r(195),
-                    r(204),
-                    r(205),
-                    r(206),
-                    r(207),
-                    r(88),
-                    r(9)), c = r.n(l), u = (r(129),
-                        r(132),
-                        r(208),
-                        r(145)), h = r.n(u), f = r(8), d = r.n(f), g = (r(211),
-                            r(212),
-                            r(85),
-                            r(213),
-                            r(1)), p = r.n(g), m = r(2), b = r.n(m), v = r(68), C = r.n(v), _ = (r(69),
-                                r(42),
-                                r(86),
-                                r(229),
-                                r(230),
-                                r(6)), A = r.n(_), I = (r(84),
-                                    r(141),
-                                    r(143),
-                                    r(0)), w = r.n(I), G = r(3), E = r.n(G), S = ["_latelyCollisionStamp", "collisionDetection", "boundBox", "minLevel", "{z}", "{x}", "CutString", "tile", "addCacheTile", "addLabelAndIco", "delaySynchronous", "send", "json", "LabelPoint", "Name", "initTDT", "pois", "createLabel", "_timer2", "coordinate", "font", "px ", "stringTable", "label", "sans-serif", "fontStyle", "bold ", "italic ", "fontColor", "shiningColor", "shiningSize", "backgroundPadding", "eyeOffset", "disableDepthTestDistance", "heightReference", "NONE", "symbolID", "billboard", "{id}", "displayHeight", "alignedAxis", "HeightReference", "priority", "xyz", "debug", "getElementsByClassName", "SceneTransforms", "getLabelReact", "class", "cssText", "position:absolute; top:", "px; left:", "px; width:", "px; height:", "collisionBox", "bindEvent", "moveEnd", "changed", "unbindEvent", "_roadTileset", "entity", "minX", "maxX", "maxY", "option optimize_for = LITE_RUNTIME;", "package GEOPOI;", "enum enumGeometryType {", "ePoint = 0;", "eMultiLineString = 1;", "ePolygon = 2;", "} ;", "message PBPOI{", "required uint64 OID = 1;", "required string Name =2;", "repeated double Coordinates =3 [packed=true];", "required enumGeometryType GeometryType = 4;", "optional int32 Interate = 5;", "optional int32 SymbolID = 10  [default = 0];", "optional double DisplayHeight = 11 [default = 32];", "optional uint32 ShiningColor=12 [default =0];", "optional uint32\tFontNameIndex=13 [default =0];", "optional int32\tFontSize=14 [default =18];", "optional uint32\tFontColor=15 [default =0];", "repeated string s = 1;", "message PBPOITile{", "required int64 Version = 1;", "required StringTable StringTable = 3;", "repeated PBPOI POIS = 4;", "ProtoBuf", "ProtoBuf.js is not present. Please see www/index.html for manual setup instructions.", "loadProto", "GeoPOI.proto", "GEOPOI", "PBPOITile", "enum enumZCoordType {eCloseGround = 0;eCloseSeaSurface = 1;eRelativelyGround = 2;eAbsolute = 3;};", "optional enumZCoordType ZCoordType = 16 [default = eAbsolute];", "message StringTable {", "required int64 TileKey = 2;", "GeoPOI2.proto", "optional int32 Priority = 5;", "repeated int32 Interates =6 [packed=true];", "optional int32 FontStyle=17;", "optional int32 ShiningSize=18;", "GeoPOI3.proto", "decode", "version", "Version", "titleKey", "TileKey", "StringTable", "POIS", "OID", "SymbolID", "DisplayHeight", "ShiningColor", "fontNameIndex", "FontNameIndex", "fontSize", "FontSize", "ZCoordType", "zCoordType", "geometryType", "Coordinates", "interates", "Interates", "FontStyle", "ShiningSize", "GeoWTFS", "hierarchy", "horizontalDistance", "verticalHeight", "spaceDistance", "MVTProvider", "_tileWidth", "tileWidth", "_tileHeight", "_mvtParser", "styleName", "_tileMatrixSetID", "_tileMatrixLabels", "protobuf", "maximumLevel", "_sourceMaxzoom", "sourceMaxzoom", "_symbolVisibility", "enablePickFeatures", "_pickedEvent", "_key", "https://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/{z}/{x}/{y}.vector.pbf?access_token={k}", "createForExtent", "getResolutions", "_pixelRatio", "Default", "Text", "_tileQueueForFeatures", "TileReplacementQueue", "_cacheSize", "getUrlTmpl", "_spriteUrl", "deferCache", "messageCache", "blankCanvas", "OffscreenCanvas", "_useWebWorker", "useWebWorker", "娴忚鍣ㄤ笉鏀寔OffscreenCanvas锛屾棤娉曚娇鐢╓ebWorker", "styleFunc", "getStyleUrl", "sources", "layers", "vector", "_styles", "sprite", "loadJson", ".json", "fetchJson", "stylefunction", ".png", "spriteData", "retry", "_initWorker", "_tileQueueForCanvas", "forEachLoadedTile", "imagery", "loadingImagery", "imageryLayer", "QuadtreeTileLoadState", "LOADING", "readyImagery", "addReference", "ImageryState", "setRequestHeader", "getTileCredits", "head", "yMvt", "zMvt", "replacementNext", "_lastBeforeStartOfFrame", "replacementPrevious", "tail", "\nvar sourceMaxZoom = ", ";\nvar resolutions = [", "];\nvar olmsUrl = '", "_olmsUrl", "';\nvar tileWidth = ", ";\nvar tileHeight = ", ';\nvar window={},document={implementation:{createDocument:function(){}},createElement:function(e){if("CANVAS"===e.toUpperCase())return new OffscreenCanvas(512,512)}};function getJSON(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.setRequestHeader("Accept","application/json"),s.onerror=function(){},s.onload=function(){if(200<=s.status&&s.status<300&&s.response){var e;try{e=JSON.parse(s.response)}catch(e){}t(e)}},s.send()}function getArrayBuffer(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onerror=function(){t(null)},s.onload=function(){var e=s.response;200<=s.status&&s.status<300&&s.response?t(e):t(null)},s.send()}function getImage(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="blob",s.onload=function(){var e=s.response;200<=s.status&&s.status<300&&s.response&&t(e)},s.send()}function clip(e,t){var s=JSON.parse(t),r=s[0],n=s[1],o=s[2];if(o>sourceMaxZoom){var a=[0,0,4096,4096],i=o-sourceMaxZoom,p=r-(r>>i<<i),l=n-(n>>i<<i),y=(a[2]-a[0])/(1<<i),u=[a[0]+p*y,a[1]+l*y,a[0]+(1+p)*y,a[1]+(1+l)*y];e.rect=u}return e}function renderCanvas(e,t){for(var s=window.GeoOLMS.Rbush(9,void 0),r=JSON.parse(t)[2],n=new OffscreenCanvas(512,512),o=n.getContext("2d"),a=e.rect?e.rect:[0,0,4096,4096],i=new window.GeoOLMS.ReplayGroup(0,a,8,window.devicePixelRatio,!0,s,100),p=0;p<e.length;p++)for(var l=e[p],y=styleFunc(l,r)||[],u=0;u<y.length;u++)window.GeoOLMS.renderFeature(i,l,y[u],16);i.finish();var c={},d=[tileWidth/(a[2]-a[0]),0,0,tileHeight/(a[3]-a[1]),-512*a[0]/(a[2]-a[0]),-512*a[1]/(a[3]-a[1])];return i.replay(o,d,0,{},!0,_replays,c),window.GeoOLMS.replayDeclutter(c,o,0,!0),i=null,n}importScripts(olmsUrl);var style,spriteUrl,spriteJson,spriteImage,styleFunc=function(){return[]},_mvtParser=new window.GeoOLMS.MVT,_replays=["Default","Image","Polygon","LineString","Text"];function loadTile(s){if("string"==typeof s.data)getArrayBuffer(s.data,function(e){if(e){var t=renderCanvas(clip(_mvtParser.readFeatures(e),s.key),s.key).transferToImageBitmap();postMessage({type:"loadTile",key:s.key,id:s.id,bitmap:t,features:e},[t,e])}else postMessage({type:"loadTile",key:s.key,id:s.id})});else if(s.data instanceof ArrayBuffer){var e=renderCanvas(clip(_mvtParser.readFeatures(s.data),s.key),s.key).transferToImageBitmap();postMessage({type:"loadTile",key:s.key,id:s.id,bitmap:e,features:s.data},[e,s.data])}}function setStyle(s){style=JSON.parse(s.style),(spriteUrl=s.spriteUrl)?getImage(spriteUrl+".png",function(e){createImageBitmap(e).then(function(e){var t=new OffscreenCanvas(e.width,e.height);t.getContext("2d").drawImage(e,0,0),spriteImage=t,getJSON(spriteUrl+".json",function(e){spriteJson=e,styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions,spriteJson,spriteImage),postMessage({type:"setStyle",id:s.id})})})}):(styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions),postMessage({type:"setStyle",id:s.id}))}function setPaintProperty(e){style=JSON.parse(e.style),styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions,spriteJson,spriteImage),postMessage({type:"setPaintProperty",id:e.id})}function setLayoutProperty(e){style=JSON.parse(e.style),styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions,spriteJson,spriteImage),postMessage({type:"setLayoutProperty",id:e.id})}self.onmessage=function(e){var t=e.data;"loadTile"===t.type?loadTile(t):"setStyle"===t.type?setStyle(t):"setPaintProperty"===t.type?setPaintProperty(t):"setLayoutProperty"===t.type&&setLayoutProperty(t)};\n\t\t', "text/javascript", "createObjectURL", "actors", "Worker ", "stringify", "setStyle", "revokeObjectURL", "bind", "target", "parent", "mapId", "callbackID", "receive", "callbacks", "loadTile", "spriteUrl", "DefferState", "_imageryProvider", "{y}", "{k}", "UNLOADED", "currentActor", "RELOADED", "bitmap", "bitmaprenderer", "transferFromImageBitmap", "DONE", "setPaintProperty", "bad request", "readFeatures", "renderCanvas", "loadArrayBuffer", "xMvt", "markTileRendered", "Rbush", "rect", "devicePixelRatio", "renderFeature", "finish", "replay", "_replays", "mysourceid", "style version 8 required.", "sources does not exist", "projection", "type_", "ends_", "MultiPolygon", "flatCoordinates_", "MultiLineString", "featureToGeoJSON", "id_", "properties_", "WMTS", "GetTile", "getParameterString", "combine", "GetStyle", "_styleName", "geoglobe-olms.js", "extensionsUsed", "KHR_technique_webgl", "extensionsRequired", "KHR_techniques_webgl", "extensions", "shaders", "techniques", "technique", "parameters", "_vtxf_cachedGltf", "execScript", "var ", "invalid index", "getParent", "input", "lazy", "compressionType", "outputBuffer", "outputIndex", "invalid code: ", "invalid distance", "bufferSize", "bufferType", "resize", "invalid inflate mode", "invalid uncompressed block header: length verify", "input buffer is broken", "set", "unknown BTYPE: ", "verify", "unsupported compression method", "invalid fcheck flag:", "fdict flag is not supported", "invalid adler-32 checksum", "LOG2E", "invalid compression method", "Zlib.Inflate", "Zlib.Inflate.prototype.decompress", "Zlib.Inflate.BufferType", "Zlib.Deflate", "Zlib.Deflate.compress", "Zlib.Deflate.prototype.compress", "length", "enumerable", "configurable", "value", "key", "prototype", "this hasn't been initialised - super() hasn't been called", "object", "function", "Super expression must either be null or a function, not ", "create", "setPrototypeOf", "__proto__", "amd", "defineProperty", "defineProperties", "Cartesian2", "Cartesian3", "Cartesian4", "Cartographic", "defined", "DeveloperError", "Ellipsoid", "HeadingPitchRoll", "IntersectionTests", "KeyboardEventModifier", "Matrix3", "Matrix4", "Plane", "Quaternion", "Ray", "Transforms", "CameraEventAggregator", "MapMode2D", "SceneMode", "Math", "scene is required.", "constrainedPitch", "PI_OVER_SIX", "enableInputs", "enableTranslate", "enableRotate", "enableTilt", "enableLook", "inertiaSpin", "inertiaTranslate", "maximumMovementRatio", "bounceAnimationTime", "minimumZoomDistance", "POSITIVE_INFINITY", "LEFT_DRAG", "zoomEventTypes", "WHEEL", "PINCH", "rotateEventTypes", "RIGHT_DRAG", "CTRL", "lookEventTypes", "SHIFT", "minimumPickingTerrainHeight", "_minimumPickingTerrainHeight", "minimumCollisionTerrainHeight", "_minimumCollisionTerrainHeight", "minimumTrackBallHeight", "_minimumTrackBallHeight", "enableCollisionDetection", "_scene", "_globe", "_ellipsoid", "GeoOption", "_aggregator", "GeoCameraEventAggregator", "canvas", "_lastInertiaTranslateMovement", "_lastInertiaTiltMovement", "_tween", "_horizontalRotationAxis", "_tiltCenterMousePosition", "_rotateMousePosition", "_rotateStartPosition", "_strafeStartPosition", "_zoomMouseStart", "_useZoomWorldPosition", "_tiltCVOffMap", "_looking", "_rotating", "_strafing", "_zoomingOnVector", "_rotatingZoom", "_maxCoord", "project", "PI_OVER_TWO", "_zoomFactor", "_rotateFactor", "_maximumRotateRate", "_minimumRotateRate", "_maximumZoomRate", "exp", "equalsEpsilon", "startPosition", "endPosition", "EPSILON14", "getButtonPressTime", "getButtonReleaseTime", "getTime", "active", "getLastMovement", "motion", "multiplyByScalar", "add", "clone", "ZERO", "isButtonDown", "isArray", "eventType", "modifier", "isMoving", "getMovement", "getStartMousePosition", "clamp", "abs", "maximumZoomDistance", "_minimumZoomRate", "autoResetHeadingPitch", "clientHeight", "min", "camera", "heading", "pitch", "roll", "zoomIn", "_adjustOrthographicFrustum", "equals", "SCENE2D", "getPickRay", "origin", "fromElements", "_zoomWorldPosition", "COLUMBUS_VIEW", "height", "position", "normalize", "distance", "getMagnitude", "SCENE3D", "positionCartographic", "dot", "direction", "clientWidth", "subtract", "magnitude", "asin", "sin", "cross", "cos", "right", "setView", "acosClamped", "rotate", "wgs84ToWindowCoordinates", "move", "UNIT_W", "pickEllipsoid", "globe", "pick", "positionWC", "directionWC", "cartographicToCartesian", "flyToBoundingSphere", "HeadingPitchRange", "angleAndHeight", "TWO_PI", "twistRight", "mapMode2D", "IDENTITY", "transform", "enableZoom", "inertiaZoom", "translateEventTypes", "_lastInertiaSpinMovement", "_lastInertiaZoomMovement", "tiltEventTypes", "_translateMousePosition", "_strafeMousePosition", "UNIT_X", "fromPointNormal", "rayPlane", "EPSILON6", "onMap", "mapProjection", "unproject", "eastNorthUpToFixedFrame", "UNIT_SPHERE", "_rotateRateRangeAdjustment", "_setTransform", "UNIT_Z", "maximumRadius", "_tiltCenter", "_projection", "constrainedAxis", "negate", "worldToCameraCoordinatesPoint", "sqrt", "angleBetween", "fromAxisAngle", "fromQuaternion", "multiplyByVector", "_tweens", "anyButtonDown", "contains", "update", "mode", "multiplyByPoint", "geodeticSurfaceNormal", "cartesianToCartographic", "fromCartesian3", "rotateRight", "enableGeoLocateRatate", "rotateUp", "worldToCameraCoordinates", "acos", "mostOrthogonalAxis", "_tiltOnEllipsoid", "EPSILON3", "rayEllipsoid", "getPoint", "start", "grazingAltitudeLocation", "stop", "rightWC", "magnitudeSquared", "look", "frustum", "EPSILON2", "EPSILON4", "lookUp", "_adjustedHeightForTerrain", "getHeight", "max", "ellipsoid", "terrainExaggeration", "reset", "adjustedHeightForTerrain", "isDestroyed", "destroy", "removeAll", "GEOSYMBOL", "assign", "_version", "getPrototypeOf", "call", "rotation", "scale", "Cesium", "GeoSymbol3D", "GEO_VERSION_NUMBER", "$ Cesium Version: 1.63.1 build-20200424180426 $", "Map", "defaultValue", "baseLayerPicker", "animation", "homeButton", "orderIndependentTranslucency", "sceneMode", "scene3DOnly", "maxLevel", "fullscreenButton", "imageryProvider", "SingleTileImageryProvider", "Assets/Images/Earth.jpg", "Viewer", "scene", "WGS84", "log2", "longitude", "toDegrees", "latitude", "geocentricSurfaceNormal", "PI_OVER_THREE", "getCameraOptionsFromMapbox", "zoom", "toRadians", "center", "bearing", "moveBackward", "destination", "orientation", "UNDERGROUND_MODE", "Cesium.js", "(^|(.*?\\/))(", ")(\\?|$)", "getElementsByTagName", "script", "src", "match", "ClockViewModel", "EMPTY_OBJECT", "layoutId", "layout container is required.", "getElement", "viewers", "_viewers", "_clockViewModel", "children", "addEventListener", "container", "options", "log", "getViewerById", "GeoMultiScreenWidget", "left-right", "SplitDirection", "LEFT", "RIGHT", "top-bottom", "viewer", "_viewer", "_isEnable", "_setSplitDirection", "_slider", "_initSlider", "_splitMode", "_createStyle", "_setSplitMode", "_upateSceneImagerySplitPositionBySlider", "_enableLayers", "enableLayers", "_updateEnableLayers", "toLowerCase", "left", "splitDirection", "_splitDirection", "className", "geo-split-slider", " top-bottom", "imagerySplitMode", "style", "top", "50%", " left-right", "_upDateImagerySplitPositionBySlider", "splitMode", "offsetLeft", "parentElement", "offsetWidth", "imagerySplitPosition", "offsetTop", "offsetHeight", "createElement", "div", "_element", "ScreenSpaceEventHandler", "setInputAction", "ScreenSpaceEventType", "PINCH_START", "MOUSE_MOVE", "GeoSplitSliderWidgetStyle", "type", "\n\n            /* 宸﹀彸鍒嗗睆 */\n            .geo-split-slider.left-right{\n                width: 5px;\n                height: 100%;\n                left: 50%;\n                top: 0px;                \n            }\n            \n            .geo-split-slider {\n                position: absolute;\n                background-color: #D3D3D3;/* transparent; */\n                z-index: 9999;\n            }\n            \n            .geo-split-slider.left-right:hover {\n                cursor: ew-resize;\n            }\n            \n            .geo-split-slider.top-bottom:hover{\n                cursor:ns-resize;\n            }\n            /* 涓婁笅鍒嗗睆 */\n            .geo-split-slider.top-bottom{\n                width: 100%;\n                height: 5px;\n                left: 0px;\n                top: 50%;\n            }\n                                \n                    ", "appendChild", "createTextNode", "color", "Color", "RED", "withAlpha", "appearance", "PerInstanceColorAppearance", "handler", "cursor", "crosshair", "_array_", "_labels_", "pickPosition", "fromCartesian", "name", "draw_circle", "GroundPrimitive", "GeometryInstance", "ClassificationType", "BOTH", "push", "primitives", "LEFT_CLICK", "remove", "geometry", "radius", "primitive", "CircleGeometry", "ColorGeometryInstanceAttribute", "宸﹂敭鍗曞嚮寮�濮嬬粯鍒讹紝鍙抽敭鍗曞嚮缁撴潫缁樺埗", "15px Microsoft YaHei", "get", "drawEnd", "RIGHT_CLICK", "_circles_", "lastP", "default", "createGeometry", "Entity", "attributes", "values", "callback", "clear", "draw_label", "entities", "DrawHeightWidget", "CHARTREUSE", "lineWidth", "activate", "PolylineCollection", "width", "loop", "material", "uniforms", "fromDegreesArrayHeights", "positions", "16px sans-serif", "fromDegrees", "DrawPointWidget", "pixelSize", "PointPrimitiveCollection", "LabelCollection", "宸﹂敭鍗曞嚮杩涜缁樺埗", "draw_point", "DrawPolygonWidget", "count", "_polylines_", "draw_polyline", "_array2_", "鐐瑰嚮鎸夐挳缁撴潫缁樺埗", "DODGERBLUE", "PolygonGeometry", "EllipsoidSurfaceAppearance", "VERTEX_FORMAT", "fromColor", "draw_polygon", "lineColor", "screenToCartesian", "lineClampGround", "VertexFormat", "POSITION_ONLY", "createPrimitive", "degreesArrayHeights", "_labels", "temporaryGroundPrimitive", "fixedGroundPrimitive", "concatGroundPrimitive", "draw_polylineConcat", "concatPrimitive", "temporaryPrimitive", "fixedPrimitive", "lineLoop", "createGroundPrimitive", "draw_polylineTemple", "concat", "finalGroundPrimitive", "finalPrimitive", "1.0.0", "2018.6.19", "xupinhui", "doublearrow", "algorithm", "connPoint", "tempPoint4", "points", "getTempPoint4", "PlotUtils", "isClockWise", "getArrowPoints", "slice", "getBezierPoints", "array2Dto1D", "controlPoint", "polygonalPoint", "fromDegreesArray", "headHeightFactor", "headWidthFactor", "neckHeightFactor", "neckWidthFactor", "getThirdPoint", "HALF_PI", "Constants", "getBaseLength", "reverse", "forEach", "mid", "getArrowHeadPoints", "getArrowBodyPoints", "wholeDistance", "getAngleOfThreePoints", "tailedAttackArrow", "tailWidthFactor", "swallowTailFactor", "swallowTailPnt", "getAttackArrowHeadPoints", "getAttackArrowBodyPoints", "getQBSplinePoints", "headTailFactor", "filter", "iterator", "symbol", "DrawHelper", "_tooltip", "_surfaces", "enhancePrimitives", "_handlersMuted", "mouseOut", "mouseMove", "leftUp", "LEFT_UP", "leftDown", "LEFT_DOWN", "setListener", "muteHandlers", "registerEditableShape", "setHighlighted", "_editMode", "showAt", "鐐瑰嚮浠ョ紪杈戝浘褰�", "setVisible", "leftClick", "leftDoubleClick", "disableAllEditMode", "editCleanUp", "stopDrawing", "disableAllHighlights", "_highlightedSurface", "setEdited", "_editedSurface", "setEditMode", "Material", "fromType", "ColorType", "PolylineMaterialAppearance", "_granularity", "_height", "_textureRotationAngle", "_createPrimitive", "_outlinePolygon", "setAttribute", "getAttribute", "this.ellipsoid must be defined.", "this.material must be defined.", "granularity", "this.granularity and scene2D/scene3D overrides must be greater than zero.", "show", "_primitive", "textureRotationAngle", "_id", "getGeometry", "Primitive", "asynchronous", "strokeColor", "getOutlineGeometry", "debugShowBoundingVolume", "destroyObject", "setStrokeStyle", "strokeWidth", "extent", "initialiseOptions", "setExtent", "fromPositions", "PolygonOutlineGeometry", "PolygonPrimitive", "isPolygon", "setCustom", "custom", "getCustom", "getPositions", "TailedAttackPrimitive", "setPositions", "PolylinePrimitive", "setWidth", "setGeodesic", "geodesic", "getGeodesic", "PolylineGeometry", "/geomap-api/JsCesuimDemo/resource/images/img_plot/dragIcon.png", "BillboardGroup", "addBillboards", "BillboardCollection", "_orderedBillboards", "createBillboard", "_billboards", "_options", "shiftX", "shiftY", "HorizontalOrigin", "CENTER", "VerticalOrigin", "iconUrl", "screenSpaceCameraController", "dragHandlers", "onDrag", "onDragEnd", "onDragStart", "onDoubleClick", "onClick", "_drawHelper", "tooltip", "insertBillboard", "splice", "addBillboard", "removeLastBillboard", "pop", "updateBillboardsPositions", "getBillboard", "countBillboards", "setOnTop", "startDrawingPolygon", "startDrawingPolyshape", "startDrawingPolyline", "startDrawing", "<p>Click to add first point</p>", "random", ")</p>", "<p>Double click to finish drawing</p>", "LEFT_DOUBLE_CLICK", "cartographicArrayToCartesianArray", "Rectangle", "northwest", "southwest", "startDrawingTailedAttack", "firstTime", "test", "<p>鐐瑰嚮浠ュ鍔犵涓�涓帶鍒剁偣</p>", "鍗曞嚮浠ュ鍔犱竴涓柊鐨勬帶鍒剁偣", "poly", "<p>鍙屽嚮鍙粨鏉熺粯鍒�</p>", "startDrawingExtent", "ExtentPrimitive", "<p>鎷栧姩鏀瑰彉绠ご</p><p>鍐嶆鐐瑰嚮缁撴潫缁樺埗</p>", "setEditable", "_editable", "executeListeners", "dragEnd", "_highlighted", "_strokeColor", "fromCssColorString", "white", "_markers", "onEdited", "EllipsoidGeodesic", "interpolateUsingFraction", "billBoard", "removeBillboard", "index", "Drag to create a new point", "_editMarkers", "_globeClickhandler", "Extent", "cartesianArrayToCartographicArray", "doubleArrow", "鎷栧姩浠ラ挸鍑诲舰鐘�", "PolygonPrimitive鍗曞嚮", "鎷栧姩浠ユ敼鍙樺舰鐘�", "TailedAttackPrimitive鍗曞嚮", "DrawHelperWidget", "Container is required", "./img/glyphicons_242_google_maps.png", "./img/glyphicons_097_vector_path_line.png", "./img/qianjijiantou.png", "./img/glyphicons_095_vector_path_circle.png", "./img/zhijiaojiantou.png", "DIV", "button", "title", "onclick", "SPAN", "IMG", "extentIcon", "鐐瑰嚮浠ョ粯鍒剁洿绠ご", "extentCreated", "鐐瑰嚮浠ョ粯鍒堕挸鍑荤澶�", "polygonCreated", "鐐瑰嚮浠ョ粯鍒舵敾鍑荤澶�", "tailedAttackCreated", "clearIcon", "addToolbar", "ClearWidget", "DrawWidget", "west", "east", "south", "north", "EPSILON7", "pow", "toFixed", "twipsy-arrow", "twipsy-inner", "_div", "block", "none", "_title", "undefined", "constructor", "_listeners", "addListener", "getCircleCenterOfThreePoints", "getIntersectPoint", "getAzimuth", "getPointOnLine", "getCubicValue", "getArcPoints", "FITTING_COUNT", "getBisectorNormals", "ZERO_TOLERANCE", "getCurvePoints", "getLeftMostControlPoint", "getRightMostControlPoint", "getNormal", "getBinomialFactor", "getFactorial", "getQuadricBSplineFactor", "MeasureAreaWidget", "tags", "tag", "userAgent", "MeasureAreaWidget_draw_point", "WHITE", "MeasureAreaWidget_draw_label", "measureEnd", "selectFeatures", "indexOf", "polygon", "YELLOW", "delete", "MeasureAreaWidget_draw_polygon", "MeasureAreaWidget_", "area", "km虏", "MeasureAzimuthWidget", "hideInfobox", "MeasureAzimuthWidget_result_label", "FILL_AND_OUTLINE", "18px KaiTi", "CADETBLUE", "Cesium3DTileset", "warn", "鍗曞嚮缁撴潫缁樺埗", "MeasureAzimuthWidget_draw_polyline", "MeasureAzimuthWidget_", "PolylineArrowMaterialProperty", "AQUA", "_polylineGraphicsAzimuth", "PolylineDashMaterialProperty", "_polylineGraphicsNorth", "polyline", "point", "coordinates", "12px sans-serif", "瑙掑害锛�", "showInfobox", "display", "selectionIndicator", "infoBox", "MeasureCoordinateWidget", "璇风偣鍑绘ā鍨�", "MeasureCoordinateWidget_", "MeasureCoordinateWidget_draw_coordinate", "MeasureCoordinateWidget_result_label", "缁忓害锛�", "绾害锛�", "楂樼▼锛�", "collection", "MeasureDistanceWidget", "MeasureDistanceWidget_draw_point", "flag", "!cartesian", "MeasureDistanceWidget_draw_label", "MeasureDistanceWidget_draw_polyline", "鎬婚暱锛�", "_polylineCollection", "_polyline", "_primitives", "MeasureDistanceWidget_result_label", "lerp", "MeasureElevationWidget_", "楂樼▼鍊硷細", "MeasureElevationWidget", "MeasureElevationWidget_result_label", "MeasureHeightWidget", "MeasureHeightWidget_draw_point", "MeasureHeightWidget_draw_polyline", "GREEN", "姘村钩璺濈锛�", "鍨傜洿楂樺害锛�", "绌洪棿璺濈锛�", "result_labelHeight", "MeasureHeightWidget_result_labelHeight", "MeasureSlopeWidget", "_camera", "_canvas", "_lineColor", "_lineWidth", "text", "MeasureSlopeWidget_draw_polyline", "MeasureSlopeWidget_", "PolylineArrow", "MeasureSlopeWidget_draw_label", "鍗曞嚮寮�濮嬬粯鍒�", "atan", "MeasureSlopeWidget_result_label_", "LabelStyle", "16px KaiTi", "MeasureVolumeWidget", "_designElevation", "_samplingPointsNumber", "samplingPointsNumber", "_depthTestAgainstTerrain", "depthTestAgainstTerrain", "_classificationPrimitives", "_pickedClassificationPrimitives", "_tin", "_minHeight", "_maxHeight", "MeasureVolumeWidget_", "MeasureVolumeWidget_draw_label", "_volumeResult", "then", "addClassificationPrimitive", "addVerticalPolylines", "addBasePolygon", "_classificationPrimitive", "BLUE", "_interpolationPoints", "features", "_verticalPolylines", "MeasureVolumeWidget_draw_vertical_polylines", "properties", "lineString", "bboxPolygon", "randomPoint", "booleanPointInPolygon", "ceil", "FeatureCollection", "Feature", "Point", "apply", "getVolume", "intersection", "vertexSerial", "excavationVolume", "excavationArea", "fillVolume", "fillArea", "baseArea", "volume", "搴曢潰绉細", "km鲁", "_resultLabels", "MeasureVolumeWidget_result_label_volume", "getGeometryInstanceAttributes", "_polylines", "toValue", "updateBaseElevation", "updateClassificationPrimitive", "浣撶Н锛�", "updateVerticalPolylinesAndBasePolygon", "ClassificationPrimitive", "MeasureVolumeWidget_draw_base_polygon", "miles", "convex", "steps", "edgeWidth", "edgeColor", "cylinderRadius", "clippingModeUnion", "enabled", "clippingPlanes", "modelEntityClippingPlanes", "computePlanes", "ClippingPlane", "createClippingPlanes", "ClippingPlaneCollection", "GeoFlood", "cartesianArrayHeights", "fragmentShader", "normalMapUrl", "createWaterFace", "creatPrimitive", "Water", "PolygonHierarchy", "VERSION", "parseFloat", "varying vec3 v_positionMC;\n\t\t\t\t\tvarying vec3 v_positionEC;\n\t\t\t\t\tvarying vec2 v_st;\n\t\t\t\t\t\n\t\t\t\t\tvoid main()\n\t\t\t\t\t{\n\t\t\t\t\t\tczm_materialInput materialInput;\n\t\t\t\t\t\tvec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n\t\t\t\t\t#ifdef FACE_FORWARD\n\t\t\t\t\t\tnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\t\t\t\t\t#endif\n\t\t\t\t\t\tmaterialInput.s = v_st.s;\n\t\t\t\t\t\tmaterialInput.st = v_st;\n\t\t\t\t\t\tmaterialInput.str = vec3(v_st, 0.0);\n\t\t\t\t\t\tmaterialInput.normalEC = normalEC;\n\t\t\t\t\t\tmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\n\t\t\t\t\t\tvec3 positionToEyeEC = -v_positionEC;\n\t\t\t\t\t\tmaterialInput.positionToEyeEC = positionToEyeEC;\n\t\t\t\t\t\tczm_material material = czm_getMaterial(materialInput);\n\t\t\t\t\t#ifdef FLAT\n\t\t\t\t\t\tgl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n\t\t\t\t\t#else\n\t\t\t\t\t\tgl_FragColor = czm_phong(normalize(positionToEyeEC), material", ", czm_lightDirectionEC", "GeoLimitHeight", "labelEntity", "polygonPlaneEntity", "targetHeight", "labelOption", "polygonPlaneOption", "polygonFitOption", "drawLabel", "drawPolygonPlane", "drawPolygonFit", "clearLabelEntity", "labelPosition", "labelText", "labelPixelOffset", "labelFillColor", "labelFont", "18px 妤蜂綋", "labelOutlineWidth", "labelStyle", "polygonPlanePerPositionHeight", "polygonPlaneHeight", "polygonPlaneMaterial", "polygonPlaneOutline", "polygonPlaneShow", "clearPolygonFitPrimitive", "polygonFitPositions", "error", "璇疯緭鍏ユ湁鏁堢殑鍧愭爣鏁扮粍锛�", "polygonFitHeight", "polygonFitExtrudedHeight", "polygonFitColor", "polygonFitPrimitive", "clearAll", "clearPolygonPlaneEntity", "GeoPLSViewShed3D_LIGHTPOINT", "GeoPLSViewShed3D_BOUNDARY", "GeoPLSViewShed3D_DASHLINE", "GeoPLSViewShed3D_ORIENTLINE", "GeoPLSViewShed3D", "groundPrimitives", "_pointLightHeight", "_pointLightPixelSize", "pointLightPixelSize", "_pointLightColor", "pointLightColor", "_boundaryWidth", "boundaryWidth", "_boundaryColor", "boundaryColor", "_orientLineWidth", "orientLineWidth", "_orientLineColor", "orientLineColor", "baseDEMLerpCfg", "_intervalAnalysis", "intervalAnalysis", "_pointLightCamera", "褰撳墠Cesium鐗堟湰锛�", ",鐐瑰厜婧愬彲瑙嗗煙鍒嗘瀽鏆備笉鏀寔璇ョ増鏈紝璇锋洿鎹㈣嚦1.50浠ヤ笂鐨勭増鏈�!", "firstLeftClick", "shadowMap", "enableGeoPLSViewShed3D", "_baseDEMLerpCfg", "enable", "angleInterval", "timeInterval", "num", "boundaryPositionArr", "startPointLng", "startPointLat", "startPointHgt", "interpolationBase", "visibleColor", "invisibleColor", "鍗曞嚮宸﹂敭纭畾鍙鍩熶綅缃�", "tipPosition", "鍗曞嚮宸﹂敭鍥哄畾鍙鍩熷崐寰�", "fromAlpha", "瑙嗛珮锛�", "鍗婂緞锛�", "BOTTOM", "dynamicAnalysis", "pointLightPosition", "realTimeRadius", "Camera", "context", "size", "_pointLightRadius", "depthBias", "fromRadians", "toCartesian", "sort", "terrainShadows", "ShadowMode", "ENABLED", "GroundPolylineGeometry", "GroundPolylinePrimitive", "showBackground", "backgroundColor", "horizontalOrigin", "verticalOrigin", "pixelOffset", "fillColor", "outlineWidth", "outlineColor", "GeoProfile", "getLerpValue", "lng_origin", "lat_origin", "hgt_origin", "lng_destination", "lat_destination", "hgt_destination", "floor", "samplingNum", "minHeight", "maxHeight", "surfaceLen", "YValueArray", "addLenArray", "lerpCoordnatesArray", "drawChart", "getElementById", "onmousedown", "clientX", "onmousemove", "clientY", "onmouseup", "init", "鍓栭潰绀烘剰鍥�", "#ccc", "bold", "axis", "<br />", "12%", "#aaa", "solid", "category", "闀垮害(绫�)", "rgba(0.0, 128, 255, 0.6)", "bolder", "dashed", "楂樼▼(绫�)", "rgba(0.0,255.0,255.0,0.8)", "setOption", "table", "tbody", "innerHTML", "璧风偣缁忓害锛�", "鎶曞奖璺濈锛�", "璧风偣绾害锛�", "缁堢偣楂樼▼锛�", "鍦拌〃璺濈锛�", "缁堢偣缁忓害锛�", "鏈�楂橀珮绋嬶細", "straightLen", "鏈�浣庨珮绋嬶細", "oTable", "originCoordanate", "originImage", "destinationCoordanate", "clearChart", "myChart", "chartContainer", "removeChild", "GEOSIGHTLINE_TIP", "REDLINE", "GREENLINE", "GeoSightline", "observeRelativeHeight", "targetRelativeHeight", "observeImage", "targetImage", "objectsToExclude", "observeActualPosition", "targetActualPosition", "observeEntity", "targetEntity", ",閫氳鍒嗘瀽鏆備笉鏀寔璇ョ増鏈紝璇锋洿鎹㈣嚦1.50浠ヤ笂鐨勭増鏈�!", "destroyHandler", "enableGeoSightline", "pickFromRays", "鍗曞嚮宸﹂敭纭畾瑙傚療鐐�", "drillPickFromRay", "clampToHeight", "_entities", "_array", "GeoSkyLineVolume", "skyLineShow", "skylineShow", "skyLineWidth", "skyLineMaterial", "skyLineVolumeMaterial", "ORANGE", "skyLineVolumeOutLine", "skyLineVolumeOutLineColor", "BLACK", "extrudeRatio", "skyLine", "skyLineVolume", "calculateSkyLinePositions", "data", "skyLinePositions", "drawSkyLine", "skyLineDepthFailMaterial", "drawSkyLineVolume", "cameraPosition", "cameraHeight", "澶╅檯绾跨ず鎰忓浘", "瀹藉害(PX)", "line", "getPointDistance", "interNumber", "holeDepth", "arrPoints", "earth", "sideMaterial", "bottomMaterial", "GeoExcavationRegion", "samplingPoints", "_sideMaterial", "_interNumber", "_depth", "depth", "StripeMaterialProperty", "_entitys", "_samplingPoints", "_callback", "_bottomMaterial", "_vPolyline", "_vertexNum", "_excavationRegion", "_arrayVertex", "_outPoints", "GeoTerrainSlope", "shadingUniforms", "updateMaterial", "contour", "spacing", "selectedShading", "slope", "aspect", "elevation", "materials", "elevationRampMaterial", "minimumHeight", "maximumHeight", "contourMaterial", "slopeRampMaterial", "contourUniforms", "ElevationContour", "ElevationRamp", "SlopeRamp", "AspectRamp", "image", "getContext", "createLinearGradient", "#000000", "addColorStop", "#2747E0", "#ffffff", "#0a8d33", "#afdd76", "#f2b602", "#eea706", "#df7702", "#a52100", "#682b06", "#6a2402", "fillStyle", "ElevationColorContour", "max(contourMaterial.alpha, elevationRampMaterial.alpha)", "SlopeColorContour", "max(contourMaterial.alpha, slopeRampMaterial.alpha)", "AspectColorContour", "max(contourMaterial.alpha, aspectRampMaterial.alpha)", "_ready", "dirty", "polys", "isCartesian3Point", "platSlot", "content", "bindTileset", "_tileset", "There is a tileset already, Only One Bind", "platBodyDebug", "tileLoad", "showPlat", "isPlatShow", "isPlatDirty", "clearPlatDirty", "addPlatArea", "platPickPoints", "_show", "getPlatArea", "removePlatArea", "number", "_pickObject", "_tile", "_runtime", "rootNodes", "_boundingVolume", "halfAxes", "matOrg", "createHalfMatrix", "matOrgI", "invertMatrix", "matPrj", "matPrjI", "modelMatrix", "computedMatrix", "initBoxMatrixes", "modelMatrixI", "buffers", "initRegionMatrixes", "initializePlatPoly", "buffer", "byteOffset", "BYTES_PER_ELEMENT", "isPlatPoint", "replaceCommandVertexBuffer", "platPolys", "toPlatBoxModel", "toPlatModel", "_header", "boundingVolume", "region", "toPlatRegionModel", "platModel", "hitPlatTest", "isUsed", "toUnplatModel", "platPickRegion", "initPlatBodyDebug", "createTileRegion", "tileRegion", "initializeCartographicPlatPoly", "initializeCartesianPlatPoly", "divideByScalar", "initCompressPlane", "_orientedBoundingBox", "isPlatPointResult", "mapPosition", "compressPlane", "isPlatPointNoResult", "normal", "isInsidedPoint", "minY", "isEqualFloat", "_nodeCommands", "BufferUsage", "STATIC_DRAW", "command", "_vertexArray", "_attributes", "vertexBuffer", "vertexArrayDestroyable", "_vao", "glDeleteVertexArray", "_cachedGltf", "_gltf", "bufferViews", "getBuffer", "inverse", "setColumn", "createNormal", "createMatrix", "GEOVIEWRADAR_TIP", "GEOVIEWRADAR_LIGHTPOINT", "GeoViewRadar", "pointLightHeight", "boundingSphereStackPartitions", "boundingSphereSlicePartitions", "boundingSphereSubdivisions", ",闆疯揪鍒嗘瀽鏆備笉鏀寔璇ョ増鏈紝璇锋洿鎹㈣嚦1.50浠ヤ笂鐨勭増鏈�!", "enableGeoViewRadar", "鍗曞嚮宸﹂敭纭畾闆疯揪浣嶇疆", "鍗曞嚮宸﹂敭鍥哄畾闆疯揪鍗婂緞", "ShadowMap", "debugShow", "_boundingSphere", "slicePartitions", "subdivisions", "GEOVIEWSHED3D_TIP", "GEOVIEWSHED3D_SPOTID", "GeoViewShed3D", "spotLightHeight", "_shadowMapNum", "_spotLightCameraList", "expandShadowMapList", "spotLightPosition", "realTimeHeading", "realTimePitching", "realTimeDistance", "realTimeFieldAngle", "鍗曞嚮宸﹂敭纭畾瑙傚療浣嶇疆", "鍗曞嚮宸﹂敭鍥哄畾瑙嗗煙鑼冨洿", "analysis", "observePtCoordinate", "frustumLength", "frustumField", "_terrainBias", "enableGeoViewShed3D", "lookAt", "fromHsl", "GeoVolumeCalculate_LINE", "GeoVolumeCalculate_TIP", "GeoVolumeCalculate_GON", "GeoVolumeCalculate_DEGON", "GeoVolumeCalculate_CORAL", "designElevation", "getValue", "shift", "polylineEntity", "volumeAnalysis", "VOLUME", "designPolygonEntity", "CORAL", "polygonEntity", "designPolygonEntity_coral", "宸﹂敭鐐瑰嚮缁樺埗锛屽彸閿偣鍑荤粨鏉�", "15px sans-serif", "SingleBuildingWidget", "PrimitiveCollection", "CORNFLOWERBLUE", "highlightColor_click", "highlightColor_move", "_INTERSECTED_FLOOR", "_INTERSECTED_FLOOR2", "classificationPrimitiveCollection", "extrudeToBuilding", "_INTERSECTED_FLOOR3", "baseHeight", "sampleHeightSupported", "sampleHeight", "鍦板舰杩樻湭鍑嗗濂斤紒", "寤虹瓚鐗╁熀纭�楂樺害baseHeight鏄繀闇�鐨勶紒", "levels", "GEO_SINGLEBUILDING", "callback_click", "_primitiveOptions", "geometryInstances", "toString", "callback_move", "highlightFloor", "deActivate", "removeInputAction", "FlyAround", "_pitch", "_roll", "speed", "_distance", "_positionCartographic", "isFlying", "deltaHeight", "keyEvent", "preRender", "_play", "_heading", "deltaDistance", "play", "鍙傛暟涓嶅彲缂虹渷锛�", "_preRender", "pause", "continue", "removeEventListener", "keydown", "shiftKey", "deltaRadians", "FreeFlight", "direct", "lat", "planePrimitive", "hpRoll", "fromBehind", "fixedFrameTransform", "pathPosition", "SampledPositionProperty", "speedVector", "hpRange", "readyPromise", "activeAnimations", "ModelAnimationLoop", "REPEAT", "boundingSphere", "range", "PolylineGlowMaterialProperty", "PALEGOLDENROD", "addSample", "JulianDate", "now", "headingPitchRollToFixedFrame", "lon", "postRender", "keydownOption", "keyCode", "RouteFly", "cartographicArray", "pointArray", "_stop", "cartesian3", "initialHeading", "differentBearing", "reduceBearing", "HorizontalRadian", "initializationFly", "clock", "startTime", "stopTime", "clockRange", "CLAMPED", "computeCirclularFlight", "addSeconds", "TRANSPARENT", "TimeInterval", "currentTime", "multiplier", "VerticalRadians", "WalkBrowse", "orientationAngle", "point1", "point2", "point3", "bearing1", "bearing2", "moveForward", "lookRight", "GeoCirclePipe", "topRadius", "bottomRadius", "_numSubGeometrys", "numSubGeometrys", "_imageColor", "imageColor", "_rotationXPerFrame", "rotationXPerFrame", "_rotationYPerFrame", "rotationYPerFrame", "rotationZPerFrame", "_instanceName", "endRadian", "_useImage", "_image", "_color", "multiplyByTranslation", "CirclePipeGeometry", "_startRadian", "_endRadian", "MaterialAppearance", "_waitForBuildingMaterial", "onTick", "onFrame", "_circlePipePrimitive", "fromRotationX", "fromRotationY", "fromRotationZ", "_rotationZPerFrame", "multiplyByMatrix3", "Image", "slices", "onMouseEnter", "onMouseLeave", "_onMouseLeftClick", "onMouseLeftClick", "_previousEnter", "_moveHandler", "_clickHandler", "images", "instanceNames", "_circlePipeCollection", "_onMouseEnter", "_onMouseLeave", "instanceName", "_center", "_drawCommandAlpha", "_drawCommandOpaque", "_needUpdate", "_va", "_speed", "_actived", "actived", "_lastTime", "_maxRadius", "_hSpeed", "_life", "_metallicFactor", "metallicFactor", "_roughnessFactor", "roughnessFactor", "_emissiveFactor", "emissiveFactor", "_initTransform", "_modelTransform", "_updateTime", "_updateCommands", "commandList", "vertexArray", "shaderProgram", "owner", "_updateVA", "_time", "getTimestamp", "_updateAlphaCommand", "_updateOpaqueCommand", "DrawCommand", "pass", "renderState", "RenderState", "fromCache", "WebGLConstants", "LEQUAL", "BlendingState", "ALPHA_BLEND", "ShaderProgram", "HDR", "uniformMap", "multiplyTransformation", "viewMatrix", "getRotation", "getMatrix3", "transpose", "Pass", "OPAQUE", "_computeStepCount", "createTypedArray", "ComponentDatatype", "FLOAT", "Buffer", "createVertexBuffer", "createIndexBuffer", "UNSIGNED_SHORT", "VertexArray", "_updateBoundingVolume", "round", "BoundingSphere", "attribute vec3 aPoint;\n", "attribute vec3 aNormal;\n", "attribute float aT;\n", "uniform mat3 u_normalMatrix;\n", "varying vec3 v_normalEC;\n", "varying vec3 v_positionEC;\n", "varying float v_t;\n", "void main(){\n", "   v_positionEC = (czm_modelViewRelativeToEye * vec4(aPoint, 1.0)).xyz;\n", "   v_normalEC = u_normalMatrix * aNormal;\n", "uniform vec4 u_color;\n", "uniform float u_metallicFactor;\n", "uniform float u_roughnessFactor;\n", "uniform vec3 u_emissiveFactor;\n", "float M_PI = 3.141592653589793;\n", "vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) \n", "    return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0);\n", "float smithVisibilityG1(float NdotV, float roughness) \n", "    return NdotV / (NdotV * (1.0 - k) + k);\n", "float smithVisibilityGGX(float roughness, float NdotL, float NdotV) \n", "    return smithVisibilityG1(NdotL, roughness) * smithVisibilityG1(NdotV, roughness);\n", "float GGX(float roughness, float NdotH) \n", "    float roughnessSquared = roughness * roughness;\n", "    float f = (NdotH * roughnessSquared - NdotH) * NdotH + 1.0;\n", "    return roughnessSquared / (M_PI * f * f);\n", "vec3 lambertianDiffuse(vec3 diffuseColor) \n", "    return diffuseColor / M_PI;\n", "vec3 LINEARtoSRGB(vec3 linearIn) \n", "#ifndef HDR \n", "    return pow(linearIn, vec3(1.0/2.2));\n", "#else \n", "#endif \n", "   if (!gl_FrontFacing){\n", "       n = -n;\n", "   }\n", "   vec4 baseColorWithAlpha = u_color;\n", "   if (v_t > 0.5){", "       baseColorWithAlpha.a = (2.0 - v_t * 2.0);\n", "   else{\n", "       baseColorWithAlpha.a = 1.0;\n", "   vec3 baseColor = baseColorWithAlpha.rgb;\n", "   float metalness = clamp(u_metallicFactor, 0.0, 1.0);\n", "   float roughness = clamp(u_roughnessFactor, 0.04, 1.0);\n", "   vec3 lightColor = vec3(1.5, 1.4, 1.2);\n", "   vec3 h = normalize(v + l);\n", "   float NdotL = clamp(dot(n, l), 0.001, 1.0);\n", "   float NdotH = clamp(dot(n, h), 0.0, 1.0);\n", "   float VdotH = clamp(dot(v, h), 0.0, 1.0);\n", "   vec3 f0 = vec3(0.04);\n", "   vec3 diffuseColor = baseColor * (1.0 - metalness) * (1.0 - f0);\n", "   float alpha = roughness * roughness;\n", "   float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n", "   vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));\n", "   vec3 r0 = specularColor.rgb;\n", "   float G = smithVisibilityGGX(alpha, NdotL, NdotV);\n", "   float D = GGX(alpha, NdotH);\n", "   vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor);\n", "   vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV);\n", "   vec3 color = NdotL * lightColor * (diffuseContribution + specularContribution);\n", "   color += u_emissiveFactor;\n", "   color = LINEARtoSRGB(color);\n", "   gl_FragColor = vec4(color, baseColorWithAlpha.a);\n", "    float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;\n", "    return linearIn;\n", "   if (v_t > 0.5){discard;}\n", "   vec3 n = normalize(v_normalEC);\n", "   baseColorWithAlpha.a = 1.0;\n", "   vec3 v = -normalize(v_positionEC);\n", "   vec3 l = normalize(czm_sunDirectionEC);\n", "   float LdotH = clamp(dot(l, h), 0.0, 1.0);\n", "   vec3 specularColor = mix(f0, baseColor, metalness);\n", "   vec3 F = fresnelSchlick2(r0, r90, VdotH);\n", "viewer is required.", "DEFAULT_HEIGHT", "_radius", "GeoDynamicCircle", "_classificationType", "classificationType", "DEFAULT_CLASSIFICATION_TYPE", "_bottomEllipse", "_waveEllipse", "_createDynamicCircle", "isShow", "setShow", "_isShow", "setColor", "DEFAULT_COLOR", "ellipse", "getColor", "setRadius", "DEFAULT_RADIUS", "semiMajorAxis", "getRadius", "setCenter", "position is required.", "ImageMaterialProperty", "CallbackProperty", "rgba(255, 255, 255, 1.0)", "rgba(255, 255, 255, 0.0)", "rgba(255, 255, 255, 0.9)", "rgba(255, 255, 255, 0.2)", "clearRect", "beginPath", "arc", "restore", "strokeStyle", "rgb(255, 255, 255)", "setLineDash", "stroke", "center is required.", "_length", "GeoDynamicCylinder", "DEFAULT_LENGTH", "_topRadius", "_bottomRadius", "particlesColor", "DEFAULT_PARTICLES_COLOR", "_cylinderColor", "cylinderColor", "particlesImageUrl", "_cylinderPrimitive", "_createDynamicCylinder", "_particlesPrimitive", "\n                varying vec3 v_positionEC;\n                varying vec3 v_normalEC;\n                varying vec2 v_st;\n                //varying vec4 v_color;\n                //uniform sampler2D u_image;\n                //uniform vec4 u_color;\n                void main()\n                {\n                    float powerRatio = fract(czm_frameNumber / 30.0) + 1.0;\n                    float alpha = pow(1.0 - v_st.t, powerRatio);\n                    vec4 color = vec4(", "red", "green", "blue", "alpha", ");\n                    // gl_FragColor = vec4(u_color.rgb, alpha*u_color.a);\n                    gl_FragColor = vec4(color.rgb, alpha*color.a);\n                }\n                ", "particles primitive", "_particlesImageUrl", "\n            varying vec3 v_positionEC;\n            varying vec3 v_normalEC;\n            varying vec2 v_st;\n            //varying vec4 v_color;\n            //uniform sampler2D u_image;\n            //uniform vec4 u_color;\n            void main()\n            {\n                vec3 positionToEyeEC = -v_positionEC;\n                vec3 normalEC = normalize(v_normalEC);\n                normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\n                float dt = fract(czm_frameNumber / 90.0);\n                vec2 st = fract(vec2(1.0) + v_st - vec2(dt, dt));\n                //vec4 imageColor = texture2D(u_image, st);\n\n                czm_materialInput materialInput;\n                materialInput.normalEC = normalEC;\n                materialInput.positionToEyeEC = positionToEyeEC;\n                materialInput.st = st;\n                czm_material material = czm_getMaterial(materialInput);\n\n\n                vec3 diffuse = material.diffuse;\n                float alpha = material.alpha;\n\n                //diffuse *= v_color.rgb;\n                //alpha *= v_color.a;\n                \n                vec4 ucolor = vec4(", ");\n                diffuse *= ucolor.rgb;\n                alpha *= ucolor.a;\n\n                 //diffuse *= u_color.rgb;\n                 //alpha *= u_color.a;\n\n                gl_FragColor = vec4(diffuse, alpha * pow(1.0 - v_st.t, 2.0));\n            }\n            ", "\n            attribute vec3 position3DHigh;\n            attribute vec3 position3DLow;\n            attribute vec3 normal;\n            attribute vec2 st;\n            attribute float batchId;\n\n            varying vec3 v_positionEC;\n            varying vec3 v_normalEC;\n            varying vec2 v_st;\n\n            void main()\n            {\n                vec4 p = czm_computePosition();\n\n                v_positionEC = (czm_modelViewRelativeToEye * p).xyz;      // position in eye coordinates\n                v_normalEC = czm_normal * normal;                         // normal in eye coordinates\n                v_st = st;\n\n                gl_Position = czm_modelViewProjectionRelativeToEye * p;\n            }\n            ", "DEFAULT_CYLINDER_COLOR", "GOLD", "GeoHeatMap", "heatmapOptions", "orange", "useEntities", "defaults", "gradient", "maxOpacity", "minOpacity", "_computeBounds", "_getContainer", "width: ", "px; height: ", "body", "_getImageryProvider", "getDataURL", "_rectangle", "_tilingScheme", "WebMercatorTilingScheme", "_mbounds", "_getID", "charAt", "WebMercatorProjection", "wgs84ToMercator", "wgs84ToMercatorBB", "mercatorToWgs84", "mercatorToWgs84BB", "rad2deg", "deg2rad", "mercatorPointToHeatmapPoint", "_xoffset", "_factor", "_spacing", "maxCanvasSize", "minCanvasSize", "setData", "_initBounds", "_setWidthAndHeight", "radiusFactor", "_yoffset", "bounds", "_container", "px; margin: 0px; display: none;", "repaint", "_heatmap", "-hm", "wgs84PointToHeatmapPoint", "_layer", "imageryLayers", "updateLayer", "_renderer", "1.21", "transparent", "addImageryProvider", "url", "url is required.", "_url", "GeoImageCircle", "_ellipse", "_createImageCircle", "TERRAIN", "_position", "_direction", "_baseScale", "_mode", "buildModuleUrl", "_url_1", "urlTop", "explode", "_positions", "_startScale", "_endScale", "_imageSize", "_endColor", "smoking", "life", "_minLife", "_maxLife", "_minSpeed", "_maxSpeed", "_count", "_grow", "grow", "_texture_0", "_texture_1", "_drawCommand", "_pointsArray", "_speedScaleLifeTimesArray", "_preTime", "_loadTexture", "_initFires", "addPosition", "_explode", "_owner", "_fires", "_directionsArray", "frameState", "Resource", "Texture", "fetchImage", "_emissionPosition", "randomBetween", "_growFires", "baseScale", "_updateFire", "_initFire", "_clock", "shouldAnimate", "secondsOfDay", "_updateCommand", "_isCommandReady", "updateNext", "instanceCount", "_updateCommandBoundingVolume", "_updateCommandShaderProgram", "_updateCommandUniforms", "_updateCommandRenderState", "aPosition", "aDirection", "aSpeedScaleLifeTime", "_updateCommandVA", "time", "aTexcoord", "aPlane", "u_startScale", "u_endScale", "u_imageSize", "u_endColor", "u_texture_0", "u_texture_1", "_updateCommandModelMatrix", "attribute vec2 aPlane;\n", "attribute vec4 aDirection;\n", "attribute vec4 aSpeedScaleLifeTime;\n", "attribute vec2 aTexcoord;\n", "uniform float u_endScale;\n", "varying vec3 v_texcoord_0;\n", "varying vec4 v_colorFact;\n", "vec4 computePosition(vec3 position, vec2 plane, vec3 direction, float imageSize, float baseScale, float speed, float time){\n", "   vec3 v = normalize(direction) * speed * time;\n", "   vec4 result = czm_modelView * vec4(v, 1.0);\n", "   result.xy += plane * imageSize * baseScale;\n", "   return result;\n", "void main()\n", "   float speed = aSpeedScaleLifeTime.x;\n", "   float baseScale = aSpeedScaleLifeTime.y;\n", "   float life = aSpeedScaleLifeTime.z;\n", "   baseScale *= mix(u_startScale, u_endScale, t);\n", "   gl_Position = czm_projection * positionEC;\n", "   v_texcoord_0.z = aDirection.w;\n", "   if (t > 0.618){\n", "       v_texIndex = 2.0;\n", "   else if (t > 0.382){\n", "       v_texIndex = 1.0;\n", "       v_texIndex = 0.0;\n", "       v_colorFact = vec4(1.0 - t);\n", "       v_colorFact = mix(u_startColor, u_endColor, t);\n", "uniform sampler2D u_texture_0;\n", "uniform sampler2D u_texture_1;\n", "   int mode = int(v_texcoord_0.z);\n", "   vec4 color = vec4(0.0);\n", "   if (mode == 0){\n", "           color = texture2D(u_texture_1, v_texcoord_0.xy);\n", "           color = texture2D(u_texture_0, v_texcoord_0.xy);\n", "       }\n", "   else if (mode == 1){\n", "       color.rg *= 1.4;\n", "   else if (mode == 2){\n", "       color = v_colorFact;\n", "   if (color.a == 1.0){\n", "       color.a = mc;\n", "       if (color.a > 0.995){\n", "   vec4 fact = czm_gammaCorrect(v_colorFact);\n", "   color *= fact;\n", "   if (color.a < 0.1){discard;}\n", "   gl_FragColor = color;\n", "_normalFact", "_alphaFact", "GeoLineSmokeEffect", "_startColor", "density", "normalFactor", "_smokes", "_needTime", "_door", "_maxNormalFactor", "_minNormalFactor", "_growSmokes", "_initSmokes", "_initSmoke", "multiply", "fromRotationTranslation", "multiplyByPointAsVector", "alphaFact", "normalFact", "_updateSmoke", "_udoor", "TRANSLUCENT", "_updateCommandShaderProgramAlpha", "_updateCommandRepeatVA", "_updateCommandShaderProgramOpaque", "IndexDatatype", "u_startColor", "attribute vec4 aPosition;\n", "uniform vec4 u_endColor;\n", "uniform float u_imageSize;\n", "   vec3 v = position;\n", "   result /= result.w;\n", "   float time = aSpeedScaleLifeTime.w;\n", "   float t = time / life;\n", "   vec4 positionEC = computePosition(aPosition.xyz, aPlane, aDirection.xyz, u_imageSize, baseScale, speed, time);\n", "   v_texcoord_0.xy = aTexcoord;\n", "   v_texcoord_0.z = t;\n", "   color = texture2D(u_texture_0, v_texcoord_0.xy);\n", "   vec4 fact = v_colorFact;\n", "   if (v_texcoord_0.z > 0.9){color.a *= 0.1;}\n", "uniform vec4 u_startColor;\n", "uniform float u_startScale;\n", "   v_colorFact = vec4(mix(u_startColor.rgb, u_endColor.rgb, aPosition.w * (u_startColor.a + u_endColor.a) / 2.0), aPosition.w);\n", "   if (v_texcoord_0.z > 0.9){discard;}\n", "   color = czm_gammaCorrect(color);\n", "playing", "sampleMaxHeight", "sampleMaxPoint", "isParabola", "autoToGround", "_name", "createGuid", "render", "_data", "posititons", "getData", "_createPolylines", "_lines", "duration", "_clearPolylines", "_definitionChanged", "Event", "createPropertyDescriptor", "getType", "getValueOrClonedDefault", "_materialCache", "addMaterial", "GeoOutlineFireEffect", "_fireEffect", "_postProcess", "_assigned", "_depthAttachment", "_clearCommand", "_yPlane", "_zPlane", "_xyRange", "_checkPositionsOrder", "_createGroundTexture", "_createXYPlanes", "_createPostProcess", "_updateAssiged", "_viewMatrix", "_invViewMatrix", "postProcessStages", "useLogDepth", "_createFireEffect", "GeoLineFireEffect", "_computePlane", "_createAssignedFrameBuffer", "drawingBufferWidth", "drawingBufferHeight", "_framebuffer", "PixelFormat", "DEPTH_STENCIL", "PixelDatatype", "UNSIGNED_INT_24_8", "Sampler", "CLAMP_TO_EDGE", "TextureWrap", "TextureMinificationFilter", "NEAREST", "TextureMagnificationFilter", "Framebuffer", "ClearCommand", "addFireEffect", "addSmokeEffect", "_depthStencilTexture", "_view", "passState", "framebuffer", "execute", "uniform mat4 u_nViewMatrix;\n", "uniform int u_count;\n", "uniform vec4 u_planes[", "];\n", "uniform vec4 u_xPlane;\n", "uniform vec4 u_yPlane;\n", "uniform vec4 u_zPlane;\n", "uniform vec2 u_xyRange;\n", "uniform sampler2D colorTexture;\n", "uniform sampler2D depthTexture;\n", "uniform sampler2D u_assignedTexture;\n", "uniform sampler2D u_groundTexture;\n", "varying vec2 v_textureCoordinates;\n", "vec4 toEye(in vec2 uv, in float depth){\n", "    vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0));\n", "    posInCamera = posInCamera / posInCamera.w;\n", "float getDepth(in vec4 depth){\n", "    float z_window = czm_unpackDepth(depth);\n", "    z_window = czm_reverseLogDepth(z_window);\n", "    float n_range = czm_depthRange.near;\n", "    float f_range = czm_depthRange.far;\n", "    return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n", "vec2 getGroundTexCoord(in vec3 position){\n", "    float y = czm_planeDistance(u_yPlane, position) / u_xyRange.y;\n", "    return vec2(x * 4.0, y * 4.0);\n", "    vec4 color = texture2D(colorTexture, v_textureCoordinates);\n", "    vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n", "    if(currD.r>=1.0){\n", "        gl_FragColor = color;\n", "        return;\n", "    vec4 assigned = texture2D(u_assignedTexture, v_textureCoordinates);\n", "    }\n", "    float depth = getDepth(currD);\n", "    float z = czm_planeDistance(u_zPlane, position.xyz);\n", "    vec2 gndTexCoord = getGroundTexCoord(position.xyz);\n", "    vec4 colorGround = texture2D(u_groundTexture, gndTexCoord);\n", "    for (int i = 0; i < ", "        if (i >= u_count){\n", "            break;\n", "        }\n", "        float d0 = czm_planeDistance(u_planes[i], position.xyz);\n", "        float d2 = czm_planeDistance(u_planes[i+2], position.xyz);\n", "        if (d0 > 0.0 && d1 > 0.0 && d2 > 0.0){\n", "           if (z < -1000.0){break;}\n", "           break;\n", "PostProcessStage", "_groundTexture", "_xPlane", "urlGround", "function ", "join", "l-1", ";while(l<=h){                var m=(l+h)>>>1,x=a[m]", ";if(x===y){return m}else if(x<=y){", ";var p=c(x,y);if(p===0){return m}else if(p<=0){", ";if(", "){i=m;", "l=m+1}else{h=m-1}", "h=m-1}else{l=m+1}", "return -1};", "return i};", "c(x,y)", "function dispatchBsearch", "(a,y,c,l,h){                    if(typeof(c)==='function'){                        return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)                    }else{                        return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)                    }}                    return dispatchBsearch", "triangulation", "binary-search-bounds", "stars", "edges", "removeTriangle", "addTriangle", "flip", "opposite", "cells", "neighbor", "flags", "next", "locate", "boundary", "constraint", "two-sum", "twoProduct", "fastTwoSum", "robust-subtract", "robustSubtract", "robust-sum", "linearExpansionSum", "two-product", "robust-scale", "scaleLinearExpansion", "sum(", "split", "substr", "prod(", "scale(", "prod(m", "var w", "=scale(w", "[0]);", "var p=", "sum", "diff", "slow", "function testInSphere(", ":return o", "robust-in-sphere", "delaunay", "isConstraint", "),prod(-", "Exact", "){var p=", ",n=", ",d=sub(p,n);        return d[d.length-1];};return ", "prod", "function getOrientation(", "case ", "}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation", "robust-orientation", "monotone", "idx", "lowerIds", "upperIds", "monotoneTriangulate", "cdt2d", "delaunayRefine", "classifyFaces", "map", "exterior", "infinity", "_points", "peekTransform", "anyDirection", "take", "_rings", "_find", "_fixups", "_checkCell", "triangulate", "GeoPolygonClippingEffect", "_clipResult", "clipResult", "_maskColor", "maskColor", "_polygons", "_areaCamera", "isTriangle", "Hide", "Show", "_enabled", "_disableAll", "_initialize", "_parseTriangles", "_translateToTriangles", "_adjustOrder", "_parsePolygons", "adjustOrder", "_enableAll", "_enableHideAll", "_enableShowAll", "_disableHideAll", "_disableShowAll", "_enablePrimitiveCollection", "_enableGlobe", "skyAtmosphere", "_disablePrimitiveCollection", "_disableGlobe", "skyBox", "_enablePrimitive", "_disablePrimitive", "_enableEntityCluster", "Model", "_enableModel", "EntityCluster", "_disableEntityCluster", "_disableModel", "_pointCollection", "_pointPrimitives", "_generateClipPlanes", "_clearSurfaceClippingPlanes", "_tilesInvalidated", "_tileProvider", "_clippingPlanes", "_surfaceShaderSet", "_resetSurfaceShaderSet", "_shadersByTexturesFlags", "_calcClipCenter", "fromTranslation", "_shouldRegenerateShaders", "_generateHidePlanes", "_generateShowPlanes", "_generateSourcePlanes", "GRAY", "mularea", "clip", "clippingFunctionMularea", "float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix)\n", "    vec3 clipNormal = vec3(0.0);\n", "    float clipAmount = 0.0;\n", "    float pixelWidth = czm_metersPerPixel(position);\n", "    bool bDiscard = true;\n", "    {\n", "        vec4 clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", "        clipNormal = clippingPlane.xyz;\n", "        clipPosition = -clippingPlane.w * clipNormal;\n", "        float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", "        if (amount > 0.0)\n", "        {\n", "           j++;\n", "           clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", "           clipNormal = clippingPlane.xyz;\n", "           clipPosition = -clippingPlane.w * clipNormal;\n", "           clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", "           if (amount > 0.0)\n", "           {\n", "               clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", "               clipNormal = clippingPlane.xyz;\n", "               amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", "               clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", "               {\n", "                   bDiscard = false;\n", "                   break;\n", "               }\n", "           }\n", "    if (bDiscard) {\n", "        discard;\n", "getClipAndStyleCodeForMulArea", "uniform sampler2D gltf_clippingPlanes; \n", "uniform mat4 gltf_clippingPlanesMatrix; \n", "uniform vec4 gltf_clippingPlanesEdgeStyle; \n", "{ \n", "    gltf_clip_main(); \n", "); \n", "    clippingPlanesEdgeColor.rgb = ", ".rgb; \n", "    float clippingPlanesEdgeWidth = ", "    if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) \n", "        gl_FragColor = clippingPlanesEdgeColor;\n", "    } \n", "} \n", "    vec3 clipPosition = vec3(0.0);\n", "        int j = i;\n", "        clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", "           amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", "               j++;\n", "               if (amount > 0.0)\n", "        //break;\n", "void main() \n", "    float clipDistance = clip(gl_FragCoord, ", ".a; \n", "    if (clipDistance < 0.0) \n", "    { \n", "peekSource", "addOutlinePosition", "_outline", "tileUnload", "raiseEvent", "_statistics", "decrementLoadCounts", "numberOfTilesWithContentReady", "unloadContent", "_enableTileset", "_root", "_removeEffectFromTileset", "_cache", "trim", "unloadTiles", "_unloadTileCallback", "GeoRadarScan", "DEFAULT_LINE_WIDTH", "_sectorColor", "_sectorWidth", "sectorWidth", "DEFAULT_SECTOR_WIDTH", "_createRadarScan", "_updateBorderMaterial", "_updateSectorMaterial", "_radarScanEntity", "_borderEntity", "setLineColor", "getLineColor", "setsectorColor", "radar", "rgba(", "rgba(255,255,255,1)", "255,255,255", ",1)", "moveTo", "lineTo", "fill", "_createCanvas", "GeoScanCircleEffect", "_repeat", "repeat", "_scanCirclePostProcess", "_scanAperturePostProcess", "_normal", "_setLife", "_setTime", "_color0", "_finishedEvent", "_updatePostProcesses", "_finish", "inverseViewMatrix", "_updateScanAperturePostProcess", "_updateScanCirclePostProcess", "uniform mat4 u_invViewMatrix;\n", "uniform vec3 u_center;\n", "   vec4 color = texture2D(colorTexture, v_textureCoordinates);\n", "   vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n", "   if(currD.r >= 1.0){\n", "       return;\n", "   float zd = czm_unpackDepth(currD);\n", "   zd = czm_reverseLogDepth(zd);\n", "   zd = (2.0 * zd - czm_depthRange.near - czm_depthRange.far) / (czm_depthRange.far - czm_depthRange.near);\n", "   vec2 xy = vec2((v_textureCoordinates.x * 2.0 - 1.0), (v_textureCoordinates.y * 2.0 - 1.0));\n", "   vec4 position = czm_inverseProjection * vec4(xy, zd, 1.0);\n", "   float z = 0.0;\n", "   if (all(notEqual(n, b))){\n", "       vec3 nc = cross(b, n);\n", "       b = normalize(b);\n", "       z = dot(b, position.xyz) - dot(b, u_center);\n", "   float d5 = u_param0.z * u_param0.y;\n", "   float hw = u_param0.w / 2.0;\n", "   float hw5 = hw * 12.0;\n", "   float hd = dot(u_normal, position.xyz) - dot(u_normal, u_center);\n", "   if (z < (d5 + hw5) && z > (d5 - hw5)){\n", "       color.rgb = mix(color.rgb, u_color.rgb, smoothstep(0.0, 1.0, z1));\n", "       float r = abs(z - d);\n", "       if (u_color.a < 1.0){\n", "           z = (r - hw * u_color.a) / (hw * (1.0 - u_color.a));\n", "       color.rgb = mix(color.rgb, u_color.rgb, clamp(al * ((hw * u_color.a > r) ? 1.0 : exp(-(pow(z, 2.27)))), 0.0, 1.0));\n", "invViewMatrix", "uniform vec3 u_normal;\n", "uniform vec4 u_param0;\n", "   position /= position.w;\n", "   float t = (u_param0.y > u_param0.x) ? u_param0.x : u_param0.y;\n", "   vec3 b = normalize(position.xyz - u_center);\n", "       b = cross(n, nc);\n", "   float d = u_param0.z * t;\n", "       float r = abs(z - d5);\n", "       color.rgb *= ((r / hw5) > 0.5) ? 0.996 : 1.018;\n", "       color.rgb += vec3(0.01) * u_color.rgb;\n", "   if (z < (d + hw) && z > (d - hw)){\n", "       r = 1.5707963 * r / hw;\n", "       color.rgb = color.rgb * vec3(0.618) + u_color.rgb * vec3(cos(r) * 0.382);\n", "GeoScanRingEffect", "longest", "_textureUrl", "_scanPostProcess", "_texture", "_param1", "_param3", "_loading", "_checkVisible", "_updateTexture", "_udpateParams", "setTextureUrl", "_param0", "_param4", "_longest", "only-if-cache", "_param2", "uniform vec4 u_param3;\n", "       gl_FragColor = color;\n", "   position = u_invViewMatrix * position;\n", "   float z0 = dot(u_param3.xyz, position.xyz) + u_param3.w;\n", "   if(z0 < -800.0 || z0 > 800.0){\n", "   vec3 v = u_param3.xyz * z0;\n", "   vec3 p = position.xyz - v;\n", "   float z2 = distance(u_param0.xyz, p);\n", "   float z3 = u_param2.x * 0.75;\n", "   if(z2 < z3){\n", "   gl_FragColor = mix(color, u_color, (z2 - z3) * 0.8 / (u_param2.x * 0.25));\n", "uniform vec4 u_param2;\n", "uniform vec4 u_param4;\n", "   float z0 = dot(u_param0.xyz, position.xyz) + u_param0.w;\n", "   if(z0 < 0.0){\n", "   float z1 = dot(u_param1.xyz, position.xyz) + u_param1.w;\n", "   if(z1 < 0.0){\n", "   float z2 = dot(u_param2.xyz, position.xyz) + u_param2.w;\n", "   if(z2 < 0.0){\n", "   float z3 = dot(u_param3.xyz, position.xyz) + u_param3.w;\n", "   if(z3 < 0.0){\n", "   float z4 = dot(u_param4.xyz, position.xyz) + u_param4.w;\n", "   float a = max(sColor.r, max(sColor.g, sColor.b));\n", "   gl_FragColor = mix(color, sColor, a * 0.8);\n", "_angle", "angle", "emit", "velocity", "imageSize", "_particleLife", "particleLife", "_emissionRate", "emissionRate", "_lifetime", "lifetime", "_system", "_initializeParticleSystem", "_reset", "_particles", "_billboard", "_particlePool", "VisualSenseStyleCondition", "_fieldName", "_fieldValue", "fieldValue", "minValue", "_maxValue", "maxValue", "_topic", "topic", "vec4(", "_makeColorShader", "if (visualSenseStyle_enabledMixColor == 1.0) { \n", "gl_FragColor *= ", "_minValue", " == ", ".0) \n", "if (", ".0 && ", "_makeLuminanceShader", ") \n", " >= ", " && ", "mixedColor", "luminanceAtZenith", "getLuminanceByProperty", "true", "getProperty", "ConditionParser", "parse", "fieldName", "_useElevation", "bloom", "glowOnly", "contrast", "brightness", "sigma", "stepSize", "isSelected", "GeoVisualSenseStyle", "_enabledMixedColor", "_enabledLuminanceAtZenith", "_enabledBloom", "_bloomStep", "_map", "_conditionParser", "_mixedColorConditions", "parseLuminanceAtZenith", "lightBand", "_enabledLightBand", "_luminanceAtZenithConditions", "conditions", "makeFragmentColorShader", "if (visualSenseStyle_enabledLuminanceAtZenith == 1.0) { \n", "luminanceValue = heightLightValue; \n", "makeShader", "makeLightBandShader", "float vtxf_a13 = fract(czm_frameNumber / 360.0);\n", "float vtxf_h = clamp(v_elevationPos.z / 300.0, 0.0, 1.0);\n", "vtxf_a13 = abs(vtxf_a13 - 0.5) * 2.0;\n", "float vtxf_diff = step(0.005, abs(vtxf_h - vtxf_a13));\n", "gl_FragColor.rgb += gl_FragColor.rgb * (1.0 - vtxf_diff);\n", "GeoWind", "level", "rectangle", "velocityScale", "particleMultiplier", "maxWindIntensity", "colors", "#00ffff", "#64f0ff", "#87e1ff", "#a0d0ff", "#c6adff", "#d49bff", "#ec6dff", "#ff1edb", "canvasContext", "_initWindy", "Windy", "header", "parameterCategory", "parameterNumber", "2,2", "2,3", "lo1", "la1", "refTime", "setHours", "getHours", "forecastTime", "interpolate", "release", "randomize", "substring", "indexFor", "rgba(0, 0, 0, 0.97)", "age", "globalCompositeOperation", "fillRect", "timer", "field", "_locationCoordinate", "_size", "_bounds", "tan", "_getLevel", "_getCenterPoint", "_calculateBounds", "1.16", "windy", "GEO_OVERVIEW_ICO_LAYER", "GEO_OVERVIWE_ICO_ID", "map2DOptions", "raster", "http://t3.tianditu.com/vec_c/wmts?SERVICE=WMTS&REQUEST=GetTile&LAYER=vec&TILEMATRIXSET=c&FORMAT=tiles&VERSION=1.0.0&STYLE=default&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=e90d56e5a09d1767899ad45846b0cefd", "tdt_layer_overview", "visible", "movingTargetIco", "movingTargetIcoSize", "movingTargetZoomLevel", "_isReady", "modelType", "ROAM", "_initOverview", "geo-cesium-viewer-overview", "layout", "toLocaleUpperCase", "startsWith", "bottom", "5px", "absolute", "_bindEvent", "map2D", "load", "loadImage", "addImage", "addSource", "addLayer", "updateAimingRect", "_unbindEvent", "GEOOVERVIEW_3D_RENDER_EVENT", "getMap2D", "getMap2DLayer", "getLayer", "addMap2DLayer", "removeLayer", "getMap2DSource", "addMap2DSource", "removeMap2DSource", "_latelyUpdateStamp", "_modelType", "getSource", "setLayoutProperty", "icon-rotate", "setModel", "setScalable", "boolean", "GeoOverviewWidget", "CustomGeographicTilingScheme", "_resolutions", "resolutions", "_maximumLevel", "_origin", "_fullExtent", "fullExtent", "_dataRectangle", "_matrixWidth", "_matrixHeight", "LN2", "_topTileExtent", "_numberOfLevelZeroTilesY", "_centerPoint", "_proposalHeight", "GeographicTilingScheme", "_numberOfLevelZeroTilesX", "getNumberOfXTilesAtLevel", "CustomWebMercatorTilingScheme", "matrixWidth", "numberOfLevelZeroTilesX", "numberOfLevelZeroTilesY", "_rectangleSouthwestInMeters", "rectangleSouthwestInMeters", "rectangleNortheastInMeters", "_rectangleNortheastInMeters", "getNumberOfYTilesAtLevel", "LineString", "GeoGeodesic", "radiansToDegrees", "degreesToRadians", "atan2", "_destination", "along", "_bearing", "geoTranslateByDistance", "GeoGeographicTilingScheme", "GeographicProjection", "when", "defer", "ToolManager", "_tools", "ModifyTerrainTool", "vertices", "heights", "mtHeight", "mtType", "fromKML", "resolve", "lenght", "timeStamp", "getTileDataAvailable", "_errorEvent", "_credit", "string", "Credit", "heightMapWidth", "heightMapHeight", "_subdomains", "firstRequestUrl", "{s}", "sTag", "_firstRequest", "layerName", "&Styles=&Format=image/mpt", "pngOnly", "maxTerrainLevel", "_maxTerrainLevel", "setFormatMPT", "_urlTemplate", "request=GetMap&Version=1.3.0&Service=WMS&v=1&CRS=EPSG:4326&bbox={south},{west},{north},{east}&height={height}&width={width}&optimizedOnly={optimizedOnly}&layers=", "_format", "_levelZeroMaximumGeometricError", "TerrainProvider", "_workerPool", "_pendingRequests", "_requestsCache", "_requestsCacheKeys", "errorEvent", "GeoSkylineTerrainProvider", "_geometricErrorFactor", "mpt", "png", "_isMPT", "replace", "requestFactorForLevel", "_requestGridSize", "getRequestBaseTerrainUrl", "getRequestElevationLayer", "getRequestUrl", "tilingScheme", "tileXYToNativeRectangle", "{north}", "{west}", "{east}", "{optimizedOnly}", "{height}", "isT_Inside_E", "DEGREES_PER_RADIAN", "isT_Intersects_E", "RADIANS_PER_DEGREE", "refreshElevationLayer", "_surface", "_levelZeroTiles", "findDirectParent", "freeResources", "isTileAvailable", "tileXYToRectangle", "terrainData", "_childTileMask", "markTileAsUnavailable", "requestTileGeometryBuffers", "requestedRectangle", "layer", "requestTileHeightBuffer", "all", "myReject", "reject", "isFloor", "arrayToHeightmapTerrainData", "otherwise", "_allElevationLayers", "each", "requestElevationLayerTileGeometry", "requestBaseTerrainTileGeometry", "nullTolerance", "nullValueNumber", "polygonVerticesX", "polygonVerticesY", "mergeBuffers", "offset", "tolerance", "_buffer", "Request", "subdomains", "/SG", "/Elevation", "format", "image/png", "image/mpt", "_modifyTerrainObjects", "modelFloorBestLevel", "NoMerge", "_selectedTiles", "NoFloor", "rootFloorRectangle", "getHRMTFP", "_model", "hasOwnProperty", "dataLoaded", "fetchArrayBuffer", "workerFinished", "queueWorkItem", "rejected", "extractTileHeightBuffer", "message", "HeightmapTerrainData", "workerPath is required.", "_workerPath", "workerPath", "_poolSize", "poolSize", "_workers", "_defered", "jobQueueSize", "onWorkerError", "workerId", "deferedId", "postMessage", "trimPool", "timerId", "terminate", "onWorkerMessage", "options.urls is required.", "_dataType", "dataType", "GeoTerrainProvider", "INT", "_tileType", "tileType", "HEIGHTMAP", "_urls", "urls", "_urls_length", "_url_i", "_url_step", "_readyPromise", "credit", "_heightmapWidth", "_heightmapHeight", "getEstimatedLevelZeroGeometricErrorForAHeightmap", "_opacity", "opacity", "_maxExtent", "maxExtent", "_topLevel", "_bottomLevel", "bottomLevel", "ready", "requestTileGeometry must not be called before ready returns true.", "promise", "requestTileGeometry", "&y=", "&l=", "_proxy", "getURL", "QUANTIZED_MESH", "_terrainDataStructure", "_skirtHeight", "getLevelMaximumGeometricError", "getvHeightBuffer", "_vHeightBuffer", "transformBuffer", "setInt8", "requestFunction", "GET", "open", "responseType", "arraybuffer", "async", "RequestScheduler", "request", "readyState", "status", "response", "byteLength", "Inflate", "decompress", "_rectangles", "getFloat64", "getFloat32", "subarray", "getUint32", "createTypedArrayFromArrayBuffer", "getUint8", "OCT_VERTEX_NORMALS", "_requestVertexNormals", "WATER_MASK", "METADATA", "_requestMetadata", "available", "endY", "EPSILON5", "fromRectangle", "_tileCredits", "int", "float", "quantized-mesh", "heightmap", "tileset", "source", "autoActivate", "originalColor", "fromBytes", "moveColor", "selectedFeature", "groundPrimitiveCollection", "geojson", "activateAction", "_seletedEvent", "XMLHttpRequest", "withCredentials", "Accept", "application/json", "onerror", "statusText", "onload", "_loadGroundPrimitives", "data鐨勭被鍨嬩笉琚敮鎸�!", "Polygon", "绫诲瀷锛岃绫诲瀷涓嶈鏀寔锛�", "GEO_MONOMER_FEATURE", "reloadGeoJSON", "_loadGeoJSON", "description", "isContaintFeature", "drillPick", "selectedColor", "deactivateAction", "Cesium3DTilesetMonomer", "EasingFunction", "Intersect", "OrthographicFrustum", "PerspectiveFrustum", "CameraFlightPath", "_transform", "_invTransform", "_actualTransform", "_transformChanged", "isTDT", "_positionWC", "_directionWC", "_up", "_upWC", "_right", "aspectRatio", "fov", "defaultMoveAmount", "defaultLookAmount", "defaultRotateAmount", "defaultZoomAmount", "maximumZoomFactor", "_moveEnd", "_changed", "_changedDirection", "_changedFrustum", "percentageChanged", "_modeChanged", "_max2Dfrustum", "_suspendTerrainAdjustment", "DEFAULT_VIEW_RECTANGLE", "DEFAULT_VIEW_FACTOR", "TRANSFORM_2D", "TRANSFORM_2D_INVERSE", "PI_OVER_FOUR", "computeView", "_updateCameraChanged", "numberOfListeners", "_changedPosition", "fovy", "_adjustHeightForTerrain", "basisTo2D", "getColumn", "EPSILON10", "inverseTransformation", "_actualInvTransform", "_rightWC", "zeroToTwoPi", "MORPHING", "_moveStart", "mode is required.", "An OrthographicOffCenterFrustum is required in 2D.", "A PerspectiveFrustum or OrthographicFrustum is required in 3D and Columbus view", "The camera frustum is expected to be orthographic for 2D camera control.", "tileProvider", "_tileLoadQueueHigh", "_tileLoadQueueMedium", "_tileLoadQueueLow", "_debug", "tilesWaitingForChildren", "pickPositionWorldCoordinates", "ROTATE", "fromHeadingPitchRoll", "endTransform", "getRectangleCameraCoordinates", "flyHome", "completeMorph", "flyTo", "cartesian is required.", "worldToCameraCoordinatesVector", "cameraToWorldCoordinates", "cameraToWorldCoordinatesPoint", "cameraToWorldCoordinatesVector", "direction is required.", "moveUp", "moveDown", "moveRight", "lookLeft", "lookDown", "twistLeft", "axis is required.", "rotateDown", "rotateLeft", "zoomOut", "offset is required", "lookAt is not supported while morphing.", "UNIT_Y", "transform is required", "lookAtTransform is not supported while morphing.", "setEndPoints", "_offCenterFrustum", "MAX_VALUE", "rectangle is required", "windowPosition is required.", "near", "distanceToBoundingSphere", "boundingSphere is required.", "getPixelSize", "drawingBufferHeight is required.", "getPixelDimensions", "EXPONENTIAL_OUT", "createCorrectPositionTween", "duration is required.", "_currentFlight", "destination is required.", "cancelFlight", "convert", "complete", "cancel", "pitchAdjustHeight", "flyOverLongitude", "flyOverLongitudeWeight", "easingFunction", "createTween", "DEFAULT_OFFSET", "viewBoundingSphere is not supported while morphing.", "fromCartesian4", "radii", "multiplyComponents", "oneOverRadii", "upWC", "computeVisibility", "fromCartographicArray", "EPSILON9", "switchToPerspectiveFrustum", "switchToOrthographicFrustum", "projectionMatrix", "CameraEventType", "_update", "_isDown", "_movement", "prevAngle", "_buttonsDown", "position1", "_eventHandler", "PINCH_END", "PINCH_MOVE", "_eventStartPosition", "_pressTime", "_releaseTime", "RIGHT_DOWN", "RIGHT_UP", "MIDDLE_DRAG", "MIDDLE_UP", "_lastMovement", "valid", "canvas is required.", "_currentMousePosition", "ALT", "type is required.", "GeoCloudPrimitive", "speedScale", "_base", "_step", "_gamma", "gamma", "_isInverse", "_animationMatrix", "_colorTexture_0", "_requestUrl", "_requestCommand", "../../../resource/images/10.jpg", "_url_0", "_createTexture", "_context", "RGBA", "CloudPrimitive fetchImage is failed!", "passes", "_isTexturesReady", "_timeoutWorkerCommand", "_updateAnimationMatrix", "_createCommandByWorker", "var PI_OVER_TWO = PI / 2.0;\n", "onmessage = function (e) {\n", "   var xCount = params.xCount;\n", "   if (!xCount){\n", "   var yCount = params.yCount;\n", "   if (!yCount){\n", "       postMessage({error:true});\n", "   var radius = params.radius;\n", "   if (!radius){\n", "   var pointsCount = (xCount + 1) * (yCount - 1) + 2 * xCount;\n", "   var pointsArray = new Float32Array(3 * pointsCount);\n", "   var texcoordArray = new Float32Array(2 * pointsCount);\n", "   var ptIndex = 0;\n", "   var tcIndex = 0;\n", "   var hFovRad = PI * 2.0;\n", "   var angleH = 0;\n", "   var angelV = 0;\n", "   var stepVRad = vFovRad / yCount;\n", "   for (var F = 0; F < xCount; F++){\n", "       pointsArray[ptIndex ++] = 0.0;\n", "       pointsArray[ptIndex ++] = -radius;\n", "       texcoordArray[tcIndex ++] = F / xCount + 1 / (xCount * 2.0);\n", "       texcoordArray[tcIndex ++] = 0.0;\n", "   var startHRad = -PI;\n", "   var startVRad = -PI_OVER_TWO + stepVRad;\n", "   for (var U = 0; U < yCount - 1; U++) {\n", "       angelV = startVRad + U * stepVRad;\n", "           angleH = startHRad + F * stepHRad;\n", "           pointsArray[ptIndex ++] = radius * Math.cos(angelV) * Math.cos(angleH);\n", "           pointsArray[ptIndex ++] = radius * Math.cos(angelV) * Math.sin(angleH);\n", "           pointsArray[ptIndex ++] = radius * Math.sin(angelV);\n", "           tt = 0.5 + angleH / hFovRad;\n", "           texcoordArray[tcIndex ++] = tt;\n", "           texcoordArray[tcIndex ++] = (U + 1) / yCount;\n", "       pointsArray[ptIndex ++] = radius;\n", "       texcoordArray[tcIndex ++] = 1.0;\n", "   var faceIndexCount = (xCount * (yCount - 2) + xCount) * 6;\n", "   var faceIndex = 0;\n", "   for (var F = 0; F < xCount; F ++){\n", "       faceIndexArray[faceIndex ++] = F + xCount + 1;\n", "       faceIndexArray[faceIndex ++] = F + xCount;\n", "   for (var U = 0; U < yCount - 2; U ++){\n", "           faceIndexArray[faceIndex ++] = F + xCount + U * (xCount + 1);\n", "           faceIndexArray[faceIndex ++] = F + xCount + 1 + U * (xCount + 1);\n", "           faceIndexArray[faceIndex ++] = F + xCount + 1 + (U + 1) * (xCount + 1);\n", "           faceIndexArray[faceIndex ++] = F + xCount + (U + 1) * (xCount + 1);\n", "       faceIndexArray[faceIndex ++] = F + xCount + (yCount - 2) * (xCount + 1);\n", "   postMessage({\n", "       faceIndexArray: faceIndexArray\n", "};\n", "onerror = function(error){\n", "application/javascript", "onmessage", "faceIndexArray", "PrimitiveType", "TRIANGLES", "FUNC_ADD", "ONE", "_createShaderProgram", "cull", "_card", "        attribute vec3 a_position;\n        attribute vec2 a_texcoord_0;\n        uniform mat4 u_animationMatrix;\n        varying vec2 v_texcoord_0;\n        ", "        void main()\n        {\n            vec4 p = vec4(a_position, 1.0);\n            v_texcoord_0 = a_texcoord_0;\n            gl_Position = czm_modelViewProjection * u_animationMatrix * p;\n        }\n        ", "        uniform sampler2D u_colorTexture_0;\n        uniform vec4 u_gamma;\n        varying vec2 v_texcoord_0;\n        ", "        float computeW(vec4 color){\n            float w = color.w;\n            if (w == 1.0){\n                //w = min(min(color.r, color.g), color.b);\n                w = sin(color.r * color.g * color.b * 1.5707963);\n            }\n            w = pow(w, u_gamma.w * 10.0);\n            return w;\n        }\n        void main()\n        {\n            vec4 color_0 = texture2D(u_colorTexture_0, v_texcoord_0);\n            color_0.w = computeW(color_0);\n            color_0.rgb *= u_gamma.xyz;\n            gl_FragColor = color_0;\n        }\n        ", "topCylinderColor", "bottomCylinderColor", "createPrestrainPrimitive", "ellipseAppearance", "prestrainEllipsePrimitive", "trackedEntity", "pointEntity", "ellipsePrimitive", "cylinderPrimitive", "MIDDLE_DOWN", "prestrainCylinderPrimitive", "removeById", "EllipseGeometry", "VERTEXT_FORMAT", "POSITION_AND_NORMAL", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAA6E2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE5LTA2LTExVDA5OjQ2OjU3KzA4OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTktMDYtMTFUMTA6MTY6NTMrMDg6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE5LTA2LTExVDEwOjE2OjUzKzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjNkNWU2OTU5LTZiOTMtZTQ0Mi1hNmFkLWVhMmExOWQxZGI0MTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo5ODQ4MzQ2Ny03Mjg5LTUzNGQtOTUyOC05MGY3MWU0MTEwMmU8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo5ODQ4MzQ2Ny03Mjg5LTUzNGQtOTUyOC05MGY3MWU0MTEwMmU8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6OTg0ODM0NjctNzI4OS01MzRkLTk1MjgtOTBmNzFlNDExMDJlPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTA2LTExVDA5OjQ2OjU3KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozZDVlNjk1OS02YjkzLWU0NDItYTZhZC1lYTJhMTlkMWRiNDE8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDYtMTFUMTA6MTY6NTMrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pu16zW8AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAEbhJREFUeNrsW3t0VPWd//x+9955ZDKTyeRNnrxCXEGEgAqyQXqEWmtdtbj0gVsaaVfWB6tSjh5r67J2j0qhPrrWcnqaLisKVK0bLdsKIiBGBOVhSYiERwghk5AQ8pqZ3Dv3/r77x/yGjrOZyUSC7jnu95zfyeP+Ht/f5/5+3/dlRIQvM3F8yenzACAPwDIAc0cwZhyABwBUXGrm1Es4dz6AbwGYB+BvAPzrCMZ6AHwfwE0A3gewGcChS8EkuwQy4DYA1QBKAZwDsA/AWwB2AwiN4GRWArgRwLUACgB0A3gNwDP/VwH4HoD7ANgB/BnAbwHUj9Lc2QDuBPB3AHwAXgHw41GZmYguts0mov1EdISIVozCfMO1hUT0ARE1EdGdFzvfxTKzjoi6ieipz2Hj8W0JEZ0moneJKOPzBiCfiE4Q0SEiKv0CNh/bXiaiEBF97bOM/ywyYB6APwFYB+DeEYzzAZgG4DKp5nwAFPlMABgA0AzgKIADAFpGMPcdAH4H4LERapsRn4BvUoS+l2J/HxEtJaI3iaiXUieLiN4jooeJaGKKa11GRANE9ItLdQVulszNSaFvERE9TUQ9iXZomqZlGIZpGIZlGIY5DCCvSWE73LppRNRBRGtG+wrMBLBXWnO7hun7UwAPAXDE/M+sq6s7vmfPnuaGhgZ/a2tr/7lz53TTNIkxxgCQ1+vVxowZk15eXp47c+bM0qqqqvEulys9bu71cm5/kvVdADoB/ATAz0fDDvDKCX8IoCZJvyskg1Oj//D7/Z01NTUf1NbW1h88eNCv67oBQOGca3a7XeGcI7q+YRjCNE0TQBgAr6ioyLnhhhsmLV68eEZlZeWEmHX6APwjgI1JeJkAoAnAfADbLhaAj+XbX5qkz3cAbLjwuk1z8LHHHvvjunXr9nZ2dp5XFMWTm5vrstvtXModBoDFiyPGGMnx1N3dPRgMBns1TbMtWrRoyqpVq24cO3bsmJj+qwGsTMLTrdJy9ADo/6wAPCIdmaIkfR4AsCb6x7Zt2w7de++9f2hsbDzjdruzc3JynEIIQUQqgHR5Naxij9s2PsOT7rQM5VjfQH/TQCgktYIpGTYUReEDAwPm2bNnz2ZkZLgef/zxr95zzz0LYtZ+CcB3k/D2nwBKkjliyQAoAnAawBQAhxP0uRvAL6N/rFmzZsuKFStqATjHjRvnE0KYROQAkCn9gBYAJwG0PVKcWzY1M+M6h6JkHusPvPPAsdP7pANVJptXAtGvqqra3t4eCAQCnXfcccc169ev/36MI/eyPIGJKCCv74aRAvA2gDapY4eimwC8Ef3jwQcffHnt2rVbMzMzC3w+n900TZKucEA6RB/W3TTvOBgD0zToRw7foR9peJQrWqlWNvZRraT0KTJNgAhzdh/IkzbDLOkIdXLOjXA4zFpbW1vnzp07cevWrcs1TbPL5X8O4EcJ+LwdwAsAskYSD7haSv4fJnheAKA2+sfDDz+8ee3atdvy8/OLvV6vZpqmDcAYadA8DWDT/oeWH3dMvgKOK66E88pKqJneYqurZ6Le3GkTg4ZHzc6C4s2A4s3A+zdd1yGNrdXSk8wQQnhVVbXKyspKdu7ceXzBggXPArAkCysA3JKA199LrbFqJAD8Qh6tRO5rbVSI1dTU7HziiSf+nJeXV+h0OiGEcEvBs1lai60AYLafiTR/K8JtLTarv6+YGCAEQIKXkBAVZFo2CpugsBldZ0B6fr8CoBNRLoBwWVlZ4Y4dO45WV1f/R9xGvQn4/RGAf0oVgHEAxkp9OxQtATADAI4cOXKqurp6o8fjyXW5XFxu3gHg1/HqJ7h/T7R5Qvveuz58+uQk6FL8G+HJYlCvIgE7MQX0v9mql8e8h4jyAFiFhYVFNTU1u2tqanbGBHfWJeD5vwG0A7gnFQAeAvAhgPNDPNPkkQYAWrp06UYAak5OjtOyLLt88+uk6vwUmaeaI635pMc4eaLK6usdz5yAogFWZ+v4cMuxK3m6Q1NzfFAyPUNtokuezBARZdpsNkpPT8+97777Xvf7/V0x9/2KBCDUyCjTsADMTWLwLAOQAQDr169/t66urqm0tDTHNE0BIEfq3Y+HNM+uW4D0r94Mx7SrMkiIKhEIljAVUDIBq/+8xzjdMoMBecxmA1OURIK5W54uuxDClpeX5xoYGAg98sgjb8T0eTLB2BekAzYpGQDXyp+vJdH5ICJz9erVOzVN83LOhYzYHJGRoKGDj3kF0AqLoXgyJtLAwAQYAszOwNI0kA5YXQFP+GzHlHDrKY/RcjKZbXJMCsZc0zTNnJyc3BdffPFAU1NTq3x+QwK7JSBVcHUyAL4rOw1F18g4H2praw8cPnz4TEFBgVsIoch5XkvGdejghwgd+rBcP940R/QEXOAAc6gAY4AJUMDyit7+vwVDCfdmDGedbpF3Ot3tdqvhcNhYt25dXVx4bijaCaBKmspDAjA9ibOzKPrLpk2bDgLQOOdRP/+g9OUTkggFYDQfqzSaPqkSuqlBYQDngACYBpAYzDLbz8xnmlZqGzt2OAAMuRmvZVkiLS3N++abbzbouh7VWt9Mor2yASxMBMDSJFHXrwBAT09Pb11d3SmPx+ORRpQqDZ2k5Jw5C6rbPZkCfdOgQAVnkTAIAJ6pgKm6qh87Osns6ipNMV2xTwpqm8/nczY2Nnbt2rWrST6bJu2QeDog7YXfJwLgsLwr8ZQDYDIA7N27t7mlpaXX4/FoUuV1yChOUhLBwBirp28K6brKnWBMkwAQwO0M4IDoBUSQplJYTEoBgF4AxwG4VVUFALFnz57mOGNuKKqX40aUGKmIgtXQ0NBORJaqqoyI0qTbGRxugv4d7/xDuKmtQnQDzEkAWZHGAMYBywBMAejNLTcyTi0AfpYCX80ApsmTqDU2Np6NeZYKiCkDcEGqnjlzpj/Gh1BlrGBYKszUzgyUF+4z9IIuxcHPCzDBAHAOUlRuWSHdEQ7odueEMW32orxPcOCTVKbtkN4jUxRF8/v9AzHPikcTgAuWSXd3dzhOiwRTmcCVQVudqnoQYZ7GbUwnzgVxBs4AaAohCIX6LZVl2wLwOc6myFcwCoDdbmc9PT1hy7KEoig8ludRzQ3KYManrncq4zb1TW4Ph1m7SRwAg2AcBEABQVEYzNAgwrqBzEAx0vuyU2XnwtqRyBqYEAJKYkPqMwPAYgD4TLm05T3XFrmddpdiU7lOsAQxBgEwEuCWgG6EedgSfFzIo2f3Oc8lMMWHezk0FM+jAYB1wRnQtNiJKSa2n5SKHcZSZuqzLJNl2zjvFWAMBMaIiDOCzdBdImxxj6WccAu8BOD1FPlnACCEgKqqTFEUFs/zaADQfUEf5uTYZfwORCQAuFOZYHJ5vvr2lg8mnT7dWcrcOZZ8ZRH+VQUUDCjcHDQ1jHOEzZzcFPlyyz2QrusiKyvLxjln8TyPBgCnLrzJ4uKMaEJFRnDzU5lg2pVFGz/6+NRXTncZpU63TdEUDi7lAFc4Bp0KINyC2R1vChJvpchXAQCFMUZCCKOwsNATpyJTysOnQo1RaT916tQxmqZp4XCYpNFUImN+yWPr3rQTmT5PPZwOy7QIXFVgd2rQbAoM04RmV5Gd6+lLc9q2M8aaU+RrHIBBeQ3MKVOmFMQZPCMG4FsyGBJPAwA+AoDp06eXlZeXZ/X09AzKE+ADcPmwCDb6RV5W2geluZ5DRm8IpmGBAFiWQDBggCwaTE/TPjQtq30goKfC+xjJ64Cu65bNZrPPmTNnXIyvsHeIMQqAbwO4LhEAj0Zd3iHoLQCw2+2OefPmjQ8Gg33yvgWTmJ0X6Fx3wCwfn7N74rjsAzAFhBDSCmTgjEFV+HFF4X8yDPNsMJgSALMBOBljZmdnZ2D69OkFM2bMGC+f7ZIJlKH8meejEa2hANgcm9mJo5ejvyxevHgGAKbrugDQI83OymTcTqrIM0vLshp9eZ5GxeOEKYDBUBhEBM2mwONxnPT5XNuyfK7urCzXcJvPkrGLLsaYYppm38KFC6+I2c/GJJHsvQB+kwiADQAKE0j24wA+AICrr7560vXXXz+xra2tWxod/TITk1CoGoaFYCgMu11pzc11tUEIMdCvQ9dNKJyhpNh7bOb04voZ04qMyiuLhgNgIQAHY0w/d+5cMDs721tdXT07Gn0DsCnBuFnyJPckAuCYvO9LEkxwwUF59NFH5wPQQ6GQYIz1So8xUSAC7+05ibd3HEVPz2Dz2OLs3RrnvVb3AMIDRrhoTObxMQXew5wzcIUjYskmpCp5hDsYY2pfX1/n/fffPyczMzMaRVkn9xBPpQBy48N9Q630qhQUQ9EbMvSFqqqqy5csWXKV3+9vVxRFlbH3WQC+MdTAvBw3crPTMbY06+SEcdm7HC6tHyAwjetOp7anr09vqD/SjobGDjQeTegKTJa8damqyk6ePNk9adKkwpUrV94Q0+enCcbeD+BEvH0wFABrAYyXKbGh6M7oL88888zf5+fnZ5w4ceK8qqpMhqlulu3TCrvAg4ICD/Lz3B2Zmc73XS77ABw2OF2OQE62e2uG23FIVRRoaqQNQdMRyQoHOOeD3d3dOoBATU3Nt1VVtcVsvisB37dhiHQ5T6Dy3olNeMbR+9Fj5PF43LW1tT8goqDf7w+oqmpKF/UbEqi06KCGI+1oONKOQ385g2PHu7o0RTnPnXZwzvQsb9rHBXme4Ji8DERbHH0dwA8ADHLO+0KhEJ0/f97/3HPPLZw1a1ZFjIxalcgVkY7TllQtwX+WE06UAY94qpa6dOzMmTMnvvLKK0sWLlz4W7/fj4KCApdpmm0ArpJG0lsA3ms44o86LFAUbnrcjsbCPPdVlhBdgaDe390dgG6Y8etcJqO8lwHoUhRFDwQC1NHRcWbFihUL4jLFX0siNx6WexpRcvTf5SZmJnheBuATADYA2Lx58/uLFi1aD8A5fvz4TMuyTCLyylNwTBpSDZVzftwBwMs5+3pPT+iq3t7Qac5ZDSJVpWg/+csMAOUyrjdFWnmdqqryzs7Owb6+vo6VK1cuePLJJxfFGXCJJP8qmTC5bKQAMHkdqpNMfo28EgCA3bt3NyxatGh9W1vb+YKCgnyn08kty4JMpjili9sqZUW/VFlRjzINkWxykdQoFoDznHOLiHhzc3MXAOv555+/ddmyZdfHCbenE/CXK69kJYD9IwUAiNTq/lFuoC9BnznymDsB4Ny5c+eXL1/+yoYNGz4CYCssLPTZbDYuhBDytKTJnzzOZxfStA7Juw4hBFpbW/sty+qdPXv2hGefffbWysrK8pgx9wF4Lgn/hxFJ8y9P+JZTiG/8Th7HqUn6lAP4AyJV4ZHMxZYtH61Zs2bX9u3bjwMQaWlpHq/Xa9c0jUtXeujAg2VRf3+/0dvb2w/AnDx5csFdd901++6774596zoiRRHJkjFPyqtRmjTSk2KApx7AnlgVmODKvIC4moLt27cffvXVVw/u3LnzRFNTU7dhGEaSaA0xxpSSkpKMWbNmldxyyy1Tbr/99umcc3tcdufO2NB2giTORumqd4wGAC5EqkWeSiFcPR/Av0ij6K/Ry2AwsH///pb6+np/S0tLb2dn56BpmtFYHnw+n1ZYWOiuqKjInzZtWnFeXp4vbt4ziFSB/nqY9a9FpDS/CsC7qcTRUm1FRNRPRD9Jsf/tRLSNLp4+JqIHiciRwprziEgQ0W2Xqli6SJa8bhjBmMtlyevbsrJ8OBokon1EtJqI5o5gnbvl+FsudbG0S+blwogUTnePYGyGzMyWIVLOosZogAFEqshOIHkl6FC0AZGPKRYAqBtpKPliytR7R+OjhYto1xDRUSL6CxF5vogPJhYS0Rki2k1E0z7HjfuIaD0RdRHRz77IL0ZivxxpJqLXiejqS7jxQiL6lVxry2h8rDGaH00VSRV5jTR3axEpZe28yHlV6cp+RxpcLQD+DcNXraeW8roEn81lIvIlyXyZoOxApHDqNzK8nuocy6ROL5GW3x5E6gXrR5NZdom/HZ6MSEXGfGnAvJTiuKnSwTkI4L8A7LhUDLL//3j6S05fegD+ZwD3gk1Njxe3yQAAAABJRU5ErkJggg==", "varying vec3 v_positionMC;\n\t\t\t\tvarying vec3 v_positionEC;\n\t\t\t\tvarying vec2 v_st;\n\t\t\t\t\n\t\t\t\tvoid main()\n\t\t\t\t{\n\t\t\t\t\tczm_materialInput materialInput;\n\t\t\t\t\tvec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n\t\t\t\t#ifdef FACE_FORWARD\n\t\t\t\t\tnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\t\t\t\t#endif\n\t\t\t\t\tmaterialInput.s = v_st.s;\n\t\t\t\t\tmaterialInput.st = v_st;\n\t\t\t\t\tmaterialInput.str = vec3(v_st, 0.0);\n\t\t\t\t\tmaterialInput.normalEC = normalEC;\n\t\t\t\t\tmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\n\t\t\t\t\tvec3 positionToEyeEC = -v_positionEC;\n\t\t\t\t\tmaterialInput.positionToEyeEC = positionToEyeEC;\n\t\t\t\t\tczm_material material = czm_getMaterial(materialInput);\n\t\t\t\t#ifdef FLAT\n\t\t\t\t\tgl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n\t\t\t\t#else\n\t\t\t\t\tgl_FragColor = czm_phong(normalize(positionToEyeEC), material", ");\n\t\t\t\t\tif(gl_FragColor.r==1.0&&gl_FragColor.g==1.0&&gl_FragColor.b==1.0&&gl_FragColor.a==1.0){\n\t\t\t\t\t\tgl_FragColor.a = 0.0;\n\t\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t\t}\n\t\t\t", "GeoLocateRatate", "GeoRayPick", "isOnly", "BoundingRectangle", "View", "deferred", "doPick", "minimumRadius", "postProcess", "offscreen", "_frameState", "brdfLutGenerator", "_brdfLutGenerator", "environmentMap", "_cubeMap", "morphTime", "cullingVolume", "computeCullingVolume", "_terrainExaggeration", "minimumDisableDepthTestDistance", "_minimumDisableDepthTestDistance", "invertClassification", "_sunColor", "_actualInvertClassificationColor", "isTranslucencySupported", "invertClassificationColor", "maximumScreenSpaceError", "CullingVolume", "_environmentState", "skyAtmosphereCommand", "skyBoxCommand", "sunDrawCommand", "sunComputeCommand", "moonCommand", "_depthPlane", "renderTranslucentDepthForPick", "planes", "originalFramebuffer", "useGlobeDepthFramebuffer", "viewport", "_hdr", "globeDepth", "useOIT", "usePostProcess", "useInvertClassification", "PickDepth", "derivedCommands", "picking", "depthOnlyCommand", "EPSILON12", "mergeSort", "updateCamera", "far", "updateFrustum", "ENVIRONMENT", "clearGlobeDepth", "_depthClearCommand", "frustumCommandsList", "opaqueFrustumNearOffset", "stencilBuffer", "updatePass", "commands", "GLOBE", "indices", "executeCopyDepth", "TERRAIN_CLASSIFICATION", "CLASSIFICATION", "CESIUM_3D_TILE", "CESIUM_3D_TILE_CLASSIFICATION", "depthTexture", "useDepthPicking", "createPotentiallyVisibleSet", "executeCopyColor", "uniformState", "_pickOffscreenView", "pickFramebuffer", "begin", "disableThisFrame", "pickEx", "end", "_defaultView", "endFrame", "_pick", "ray", "getDepthEx", "readPixels", "unpack", "getPixelsEx", "PickFramebuffer", "watchPlane", "_picker", "Scene", "_originalDestory", "_originalUpdate", "_updatePicked", "_content", "computeVisibilityWithPlaneMask", "MASK_INDETERMINATE", "MASK_OUTSIDE", "_visibility_Old", "visibility", "computeIntersectionWithBoundingVolume", "clippingPlanesOriginMatrix", "_isClipped", "INSIDE", "OUTSIDE", "Cesium3DTile", "projectTo2D", "_boundingVolume2D", "MASK_INSIDE", "INTERSECTING", "COLUMN0ROW0", "COLUMN0ROW1", "COLUMN0ROW2", "COLUMN1ROW0", "COLUMN2ROW0", "COLUMN2ROW2", "_videoProject", "_context2D", "_width", "_dirty", "_sampler", "_updateSize", "videoWidth", "timeupdate", "_getCurrentTexture", "_createSampler", "_source", "params", "UNSIGNED_BYTE", "copyFrom", "_recreateParseCanvas", "drawImage", "nextPowerOfTwo", "_readVideoFramePixels", "videoHeight", "_videoProjection", "_uniforms", "_postStage", "_videoTexture", "_addEvent", "_removeEvent", "_createEvent", "_FS_Cone", "uniform float mixNum;\n", "uniform float videoDistance;\n", "uniform sampler2D videoTexture;\n", "uniform mat4 videoMapMatrix;\n", "uniform mat4 videoViewMatrix;\n", "uniform vec3 videoMapPosition;\n", "    vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0);\n", "    return posInCamera;\n", "bool videoVisibility(sampler2D shadowMap, vec4 position){\n", "    vec4 positionEC = toEye(v_textureCoordinates, depth);\n", "    if (any(lessThan(videoPosition.xyz, vec3(0.0))) || any(greaterThan(videoPosition.xyz, vec3(1.0))))\n", "    bool visibility = videoVisibility(videoMapTexture, videoPosition);\n", "    if(visibility){\n", "        vec4 videoColor = texture2D(videoTexture, videoPosition.xy);\n", "    }else{\n", "_FS_Cone_Fill", "uniform sampler2D videoMapTexture;\n", "uniform vec4 u_videoColor;\n", "    float visibility = step(position.z, texture2D(shadowMap, position.xy).r);\n", "    return (visibility == 1.0);\n", "    vec4 videoPosition = videoMapMatrix * positionEC;\n", "    videoPosition /= videoPosition.w;\n", "        vec4 videoColor = u_videoColor;\n", "        gl_FragColor = vec4(mix(color.rgb, videoColor.rgb, mixNum), 1.0);\n", "_FS_Sphere", "        mat4 viewScene = videoViewMatrix;\n", "            gl_FragColor = color;\n", "            return;\n", "_FS_Sphere_Fill", "        vec4 positionWC = viewScene * positionEC;\n", "        depth = length(videoMapPosition - positionWC.xyz);\n", "_updateState", "_getCurrentVideoTexture", "fillVideo", "_createUniforms", "_createPostStage", "_clearData", "_addToScene", "_removeFromScene", "mixFactor", "_getShadowMapTexture", "_getShadowMapMatrix", "_getViewMatrix", "hitlineColor", "fovDistance", "_updatePost", "hitlineType", "_MinFovX", "_maxFovX", "_minFovY", "_MinFovY", "_maxFovY", "_MaxFovY", "_minFovDistance", "_MinFovDistance", "_maxFovDistance", "_MaxFovDistance", "_minHeading", "_MinHeading", "_maxHeading", "_MaxHeading", "_MinPitch", "_maxPitch", "_MaxPitch", "_minRoll", "_MinRoll", "_MaxRoll", "_minSegmentCount", "_maxSegmentCount", "_MaxSegmentCount", "_isInvSphere", "_isSphereType", "_minFovX", "_minPitch", "_maxRoll", "_MinSegmentCount", "clampSegmentCount", "clampFovY", "clampFovDistance", "clampHeading", "clampPitch", "_videoProjectionCamera", "_fovY", "_fovDistance", "_mixFactor", "_vs", "_fs", "_renderState", "_segmentCount", "_isNeedRecreate", "_visibly", "_shaderProgram", "minFovX", "config", "maxFovX", "maxFovY", "minFovDistance", "minHeading", "maxHeading", "minPitch", "maxPitch", "minRoll", "maxRoll", "minSegmentCount", "maxSegmentCount", "isSphereType", "isInvSphere", "fovX!", "minFovY", "fovY!", "maxFovDistance", "fovDistance!", "heading!", "roll!", "mixFactor!", "_render", "render!", "_getProjectionCamera", "update!", "_updatePosition", "_tryCreate", "_updateFovX", "fovX", "_updateFovY", "_updatePitch", "_updateRoll", "_updateParams", "fovY", "_computeTransformInv", "_computeTransform!", "_createVS", "uniform vec4 uDiffuseColor;\n", "varying vec4 vColor;\n", "varying vec4 clip_vertex;\n", "varying float fWindowZ;\n", "varying vec3 normal_vertex;\n", "vec4 depthClampFarPlane(vec4 clipPos)\n", "    fWindowZ = (0.5 * (clipPos.z / clipPos.w) + 0.5) * clipPos.w;\n", "    return clipPos;\n", "    vec4 pos = czm_modelViewProjection * vec4(aPosition.xyz, 1.0);\n", "    gl_Position = depthClampFarPlane(pos);\n", "    vColor = uDiffuseColor;\n", "    normal_vertex = aPosition.xyz;\n", "#extension GL_EXT_frag_depth : enable\n", "#extension GL_OES_standard_derivatives : enable\n", "    gl_FragDepthEXT = min(fWindowZ * gl_FragCoord.w, 1.0);\n", "    vec3 normal = cross(vec3(dFdx(normal_vertex.x), dFdx(normal_vertex.y), dFdx(normal_vertex.z)), vec3(dFdy(normal_vertex.x), dFdy(normal_vertex.y), dFdy(normal_vertex.z)));\n", "    normal = normalize(normal);\n", "    vec3 lightDirection = normalize(czm_sunPositionWC - vec3(eyePosition));\n", "    vec4 diffuse = vColor * LIGHT_COLOR * nDotL;\n", "    vec4 ambient = vColor * LIGHT_COLOR;\n", "    gl_FragColor = clamp(diffuse + ambient, vec4(0.0), vec4(1.0));\n", "_createVACone", "_fovX", "_createBoundingVolume", "_createVASphere", "_createVA!", "_createVASphereInv", "_createRenderState", "_createAttributes", "_createShadeProgram", "_createShadeProgram!", "_createFS", "fromCornerPoints", "_updateBoundingVolume!", "_computeTransform", "_recreate!", "LINES", "_shadowMap", "_updateMatrixEvent", "_updateEvent", "_createFramebufferDepth", "_textureSize", "_passes", "_shadowMapTexture", "_clearFramebuffer", "_clearPassState", "_destroyShadowFramebuffer", "_colorAttachment", "build", "_updateOri", "_sceneCamera", "_lightCamera", "videoProjectionMaps", "deactive", "updateFovX", "updateFovY", "updateFovDistance", "_shadowMapMatrix", "_nextName", "VideoProjection", "_instance", "nextName", "GeoVideoProjection", "_videoProjectionConfig", "_videoProjectionFrustumPrimitive", "_videoTextureSource", "_videoProjectionPostRender", "_videoShadowMap", "_fillVideo", "DeveloperErrorEvent", "AddToSceneEvent", "RemoveFromSceneEvent", "UpdateMatrixEvent", "UpdateEvent", "_rebuildPostRender", "CreationEvent", "clampFovX", "_createShadowMap", "_destroyPostStage", "updatePosition", "_updateFovDistance", "_updateHeading", "updateHeadingPitchRoll", "updatePitch", "updateRoll", "clampRoll", "updateHitLineColor", "updateMixFactor", "updateLineWidth", "isSamedName", "isSelf", "updateHeading", "_type", "visibly", "_removeAllEvent", "_projectBackFaces", "noname!", "_findByName", "destoryObject", "getByIndex", "removeByIndex", "removeByName", "getNames", "_videoProjectionCollection", "_renderVideoProjectionCollection", "destroyAllVideoProjections", "destroyVideoProjection", "createVideoProjection", "getVideoProjectionCollection", "_clearPassesVideoProjectionCommands", "_executePassesVideoProjectionCommands", "_executeVideoProjectionCommand", "shadows", "castCommands", "projectBackFaces", "outOfView", "shadowMapCullingVolume", "_updateVideoProjectionCommand", "castShadows", "isVisible", "originalCommand", "createCastDerivedCommand", "_updateVideoProjectionCommands", "debugCommandFilter", "logDepth", "hdr", "debugShowCommands", "shadowState", "receiveShadows", "receiveCommand", "oit", "lightShadowMaps", "lightShadowsEnabled", "pickId", "DerivedCommand", "pickOnly", "createDepthOnlyDerivedCommand", "createHdrCommand", "createReceiveDerivedCommand", "isSupported", "createDerivedCommands", "GeoViewAnalyse", "_stage", "filterFar", "inputPreviousStageTexture", "_textureCache", "outputTexture", "_index", "pixelFormat", "forcePowerOfTwo", "pixelDatatype", "clearColor", "initStage", "uniform float u_filterFar;\n", "vec4 clipToEye(vec2 uv, float depth)\n", "   vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\n", "   vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0);\n", "   posEC = posEC / posEC.w;\n", "void main() {\n", "    hsb.g = clamp(hsb.g + 0.03, 0.0, 1.0);\n", "    if (hsb.b > 0.5)\n", "        hsb.b = clamp(hsb.b + 0.01, 0.0, 1.0);\n", "        hsb.b = clamp(hsb.b - 0.02, 0.0, 1.0);\n", "    float depth = czm_readDepth(depthTexture, v_textureCoordinates);\n", "    vec4 posInCamera = clipToEye(v_textureCoordinates, depth);\n", "    float d = length(posInCamera.xyz);\n", "    if (d > u_filterFar)\n", "       gl_FragColor = vec4(mix(color.rgb, vec3(0.8, 0.85, 0.85), 1.0 - u_filterFar / d), 1.0);\n", "    else \n", "       gl_FragColor = vec4(color.rgb, 1.0);\n", "enableFilter", "_isSupported", "GeoWalkerAnimationCamera", "path", "moveStep", "rotateStep", "frameChange", "_lockCamera", "walkFrame", "addChangeEventListener", "_hooker", "_hookUpdate", "geoposition", "unactivate", "_walkAnimation", "_isPause", "changeEvent", "raiseChangeEvent", "isDone", "_isDone", "isPause", "_begin", "_toStop", "state", "_loadGeoposition", "_loadDirection", "run", "ComputeTimeDelta", "getMilliseconds", "getSeconds", "getMinutes", "_createState", "date", "endDirection", "moveSpeed", "rotateSpeed", "rotateSize", "manHeight", "manRange", "stateType", "UNKNOWN", "_readyCamera", "_walkQueue", "canLog", "_collideActived", "collideActived", "filterFog", "keys", "GeoWalkerCamera", "logarithmicDepthBuffer", "raiseUpdate", "FORWARD", "LEFTWARD", "computeLeftward", "UPWARD", "computeTrunUp", "DOWNWARD", "computeTrunDown", "computeTrunRight", "jumpUp", "computeInitialPosition", "computeForeward", "_computeCollideDistance", "Forward : height = ", "Forward Node : height = ", "computeBackward", "getTangentNormal", "Backward : height = ", "Backward Node : height = ", "collide :", " max: ", "Not collide", "computeTrunLeft", "raiseMouseMove", "filterWithCamera", "getFront", "getRear", "getAvgHeight", "getDropThreshold", "preventFalling", "getLatelyHeight", "GeoWater", "_pointsToCartographic", "_waterColor", "_refractColor", "_waveWidth", "_flowDirection", "_flowSpeed", "_normalTexture", "_m_startTime", "_reflectCamera", "_reflectPassState", "_isVisible", "_waterPolygon", "_computeBoundingRectangle", "_polygonHierarchy", "_lonMin", "_latMin", "_waterCenterPos", "initialize", "RenderbufferFormat", "DEPTH_COMPONENT16", "PassState", "_initialized", "waterPolygon", "workingFrustums", "_fScale", "setRow", "invWorldViewMatrix", "modelViewMatrix", "modeiViewProjection", "_fElapse", "_frameTime", "_flowAngle", "attribute vec3 position;\n\t\t\t\t\t\t\t\t\t\t\tattribute vec2 st;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_modelViewProjectionMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_modelViewMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_invWorldViewMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_texCoordOffset;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_texCoordScale;\n\t\t\t\t\t\t\t\t\t\t\tuniform float u_frameTime;\n\t\t\t\t\t\t\t\t\t\t\tuniform int u_clampToGroud;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec3 u_camPos;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec3 u_scale;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec3 eyeDir;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec2 texCoord;\n\t\t\t\t\t\t\t\t\t\t\tvarying float myTime;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec4 projectionCoord;\n\t\t\t\t\t\t\t\t\t\t\tvoid main(void)\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t//gl_Position = ftransform();\n\t\t\t\t\t\t\t\t\t\t\t\tgl_Position = u_modelViewProjectionMatrix * vec4(position.xyz,1.0);\n\t\t\t\t\t\t\t\t\t\t\t\tif (u_clampToGroud == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\teyeDir = (u_camPos - position.xyz) * u_scale;\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec4 pos = u_modelViewMatrix * vec4(position.xyz,1.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\teyeDir = vec3(u_invWorldViewMatrix*vec4(pos.xyz,0.0));\n\t\t\t\t\t\t\t\t\t\t\t\t\tprojectionCoord = gl_Position;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttexCoord = (st+u_texCoordOffset)*u_texCoordScale;\n\t\t\t\t\t\t\t\t\t\t\t\tmyTime = 0.01 * u_frameTime;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t", "uniform sampler2D u_normalMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform sampler2D u_refractMap;\n\t\t\t\t\t\t\t\t\t\t\t\t//uniform samplerCube u_cubeMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform sampler2D u_reflectMap;\n\t\t\t\t\t\t\t\t\t\t\t\t//uniform sampler2D u_flowMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_waterColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_refractColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform int u_useRefractTex;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_reflectColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform int u_reflection;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_flowDir;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec3 eyeDir;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec2 texCoord;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying float myTime;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec4 projectionCoord;\n\t\t\t\t\t\t\t\t\t\t\t\tvoid main (void)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t// texScale determines the amount of tiles generated.\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat texScale = 35.0;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// texScale2 determines the repeat of the water texture (the normalmap) itself\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat texScale2 = 10.0;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat myangle;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat transp;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 myNormal;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 mytexFlowCoord = texCoord * texScale;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// ff is the factor that blends the tiles.\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 ff = abs(2.0*(fract(mytexFlowCoord)) - 1.0) -0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// take a third power, to make the area with more or less equal contribution\n\t\t\t\t\t\t\t\t\t\t\t\t\t// of more tile bigger\n\t\t\t\t\t\t\t\t\t\t\t\t\tff = 0.5-4.0*ff*ff*ff;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// ffscale is a scaling factor that compensates for the effect that\n\t\t\t\t\t\t\t\t\t\t\t\t\t// adding normal vectors together tends to get them closer to the average normal\n\t\t\t\t\t\t\t\t\t\t\t\t\t// which is a visible effect. For more or less random waves, this factor\n\t\t\t\t\t\t\t\t\t\t\t\t\t// compensates for it\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 ffscale = sqrt(ff*ff + (1.0-ff)*(1.0-ff));\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 Tcoord = texCoord  * texScale2;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// offset makes the water move\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 offset = vec2(myTime,0.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// I scale the texFlowCoord and floor the value to create the tiling\n\t\t\t\t\t\t\t\t\t\t\t\t\t// This could have be replace by an extremely lo-res texture lookup\n\t\t\t\t\t\t\t\t\t\t\t\t\t// using NEAREST pixel.\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 sample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor(mytexFlowCoord)/ texScale).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// flowdir is supposed to go from -1 to 1 and the line below\n\t\t\t\t\t\t\t\t\t\t\t\t\t// used to be sample.xy * 2.0 - 1.0, but saves a multiply by\n\t\t\t\t\t\t\t\t\t\t\t\t\t// moving this factor two to the sample.b\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 flowdir = sample.xy -0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// sample.b is used for the inverse length of the wave\n\t\t\t\t\t\t\t\t\t\t\t\t\t// could be premultiplied in sample.xy, but this is easier for editing flowtexture\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir *= sample.b;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// build the rotation matrix that scales and rotates the complete tile\n\t\t\t\t\t\t\t\t\t\t\t\t\tmat2 rotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// this is the normal for tile A\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT0 = texture2D(u_normalMap, rotmat * Tcoord - offset).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// for the next tile (B) I shift by half the tile size in the x-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.5,0)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and the normal for tile B...\n\t\t\t\t\t\t\t\t\t\t\t\t\t// multiply the offset by some number close to 1 to give it a different speed\n\t\t\t\t\t\t\t\t\t\t\t\t\t// The result is that after blending the water starts to animate and look\n\t\t\t\t\t\t\t\t\t\t\t\t\t// realistic, instead of just sliding in some direction.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// This is also why I took the third power of ff above, so the area where the\n\t\t\t\t\t\t\t\t\t\t\t\t\t// water animates is as big as possible\n\t\t\t\t\t\t\t\t\t\t\t\t\t// adding a small arbitrary constant isn't really needed, but helps to show\n\t\t\t\t\t\t\t\t\t\t\t\t\t// a bit less tiling in the beginning of the program. After a few seconds, the\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tiling cannot be seen anymore so this constant could be removed.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// For the quick demo I leave them in. In a simulation that keeps running for\n\t\t\t\t\t\t\t\t\t\t\t\t\t// some time, you could just as well remove these small constant offsets\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT1 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.06+0.62).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// blend them together using the ff factor\n\t\t\t\t\t\t\t\t\t\t\t\t\t// use ff.x because this tile is shifted in the x-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalTAB = ff.x * NormalT0 + (1.0-ff.x) * NormalT1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the scaling of NormalTab and NormalTCD is moved to a single scale of\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalT later in the program, which is mathematically identical to\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalTAB = (NormalTAB - 0.5) / ffscale.x + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tile C is shifted in the y-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.0,0.5)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT0 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.33+0.27).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tile D is shifted in both x- and y-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.5,0.5)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT1 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.24).rg ;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalTCD = ff.x * NormalT0 + (1.0-ff.x) * NormalT1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalTCD = (NormalTCD - 0.5) / ffscale.x + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// now blend the two values togetherv\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT = ff.y * NormalTAB + (1.0-ff.y) * NormalTCD;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// this line below used to be here for scaling the result\n\t\t\t\t\t\t\t\t\t\t\t\t\t//NormalT = (NormalT - 0.5) / ffscale.y + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// below the new, direct scaling of NormalT\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT = (NormalT - 0.5) / (ffscale.y * ffscale.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// scaling by 0.3 is arbritrary, and could be done by just\n\t\t\t\t\t\t\t\t\t\t\t\t\t// changing the values in the normal map\n\t\t\t\t\t\t\t\t\t\t\t\t\t// without this factor, the waves look very strong\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT *= 0.3;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// to make the water more transparent\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransp = 1.0;//texture2D( u_flowMap, texFlowCoord ).a;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and scale the normals with the transparency\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT *= transp*transp;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// assume normal of plane is 0,0,1 and produce the normalized sum of adding NormalT to it\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyNormal = vec3(NormalT,sqrt(1.0-NormalT.x*NormalT.x - NormalT.y*NormalT.y));\n\t\t\t\t\t\t\t\t\t\t\t\t\t// 鑾峰彇鍙嶅皠棰滆壊銆俓n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 envColor = u_reflectColor.rgb;//vec3(0.5647, 0.6941, 0.8235);\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (u_reflection == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//vec3 reflectDir = reflect(eyeDir, myNormal);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//vec3 envColor = vec3(textureCube(u_cubeMap, -reflectDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// 濡傛灉瑕佸疄鐜板弽灏勭湡瀹炲満鏅紝闇�瑕佹妸鍦烘櫙娓叉煋5閬嶆瀯寤轰竴涓棤搴曠殑绔嬫柟浣撶汗鐞嗐�俓n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// 鐩墠浣跨敤涓�寮犲弽灏勭汗鐞嗚繎浼兼ā鎷熴�俓n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 final = projectionCoord.xy / projectionCoord.w;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfinal = final * 0.5 + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfinal.y = 1.0 - final.y;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tenvColor = texture2D(u_reflectMap, final + myNormal.xy/texScale2*transp).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t// very ugly version of fresnel effect\n\t\t\t\t\t\t\t\t\t\t\t\t\t// but it gives a nice transparent water, but not too transparent\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyangle = dot(myNormal,normalize(eyeDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyangle = 0.95-0.6*myangle*myangle;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// blend in the color of the plane below the water\n\t\t\t\t\t\t\t\t\t\t\t\t\t// add in a little distortion of the colormap for the effect of a refracted\n\t\t\t\t\t\t\t\t\t\t\t\t\t// view of the image below the surface.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// (this isn't really tested, just a last minute addition\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and perhaps should be coded differently\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the correct way, would be to use the refract routine, use the alpha channel for depth of\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the water (and make the water disappear when depth = 0), add some watercolor to the colormap\n\t\t\t\t\t\t\t\t\t\t\t\t\t// depending on the depth, and use the calculated refractdir and the depth to find the right\n\t\t\t\t\t\t\t\t\t\t\t\t\t// pixel in the colormap.... who knows, something for the next version\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 base = u_refractColor.rgb;//vec3(0.3, 0.4, 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (u_useRefractTex == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbase = texture2D(u_refractMap,(texCoord + myNormal.xy/texScale2*0.03*transp)*32.0).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tbase = mix(base, u_waterColor.rgb, u_waterColor.a);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// 鍏夌収璁$畻\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 lightDir = czm_sunDirectionEC;//normalize(vec3(0.0, 0.0, 1.0)); // 鍏夌収鏂瑰悜闇�瑕佷粠澶栭潰浼犲叆\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 reflectVec = reflect(-lightDir, myNormal);\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat diffuse = max(0.0, dot(myNormal, lightDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat spec = max(dot(reflectVec, normalize(-eyeDir)), 0.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\tspec = pow(spec, 128.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t//float lightIntensity = 0.7 * diffuse + 0.3 * spec;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat lightIntensity = 0.3 * spec;\n\t\t\t\t\t\t\t\t\t\t\t\t\tgl_FragColor = vec4(mix(base, envColor, myangle*transp), 1.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\tgl_FragColor += vec4(0.8)*lightIntensity;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// note that smaller waves appear to move slower than bigger waves\n\t\t\t\t\t\t\t\t\t\t\t\t\t// one could use the tiles and give each tile a different speed if that\n\t\t\t\t\t\t\t\t\t\t\t\t\t// is what you want\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t", "_uniformMap", "getColorTexture", "_reflectColor", "_waterGeometry", "UNSIGNED_INT", "water", "_updateReflectTexture", "ComputeCommand", "proxy", "metadata", "roadMetadata", "roadUrl", "labelGraphics", "billboardGraphics", "aotuCollide", "collisionPadding", "serverFirstStyle", "tileCache", "labelCache", "_isInitial", "_latelyGrid", "_UUID", "GEO_WTFS_LABEL_", "_UUIDRoad", "getCacheTile", "removeCacheTile", "getCacheLabel", "oid", "addCacheLabel", "removeCacheLabel", "timestamp", "getTileUrl", "/GetTiles?lxys={z},{x},{y}", "getIcoUrl", "/GetIcon?id={id}", "getRoadTileUrl", "_timer", "_tilesToRender", "getTilesToRender", "compareArray", "_queueCall", "_latelyRefreshStamp"];
-            n = S,
-                function (e) {
-                    for (; --e;)
-                        n.push(n.shift())
-                }(310);
-            var T, P = function (e, t) {
-                return S[e -= 0]
-            }, M = function () {
-                function e(e, t) {
-                    for (var i = 0; i < t[P("0x0")]; i++) {
-                        var r = t[i];
-                        r[P("0x1")] = r[P("0x1")] || !1,
-                            r[P("0x2")] = !0,
-                            P("0x3") in r && (r.writable = !0),
-                            E()(e, r[P("0x4")], r)
-                    }
-                }
-                return function (t, i, r) {
-                    return i && e(t[P("0x5")], i),
-                        r && e(t, r),
+                    n.delete = function(e) {
+                        var t = (e = this.keyElem.valueToString(this.keyElem.verifyValue(e)))in this.map;
+                        return delete this.map[e],
                         t
+                    }
+                    ,
+                    n.entries = function() {
+                        for (var e, t = [], r = a()(this.map), n = 0; n < r.length; n++)
+                            t.push([(e = this.map[r[n]]).key, e.value]);
+                        return i(t)
+                    }
+                    ,
+                    n.keys = function() {
+                        for (var e = [], t = a()(this.map), r = 0; r < t.length; r++)
+                            e.push(this.map[t[r]].key);
+                        return i(e)
+                    }
+                    ,
+                    n.values = function() {
+                        for (var e = [], t = a()(this.map), r = 0; r < t.length; r++)
+                            e.push(this.map[t[r]].value);
+                        return i(e)
+                    }
+                    ,
+                    n.forEach = function(e, t) {
+                        for (var i, r = a()(this.map), n = 0; n < r.length; n++)
+                            e.call(t, (i = this.map[r[n]]).value, i.key, this)
+                    }
+                    ,
+                    n.set = function(e, t) {
+                        var i = this.keyElem.verifyValue(e)
+                          , r = this.valueElem.verifyValue(t);
+                        return this.map[this.keyElem.valueToString(i)] = {
+                            key: i,
+                            value: r
+                        },
+                        this
+                    }
+                    ,
+                    n.get = function(e) {
+                        return (e = this.keyElem.valueToString(this.keyElem.verifyValue(e)))in this.map ? this.map[e].value : void 0
+                    }
+                    ,
+                    n.has = function(e) {
+                        return this.keyElem.valueToString(this.keyElem.verifyValue(e))in this.map
+                    }
+                    ,
+                    r
+                }(0, s.Reflect),
+                s.loadProto = function(e, t, i) {
+                    return ("string" == typeof t || t && "string" == typeof t.file && "string" == typeof t.root) && (i = t,
+                    t = void 0),
+                    s.loadJson(s.DotProto.Parser.parse(e), t, i)
                 }
-            }();
-            function N(e, t) {
-                if (!(e instanceof t))
-                    throw new TypeError("Cannot call a class as a function")
+                ,
+                s.protoFromString = s.loadProto,
+                s.loadProtoFile = function(e, t, i) {
+                    if (t && "object" === b()(t) ? (i = t,
+                    t = null) : t && "function" == typeof t || (t = null),
+                    t)
+                        return s.Util.fetch("string" == typeof e ? e : e.root + "/" + e.file, (function(r) {
+                            if (null === r)
+                                t(Error("Failed to fetch file"));
+                            else
+                                try {
+                                    t(null, s.loadProto(r, i, e))
+                                } catch (e) {
+                                    t(e)
+                                }
+                        }
+                        ));
+                    var r = s.Util.fetch("object" === b()(e) ? e.root + "/" + e.file : e);
+                    return null === r ? null : s.loadProto(r, i, e)
+                }
+                ,
+                s.protoFromFile = s.loadProtoFile,
+                s.newBuilder = function(e) {
+                    return void 0 === (e = e || {}).convertFieldsToCamelCase && (e.convertFieldsToCamelCase = s.convertFieldsToCamelCase),
+                    void 0 === e.populateAccessors && (e.populateAccessors = s.populateAccessors),
+                    new s.Builder(e)
+                }
+                ,
+                s.loadJson = function(e, t, i) {
+                    return ("string" == typeof t || t && "string" == typeof t.file && "string" == typeof t.root) && (i = t,
+                    t = null),
+                    t && "object" === b()(t) || (t = s.newBuilder()),
+                    "string" == typeof e && (e = JSON.parse(e)),
+                    t.import(e, i),
+                    t.resolveAll(),
+                    t
+                }
+                ,
+                s.loadJsonFile = function(e, t, i) {
+                    if (t && "object" === b()(t) ? (i = t,
+                    t = null) : t && "function" == typeof t || (t = null),
+                    t)
+                        return s.Util.fetch("string" == typeof e ? e : e.root + "/" + e.file, (function(r) {
+                            if (null === r)
+                                t(Error("Failed to fetch file"));
+                            else
+                                try {
+                                    t(null, s.loadJson(JSON.parse(r), i, e))
+                                } catch (e) {
+                                    t(e)
+                                }
+                        }
+                        ));
+                    var r = s.Util.fetch("object" === b()(e) ? e.root + "/" + e.file : e);
+                    return null === r ? null : s.loadJson(JSON.parse(r), i, e)
+                }
+                ,
+                s
             }
-            function L(e) {
-                for (var t = e || P("0x120"), i = "", r = new RegExp(P("0x121") + t + P("0x122")), n = document[P("0x123")](P("0x124")), o = 0, a = n[P("0x0")]; o < a; o++) {
-                    var s = n[o].getAttribute(P("0x125"));
-                    if (s) {
-                        var x = s[P("0x126")](r);
-                        if (x) {
-                            i = x[1];
+            ))
+        }
+        ).call(this, i(95), i(96)(e))
+    }
+    , function(e, t, i) {
+        var r = i(5)
+          , n = r.JSON || (r.JSON = {
+            stringify: JSON.stringify
+        });
+        e.exports = function(e) {
+            return n.stringify.apply(n, arguments)
+        }
+    }
+    , function(e, t) {
+        e.exports = function(e, t) {
+            return {
+                value: t,
+                done: !!e
+            }
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(35)
+          , n = i(23)
+          , o = i(22)
+          , a = i(20)
+          , s = i(36)
+          , x = i(151)
+          , l = i(55)
+          , c = i(104)
+          , u = i(4)("iterator")
+          , h = !([].keys && "next"in [].keys())
+          , f = function() {
+            return this
+        };
+        e.exports = function(e, t, i, d, g, p, m) {
+            x(i, t, d);
+            var b, v, C, y = function(e) {
+                if (!h && e in w)
+                    return w[e];
+                switch (e) {
+                case "keys":
+                case "values":
+                    return function() {
+                        return new i(this,e)
+                    }
+                }
+                return function() {
+                    return new i(this,e)
+                }
+            }, _ = t + " Iterator", A = "values" == g, I = !1, w = e.prototype, G = w[u] || w["@@iterator"] || g && w[g], E = G || y(g), S = g ? A ? y("entries") : E : void 0, T = "Array" == t && w.entries || G;
+            if (T && (C = c(T.call(new e))) !== Object.prototype && C.next && (l(C, _, !0),
+            r || "function" == typeof C[u] || a(C, u, f)),
+            A && G && "values" !== G.name && (I = !0,
+            E = function() {
+                return G.call(this)
+            }
+            ),
+            r && !m || !h && !I && w[u] || a(w, u, E),
+            s[t] = E,
+            s[_] = f,
+            g)
+                if (b = {
+                    values: A ? E : y("values"),
+                    keys: p ? E : y("keys"),
+                    entries: S
+                },
+                m)
+                    for (v in b)
+                        v in w || o(w, v, b[v]);
+                else
+                    n(n.P + n.F * (h || I), t, b);
+            return b
+        }
+    }
+    , function(e, t, i) {
+        e.exports = i(50)("native-function-to-string", Function.toString)
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(52)
+          , n = i(45)
+          , o = i(55)
+          , a = {};
+        i(20)(a, i(4)("iterator"), (function() {
+            return this
+        }
+        )),
+        e.exports = function(e, t, i) {
+            e.prototype = r(a, {
+                next: n(1, i)
+            }),
+            o(e, t + " Iterator")
+        }
+    }
+    , function(e, t, i) {
+        var r = i(13)
+          , n = i(17)
+          , o = i(53);
+        e.exports = i(11) ? Object.defineProperties : function(e, t) {
+            n(e);
+            for (var i, a = o(t), s = a.length, x = 0; s > x; )
+                r.f(e, i = a[x++], t[i]);
+            return e
+        }
+    }
+    , function(e, t, i) {
+        var r = i(10).document;
+        e.exports = r && r.documentElement
+    }
+    , function(e, t, i) {
+        i(155),
+        e.exports = i(5).Object.keys
+    }
+    , function(e, t, i) {
+        var r = i(72)
+          , n = i(57);
+        i(159)("keys", (function() {
+            return function(e) {
+                return n(r(e))
+            }
+        }
+        ))
+    }
+    , function(e, t, i) {
+        var r = i(47);
+        e.exports = Object("z").propertyIsEnumerable(0) ? Object : function(e) {
+            return "String" == r(e) ? e.split("") : Object(e)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(39)
+          , n = i(106)
+          , o = i(158);
+        e.exports = function(e) {
+            return function(t, i, a) {
+                var s, x = r(t), l = n(x.length), c = o(a, l);
+                if (e && i != i) {
+                    for (; l > c; )
+                        if ((s = x[c++]) != s)
+                            return !0
+                } else
+                    for (; l > c; c++)
+                        if ((e || c in x) && x[c] === i)
+                            return e || c || 0;
+                return !e && -1
+            }
+        }
+    }
+    , function(e, t, i) {
+        var r = i(73)
+          , n = Math.max
+          , o = Math.min;
+        e.exports = function(e, t) {
+            return (e = r(e)) < 0 ? n(e + t, 0) : o(e, t)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(12)
+          , n = i(5)
+          , o = i(40);
+        e.exports = function(e, t) {
+            var i = (n.Object || {})[e] || Object[e]
+              , a = {};
+            a[e] = t(i),
+            r(r.S + r.F * o((function() {
+                i(1)
+            }
+            )), "Object", a)
+        }
+    }
+    , function(e, t, i) {
+        i(161);
+        var r = i(5).Object;
+        e.exports = function(e, t, i) {
+            return r.defineProperty(e, t, i)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(12);
+        r(r.S + r.F * !i(25), "Object", {
+            defineProperty: i(26).f
+        })
+    }
+    , function(e, t, i) {
+        var r = i(29)
+          , n = i(38);
+        e.exports = function(e) {
+            return function(t, i) {
+                var o, a, s = String(n(t)), x = r(i), l = s.length;
+                return x < 0 || x >= l ? e ? "" : void 0 : (o = s.charCodeAt(x)) < 55296 || o > 56319 || x + 1 === l || (a = s.charCodeAt(x + 1)) < 56320 || a > 57343 ? e ? s.charAt(x) : o : e ? s.slice(x, x + 2) : a - 56320 + (o - 55296 << 10) + 65536
+            }
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(82);
+        i(23)({
+            target: "RegExp",
+            proto: !0,
+            forced: r !== /./.exec
+        }, {
+            exec: r
+        })
+    }
+    , function(e, t, i) {
+        i(165);
+        var r = i(5).Object;
+        e.exports = function(e, t) {
+            return r.create(e, t)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(12);
+        r(r.S, "Object", {
+            create: i(83)
+        })
+    }
+    , function(e, t, i) {
+        i(11) && "g" != /./g.flags && i(13).f(RegExp.prototype, "flags", {
+            configurable: !0,
+            get: i(64)
+        })
+    }
+    , function(e, t, i) {
+        i(168),
+        e.exports = i(5).Array.isArray
+    }
+    , function(e, t, i) {
+        var r = i(12);
+        r(r.S, "Array", {
+            isArray: i(111)
+        })
+    }
+    , function(e, t, i) {
+        i(170),
+        e.exports = i(5).parseFloat
+    }
+    , function(e, t, i) {
+        var r = i(12)
+          , n = i(171);
+        r(r.G + r.F * (parseFloat != n), {
+            parseFloat: n
+        })
+    }
+    , function(e, t, i) {
+        var r = i(7).parseFloat
+          , n = i(112).trim;
+        e.exports = 1 / r(i(87) + "-0") != -1 / 0 ? function(e) {
+            var t = n(String(e), 3)
+              , i = r(t);
+            return 0 === i && "-" == t.charAt(0) ? -0 : i
+        }
+        : r
+    }
+    , function(e, t, i) {
+        i(173),
+        e.exports = i(5).parseInt
+    }
+    , function(e, t, i) {
+        var r = i(12)
+          , n = i(174);
+        r(r.G + r.F * (parseInt != n), {
+            parseInt: n
+        })
+    }
+    , function(e, t, i) {
+        var r = i(7).parseInt
+          , n = i(112).trim
+          , o = i(87)
+          , a = /^[-+]?0[xX]/;
+        e.exports = 8 !== r(o + "08") || 22 !== r(o + "0x16") ? function(e, t) {
+            var i = n(String(e), 3);
+            return r(i, t >>> 0 || (a.test(i) ? 16 : 10))
+        }
+        : r
+    }
+    , function(e, t, i) {
+        e.exports = i(176)
+    }
+    , function(e, t, i) {
+        i(113),
+        i(116),
+        e.exports = i(89).f("iterator")
+    }
+    , function(e, t, i) {
+        var r = i(73)
+          , n = i(56);
+        e.exports = function(e) {
+            return function(t, i) {
+                var o, a, s = String(n(t)), x = r(i), l = s.length;
+                return x < 0 || x >= l ? e ? "" : void 0 : (o = s.charCodeAt(x)) < 55296 || o > 56319 || x + 1 === l || (a = s.charCodeAt(x + 1)) < 56320 || a > 57343 ? e ? s.charAt(x) : o : e ? s.slice(x, x + 2) : a - 56320 + (o - 55296 << 10) + 65536
+            }
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(83)
+          , n = i(61)
+          , o = i(66)
+          , a = {};
+        i(32)(a, i(14)("iterator"), (function() {
+            return this
+        }
+        )),
+        e.exports = function(e, t, i) {
+            e.prototype = r(a, {
+                next: n(1, i)
+            }),
+            o(e, t + " Iterator")
+        }
+    }
+    , function(e, t, i) {
+        var r = i(31)
+          , n = i(72)
+          , o = i(74)("IE_PROTO")
+          , a = Object.prototype;
+        e.exports = Object.getPrototypeOf || function(e) {
+            return e = n(e),
+            r(e, o) ? e[o] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? a : null
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(181)
+          , n = i(182)
+          , o = i(49)
+          , a = i(39);
+        e.exports = i(114)(Array, "Array", (function(e, t) {
+            this._t = a(e),
+            this._i = 0,
+            this._k = t
+        }
+        ), (function() {
+            var e = this._t
+              , t = this._k
+              , i = this._i++;
+            return !e || i >= e.length ? (this._t = void 0,
+            n(1)) : n(0, "keys" == t ? i : "values" == t ? e[i] : [i, e[i]])
+        }
+        ), "values"),
+        o.Arguments = o.Array,
+        r("keys"),
+        r("values"),
+        r("entries")
+    }
+    , function(e, t) {
+        e.exports = function() {}
+    }
+    , function(e, t) {
+        e.exports = function(e, t) {
+            return {
+                value: t,
+                done: !!e
+            }
+        }
+    }
+    , function(e, t, i) {
+        i(184),
+        i(119),
+        i(189),
+        i(190),
+        e.exports = i(5).Symbol
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(7)
+          , n = i(31)
+          , o = i(25)
+          , a = i(12)
+          , s = i(115)
+          , x = i(185).KEY
+          , l = i(40)
+          , c = i(75)
+          , u = i(66)
+          , h = i(58)
+          , f = i(14)
+          , d = i(89)
+          , g = i(90)
+          , p = i(186)
+          , m = i(111)
+          , b = i(27)
+          , v = i(33)
+          , C = i(72)
+          , y = i(39)
+          , _ = i(78)
+          , A = i(61)
+          , I = i(83)
+          , w = i(187)
+          , G = i(188)
+          , E = i(117)
+          , S = i(26)
+          , T = i(57)
+          , P = G.f
+          , M = S.f
+          , N = w.f
+          , L = r.Symbol
+          , R = r.JSON
+          , O = R && R.stringify
+          , F = f("_hidden")
+          , D = f("toPrimitive")
+          , U = {}.propertyIsEnumerable
+          , k = c("symbol-registry")
+          , B = c("symbols")
+          , W = c("op-symbols")
+          , j = Object.prototype
+          , V = "function" == typeof L && !!E.f
+          , z = r.QObject
+          , H = !z || !z.prototype || !z.prototype.findChild
+          , q = o && l((function() {
+            return 7 != I(M({}, "a", {
+                get: function() {
+                    return M(this, "a", {
+                        value: 7
+                    }).a
+                }
+            })).a
+        }
+        )) ? function(e, t, i) {
+            var r = P(j, t);
+            r && delete j[t],
+            M(e, t, i),
+            r && e !== j && M(j, t, r)
+        }
+        : M
+          , X = function(e) {
+            var t = B[e] = I(L.prototype);
+            return t._k = e,
+            t
+        }
+          , Y = V && "symbol" == typeof L.iterator ? function(e) {
+            return "symbol" == typeof e
+        }
+        : function(e) {
+            return e instanceof L
+        }
+          , K = function(e, t, i) {
+            return e === j && K(W, t, i),
+            b(e),
+            t = _(t, !0),
+            b(i),
+            n(B, t) ? (i.enumerable ? (n(e, F) && e[F][t] && (e[F][t] = !1),
+            i = I(i, {
+                enumerable: A(0, !1)
+            })) : (n(e, F) || M(e, F, A(1, {})),
+            e[F][t] = !0),
+            q(e, t, i)) : M(e, t, i)
+        }
+          , Q = function(e, t) {
+            b(e);
+            for (var i, r = p(t = y(t)), n = 0, o = r.length; o > n; )
+                K(e, i = r[n++], t[i]);
+            return e
+        }
+          , Z = function(e) {
+            var t = U.call(this, e = _(e, !0));
+            return !(this === j && n(B, e) && !n(W, e)) && (!(t || !n(this, e) || !n(B, e) || n(this, F) && this[F][e]) || t)
+        }
+          , J = function(e, t) {
+            if (e = y(e),
+            t = _(t, !0),
+            e !== j || !n(B, t) || n(W, t)) {
+                var i = P(e, t);
+                return !i || !n(B, t) || n(e, F) && e[F][t] || (i.enumerable = !0),
+                i
+            }
+        }
+          , $ = function(e) {
+            for (var t, i = N(y(e)), r = [], o = 0; i.length > o; )
+                n(B, t = i[o++]) || t == F || t == x || r.push(t);
+            return r
+        }
+          , ee = function(e) {
+            for (var t, i = e === j, r = N(i ? W : y(e)), o = [], a = 0; r.length > a; )
+                !n(B, t = r[a++]) || i && !n(j, t) || o.push(B[t]);
+            return o
+        };
+        V || (s((L = function() {
+            if (this instanceof L)
+                throw TypeError("Symbol is not a constructor!");
+            var e = h(arguments.length > 0 ? arguments[0] : void 0)
+              , t = function(i) {
+                this === j && t.call(W, i),
+                n(this, F) && n(this[F], e) && (this[F][e] = !1),
+                q(this, e, A(1, i))
+            };
+            return o && H && q(j, e, {
+                configurable: !0,
+                set: t
+            }),
+            X(e)
+        }
+        ).prototype, "toString", (function() {
+            return this._k
+        }
+        )),
+        G.f = J,
+        S.f = K,
+        i(118).f = w.f = $,
+        i(91).f = Z,
+        E.f = ee,
+        o && !i(48) && s(j, "propertyIsEnumerable", Z, !0),
+        d.f = function(e) {
+            return X(f(e))
+        }
+        ),
+        a(a.G + a.W + a.F * !V, {
+            Symbol: L
+        });
+        for (var te = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), ie = 0; te.length > ie; )
+            f(te[ie++]);
+        for (var re = T(f.store), ne = 0; re.length > ne; )
+            g(re[ne++]);
+        a(a.S + a.F * !V, "Symbol", {
+            for: function(e) {
+                return n(k, e += "") ? k[e] : k[e] = L(e)
+            },
+            keyFor: function(e) {
+                if (!Y(e))
+                    throw TypeError(e + " is not a symbol!");
+                for (var t in k)
+                    if (k[t] === e)
+                        return t
+            },
+            useSetter: function() {
+                H = !0
+            },
+            useSimple: function() {
+                H = !1
+            }
+        }),
+        a(a.S + a.F * !V, "Object", {
+            create: function(e, t) {
+                return void 0 === t ? I(e) : Q(I(e), t)
+            },
+            defineProperty: K,
+            defineProperties: Q,
+            getOwnPropertyDescriptor: J,
+            getOwnPropertyNames: $,
+            getOwnPropertySymbols: ee
+        });
+        var oe = l((function() {
+            E.f(1)
+        }
+        ));
+        a(a.S + a.F * oe, "Object", {
+            getOwnPropertySymbols: function(e) {
+                return E.f(C(e))
+            }
+        }),
+        R && a(a.S + a.F * (!V || l((function() {
+            var e = L();
+            return "[null]" != O([e]) || "{}" != O({
+                a: e
+            }) || "{}" != O(Object(e))
+        }
+        ))), "JSON", {
+            stringify: function(e) {
+                for (var t, i, r = [e], n = 1; arguments.length > n; )
+                    r.push(arguments[n++]);
+                if (i = t = r[1],
+                (v(t) || void 0 !== e) && !Y(e))
+                    return m(t) || (t = function(e, t) {
+                        if ("function" == typeof i && (t = i.call(this, e, t)),
+                        !Y(t))
+                            return t
+                    }
+                    ),
+                    r[1] = t,
+                    O.apply(R, r)
+            }
+        }),
+        L.prototype[D] || i(32)(L.prototype, D, L.prototype.valueOf),
+        u(L, "Symbol"),
+        u(Math, "Math", !0),
+        u(r.JSON, "JSON", !0)
+    }
+    , function(e, t, i) {
+        var r = i(58)("meta")
+          , n = i(33)
+          , o = i(31)
+          , a = i(26).f
+          , s = 0
+          , x = Object.isExtensible || function() {
+            return !0
+        }
+          , l = !i(40)((function() {
+            return x(Object.preventExtensions({}))
+        }
+        ))
+          , c = function(e) {
+            a(e, r, {
+                value: {
+                    i: "O" + ++s,
+                    w: {}
+                }
+            })
+        }
+          , u = e.exports = {
+            KEY: r,
+            NEED: !1,
+            fastKey: function(e, t) {
+                if (!n(e))
+                    return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e;
+                if (!o(e, r)) {
+                    if (!x(e))
+                        return "F";
+                    if (!t)
+                        return "E";
+                    c(e)
+                }
+                return e[r].i
+            },
+            getWeak: function(e, t) {
+                if (!o(e, r)) {
+                    if (!x(e))
+                        return !0;
+                    if (!t)
+                        return !1;
+                    c(e)
+                }
+                return e[r].w
+            },
+            onFreeze: function(e) {
+                return l && u.NEED && x(e) && !o(e, r) && c(e),
+                e
+            }
+        }
+    }
+    , function(e, t, i) {
+        var r = i(57)
+          , n = i(117)
+          , o = i(91);
+        e.exports = function(e) {
+            var t = r(e)
+              , i = n.f;
+            if (i)
+                for (var a, s = i(e), x = o.f, l = 0; s.length > l; )
+                    x.call(e, a = s[l++]) && t.push(a);
+            return t
+        }
+    }
+    , function(e, t, i) {
+        var r = i(39)
+          , n = i(118).f
+          , o = {}.toString
+          , a = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
+        e.exports.f = function(e) {
+            return a && "[object Window]" == o.call(e) ? function(e) {
+                try {
+                    return n(e)
+                } catch (e) {
+                    return a.slice()
+                }
+            }(e) : n(r(e))
+        }
+    }
+    , function(e, t, i) {
+        var r = i(91)
+          , n = i(61)
+          , o = i(39)
+          , a = i(78)
+          , s = i(31)
+          , x = i(107)
+          , l = Object.getOwnPropertyDescriptor;
+        t.f = i(25) ? l : function(e, t) {
+            if (e = o(e),
+            t = a(t, !0),
+            x)
+                try {
+                    return l(e, t)
+                } catch (e) {}
+            if (s(e, t))
+                return n(!r.f.call(e, t), e[t])
+        }
+    }
+    , function(e, t, i) {
+        i(90)("asyncIterator")
+    }
+    , function(e, t, i) {
+        i(90)("observable")
+    }
+    , function(e, t, i) {
+        var r, n, o;
+        /**
+ * @license long.js (c) 2013 Daniel Wirtz <dcode@dcode.io>
+ * Released under the Apache License, Version 2.0
+ * see: https://github.com/dcodeIO/long.js for details
+ */
+        n = [],
+        void 0 === (o = "function" == typeof (r = function() {
+            "use strict";
+            function e(e, t, i) {
+                this.low = 0 | e,
+                this.high = 0 | t,
+                this.unsigned = !!i
+            }
+            function t(e) {
+                return !0 === (e && e.__isLong__)
+            }
+            e.prototype.__isLong__,
+            Object.defineProperty(e.prototype, "__isLong__", {
+                value: !0,
+                enumerable: !1,
+                configurable: !1
+            }),
+            e.isLong = t;
+            var i = {}
+              , r = {};
+            function n(e, t) {
+                var n, o, s;
+                return t ? (s = 0 <= (e >>>= 0) && e < 256) && (o = r[e]) ? o : (n = a(e, (0 | e) < 0 ? -1 : 0, !0),
+                s && (r[e] = n),
+                n) : (s = -128 <= (e |= 0) && e < 128) && (o = i[e]) ? o : (n = a(e, e < 0 ? -1 : 0, !1),
+                s && (i[e] = n),
+                n)
+            }
+            function o(e, t) {
+                if (isNaN(e) || !isFinite(e))
+                    return t ? g : d;
+                if (t) {
+                    if (e < 0)
+                        return g;
+                    if (e >= u)
+                        return C
+                } else {
+                    if (e <= -h)
+                        return y;
+                    if (e + 1 >= h)
+                        return v
+                }
+                return e < 0 ? o(-e, t).neg() : a(e % c | 0, e / c | 0, t)
+            }
+            function a(t, i, r) {
+                return new e(t,i,r)
+            }
+            e.fromInt = n,
+            e.fromNumber = o,
+            e.fromBits = a;
+            var s = Math.pow;
+            function x(e, t, i) {
+                if (0 === e.length)
+                    throw Error("empty string");
+                if ("NaN" === e || "Infinity" === e || "+Infinity" === e || "-Infinity" === e)
+                    return d;
+                if ("number" == typeof t ? (i = t,
+                t = !1) : t = !!t,
+                (i = i || 10) < 2 || 36 < i)
+                    throw RangeError("radix");
+                var r;
+                if ((r = e.indexOf("-")) > 0)
+                    throw Error("interior hyphen");
+                if (0 === r)
+                    return x(e.substring(1), t, i).neg();
+                for (var n = o(s(i, 8)), a = d, l = 0; l < e.length; l += 8) {
+                    var c = Math.min(8, e.length - l)
+                      , u = parseInt(e.substring(l, l + c), i);
+                    if (c < 8) {
+                        var h = o(s(i, c));
+                        a = a.mul(h).add(o(u))
+                    } else
+                        a = (a = a.mul(n)).add(o(u))
+                }
+                return a.unsigned = t,
+                a
+            }
+            function l(t) {
+                return t instanceof e ? t : "number" == typeof t ? o(t) : "string" == typeof t ? x(t) : a(t.low, t.high, t.unsigned)
+            }
+            e.fromString = x,
+            e.fromValue = l;
+            var c = 4294967296
+              , u = c * c
+              , h = u / 2
+              , f = n(1 << 24)
+              , d = n(0);
+            e.ZERO = d;
+            var g = n(0, !0);
+            e.UZERO = g;
+            var p = n(1);
+            e.ONE = p;
+            var m = n(1, !0);
+            e.UONE = m;
+            var b = n(-1);
+            e.NEG_ONE = b;
+            var v = a(-1, 2147483647, !1);
+            e.MAX_VALUE = v;
+            var C = a(-1, -1, !0);
+            e.MAX_UNSIGNED_VALUE = C;
+            var y = a(0, -2147483648, !1);
+            e.MIN_VALUE = y;
+            var _ = e.prototype;
+            return _.toInt = function() {
+                return this.unsigned ? this.low >>> 0 : this.low
+            }
+            ,
+            _.toNumber = function() {
+                return this.unsigned ? (this.high >>> 0) * c + (this.low >>> 0) : this.high * c + (this.low >>> 0)
+            }
+            ,
+            _.toString = function(e) {
+                if ((e = e || 10) < 2 || 36 < e)
+                    throw RangeError("radix");
+                if (this.isZero())
+                    return "0";
+                if (this.isNegative()) {
+                    if (this.eq(y)) {
+                        var t = o(e)
+                          , i = this.div(t)
+                          , r = i.mul(t).sub(this);
+                        return i.toString(e) + r.toInt().toString(e)
+                    }
+                    return "-" + this.neg().toString(e)
+                }
+                for (var n = o(s(e, 6), this.unsigned), a = this, x = ""; ; ) {
+                    var l = a.div(n)
+                      , c = (a.sub(l.mul(n)).toInt() >>> 0).toString(e);
+                    if ((a = l).isZero())
+                        return c + x;
+                    for (; c.length < 6; )
+                        c = "0" + c;
+                    x = "" + c + x
+                }
+            }
+            ,
+            _.getHighBits = function() {
+                return this.high
+            }
+            ,
+            _.getHighBitsUnsigned = function() {
+                return this.high >>> 0
+            }
+            ,
+            _.getLowBits = function() {
+                return this.low
+            }
+            ,
+            _.getLowBitsUnsigned = function() {
+                return this.low >>> 0
+            }
+            ,
+            _.getNumBitsAbs = function() {
+                if (this.isNegative())
+                    return this.eq(y) ? 64 : this.neg().getNumBitsAbs();
+                for (var e = 0 != this.high ? this.high : this.low, t = 31; t > 0 && 0 == (e & 1 << t); t--)
+                    ;
+                return 0 != this.high ? t + 33 : t + 1
+            }
+            ,
+            _.isZero = function() {
+                return 0 === this.high && 0 === this.low
+            }
+            ,
+            _.isNegative = function() {
+                return !this.unsigned && this.high < 0
+            }
+            ,
+            _.isPositive = function() {
+                return this.unsigned || this.high >= 0
+            }
+            ,
+            _.isOdd = function() {
+                return 1 == (1 & this.low)
+            }
+            ,
+            _.isEven = function() {
+                return 0 == (1 & this.low)
+            }
+            ,
+            _.equals = function(e) {
+                return t(e) || (e = l(e)),
+                (this.unsigned === e.unsigned || this.high >>> 31 != 1 || e.high >>> 31 != 1) && this.high === e.high && this.low === e.low
+            }
+            ,
+            _.eq = _.equals,
+            _.notEquals = function(e) {
+                return !this.eq(e)
+            }
+            ,
+            _.neq = _.notEquals,
+            _.lessThan = function(e) {
+                return this.comp(e) < 0
+            }
+            ,
+            _.lt = _.lessThan,
+            _.lessThanOrEqual = function(e) {
+                return this.comp(e) <= 0
+            }
+            ,
+            _.lte = _.lessThanOrEqual,
+            _.greaterThan = function(e) {
+                return this.comp(e) > 0
+            }
+            ,
+            _.gt = _.greaterThan,
+            _.greaterThanOrEqual = function(e) {
+                return this.comp(e) >= 0
+            }
+            ,
+            _.gte = _.greaterThanOrEqual,
+            _.compare = function(e) {
+                if (t(e) || (e = l(e)),
+                this.eq(e))
+                    return 0;
+                var i = this.isNegative()
+                  , r = e.isNegative();
+                return i && !r ? -1 : !i && r ? 1 : this.unsigned ? e.high >>> 0 > this.high >>> 0 || e.high === this.high && e.low >>> 0 > this.low >>> 0 ? -1 : 1 : this.sub(e).isNegative() ? -1 : 1
+            }
+            ,
+            _.comp = _.compare,
+            _.negate = function() {
+                return !this.unsigned && this.eq(y) ? y : this.not().add(p)
+            }
+            ,
+            _.neg = _.negate,
+            _.add = function(e) {
+                t(e) || (e = l(e));
+                var i = this.high >>> 16
+                  , r = 65535 & this.high
+                  , n = this.low >>> 16
+                  , o = 65535 & this.low
+                  , s = e.high >>> 16
+                  , x = 65535 & e.high
+                  , c = e.low >>> 16
+                  , u = 0
+                  , h = 0
+                  , f = 0
+                  , d = 0;
+                return f += (d += o + (65535 & e.low)) >>> 16,
+                h += (f += n + c) >>> 16,
+                u += (h += r + x) >>> 16,
+                u += i + s,
+                a((f &= 65535) << 16 | (d &= 65535), (u &= 65535) << 16 | (h &= 65535), this.unsigned)
+            }
+            ,
+            _.subtract = function(e) {
+                return t(e) || (e = l(e)),
+                this.add(e.neg())
+            }
+            ,
+            _.sub = _.subtract,
+            _.multiply = function(e) {
+                if (this.isZero())
+                    return d;
+                if (t(e) || (e = l(e)),
+                e.isZero())
+                    return d;
+                if (this.eq(y))
+                    return e.isOdd() ? y : d;
+                if (e.eq(y))
+                    return this.isOdd() ? y : d;
+                if (this.isNegative())
+                    return e.isNegative() ? this.neg().mul(e.neg()) : this.neg().mul(e).neg();
+                if (e.isNegative())
+                    return this.mul(e.neg()).neg();
+                if (this.lt(f) && e.lt(f))
+                    return o(this.toNumber() * e.toNumber(), this.unsigned);
+                var i = this.high >>> 16
+                  , r = 65535 & this.high
+                  , n = this.low >>> 16
+                  , s = 65535 & this.low
+                  , x = e.high >>> 16
+                  , c = 65535 & e.high
+                  , u = e.low >>> 16
+                  , h = 65535 & e.low
+                  , g = 0
+                  , p = 0
+                  , m = 0
+                  , b = 0;
+                return m += (b += s * h) >>> 16,
+                p += (m += n * h) >>> 16,
+                m &= 65535,
+                p += (m += s * u) >>> 16,
+                g += (p += r * h) >>> 16,
+                p &= 65535,
+                g += (p += n * u) >>> 16,
+                p &= 65535,
+                g += (p += s * c) >>> 16,
+                g += i * h + r * u + n * c + s * x,
+                a((m &= 65535) << 16 | (b &= 65535), (g &= 65535) << 16 | (p &= 65535), this.unsigned)
+            }
+            ,
+            _.mul = _.multiply,
+            _.divide = function(e) {
+                if (t(e) || (e = l(e)),
+                e.isZero())
+                    throw Error("division by zero");
+                if (this.isZero())
+                    return this.unsigned ? g : d;
+                var i, r, n;
+                if (this.unsigned) {
+                    if (e.unsigned || (e = e.toUnsigned()),
+                    e.gt(this))
+                        return g;
+                    if (e.gt(this.shru(1)))
+                        return m;
+                    n = g
+                } else {
+                    if (this.eq(y))
+                        return e.eq(p) || e.eq(b) ? y : e.eq(y) ? p : (i = this.shr(1).div(e).shl(1)).eq(d) ? e.isNegative() ? p : b : (r = this.sub(e.mul(i)),
+                        n = i.add(r.div(e)));
+                    if (e.eq(y))
+                        return this.unsigned ? g : d;
+                    if (this.isNegative())
+                        return e.isNegative() ? this.neg().div(e.neg()) : this.neg().div(e).neg();
+                    if (e.isNegative())
+                        return this.div(e.neg()).neg();
+                    n = d
+                }
+                for (r = this; r.gte(e); ) {
+                    i = Math.max(1, Math.floor(r.toNumber() / e.toNumber()));
+                    for (var a = Math.ceil(Math.log(i) / Math.LN2), x = a <= 48 ? 1 : s(2, a - 48), c = o(i), u = c.mul(e); u.isNegative() || u.gt(r); )
+                        u = (c = o(i -= x, this.unsigned)).mul(e);
+                    c.isZero() && (c = p),
+                    n = n.add(c),
+                    r = r.sub(u)
+                }
+                return n
+            }
+            ,
+            _.div = _.divide,
+            _.modulo = function(e) {
+                return t(e) || (e = l(e)),
+                this.sub(this.div(e).mul(e))
+            }
+            ,
+            _.mod = _.modulo,
+            _.not = function() {
+                return a(~this.low, ~this.high, this.unsigned)
+            }
+            ,
+            _.and = function(e) {
+                return t(e) || (e = l(e)),
+                a(this.low & e.low, this.high & e.high, this.unsigned)
+            }
+            ,
+            _.or = function(e) {
+                return t(e) || (e = l(e)),
+                a(this.low | e.low, this.high | e.high, this.unsigned)
+            }
+            ,
+            _.xor = function(e) {
+                return t(e) || (e = l(e)),
+                a(this.low ^ e.low, this.high ^ e.high, this.unsigned)
+            }
+            ,
+            _.shiftLeft = function(e) {
+                return t(e) && (e = e.toInt()),
+                0 == (e &= 63) ? this : e < 32 ? a(this.low << e, this.high << e | this.low >>> 32 - e, this.unsigned) : a(0, this.low << e - 32, this.unsigned)
+            }
+            ,
+            _.shl = _.shiftLeft,
+            _.shiftRight = function(e) {
+                return t(e) && (e = e.toInt()),
+                0 == (e &= 63) ? this : e < 32 ? a(this.low >>> e | this.high << 32 - e, this.high >> e, this.unsigned) : a(this.high >> e - 32, this.high >= 0 ? 0 : -1, this.unsigned)
+            }
+            ,
+            _.shr = _.shiftRight,
+            _.shiftRightUnsigned = function(e) {
+                if (t(e) && (e = e.toInt()),
+                0 == (e &= 63))
+                    return this;
+                var i = this.high;
+                return e < 32 ? a(this.low >>> e | i << 32 - e, i >>> e, this.unsigned) : a(32 === e ? i : i >>> e - 32, 0, this.unsigned)
+            }
+            ,
+            _.shru = _.shiftRightUnsigned,
+            _.toSigned = function() {
+                return this.unsigned ? a(this.low, this.high, !1) : this
+            }
+            ,
+            _.toUnsigned = function() {
+                return this.unsigned ? this : a(this.low, this.high, !0)
+            }
+            ,
+            _.toBytes = function(e) {
+                return e ? this.toBytesLE() : this.toBytesBE()
+            }
+            ,
+            _.toBytesLE = function() {
+                var e = this.high
+                  , t = this.low;
+                return [255 & t, t >>> 8 & 255, t >>> 16 & 255, t >>> 24 & 255, 255 & e, e >>> 8 & 255, e >>> 16 & 255, e >>> 24 & 255]
+            }
+            ,
+            _.toBytesBE = function() {
+                var e = this.high
+                  , t = this.low;
+                return [e >>> 24 & 255, e >>> 16 & 255, e >>> 8 & 255, 255 & e, t >>> 24 & 255, t >>> 16 & 255, t >>> 8 & 255, 255 & t]
+            }
+            ,
+            e
+        }
+        ) ? r.apply(t, n) : r) || (e.exports = o)
+    }
+    , function(e, t) {}
+    , function(e, t, i) {
+        i(194);
+        var r = i(5).Object;
+        e.exports = function(e, t) {
+            return r.defineProperties(e, t)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(12);
+        r(r.S + r.F * !i(25), "Object", {
+            defineProperties: i(109)
+        })
+    }
+    , function(e, t, i) {
+        i(34)("Uint8", 1, (function(e) {
+            return function(t, i, r) {
+                return e(this, t, i, r)
+            }
+        }
+        ), !0)
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(10)
+          , n = i(11)
+          , o = i(35)
+          , a = i(123)
+          , s = i(20)
+          , x = i(124)
+          , l = i(18)
+          , c = i(125)
+          , u = i(29)
+          , h = i(19)
+          , f = i(126)
+          , d = i(41).f
+          , g = i(13).f
+          , p = i(92)
+          , m = i(55)
+          , b = r.ArrayBuffer
+          , v = r.DataView
+          , C = r.Math
+          , y = r.RangeError
+          , _ = r.Infinity
+          , A = b
+          , I = C.abs
+          , w = C.pow
+          , G = C.floor
+          , E = C.log
+          , S = C.LN2
+          , T = n ? "_b" : "buffer"
+          , P = n ? "_l" : "byteLength"
+          , M = n ? "_o" : "byteOffset";
+        function N(e, t, i) {
+            var r, n, o, a = new Array(i), s = 8 * i - t - 1, x = (1 << s) - 1, l = x >> 1, c = 23 === t ? w(2, -24) - w(2, -77) : 0, u = 0, h = e < 0 || 0 === e && 1 / e < 0 ? 1 : 0;
+            for ((e = I(e)) != e || e === _ ? (n = e != e ? 1 : 0,
+            r = x) : (r = G(E(e) / S),
+            e * (o = w(2, -r)) < 1 && (r--,
+            o *= 2),
+            (e += r + l >= 1 ? c / o : c * w(2, 1 - l)) * o >= 2 && (r++,
+            o /= 2),
+            r + l >= x ? (n = 0,
+            r = x) : r + l >= 1 ? (n = (e * o - 1) * w(2, t),
+            r += l) : (n = e * w(2, l - 1) * w(2, t),
+            r = 0)); t >= 8; a[u++] = 255 & n,
+            n /= 256,
+            t -= 8)
+                ;
+            for (r = r << t | n,
+            s += t; s > 0; a[u++] = 255 & r,
+            r /= 256,
+            s -= 8)
+                ;
+            return a[--u] |= 128 * h,
+            a
+        }
+        function L(e, t, i) {
+            var r, n = 8 * i - t - 1, o = (1 << n) - 1, a = o >> 1, s = n - 7, x = i - 1, l = e[x--], c = 127 & l;
+            for (l >>= 7; s > 0; c = 256 * c + e[x],
+            x--,
+            s -= 8)
+                ;
+            for (r = c & (1 << -s) - 1,
+            c >>= -s,
+            s += t; s > 0; r = 256 * r + e[x],
+            x--,
+            s -= 8)
+                ;
+            if (0 === c)
+                c = 1 - a;
+            else {
+                if (c === o)
+                    return r ? NaN : l ? -_ : _;
+                r += w(2, t),
+                c -= a
+            }
+            return (l ? -1 : 1) * r * w(2, c - t)
+        }
+        function R(e) {
+            return e[3] << 24 | e[2] << 16 | e[1] << 8 | e[0]
+        }
+        function O(e) {
+            return [255 & e]
+        }
+        function F(e) {
+            return [255 & e, e >> 8 & 255]
+        }
+        function D(e) {
+            return [255 & e, e >> 8 & 255, e >> 16 & 255, e >> 24 & 255]
+        }
+        function U(e) {
+            return N(e, 52, 8)
+        }
+        function k(e) {
+            return N(e, 23, 4)
+        }
+        function B(e, t, i) {
+            g(e.prototype, t, {
+                get: function() {
+                    return this[i]
+                }
+            })
+        }
+        function W(e, t, i, r) {
+            var n = f(+i);
+            if (n + t > e[P])
+                throw y("Wrong index!");
+            var o = e[T]._b
+              , a = n + e[M]
+              , s = o.slice(a, a + t);
+            return r ? s : s.reverse()
+        }
+        function j(e, t, i, r, n, o) {
+            var a = f(+i);
+            if (a + t > e[P])
+                throw y("Wrong index!");
+            for (var s = e[T]._b, x = a + e[M], l = r(+n), c = 0; c < t; c++)
+                s[x + c] = l[o ? c : t - c - 1]
+        }
+        if (a.ABV) {
+            if (!l((function() {
+                b(1)
+            }
+            )) || !l((function() {
+                new b(-1)
+            }
+            )) || l((function() {
+                return new b,
+                new b(1.5),
+                new b(NaN),
+                "ArrayBuffer" != b.name
+            }
+            ))) {
+                for (var V, z = (b = function(e) {
+                    return c(this, b),
+                    new A(f(e))
+                }
+                ).prototype = A.prototype, H = d(A), q = 0; H.length > q; )
+                    (V = H[q++])in b || s(b, V, A[V]);
+                o || (z.constructor = b)
+            }
+            var X = new v(new b(2))
+              , Y = v.prototype.setInt8;
+            X.setInt8(0, 2147483648),
+            X.setInt8(1, 2147483649),
+            !X.getInt8(0) && X.getInt8(1) || x(v.prototype, {
+                setInt8: function(e, t) {
+                    Y.call(this, e, t << 24 >> 24)
+                },
+                setUint8: function(e, t) {
+                    Y.call(this, e, t << 24 >> 24)
+                }
+            }, !0)
+        } else
+            b = function(e) {
+                c(this, b, "ArrayBuffer");
+                var t = f(e);
+                this._b = p.call(new Array(t), 0),
+                this[P] = t
+            }
+            ,
+            v = function(e, t, i) {
+                c(this, v, "DataView"),
+                c(e, b, "DataView");
+                var r = e[P]
+                  , n = u(t);
+                if (n < 0 || n > r)
+                    throw y("Wrong offset!");
+                if (n + (i = void 0 === i ? r - n : h(i)) > r)
+                    throw y("Wrong length!");
+                this[T] = e,
+                this[M] = n,
+                this[P] = i
+            }
+            ,
+            n && (B(b, "byteLength", "_l"),
+            B(v, "buffer", "_b"),
+            B(v, "byteLength", "_l"),
+            B(v, "byteOffset", "_o")),
+            x(v.prototype, {
+                getInt8: function(e) {
+                    return W(this, 1, e)[0] << 24 >> 24
+                },
+                getUint8: function(e) {
+                    return W(this, 1, e)[0]
+                },
+                getInt16: function(e) {
+                    var t = W(this, 2, e, arguments[1]);
+                    return (t[1] << 8 | t[0]) << 16 >> 16
+                },
+                getUint16: function(e) {
+                    var t = W(this, 2, e, arguments[1]);
+                    return t[1] << 8 | t[0]
+                },
+                getInt32: function(e) {
+                    return R(W(this, 4, e, arguments[1]))
+                },
+                getUint32: function(e) {
+                    return R(W(this, 4, e, arguments[1])) >>> 0
+                },
+                getFloat32: function(e) {
+                    return L(W(this, 4, e, arguments[1]), 23, 4)
+                },
+                getFloat64: function(e) {
+                    return L(W(this, 8, e, arguments[1]), 52, 8)
+                },
+                setInt8: function(e, t) {
+                    j(this, 1, e, O, t)
+                },
+                setUint8: function(e, t) {
+                    j(this, 1, e, O, t)
+                },
+                setInt16: function(e, t) {
+                    j(this, 2, e, F, t, arguments[2])
+                },
+                setUint16: function(e, t) {
+                    j(this, 2, e, F, t, arguments[2])
+                },
+                setInt32: function(e, t) {
+                    j(this, 4, e, D, t, arguments[2])
+                },
+                setUint32: function(e, t) {
+                    j(this, 4, e, D, t, arguments[2])
+                },
+                setFloat32: function(e, t) {
+                    j(this, 4, e, k, t, arguments[2])
+                },
+                setFloat64: function(e, t) {
+                    j(this, 8, e, U, t, arguments[2])
+                }
+            });
+        m(b, "ArrayBuffer"),
+        m(v, "DataView"),
+        s(v.prototype, a.VIEW, !0),
+        t.ArrayBuffer = b,
+        t.DataView = v
+    }
+    , function(e, t, i) {
+        var r = i(36)
+          , n = i(4)("iterator")
+          , o = Array.prototype;
+        e.exports = function(e) {
+            return void 0 !== e && (r.Array === e || o[n] === e)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(63)
+          , n = i(4)("iterator")
+          , o = i(36);
+        e.exports = i(43).getIteratorMethod = function(e) {
+            if (null != e)
+                return e[n] || e["@@iterator"] || o[r(e)]
+        }
+    }
+    , function(e, t, i) {
+        var r = i(51)
+          , n = i(100)
+          , o = i(30)
+          , a = i(19)
+          , s = i(200);
+        e.exports = function(e, t) {
+            var i = 1 == e
+              , x = 2 == e
+              , l = 3 == e
+              , c = 4 == e
+              , u = 6 == e
+              , h = 5 == e || u
+              , f = t || s;
+            return function(t, s, d) {
+                for (var g, p, m = o(t), b = n(m), v = r(s, d, 3), C = a(b.length), y = 0, _ = i ? f(t, C) : x ? f(t, 0) : void 0; C > y; y++)
+                    if ((h || y in b) && (p = v(g = b[y], y, m),
+                    e))
+                        if (i)
+                            _[y] = p;
+                        else if (p)
+                            switch (e) {
+                            case 3:
+                                return !0;
+                            case 5:
+                                return g;
+                            case 6:
+                                return y;
+                            case 2:
+                                _.push(g)
+                            }
+                        else if (c)
+                            return !1;
+                return u ? -1 : l || c ? c : _
+            }
+        }
+    }
+    , function(e, t, i) {
+        var r = i(201);
+        e.exports = function(e, t) {
+            return new (r(e))(t)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(21)
+          , n = i(127)
+          , o = i(4)("species");
+        e.exports = function(e) {
+            var t;
+            return n(e) && ("function" != typeof (t = e.constructor) || t !== Array && !n(t.prototype) || (t = void 0),
+            r(t) && null === (t = t[o]) && (t = void 0)),
+            void 0 === t ? Array : t
+        }
+    }
+    , function(e, t, i) {
+        var r = i(4)("iterator")
+          , n = !1;
+        try {
+            var o = [7][r]();
+            o.return = function() {
+                n = !0
+            }
+            ,
+            Array.from(o, (function() {
+                throw 2
+            }
+            ))
+        } catch (e) {}
+        e.exports = function(e, t) {
+            if (!t && !n)
+                return !1;
+            var i = !1;
+            try {
+                var o = [7]
+                  , a = o[r]();
+                a.next = function() {
+                    return {
+                        done: i = !0
+                    }
+                }
+                ,
+                o[r] = function() {
+                    return a
+                }
+                ,
+                e(o)
+            } catch (e) {}
+            return i
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(30)
+          , n = i(54)
+          , o = i(19);
+        e.exports = [].copyWithin || function(e, t) {
+            var i = r(this)
+              , a = o(i.length)
+              , s = n(e, a)
+              , x = n(t, a)
+              , l = arguments.length > 2 ? arguments[2] : void 0
+              , c = Math.min((void 0 === l ? a : n(l, a)) - x, a - s)
+              , u = 1;
+            for (x < s && s < x + c && (u = -1,
+            x += c - 1,
+            s += c - 1); c-- > 0; )
+                x in i ? i[s] = i[x] : delete i[s],
+                s += u,
+                x += u;
+            return i
+        }
+    }
+    , function(e, t, i) {
+        i(34)("Uint32", 4, (function(e) {
+            return function(t, i, r) {
+                return e(this, t, i, r)
+            }
+        }
+        ))
+    }
+    , function(e, t, i) {
+        i(34)("Float64", 8, (function(e) {
+            return function(t, i, r) {
+                return e(this, t, i, r)
+            }
+        }
+        ))
+    }
+    , function(e, t, i) {
+        i(34)("Uint8", 1, (function(e) {
+            return function(t, i, r) {
+                return e(this, t, i, r)
+            }
+        }
+        ))
+    }
+    , function(e, t, i) {
+        i(34)("Int16", 2, (function(e) {
+            return function(t, i, r) {
+                return e(this, t, i, r)
+            }
+        }
+        ))
+    }
+    , function(e, t, i) {
+        var r = i(23);
+        r(r.S, "Math", {
+            log2: function(e) {
+                return Math.log(e) / Math.LN2
+            }
+        })
+    }
+    , function(e, t, i) {
+        i(210),
+        e.exports = i(5).Date.now
+    }
+    , function(e, t, i) {
+        var r = i(12);
+        r(r.S, "Date", {
+            now: function() {
+                return (new Date).getTime()
+            }
+        })
+    }
+    , function(e, t, i) {
+        i(34)("Uint16", 2, (function(e) {
+            return function(t, i, r) {
+                return e(this, t, i, r)
+            }
+        }
+        ))
+    }
+    , function(e, t, i) {
+        var r = i(23);
+        r(r.P, "Array", {
+            fill: i(92)
+        }),
+        i(97)("fill")
+    }
+    , function(e, t, i) {
+        i(34)("Float32", 4, (function(e) {
+            return function(t, i, r) {
+                return e(this, t, i, r)
+            }
+        }
+        ))
+    }
+    , function(e, t, i) {
+        i(119),
+        i(113),
+        i(116),
+        i(215),
+        i(227),
+        i(228),
+        e.exports = i(5).Promise
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r, n, o, a, s = i(48), x = i(7), l = i(59), c = i(133), u = i(12), h = i(33), f = i(60), d = i(216), g = i(217), p = i(134), m = i(135).set, b = i(222)(), v = i(94), C = i(136), y = i(223), _ = i(137), A = x.TypeError, I = x.process, w = I && I.versions, G = w && w.v8 || "", E = x.Promise, S = "process" == c(I), T = function() {}, P = n = v.f, M = !!function() {
+            try {
+                var e = E.resolve(1)
+                  , t = (e.constructor = {})[i(14)("species")] = function(e) {
+                    e(T, T)
+                }
+                ;
+                return (S || "function" == typeof PromiseRejectionEvent) && e.then(T)instanceof t && 0 !== G.indexOf("6.6") && -1 === y.indexOf("Chrome/66")
+            } catch (e) {}
+        }(), N = function(e) {
+            var t;
+            return !(!h(e) || "function" != typeof (t = e.then)) && t
+        }, L = function(e, t) {
+            if (!e._n) {
+                e._n = !0;
+                var i = e._c;
+                b((function() {
+                    for (var r = e._v, n = 1 == e._s, o = 0, a = function(t) {
+                        var i, o, a, s = n ? t.ok : t.fail, x = t.resolve, l = t.reject, c = t.domain;
+                        try {
+                            s ? (n || (2 == e._h && F(e),
+                            e._h = 1),
+                            !0 === s ? i = r : (c && c.enter(),
+                            i = s(r),
+                            c && (c.exit(),
+                            a = !0)),
+                            i === t.promise ? l(A("Promise-chain cycle")) : (o = N(i)) ? o.call(i, x, l) : x(i)) : l(r)
+                        } catch (e) {
+                            c && !a && c.exit(),
+                            l(e)
+                        }
+                    }; i.length > o; )
+                        a(i[o++]);
+                    e._c = [],
+                    e._n = !1,
+                    t && !e._h && R(e)
+                }
+                ))
+            }
+        }, R = function(e) {
+            m.call(x, (function() {
+                var t, i, r, n = e._v, o = O(e);
+                if (o && (t = C((function() {
+                    S ? I.emit("unhandledRejection", n, e) : (i = x.onunhandledrejection) ? i({
+                        promise: e,
+                        reason: n
+                    }) : (r = x.console) && r.error && r.error("Unhandled promise rejection", n)
+                }
+                )),
+                e._h = S || O(e) ? 2 : 1),
+                e._a = void 0,
+                o && t.e)
+                    throw t.v
+            }
+            ))
+        }, O = function(e) {
+            return 1 !== e._h && 0 === (e._a || e._c).length
+        }, F = function(e) {
+            m.call(x, (function() {
+                var t;
+                S ? I.emit("rejectionHandled", e) : (t = x.onrejectionhandled) && t({
+                    promise: e,
+                    reason: e._v
+                })
+            }
+            ))
+        }, D = function(e) {
+            var t = this;
+            t._d || (t._d = !0,
+            (t = t._w || t)._v = e,
+            t._s = 2,
+            t._a || (t._a = t._c.slice()),
+            L(t, !0))
+        }, U = function(e) {
+            var t, i = this;
+            if (!i._d) {
+                i._d = !0,
+                i = i._w || i;
+                try {
+                    if (i === e)
+                        throw A("Promise can't be resolved itself");
+                    (t = N(e)) ? b((function() {
+                        var r = {
+                            _w: i,
+                            _d: !1
+                        };
+                        try {
+                            t.call(e, l(U, r, 1), l(D, r, 1))
+                        } catch (e) {
+                            D.call(r, e)
+                        }
+                    }
+                    )) : (i._v = e,
+                    i._s = 1,
+                    L(i, !1))
+                } catch (e) {
+                    D.call({
+                        _w: i,
+                        _d: !1
+                    }, e)
+                }
+            }
+        };
+        M || (E = function(e) {
+            d(this, E, "Promise", "_h"),
+            f(e),
+            r.call(this);
+            try {
+                e(l(U, this, 1), l(D, this, 1))
+            } catch (e) {
+                D.call(this, e)
+            }
+        }
+        ,
+        (r = function(e) {
+            this._c = [],
+            this._a = void 0,
+            this._s = 0,
+            this._d = !1,
+            this._v = void 0,
+            this._h = 0,
+            this._n = !1
+        }
+        ).prototype = i(224)(E.prototype, {
+            then: function(e, t) {
+                var i = P(p(this, E));
+                return i.ok = "function" != typeof e || e,
+                i.fail = "function" == typeof t && t,
+                i.domain = S ? I.domain : void 0,
+                this._c.push(i),
+                this._a && this._a.push(i),
+                this._s && L(this, !1),
+                i.promise
+            },
+            catch: function(e) {
+                return this.then(void 0, e)
+            }
+        }),
+        o = function() {
+            var e = new r;
+            this.promise = e,
+            this.resolve = l(U, e, 1),
+            this.reject = l(D, e, 1)
+        }
+        ,
+        v.f = P = function(e) {
+            return e === E || e === a ? new o(e) : n(e)
+        }
+        ),
+        u(u.G + u.W + u.F * !M, {
+            Promise: E
+        }),
+        i(66)(E, "Promise"),
+        i(225)("Promise"),
+        a = i(5).Promise,
+        u(u.S + u.F * !M, "Promise", {
+            reject: function(e) {
+                var t = P(this);
+                return (0,
+                t.reject)(e),
+                t.promise
+            }
+        }),
+        u(u.S + u.F * (s || !M), "Promise", {
+            resolve: function(e) {
+                return _(s && this === a ? E : this, e)
+            }
+        }),
+        u(u.S + u.F * !(M && i(226)((function(e) {
+            E.all(e).catch(T)
+        }
+        ))), "Promise", {
+            all: function(e) {
+                var t = this
+                  , i = P(t)
+                  , r = i.resolve
+                  , n = i.reject
+                  , o = C((function() {
+                    var i = []
+                      , o = 0
+                      , a = 1;
+                    g(e, !1, (function(e) {
+                        var s = o++
+                          , x = !1;
+                        i.push(void 0),
+                        a++,
+                        t.resolve(e).then((function(e) {
+                            x || (x = !0,
+                            i[s] = e,
+                            --a || r(i))
+                        }
+                        ), n)
+                    }
+                    )),
+                    --a || r(i)
+                }
+                ));
+                return o.e && n(o.v),
+                i.promise
+            },
+            race: function(e) {
+                var t = this
+                  , i = P(t)
+                  , r = i.reject
+                  , n = C((function() {
+                    g(e, !1, (function(e) {
+                        t.resolve(e).then(i.resolve, r)
+                    }
+                    ))
+                }
+                ));
+                return n.e && r(n.v),
+                i.promise
+            }
+        })
+    }
+    , function(e, t) {
+        e.exports = function(e, t, i, r) {
+            if (!(e instanceof t) || void 0 !== r && r in e)
+                throw TypeError(i + ": incorrect invocation!");
+            return e
+        }
+    }
+    , function(e, t, i) {
+        var r = i(59)
+          , n = i(218)
+          , o = i(219)
+          , a = i(27)
+          , s = i(106)
+          , x = i(220)
+          , l = {}
+          , c = {};
+        (t = e.exports = function(e, t, i, u, h) {
+            var f, d, g, p, m = h ? function() {
+                return e
+            }
+            : x(e), b = r(i, u, t ? 2 : 1), v = 0;
+            if ("function" != typeof m)
+                throw TypeError(e + " is not iterable!");
+            if (o(m)) {
+                for (f = s(e.length); f > v; v++)
+                    if ((p = t ? b(a(d = e[v])[0], d[1]) : b(e[v])) === l || p === c)
+                        return p
+            } else
+                for (g = m.call(e); !(d = g.next()).done; )
+                    if ((p = n(g, b, d.value, t)) === l || p === c)
+                        return p
+        }
+        ).BREAK = l,
+        t.RETURN = c
+    }
+    , function(e, t, i) {
+        var r = i(27);
+        e.exports = function(e, t, i, n) {
+            try {
+                return n ? t(r(i)[0], i[1]) : t(i)
+            } catch (t) {
+                var o = e.return;
+                throw void 0 !== o && r(o.call(e)),
+                t
+            }
+        }
+    }
+    , function(e, t, i) {
+        var r = i(49)
+          , n = i(14)("iterator")
+          , o = Array.prototype;
+        e.exports = function(e) {
+            return void 0 !== e && (r.Array === e || o[n] === e)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(133)
+          , n = i(14)("iterator")
+          , o = i(49);
+        e.exports = i(5).getIteratorMethod = function(e) {
+            if (null != e)
+                return e[n] || e["@@iterator"] || o[r(e)]
+        }
+    }
+    , function(e, t) {
+        e.exports = function(e, t, i) {
+            var r = void 0 === i;
+            switch (t.length) {
+            case 0:
+                return r ? e() : e.call(i);
+            case 1:
+                return r ? e(t[0]) : e.call(i, t[0]);
+            case 2:
+                return r ? e(t[0], t[1]) : e.call(i, t[0], t[1]);
+            case 3:
+                return r ? e(t[0], t[1], t[2]) : e.call(i, t[0], t[1], t[2]);
+            case 4:
+                return r ? e(t[0], t[1], t[2], t[3]) : e.call(i, t[0], t[1], t[2], t[3])
+            }
+            return e.apply(i, t)
+        }
+    }
+    , function(e, t, i) {
+        var r = i(7)
+          , n = i(135).set
+          , o = r.MutationObserver || r.WebKitMutationObserver
+          , a = r.process
+          , s = r.Promise
+          , x = "process" == i(47)(a);
+        e.exports = function() {
+            var e, t, i, l = function() {
+                var r, n;
+                for (x && (r = a.domain) && r.exit(); e; ) {
+                    n = e.fn,
+                    e = e.next;
+                    try {
+                        n()
+                    } catch (r) {
+                        throw e ? i() : t = void 0,
+                        r
+                    }
+                }
+                t = void 0,
+                r && r.enter()
+            };
+            if (x)
+                i = function() {
+                    a.nextTick(l)
+                }
+                ;
+            else if (!o || r.navigator && r.navigator.standalone)
+                if (s && s.resolve) {
+                    var c = s.resolve(void 0);
+                    i = function() {
+                        c.then(l)
+                    }
+                } else
+                    i = function() {
+                        n.call(r, l)
+                    }
+                    ;
+            else {
+                var u = !0
+                  , h = document.createTextNode("");
+                new o(l).observe(h, {
+                    characterData: !0
+                }),
+                i = function() {
+                    h.data = u = !u
+                }
+            }
+            return function(r) {
+                var n = {
+                    fn: r,
+                    next: void 0
+                };
+                t && (t.next = n),
+                e || (e = n,
+                i()),
+                t = n
+            }
+        }
+    }
+    , function(e, t, i) {
+        var r = i(7).navigator;
+        e.exports = r && r.userAgent || ""
+    }
+    , function(e, t, i) {
+        var r = i(32);
+        e.exports = function(e, t, i) {
+            for (var n in t)
+                i && e[n] ? e[n] = t[n] : r(e, n, t[n]);
+            return e
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(7)
+          , n = i(5)
+          , o = i(26)
+          , a = i(25)
+          , s = i(14)("species");
+        e.exports = function(e) {
+            var t = "function" == typeof n[e] ? n[e] : r[e];
+            a && t && !t[s] && o.f(t, s, {
+                configurable: !0,
+                get: function() {
+                    return this
+                }
+            })
+        }
+    }
+    , function(e, t, i) {
+        var r = i(14)("iterator")
+          , n = !1;
+        try {
+            var o = [7][r]();
+            o.return = function() {
+                n = !0
+            }
+            ,
+            Array.from(o, (function() {
+                throw 2
+            }
+            ))
+        } catch (e) {}
+        e.exports = function(e, t) {
+            if (!t && !n)
+                return !1;
+            var i = !1;
+            try {
+                var o = [7]
+                  , a = o[r]();
+                a.next = function() {
+                    return {
+                        done: i = !0
+                    }
+                }
+                ,
+                o[r] = function() {
+                    return a
+                }
+                ,
+                e(o)
+            } catch (e) {}
+            return i
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(12)
+          , n = i(5)
+          , o = i(7)
+          , a = i(134)
+          , s = i(137);
+        r(r.P + r.R, "Promise", {
+            finally: function(e) {
+                var t = a(this, n.Promise || o.Promise)
+                  , i = "function" == typeof e;
+                return this.then(i ? function(i) {
+                    return s(t, e()).then((function() {
+                        return i
+                    }
+                    ))
+                }
+                : e, i ? function(i) {
+                    return s(t, e()).then((function() {
+                        throw i
+                    }
+                    ))
+                }
+                : e)
+            }
+        })
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(12)
+          , n = i(94)
+          , o = i(136);
+        r(r.S, "Promise", {
+            try: function(e) {
+                var t = n.f(this)
+                  , i = o(e);
+                return (i.e ? t.reject : t.resolve)(i.v),
+                t.promise
+            }
+        })
+    }
+    , function(e, t, i) {
+        i(138)("asyncIterator")
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(10)
+          , n = i(24)
+          , o = i(11)
+          , a = i(23)
+          , s = i(22)
+          , x = i(231).KEY
+          , l = i(18)
+          , c = i(50)
+          , u = i(55)
+          , h = i(28)
+          , f = i(4)
+          , d = i(139)
+          , g = i(138)
+          , p = i(232)
+          , m = i(127)
+          , b = i(17)
+          , v = i(21)
+          , C = i(30)
+          , y = i(37)
+          , _ = i(44)
+          , A = i(45)
+          , I = i(52)
+          , w = i(233)
+          , G = i(67)
+          , E = i(140)
+          , S = i(13)
+          , T = i(53)
+          , P = G.f
+          , M = S.f
+          , N = w.f
+          , L = r.Symbol
+          , R = r.JSON
+          , O = R && R.stringify
+          , F = f("_hidden")
+          , D = f("toPrimitive")
+          , U = {}.propertyIsEnumerable
+          , k = c("symbol-registry")
+          , B = c("symbols")
+          , W = c("op-symbols")
+          , j = Object.prototype
+          , V = "function" == typeof L && !!E.f
+          , z = r.QObject
+          , H = !z || !z.prototype || !z.prototype.findChild
+          , q = o && l((function() {
+            return 7 != I(M({}, "a", {
+                get: function() {
+                    return M(this, "a", {
+                        value: 7
+                    }).a
+                }
+            })).a
+        }
+        )) ? function(e, t, i) {
+            var r = P(j, t);
+            r && delete j[t],
+            M(e, t, i),
+            r && e !== j && M(j, t, r)
+        }
+        : M
+          , X = function(e) {
+            var t = B[e] = I(L.prototype);
+            return t._k = e,
+            t
+        }
+          , Y = V && "symbol" == typeof L.iterator ? function(e) {
+            return "symbol" == typeof e
+        }
+        : function(e) {
+            return e instanceof L
+        }
+          , K = function(e, t, i) {
+            return e === j && K(W, t, i),
+            b(e),
+            t = _(t, !0),
+            b(i),
+            n(B, t) ? (i.enumerable ? (n(e, F) && e[F][t] && (e[F][t] = !1),
+            i = I(i, {
+                enumerable: A(0, !1)
+            })) : (n(e, F) || M(e, F, A(1, {})),
+            e[F][t] = !0),
+            q(e, t, i)) : M(e, t, i)
+        }
+          , Q = function(e, t) {
+            b(e);
+            for (var i, r = p(t = y(t)), n = 0, o = r.length; o > n; )
+                K(e, i = r[n++], t[i]);
+            return e
+        }
+          , Z = function(e) {
+            var t = U.call(this, e = _(e, !0));
+            return !(this === j && n(B, e) && !n(W, e)) && (!(t || !n(this, e) || !n(B, e) || n(this, F) && this[F][e]) || t)
+        }
+          , J = function(e, t) {
+            if (e = y(e),
+            t = _(t, !0),
+            e !== j || !n(B, t) || n(W, t)) {
+                var i = P(e, t);
+                return !i || !n(B, t) || n(e, F) && e[F][t] || (i.enumerable = !0),
+                i
+            }
+        }
+          , $ = function(e) {
+            for (var t, i = N(y(e)), r = [], o = 0; i.length > o; )
+                n(B, t = i[o++]) || t == F || t == x || r.push(t);
+            return r
+        }
+          , ee = function(e) {
+            for (var t, i = e === j, r = N(i ? W : y(e)), o = [], a = 0; r.length > a; )
+                !n(B, t = r[a++]) || i && !n(j, t) || o.push(B[t]);
+            return o
+        };
+        V || (s((L = function() {
+            if (this instanceof L)
+                throw TypeError("Symbol is not a constructor!");
+            var e = h(arguments.length > 0 ? arguments[0] : void 0)
+              , t = function(i) {
+                this === j && t.call(W, i),
+                n(this, F) && n(this[F], e) && (this[F][e] = !1),
+                q(this, e, A(1, i))
+            };
+            return o && H && q(j, e, {
+                configurable: !0,
+                set: t
+            }),
+            X(e)
+        }
+        ).prototype, "toString", (function() {
+            return this._k
+        }
+        )),
+        G.f = J,
+        S.f = K,
+        i(41).f = w.f = $,
+        i(93).f = Z,
+        E.f = ee,
+        o && !i(35) && s(j, "propertyIsEnumerable", Z, !0),
+        d.f = function(e) {
+            return X(f(e))
+        }
+        ),
+        a(a.G + a.W + a.F * !V, {
+            Symbol: L
+        });
+        for (var te = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), ie = 0; te.length > ie; )
+            f(te[ie++]);
+        for (var re = T(f.store), ne = 0; re.length > ne; )
+            g(re[ne++]);
+        a(a.S + a.F * !V, "Symbol", {
+            for: function(e) {
+                return n(k, e += "") ? k[e] : k[e] = L(e)
+            },
+            keyFor: function(e) {
+                if (!Y(e))
+                    throw TypeError(e + " is not a symbol!");
+                for (var t in k)
+                    if (k[t] === e)
+                        return t
+            },
+            useSetter: function() {
+                H = !0
+            },
+            useSimple: function() {
+                H = !1
+            }
+        }),
+        a(a.S + a.F * !V, "Object", {
+            create: function(e, t) {
+                return void 0 === t ? I(e) : Q(I(e), t)
+            },
+            defineProperty: K,
+            defineProperties: Q,
+            getOwnPropertyDescriptor: J,
+            getOwnPropertyNames: $,
+            getOwnPropertySymbols: ee
+        });
+        var oe = l((function() {
+            E.f(1)
+        }
+        ));
+        a(a.S + a.F * oe, "Object", {
+            getOwnPropertySymbols: function(e) {
+                return E.f(C(e))
+            }
+        }),
+        R && a(a.S + a.F * (!V || l((function() {
+            var e = L();
+            return "[null]" != O([e]) || "{}" != O({
+                a: e
+            }) || "{}" != O(Object(e))
+        }
+        ))), "JSON", {
+            stringify: function(e) {
+                for (var t, i, r = [e], n = 1; arguments.length > n; )
+                    r.push(arguments[n++]);
+                if (i = t = r[1],
+                (v(t) || void 0 !== e) && !Y(e))
+                    return m(t) || (t = function(e, t) {
+                        if ("function" == typeof i && (t = i.call(this, e, t)),
+                        !Y(t))
+                            return t
+                    }
+                    ),
+                    r[1] = t,
+                    O.apply(R, r)
+            }
+        }),
+        L.prototype[D] || i(20)(L.prototype, D, L.prototype.valueOf),
+        u(L, "Symbol"),
+        u(Math, "Math", !0),
+        u(r.JSON, "JSON", !0)
+    }
+    , function(e, t, i) {
+        var r = i(28)("meta")
+          , n = i(21)
+          , o = i(24)
+          , a = i(13).f
+          , s = 0
+          , x = Object.isExtensible || function() {
+            return !0
+        }
+          , l = !i(18)((function() {
+            return x(Object.preventExtensions({}))
+        }
+        ))
+          , c = function(e) {
+            a(e, r, {
+                value: {
+                    i: "O" + ++s,
+                    w: {}
+                }
+            })
+        }
+          , u = e.exports = {
+            KEY: r,
+            NEED: !1,
+            fastKey: function(e, t) {
+                if (!n(e))
+                    return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e;
+                if (!o(e, r)) {
+                    if (!x(e))
+                        return "F";
+                    if (!t)
+                        return "E";
+                    c(e)
+                }
+                return e[r].i
+            },
+            getWeak: function(e, t) {
+                if (!o(e, r)) {
+                    if (!x(e))
+                        return !0;
+                    if (!t)
+                        return !1;
+                    c(e)
+                }
+                return e[r].w
+            },
+            onFreeze: function(e) {
+                return l && u.NEED && x(e) && !o(e, r) && c(e),
+                e
+            }
+        }
+    }
+    , function(e, t, i) {
+        var r = i(53)
+          , n = i(140)
+          , o = i(93);
+        e.exports = function(e) {
+            var t = r(e)
+              , i = n.f;
+            if (i)
+                for (var a, s = i(e), x = o.f, l = 0; s.length > l; )
+                    x.call(e, a = s[l++]) && t.push(a);
+            return t
+        }
+    }
+    , function(e, t, i) {
+        var r = i(37)
+          , n = i(41).f
+          , o = {}.toString
+          , a = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
+        e.exports.f = function(e) {
+            return a && "[object Window]" == o.call(e) ? function(e) {
+                try {
+                    return n(e)
+                } catch (e) {
+                    return a.slice()
+                }
+            }(e) : n(r(e))
+        }
+    }
+    , function(e, t, i) {
+        var r = i(21)
+          , n = i(17)
+          , o = function(e, t) {
+            if (n(e),
+            !r(t) && null !== t)
+                throw TypeError(t + ": can't set as prototype!")
+        };
+        e.exports = {
+            set: Object.setPrototypeOf || ("__proto__"in {} ? function(e, t, r) {
+                try {
+                    (r = i(51)(Function.call, i(67).f(Object.prototype, "__proto__").set, 2))(e, []),
+                    t = !(e instanceof Array)
+                } catch (e) {
+                    t = !0
+                }
+                return function(e, i) {
+                    return o(e, i),
+                    t ? e.__proto__ = i : r(e, i),
+                    e
+                }
+            }({}, !1) : void 0),
+            check: o
+        }
+    }
+    , function(e, t, i) {
+        var r = i(23)
+          , n = i(38)
+          , o = i(18)
+          , a = i(236)
+          , s = "[" + a + "]"
+          , x = RegExp("^" + s + s + "*")
+          , l = RegExp(s + s + "*$")
+          , c = function(e, t, i) {
+            var n = {}
+              , s = o((function() {
+                return !!a[e]() || "鈥嬄�" != "鈥嬄�"[e]()
+            }
+            ))
+              , x = n[e] = s ? t(u) : a[e];
+            i && (n[i] = x),
+            r(r.P + r.F * s, "String", n)
+        }
+          , u = c.trim = function(e, t) {
+            return e = String(n(e)),
+            1 & t && (e = e.replace(x, "")),
+            2 & t && (e = e.replace(l, "")),
+            e
+        }
+        ;
+        e.exports = c
+    }
+    , function(e, t) {
+        e.exports = "\t\n\v\f\r 聽釟�釥庘��鈥佲�傗�冣�勨�呪�嗏�団�堚�夆�娾�仧銆�\u2028\u2029\ufeff"
+    }
+    , function(module, __webpack_exports__, __webpack_require__) {
+        "use strict";
+        (function(module, global) {
+            var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69), core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_0__), core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42), core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1___default = __webpack_require__.n(core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1__), _babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15), _babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2___default = __webpack_require__.n(_babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2__), core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(84), core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_3___default = __webpack_require__.n(core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_3__), _babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8), _babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default = __webpack_require__.n(_babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4__), core_js_modules_es6_string_ends_with__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(129), core_js_modules_es6_string_ends_with__WEBPACK_IMPORTED_MODULE_5___default = __webpack_require__.n(core_js_modules_es6_string_ends_with__WEBPACK_IMPORTED_MODULE_5__), core_js_modules_es6_string_starts_with__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(132), core_js_modules_es6_string_starts_with__WEBPACK_IMPORTED_MODULE_6___default = __webpack_require__.n(core_js_modules_es6_string_starts_with__WEBPACK_IMPORTED_MODULE_6__), _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1), _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default = __webpack_require__.n(_babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7__), core_js_modules_es6_number_constructor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(141), core_js_modules_es6_number_constructor__WEBPACK_IMPORTED_MODULE_8___default = __webpack_require__.n(core_js_modules_es6_number_constructor__WEBPACK_IMPORTED_MODULE_8__), core_js_modules_es6_regexp_search__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(239), core_js_modules_es6_regexp_search__WEBPACK_IMPORTED_MODULE_9___default = __webpack_require__.n(core_js_modules_es6_regexp_search__WEBPACK_IMPORTED_MODULE_9__), core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(88), core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_10___default = __webpack_require__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_10__), _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(0), _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default = __webpack_require__.n(_babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11__), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(2), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default = __webpack_require__.n(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12__), core_js_modules_es6_regexp_to_string__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(85), core_js_modules_es6_regexp_to_string__WEBPACK_IMPORTED_MODULE_13___default = __webpack_require__.n(core_js_modules_es6_regexp_to_string__WEBPACK_IMPORTED_MODULE_13__), core_js_modules_es6_object_to_string__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(86), core_js_modules_es6_object_to_string__WEBPACK_IMPORTED_MODULE_14___default = __webpack_require__.n(core_js_modules_es6_object_to_string__WEBPACK_IMPORTED_MODULE_14__), core_js_modules_es6_regexp_split__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(79), core_js_modules_es6_regexp_split__WEBPACK_IMPORTED_MODULE_15___default = __webpack_require__.n(core_js_modules_es6_regexp_split__WEBPACK_IMPORTED_MODULE_15__), core_js_modules_es6_regexp_match__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(241), core_js_modules_es6_regexp_match__WEBPACK_IMPORTED_MODULE_16___default = __webpack_require__.n(core_js_modules_es6_regexp_match__WEBPACK_IMPORTED_MODULE_16__), core_js_modules_es6_regexp_constructor__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(143), core_js_modules_es6_regexp_constructor__WEBPACK_IMPORTED_MODULE_17___default = __webpack_require__.n(core_js_modules_es6_regexp_constructor__WEBPACK_IMPORTED_MODULE_17__), require, require, e;
+            window.GeoGlobe = window.GeoGlobe || {},
+            window.GeoGlobe.Class = window.GeoGlobe.Class || {},
+            window.GeoGlobe.LngLatBounds = window.GeoGlobe.LngLatBounds || {},
+            window.GeoGlobe.LngLat = window.GeoGlobe.LngLat || {},
+            window.GeoGlobe.Filter = window.GeoGlobe.Filter || {},
+            window.GeoGlobe.Format = window.GeoGlobe.Format || {},
+            window.GeoGlobe.Protocol = window.GeoGlobe.Protocol || {},
+            window.GeoGlobe.Query = window.GeoGlobe.Query || {},
+            window.GeoGlobe.Service = window.GeoGlobe.Service || {},
+            window.GeoGlobe.Analysis = window.GeoGlobe.Analysis || {},
+            GeoGlobe.getScriptLocation = function(e) {
+                for (var t = "", i = new RegExp("(^|(.*?\\/))(" + e + ")(\\?|$)"), r = document.getElementsByTagName("script"), n = 0, o = r.length; n < o; n++) {
+                    var a = r[n].getAttribute("src");
+                    if (a) {
+                        var s = a.match(i);
+                        if (s) {
+                            t = s[1];
                             break
                         }
                     }
                 }
+                return t
+            }
+            ,
+            GeoGlobe.createNS = function(e) {
+                for (var t = e.split("."), i = window, r = 0; r < t.length; r++)
+                    i[t[r]] || (i[t[r]] = {}),
+                    i = i[t[r]]
+            }
+            ,
+            GeoGlobe.Class = function() {
+                var e = arguments.length
+                  , t = arguments[0]
+                  , i = arguments[e - 1]
+                  , r = "function" == typeof i.initialize ? i.initialize : function() {
+                    t.prototype.initialize.apply(this, arguments)
+                }
+                ;
+                return e > 1 ? [r, t].concat(Array.prototype.slice.call(arguments).slice(1, e - 1), i) : r.prototype = i,
+                r
+            }
+            ,
+            GeoGlobe.Class4OL = function() {
+                var e = arguments.length
+                  , t = arguments[0]
+                  , i = arguments[e - 1]
+                  , r = "function" == typeof i.initialize ? i.initialize : function() {
+                    t.prototype.initialize.apply(this, arguments)
+                }
+                ;
+                if (e > 1) {
+                    var n = [r, t].concat(Array.prototype.slice.call(arguments).slice(1, e - 1), i);
+                    GeoGlobe.inherit.apply(null, n)
+                } else
+                    r.prototype = i;
+                return r
+            }
+            ,
+            GeoGlobe.inherit = function(e, t) {
+                var i, r, n, o = function() {};
+                for (o.prototype = t.prototype,
+                e.prototype = new o,
+                i = 2,
+                r = arguments.length; i < r; i++)
+                    "function" == typeof (n = arguments[i]) && (n = n.prototype),
+                    GeoGlobe.Util.extend(e.prototype, n)
+            }
+            ,
+            GeoGlobe.Util = GeoGlobe.Util || {},
+            GeoGlobe.Util.extend = function(e, t) {
+                if (e = e || {},
+                t) {
+                    for (var i in t) {
+                        var r = t[i];
+                        void 0 !== r && (e[i] = r)
+                    }
+                    !("function" == typeof window.Event && t instanceof window.Event) && t.hasOwnProperty && t.hasOwnProperty("toString") && (e.toString = t.toString)
+                }
+                return e
+            }
+            ,
+            GeoGlobe.Util.deepExtend = function(e) {
+                for (var t = 1; t < arguments.length; t++)
+                    for (var i in arguments[t])
+                        if (arguments[t].hasOwnProperty(i))
+                            switch (GeoGlobe.Util.getType(arguments[t][i])) {
+                            case "array":
+                                e.hasOwnProperty(i) && "array" === GeoGlobe.Util.getType(e[i]) ? GeoGlobe.Util.deepExtend(e[i], arguments[t][i]) : e[i] = GeoGlobe.Util.deepExtend([], arguments[t][i]);
+                                break;
+                            case "object":
+                                e.hasOwnProperty(i) && "object" === GeoGlobe.Util.getType(e[i]) ? GeoGlobe.Util.deepExtend(e[i], arguments[t][i]) : e[i] = GeoGlobe.Util.deepExtend({}, arguments[t][i]);
+                                break;
+                            default:
+                                e[i] = arguments[t][i]
+                            }
+                return e
+            }
+            ,
+            GeoGlobe.Util = GeoGlobe.Util || {},
+            GeoGlobe.Util.getElement = function() {
+                for (var e = [], t = 0, i = arguments.length; t < i; t++) {
+                    var r = arguments[t];
+                    if ("string" == typeof r && (r = document.getElementById(r)),
+                    1 == arguments.length)
+                        return r;
+                    e.push(r)
+                }
+                return e
+            }
+            ,
+            GeoGlobe.Util.isElement = function(e) {
+                return !(!e || 1 !== e.nodeType)
+            }
+            ,
+            GeoGlobe.Util.isArray = function(e) {
+                return "[object Array]" === Object.prototype.toString.call(e)
+            }
+            ,
+            GeoGlobe.Util.removeItem = function(e, t) {
+                for (var i = e.length - 1; i >= 0; i--)
+                    e[i] == t && e.splice(i, 1);
+                return e
+            }
+            ,
+            GeoGlobe.Util.indexOf = function(e, t) {
+                if ("function" == typeof e.indexOf)
+                    return e.indexOf(t);
+                for (var i = 0, r = e.length; i < r; i++)
+                    if (e[i] == t)
+                        return i;
+                return -1
+            }
+            ,
+            GeoGlobe.Util.dotless = /\./g,
+            GeoGlobe.IMAGE_RELOAD_ATTEMPTS = 0,
+            GeoGlobe.Util.alphaHackNeeded = null,
+            GeoGlobe.Util.alphaHack = function() {
+                if (null == GeoGlobe.Util.alphaHackNeeded) {
+                    var e = navigator.appVersion.split("MSIE")
+                      , t = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e[1])
+                      , i = !1;
+                    try {
+                        i = !!document.body.filters
+                    } catch (e) {}
+                    GeoGlobe.Util.alphaHackNeeded = i && t >= 5.5 && t < 7
+                }
+                return GeoGlobe.Util.alphaHackNeeded
+            }
+            ,
+            GeoGlobe.Util.upperCaseObject = function(e) {
+                var t = {};
+                for (var i in e)
+                    t[i.toUpperCase()] = e[i];
+                return t
+            }
+            ,
+            GeoGlobe.Util.applyDefaults = function(e, t) {
+                e = e || {};
+                var i = "function" == typeof window.Event && t instanceof window.Event;
+                for (var r in t)
+                    (void 0 === e[r] || !i && t.hasOwnProperty && t.hasOwnProperty(r) && !e.hasOwnProperty(r)) && (e[r] = t[r]);
+                return !i && t && t.hasOwnProperty && t.hasOwnProperty("toString") && !e.hasOwnProperty("toString") && (e.toString = t.toString),
+                e
+            }
+            ,
+            GeoGlobe.Util.getParameterString = function(e) {
+                var t = [];
+                for (var i in e) {
+                    var r = e[i];
+                    if (null != r && "function" != typeof r) {
+                        var n;
+                        if ("object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(r) && r.constructor == Array) {
+                            for (var o, a = [], s = 0, x = r.length; s < x; s++)
+                                o = r[s],
+                                a.push(encodeURIComponent(null == o ? "" : o));
+                            n = a.join(",")
+                        } else
+                            n = encodeURIComponent(r);
+                        t.push(encodeURIComponent(i) + "=" + n)
+                    }
+                }
+                return t.join("&")
+            }
+            ,
+            GeoGlobe.Util.urlAppend = function(e, t) {
+                var i = e;
+                if (t) {
+                    var r = (e + " ").split(/[?&]/);
+                    i += " " === r.pop() ? t : r.length ? "&" + t : "?" + t
+                }
                 return i
             }
-            !function (e) {
-                ("undefined" == typeof define ? "undefined" : w()(define)) === P("0x8") && define[P("0xd")] ? define(e) : e()
-            }((function () {
-                var e = function () {
+            ,
+            GeoGlobe.Util.getImagesLocation = function() {
+                return GeoGlobe.ImgPath || GeoGlobe._getScriptLocation() + "img/"
+            }
+            ,
+            GeoGlobe.Util.getImageLocation = function(e) {
+                return GeoGlobe.Util.getImagesLocation() + e
+            }
+            ,
+            GeoGlobe.Util.Try = function() {
+                for (var e = null, t = 0, i = arguments.length; t < i; t++) {
+                    var r = arguments[t];
                     try {
-                        return "x" in Object[P("0xe")]({}, "x", {})
-                    } catch (e) {
-                        return !1
-                    }
-                }()
-                    , t = Object[P("0xf")];
-                e && null != t || (t = function (e) {
-                    return e
+                        e = r();
+                        break
+                    } catch (e) {}
                 }
-                );
-                var i = t
-                    , r = Cesium
-                    , n = r[P("0x10")]
-                    , o = r[P("0x11")]
-                    , a = r[P("0x12")]
-                    , s = r[P("0x13")]
-                    , x = r.defaultValue
-                    , l = r[P("0x14")]
-                    , c = r.destroyObject
-                    , u = r[P("0x15")]
-                    , h = r[P("0x16")]
-                    , f = r[P("0x17")]
-                    , d = r[P("0x18")]
-                    , g = r[P("0x19")]
-                    , p = r[P("0x1a")]
-                    , m = r[P("0x1b")]
-                    , b = r.OrthographicFrustum
-                    , v = r[P("0x1c")]
-                    , C = r[P("0x1d")]
-                    , y = r[P("0x1e")]
-                    , _ = r[P("0x1f")]
-                    , A = r[P("0x20")]
-                    , I = r.CameraEventType
-                    , G = r[P("0x21")]
-                    , E = r[P("0x22")]
-                    , S = r.SceneTransforms
-                    , T = r.TweenCollection
-                    , L = Cesium[P("0x23")];
-                function R(e) {
-                    if (!l(e))
-                        throw new u(P("0x24"));
-                    this[P("0x25")] = -L[P("0x26")],
-                        this[P("0x27")] = !0,
-                        this[P("0x28")] = !0,
-                        this.enableZoom = !0,
-                        this[P("0x29")] = !0,
-                        this[P("0x2a")] = !0,
-                        this[P("0x2b")] = !0,
-                        this[P("0x2c")] = .9,
-                        this[P("0x2d")] = .9,
-                        this.inertiaZoom = .8,
-                        this[P("0x2e")] = .1,
-                        this[P("0x2f")] = 3,
-                        this[P("0x30")] = 1,
-                        this.maximumZoomDistance = Number[P("0x31")],
-                        this.translateEventTypes = I[P("0x32")],
-                        this[P("0x33")] = [I[P("0x34")], I[P("0x35")]],
-                        this[P("0x36")] = I[P("0x32")],
-                        this.tiltEventTypes = [I[P("0x37")], I.MIDDLE_DRAG, I[P("0x35")], {
-                            eventType: I[P("0x32")],
-                            modifier: g[P("0x38")]
-                        }, {
-                            eventType: I[P("0x37")],
-                            modifier: g.CTRL
-                        }],
-                        this[P("0x39")] = {
-                            eventType: I[P("0x32")],
-                            modifier: g[P("0x3a")]
-                        },
-                        this[P("0x3b")] = 15e4,
-                        this[P("0x3c")] = this[P("0x3b")],
-                        this[P("0x3d")] = 15e3,
-                        this[P("0x3e")] = this[P("0x3d")],
-                        this[P("0x3f")] = -75e5,
-                        this[P("0x40")] = this[P("0x3f")],
-                        this[P("0x41")] = !0,
-                        this[P("0x42")] = e,
-                        this[P("0x43")] = void 0,
-                        this[P("0x44")] = void 0,
-                        Cesium[P("0x45")] && Cesium[P("0x45")].GeoCameraEventAggregator ? this[P("0x46")] = new (Cesium[P("0x47")])(e.canvas) : this._aggregator = new A(e[P("0x48")]),
-                        this._lastInertiaSpinMovement = void 0,
-                        this._lastInertiaZoomMovement = void 0,
-                        this[P("0x49")] = void 0,
-                        this[P("0x4a")] = void 0,
-                        this._tweens = new T,
-                        this[P("0x4b")] = void 0,
-                        this[P("0x4c")] = void 0,
-                        this[P("0x4d")] = new n(-1, -1),
-                        this._tiltCenter = new o,
-                        this[P("0x4e")] = new n(-1, -1),
-                        this[P("0x4f")] = new o,
-                        this[P("0x50")] = new o,
-                        this[P("0x51")] = new n(-1, -1),
-                        this._zoomWorldPosition = new o,
-                        this[P("0x52")] = !1,
-                        this[P("0x53")] = !1,
-                        this[P("0x54")] = !1,
-                        this[P("0x55")] = !1,
-                        this[P("0x56")] = !1,
-                        this[P("0x57")] = !1,
-                        this[P("0x58")] = !1,
-                        this._adjustedHeightForTerrain = !1;
-                    var t = e.mapProjection;
-                    this[P("0x59")] = t[P("0x5a")](new s(Math.PI, L[P("0x5b")])),
-                        this[P("0x5c")] = 5,
-                        this[P("0x5d")] = void 0,
-                        this._rotateRateRangeAdjustment = void 0,
-                        this[P("0x5e")] = 1.77,
-                        this[P("0x5f")] = 2e-4,
-                        this._minimumZoomRate = 20,
-                        this[P("0x60")] = 5906376272e3
+                return e
+            }
+            ,
+            GeoGlobe.Util.getXmlNodeValue = function(e) {
+                var t = null;
+                return GeoGlobe.Util.Try((function() {
+                    (t = e.text) || (t = e.textContent),
+                    t || (t = e.firstChild.nodeValue)
                 }
-                function O(e, t, i, r, o, a, s) {
-                    var x = a[s];
-                    l(x) || (x = a[s] = {
-                        startPosition: new n,
-                        endPosition: new n,
-                        motion: new n,
-                        active: !1
-                    });
-                    var c, u = e[P("0x66")](t, i), h = e[P("0x67")](t, i), f = u && h && (h[P("0x68")]() - u[P("0x68")]()) / 1e3, d = new Date, g = h && (d.getTime() - h[P("0x68")]()) / 1e3;
-                    if (u && h && f < .4) {
-                        var p = function (e, t) {
-                            if (e < 0)
-                                return 0;
-                            var i = 25 * (1 - t);
-                            return Math[P("0x61")](-i * e)
-                        }(g, r);
-                        if (x[P("0x69")])
-                            x[P("0x63")] = n[P("0x6e")](x[P("0x64")], x[P("0x63")]),
-                                x.endPosition = n[P("0x6c")](x[P("0x6b")], p, x[P("0x64")]),
-                                x.endPosition = n[P("0x6d")](x[P("0x63")], x[P("0x64")], x[P("0x64")]),
-                                x[P("0x6b")] = n[P("0x6e")](n[P("0x6f")], x[P("0x6b")]);
-                        else {
-                            var m = e[P("0x6a")](t, i);
-                            if (!l(m) || (c = m,
-                                n[P("0x62")](c[P("0x63")], c[P("0x64")], L[P("0x65")])))
-                                return;
-                            x[P("0x6b")].x = .5 * (m[P("0x64")].x - m[P("0x63")].x),
-                                x.motion.y = .5 * (m.endPosition.y - m.startPosition.y),
-                                x[P("0x63")] = n.clone(m[P("0x63")], x[P("0x63")]),
-                                x.endPosition = n[P("0x6c")](x[P("0x6b")], p, x[P("0x64")]),
-                                x[P("0x64")] = n[P("0x6d")](x[P("0x63")], x[P("0x64")], x[P("0x64")]),
-                                x.active = !0
+                ), (function() {
+                    t = e.textContent
+                }
+                )),
+                t
+            }
+            ,
+            GeoGlobe.Util.mouseLeft = function(e, t) {
+                for (var i = e.relatedTarget ? e.relatedTarget : e.toElement; i != t && null != i; )
+                    i = i.parentNode;
+                return i != t
+            }
+            ,
+            GeoGlobe.Util.DEFAULT_PRECISION = 14,
+            GeoGlobe.Util.toFloat = function(e, t) {
+                return null == t && (t = GeoGlobe.Util.DEFAULT_PRECISION),
+                "number" != typeof e && (e = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e)),
+                0 === t ? e : _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.toPrecision(t))
+            }
+            ,
+            GeoGlobe.Util.rad = function(e) {
+                return e * Math.PI / 180
+            }
+            ,
+            GeoGlobe.Util.deg = function(e) {
+                return 180 * e / Math.PI
+            }
+            ,
+            GeoGlobe.Util.VincentyConstants = {
+                a: 6378137,
+                b: 6356752.3142,
+                f: 1 / 298.257223563
+            },
+            GeoGlobe.Util.distVincenty = function(e, t) {
+                for (var i = GeoGlobe.Util.VincentyConstants, r = i.a, n = i.b, o = i.f, a = GeoGlobe.Util.rad(t.lng - e.lng), s = Math.atan((1 - o) * Math.tan(GeoGlobe.Util.rad(e.lat))), x = Math.atan((1 - o) * Math.tan(GeoGlobe.Util.rad(t.lat))), l = Math.sin(s), c = Math.cos(s), u = Math.sin(x), h = Math.cos(x), f = a, d = 2 * Math.PI, g = 20; Math.abs(f - d) > 1e-12 && --g > 0; ) {
+                    var p = Math.sin(f)
+                      , m = Math.cos(f)
+                      , b = Math.sqrt(h * p * (h * p) + (c * u - l * h * m) * (c * u - l * h * m));
+                    if (0 == b)
+                        return 0;
+                    var v = l * u + c * h * m
+                      , C = Math.atan2(b, v)
+                      , y = Math.asin(c * h * p / b)
+                      , _ = Math.cos(y) * Math.cos(y)
+                      , A = v - 2 * l * u / _
+                      , I = o / 16 * _ * (4 + o * (4 - 3 * _));
+                    d = f,
+                    f = a + (1 - I) * o * Math.sin(y) * (C + I * b * (A + I * v * (2 * A * A - 1)))
+                }
+                if (0 == g)
+                    return NaN;
+                var w = _ * (r * r - n * n) / (n * n)
+                  , G = w / 1024 * (256 + w * (w * (74 - 47 * w) - 128));
+                return (n * (1 + w / 16384 * (4096 + w * (w * (320 - 175 * w) - 768))) * (C - G * b * (A + G / 4 * (v * (2 * A * A - 1) - G / 6 * A * (4 * b * b - 3) * (4 * A * A - 3))))).toFixed(3) / 1e3
+            }
+            ,
+            GeoGlobe.Util.destinationVincenty = function(e, t, i) {
+                for (var r = GeoGlobe.Util, n = r.VincentyConstants, o = n.a, a = n.b, s = n.f, x = e.lng, l = e.lat, c = i, u = r.rad(t), h = Math.sin(u), f = Math.cos(u), d = (1 - s) * Math.tan(r.rad(l)), g = 1 / Math.sqrt(1 + d * d), p = d * g, m = Math.atan2(d, f), b = g * h, v = 1 - b * b, C = v * (o * o - a * a) / (a * a), y = 1 + C / 16384 * (4096 + C * (C * (320 - 175 * C) - 768)), _ = C / 1024 * (256 + C * (C * (74 - 47 * C) - 128)), A = c / (a * y), I = 2 * Math.PI; Math.abs(A - I) > 1e-12; ) {
+                    var w = Math.cos(2 * m + A)
+                      , G = Math.sin(A)
+                      , E = Math.cos(A);
+                    I = A,
+                    A = c / (a * y) + _ * G * (w + _ / 4 * (E * (2 * w * w - 1) - _ / 6 * w * (4 * G * G - 3) * (4 * w * w - 3)))
+                }
+                var S = p * G - g * E * f
+                  , T = Math.atan2(p * E + g * G * f, (1 - s) * Math.sqrt(b * b + S * S))
+                  , P = s / 16 * v * (4 + s * (4 - 3 * v))
+                  , M = Math.atan2(G * h, g * E - p * G * f) - (1 - P) * s * b * (A + P * G * (w + P * E * (2 * w * w - 1)));
+                return Math.atan2(b, -S),
+                new GeoGlobe.LngLat(x + r.deg(M),r.deg(T))
+            }
+            ,
+            GeoGlobe.Util.getParameters = function(e, t) {
+                t = t || {},
+                e = null == e ? window.location.href : e;
+                var i = "";
+                if (GeoGlobe.String.contains(e, "?")) {
+                    var r = e.indexOf("?") + 1
+                      , n = GeoGlobe.String.contains(e, "#") ? e.indexOf("#") : e.length;
+                    i = e.substring(r, n)
+                }
+                for (var o = {}, a = i.split(/[&;]/), s = 0, x = a.length; s < x; ++s) {
+                    var l = a[s].split("=");
+                    if (l[0]) {
+                        var c = l[0];
+                        try {
+                            c = decodeURIComponent(c)
+                        } catch (e) {
+                            c = unescape(c)
                         }
-                        if (isNaN(x[P("0x64")].x) || isNaN(x[P("0x64")].y) || n.distance(x[P("0x63")], x[P("0x64")]) < .5)
-                            return void (x[P("0x69")] = !1);
-                        e[P("0x70")](t, i) || o(a, e.getStartMousePosition(t, i), x)
-                    } else
-                        x[P("0x69")] = !1
-                }
-                var F = [];
-                function D(e, t, i, r, n, o) {
-                    if (l(i)) {
-                        var a = e._aggregator;
-                        Array[P("0x71")](i) || (F[0] = i,
-                            i = F);
-                        for (var s = i[P("0x0")], x = 0; x < s; ++x) {
-                            var c = i[x]
-                                , u = l(c[P("0x72")]) ? c[P("0x72")] : c
-                                , h = c[P("0x73")]
-                                , f = a[P("0x74")](u, h) && a[P("0x75")](u, h)
-                                , d = a[P("0x76")](u, h);
-                            e.enableInputs && t && (f ? r(e, d, f) : n < 1 && O(a, u, h, n, r, e, o))
+                        var u = (l[1] || "").replace(/\+/g, " ");
+                        try {
+                            u = decodeURIComponent(u)
+                        } catch (e) {
+                            u = unescape(u)
                         }
+                        !1 !== t.splitArgs && (u = u.split(",")),
+                        1 == u.length && (u = u[0]),
+                        o[c] = u
                     }
                 }
-                var U = new y
-                    , k = new o
-                    , B = new n
-                    , W = new o
-                    , j = new n
-                    , V = new o
-                    , z = new o
-                    , H = new o
-                    , q = new o
-                    , X = new o
-                    , Y = new o
-                    , K = new o
-                    , Q = new o
-                    , Z = new o
-                    , J = new o
-                    , $ = new o
-                    , ee = new o
-                    , te = new o
-                    , ie = new o
-                    , re = new o
-                    , ne = new o
-                    , oe = new o
-                    , ae = new o
-                    , se = {
-                        orientation: new f
-                    };
-                function xe(e, t, i, r, s, x) {
-                    var c = 1;
-                    l(x) && (c = L[P("0x77")](Math[P("0x78")](x), .25, 1));
-                    var u = e.minimumZoomDistance * c
-                        , h = e[P("0x79")]
-                        , f = r * (s - u);
-                    f = L.clamp(f, e[P("0x7a")], e._maximumZoomRate);
-                    var d = i[P("0x64")].y - i[P("0x63")].y;
-                    if (!(e[P("0x7b")] && d < 0 && function (e, t) {
-                        var i = a[P("0x6e")](a[P("0xa1")])
-                            , r = a[P("0x6e")](a[P("0xa1")])
-                            , n = e[P("0x42")]
-                            , o = n.globe.ellipsoid
-                            , s = n[P("0x7e")]
-                            , x = n.canvas;
-                        if (1.5 <= Math.abs(s[P("0x80")]) && (s[P("0x7f")] <= .25 || 6.03 <= s[P("0x7f")]))
-                            return !1;
-                        var l = s.pickEllipsoid(new (Cesium[P("0x10")])(0, x.clientHeight), o, i)
-                            , c = s[P("0xa2")](new Cesium.Cartesian2(x.clientWidth, x[P("0x7c")]), o, r);
-                        if (l && c && Math[P("0x78")](l.x - c.x) < 8e4 && Math[P("0x78")](l.y - c.y) < 8e4)
-                            return !1;
-                        var u = new (Cesium[P("0x1e")]);
-                        u = s[P("0x86")](t, u);
-                        var h = n[P("0xa3")][P("0xa4")](u, n);
-                        if (h || (u[P("0x87")] = s[P("0xa5")],
-                            u[P("0x93")] = s[P("0xa6")],
-                            h = n[P("0xa3")][P("0xa4")](u, n)),
-                            !h)
-                            return !0;
-                        var f = o[P("0xa7")](s[P("0x91")], new (Cesium[P("0x11")]))
-                            , d = (o.geodeticSurfaceNormal(h),
-                                new Cesium.BoundingSphere(h, 0));
-                        return s[P("0xa8")](d, {
-                            offset: new (Cesium[P("0xa9")])(0, Cesium[P("0x23")].toRadians(-90), Cesium.Cartesian3.distance(f, h)),
-                            duration: 0
-                        }),
-                            !0
-                    }(e, t))) {
-                        var g = d / e[P("0x42")][P("0x48")][P("0x7c")]
-                            , p = f * (g = Math[P("0x7d")](g, e.maximumMovementRatio));
-                        if (!(0 < p && Math.abs(s - u) < 1 || p < 0 && Math.abs(s - h) < 1)) {
-                            s - p < u ? p = s - u - 1 : h < s - p && (p = s - h);
-                            var m = e[P("0x42")]
-                                , v = m[P("0x7e")]
-                                , C = m.mode
-                                , y = se.orientation;
-                            if (y[P("0x7f")] = v[P("0x7f")],
-                                y[P("0x80")] = v[P("0x80")],
-                                y[P("0x81")] = v[P("0x81")],
-                                v.frustum instanceof b)
-                                0 < Math.abs(p) && (v[P("0x82")](p),
-                                    v[P("0x83")]());
-                            else {
-                                var _, A = n[P("0x84")](t, e._zoomMouseStart), I = e[P("0x57")], w = e._rotatingZoom;
-                                if (A || (e[P("0x51")] = n[P("0x6e")](t, e[P("0x51")]),
-                                    l(e[P("0x43")]) && (_ = C === E[P("0x85")] ? (_ = v[P("0x86")](t, U)[P("0x87")],
-                                        o[P("0x88")](_.y, _.z, _.x)) : Ce(e, t, k)),
-                                    l(_) ? (e[P("0x52")] = !0,
-                                        e[P("0x89")] = o.clone(_, e[P("0x89")])) : e[P("0x52")] = !1,
-                                    I = e[P("0x57")] = !1,
-                                    w = e[P("0x58")] = !1),
-                                    e[P("0x52")]) {
-                                    var G = C === E[P("0x8a")];
-                                    if (v.positionCartographic[P("0x8b")] < 2e6 && (w = !0),
-                                        !A || w) {
-                                        if (C === E.SCENE2D) {
-                                            var T = e._zoomWorldPosition
-                                                , M = v[P("0x8c")];
-                                            if (!o[P("0x84")](T, M) && v.positionCartographic[P("0x8b")] < 2 * e[P("0x59")].x) {
-                                                var N = v[P("0x8c")].x
-                                                    , R = o.subtract(T, M, W);
-                                                o[P("0x8d")](R, R);
-                                                var O = o[P("0x8e")](T, M) * p / (.5 * v[P("0x8f")]());
-                                                v.move(R, .5 * O),
-                                                    (v[P("0x8c")].x < 0 && 0 < N || 0 < v.position.x && N < 0) && (_ = v[P("0x86")](t, U)[P("0x87")],
-                                                        _ = o.fromElements(_.y, _.z, _.x),
-                                                        e[P("0x89")] = o[P("0x6e")](_, e[P("0x89")]))
-                                            }
-                                        } else if (C === E[P("0x90")]) {
-                                            var F = o.normalize(v[P("0x8c")], X);
-                                            if (v[P("0x91")][P("0x8b")] < 3e3 && Math.abs(o[P("0x92")](v[P("0x93")], F)) < .6)
-                                                G = !0;
-                                            else {
-                                                var D = m[P("0x48")]
-                                                    , xe = j;
-                                                xe.x = D[P("0x94")] / 2,
-                                                    xe.y = D[P("0x7c")] / 2;
-                                                var le = Ce(e, xe, V);
-                                                if (l(le) && v[P("0x91")].height < 1e6) {
-                                                    var ce = K;
-                                                    o[P("0x6e")](v.position, ce);
-                                                    var ue = e[P("0x89")]
-                                                        , he = Y;
-                                                    if (he = o[P("0x8d")](ue, he),
-                                                        o[P("0x92")](he, F) < 0)
-                                                        return;
-                                                    var fe = re
-                                                        , de = J;
-                                                    o[P("0x6e")](v.direction, de),
-                                                        o[P("0x6d")](ce, o[P("0x6c")](de, 1e3, ne), fe);
-                                                    var ge = $
-                                                        , pe = ee;
-                                                    o[P("0x95")](ue, ce, ge),
-                                                        o[P("0x8d")](ge, pe);
-                                                    var me = o.dot(F, pe);
-                                                    if (0 <= me)
-                                                        return void (e[P("0x51")].x = -1);
-                                                    var be = Math.acos(-me)
-                                                        , ve = o[P("0x96")](ce)
-                                                        , ye = o.magnitude(ue)
-                                                        , _e = ve - p
-                                                        , Ae = o.magnitude(ge)
-                                                        , Ie = Math[P("0x97")](L.clamp(Ae / ye * Math[P("0x98")](be), -1, 1)) - Math[P("0x97")](L.clamp(_e / ye * Math[P("0x98")](be), -1, 1)) + be
-                                                        , we = Q;
-                                                    o.normalize(ce, we);
-                                                    var Ge = Z;
-                                                    Ge = o[P("0x99")](pe, we, Ge),
-                                                        Ge = o.normalize(Ge, Ge),
-                                                        o[P("0x8d")](o[P("0x99")](we, Ge, ne), de),
-                                                        o[P("0x6c")](o[P("0x8d")](fe, ne), o[P("0x96")](fe) - p, fe),
-                                                        o[P("0x8d")](ce, ce),
-                                                        o[P("0x6c")](ce, _e, ce);
-                                                    var Ee = te;
-                                                    o[P("0x6c")](o[P("0x6d")](o[P("0x6c")](we, Math[P("0x9a")](Ie) - 1, oe), o.multiplyByScalar(de, Math[P("0x98")](Ie), ae), ne), _e, Ee),
-                                                        o[P("0x6d")](ce, Ee, ce),
-                                                        o.normalize(fe, we),
-                                                        o.normalize(o[P("0x99")](we, Ge, ne), de);
-                                                    var Se = ie;
-                                                    return o[P("0x6c")](o[P("0x6d")](o[P("0x6c")](we, Math[P("0x9a")](Ie) - 1, oe), o[P("0x6c")](de, Math[P("0x98")](Ie), ae), ne), o.magnitude(fe), Se),
-                                                        o.add(fe, Se, fe),
-                                                        o[P("0x6e")](ce, v[P("0x8c")]),
-                                                        o.normalize(o.subtract(fe, ce, ne), v[P("0x93")]),
-                                                        o[P("0x6e")](v[P("0x93")], v[P("0x93")]),
-                                                        o[P("0x99")](v.direction, v.up, v[P("0x9b")]),
-                                                        o.cross(v[P("0x9b")], v[P("0x93")], v.up),
-                                                        void v[P("0x9c")](se)
-                                                }
-                                                if (l(le)) {
-                                                    var Te = o[P("0x8d")](le, z)
-                                                        , Pe = o[P("0x8d")](e[P("0x89")], H)
-                                                        , Me = o[P("0x92")](Pe, Te);
-                                                    if (0 < Me && Me < 1) {
-                                                        var Ne = L[P("0x9d")](Me)
-                                                            , Le = o.cross(Pe, Te, q)
-                                                            , Re = p / (Math[P("0x78")](Ne) > L.toRadians(20) ? .75 * v.positionCartographic[P("0x8b")] : v[P("0x91")].height - p);
-                                                        v[P("0x9e")](Le, Ne * Re)
-                                                    }
-                                                } else
-                                                    G = !0
-                                            }
-                                        }
-                                        e[P("0x58")] = !G
-                                    }
-                                    if (!A && G || I) {
-                                        var Oe = S[P("0x9f")](m, e._zoomWorldPosition, B)
-                                            , Fe = (C !== E[P("0x8a")] && n[P("0x84")](t, e[P("0x51")]) && l(Oe) ? v[P("0x86")](Oe, U) : v.getPickRay(t, U)).direction;
-                                        C !== E[P("0x8a")] && C !== E.SCENE2D || o[P("0x88")](Fe.y, Fe.z, Fe.x, Fe),
-                                            v[P("0xa0")](Fe, p),
-                                            e[P("0x57")] = !0
-                                    } else
-                                        v[P("0x82")](p);
-                                    v[P("0x9c")](se)
-                                } else
-                                    v[P("0x82")](p)
-                            }
-                        }
-                    }
+                return o
+            }
+            ,
+            GeoGlobe.Util.lastSeqID = 0,
+            GeoGlobe.Util.createUniqueID = function(e) {
+                return e = null == e ? "id_" : e.replace(GeoGlobe.Util.dotless, "_"),
+                GeoGlobe.Util.lastSeqID += 1,
+                e + GeoGlobe.Util.lastSeqID
+            }
+            ,
+            GeoGlobe.INCHES_PER_UNIT = {
+                inches: 1,
+                ft: 12,
+                mi: 63360,
+                m: 1 / .0254,
+                km: 39370,
+                dd: 4374754,
+                yd: 36
+            },
+            GeoGlobe.INCHES_PER_UNIT.in = GeoGlobe.INCHES_PER_UNIT.inches,
+            GeoGlobe.INCHES_PER_UNIT.degrees = GeoGlobe.INCHES_PER_UNIT.dd,
+            GeoGlobe.INCHES_PER_UNIT.nmi = 1852 * GeoGlobe.INCHES_PER_UNIT.m,
+            GeoGlobe.METERS_PER_INCH = .0254000508001016,
+            GeoGlobe.Util.extend(GeoGlobe.INCHES_PER_UNIT, {
+                Inch: GeoGlobe.INCHES_PER_UNIT.inches,
+                Meter: 1 / GeoGlobe.METERS_PER_INCH,
+                Foot: .3048006096012192 / GeoGlobe.METERS_PER_INCH,
+                IFoot: .3048 / GeoGlobe.METERS_PER_INCH,
+                ClarkeFoot: .3047972651151 / GeoGlobe.METERS_PER_INCH,
+                SearsFoot: .30479947153867626 / GeoGlobe.METERS_PER_INCH,
+                GoldCoastFoot: .3047997101815088 / GeoGlobe.METERS_PER_INCH,
+                IInch: .0254 / GeoGlobe.METERS_PER_INCH,
+                MicroInch: 254e-7 / GeoGlobe.METERS_PER_INCH,
+                Mil: 2.54e-8 / GeoGlobe.METERS_PER_INCH,
+                Centimeter: .01 / GeoGlobe.METERS_PER_INCH,
+                Kilometer: 1e3 / GeoGlobe.METERS_PER_INCH,
+                Yard: .9144018288036576 / GeoGlobe.METERS_PER_INCH,
+                SearsYard: .914398414616029 / GeoGlobe.METERS_PER_INCH,
+                IndianYard: .9143985307444408 / GeoGlobe.METERS_PER_INCH,
+                IndianYd37: .91439523 / GeoGlobe.METERS_PER_INCH,
+                IndianYd62: .9143988 / GeoGlobe.METERS_PER_INCH,
+                IndianYd75: .9143985 / GeoGlobe.METERS_PER_INCH,
+                IndianFoot: .30479951 / GeoGlobe.METERS_PER_INCH,
+                IndianFt37: .30479841 / GeoGlobe.METERS_PER_INCH,
+                IndianFt62: .3047996 / GeoGlobe.METERS_PER_INCH,
+                IndianFt75: .3047995 / GeoGlobe.METERS_PER_INCH,
+                Mile: 1609.3472186944373 / GeoGlobe.METERS_PER_INCH,
+                IYard: .9144 / GeoGlobe.METERS_PER_INCH,
+                IMile: 1609.344 / GeoGlobe.METERS_PER_INCH,
+                NautM: 1852 / GeoGlobe.METERS_PER_INCH,
+                "Lat-66": 110943.31648893273 / GeoGlobe.METERS_PER_INCH,
+                "Lat-83": 110946.25736872235 / GeoGlobe.METERS_PER_INCH,
+                Decimeter: .1 / GeoGlobe.METERS_PER_INCH,
+                Millimeter: .001 / GeoGlobe.METERS_PER_INCH,
+                Dekameter: 10 / GeoGlobe.METERS_PER_INCH,
+                Decameter: 10 / GeoGlobe.METERS_PER_INCH,
+                Hectometer: 100 / GeoGlobe.METERS_PER_INCH,
+                GermanMeter: 1.0000135965 / GeoGlobe.METERS_PER_INCH,
+                CaGrid: .999738 / GeoGlobe.METERS_PER_INCH,
+                ClarkeChain: 20.1166194976 / GeoGlobe.METERS_PER_INCH,
+                GunterChain: 20.11684023368047 / GeoGlobe.METERS_PER_INCH,
+                BenoitChain: 20.116782494375872 / GeoGlobe.METERS_PER_INCH,
+                SearsChain: 20.11676512155 / GeoGlobe.METERS_PER_INCH,
+                ClarkeLink: .201166194976 / GeoGlobe.METERS_PER_INCH,
+                GunterLink: .2011684023368047 / GeoGlobe.METERS_PER_INCH,
+                BenoitLink: .20116782494375873 / GeoGlobe.METERS_PER_INCH,
+                SearsLink: .2011676512155 / GeoGlobe.METERS_PER_INCH,
+                Rod: 5.02921005842012 / GeoGlobe.METERS_PER_INCH,
+                IntnlChain: 20.1168 / GeoGlobe.METERS_PER_INCH,
+                IntnlLink: .201168 / GeoGlobe.METERS_PER_INCH,
+                Perch: 5.02921005842012 / GeoGlobe.METERS_PER_INCH,
+                Pole: 5.02921005842012 / GeoGlobe.METERS_PER_INCH,
+                Furlong: 201.1684023368046 / GeoGlobe.METERS_PER_INCH,
+                Rood: 3.778266898 / GeoGlobe.METERS_PER_INCH,
+                CapeFoot: .3047972615 / GeoGlobe.METERS_PER_INCH,
+                Brealey: 375 / GeoGlobe.METERS_PER_INCH,
+                ModAmFt: .304812252984506 / GeoGlobe.METERS_PER_INCH,
+                Fathom: 1.8288 / GeoGlobe.METERS_PER_INCH,
+                "NautM-UK": 1853.184 / GeoGlobe.METERS_PER_INCH,
+                "50kilometers": 5e4 / GeoGlobe.METERS_PER_INCH,
+                "150kilometers": 15e4 / GeoGlobe.METERS_PER_INCH
+            }),
+            GeoGlobe.Util.extend(GeoGlobe.INCHES_PER_UNIT, {
+                mm: GeoGlobe.INCHES_PER_UNIT.Meter / 1e3,
+                cm: GeoGlobe.INCHES_PER_UNIT.Meter / 100,
+                dm: 100 * GeoGlobe.INCHES_PER_UNIT.Meter,
+                km: 1e3 * GeoGlobe.INCHES_PER_UNIT.Meter,
+                kmi: GeoGlobe.INCHES_PER_UNIT.nmi,
+                fath: GeoGlobe.INCHES_PER_UNIT.Fathom,
+                ch: GeoGlobe.INCHES_PER_UNIT.IntnlChain,
+                link: GeoGlobe.INCHES_PER_UNIT.IntnlLink,
+                "us-in": GeoGlobe.INCHES_PER_UNIT.inches,
+                "us-ft": GeoGlobe.INCHES_PER_UNIT.Foot,
+                "us-yd": GeoGlobe.INCHES_PER_UNIT.Yard,
+                "us-ch": GeoGlobe.INCHES_PER_UNIT.GunterChain,
+                "us-mi": GeoGlobe.INCHES_PER_UNIT.Mile,
+                "ind-yd": GeoGlobe.INCHES_PER_UNIT.IndianYd37,
+                "ind-ft": GeoGlobe.INCHES_PER_UNIT.IndianFt37,
+                "ind-ch": 20.11669506 / GeoGlobe.METERS_PER_INCH
+            }),
+            GeoGlobe.DOTS_PER_INCH = 96,
+            GeoGlobe.Util.normalizeScale = function(e) {
+                return e > 1 ? 1 / e : e
+            }
+            ,
+            GeoGlobe.Util.getResolutionFromScale = function(e, t) {
+                var i;
+                return e && (null == t && (t = "degrees"),
+                i = 1 / (GeoGlobe.Util.normalizeScale(e) * GeoGlobe.INCHES_PER_UNIT[t] * GeoGlobe.DOTS_PER_INCH)),
+                i
+            }
+            ,
+            GeoGlobe.Util.getScaleFromResolution = function(e, t) {
+                return null == t && (t = "degrees"),
+                e * GeoGlobe.INCHES_PER_UNIT[t] * GeoGlobe.DOTS_PER_INCH
+            }
+            ,
+            GeoGlobe.Util.pagePosition = function(e) {
+                var t = [0, 0]
+                  , i = GeoGlobe.Util.getViewportElement();
+                if (!e || e == window || e == i)
+                    return t;
+                var r, n = GeoGlobe.IS_GECKO && document.getBoxObjectFor && "absolute" == GeoGlobe.Element.getStyle(e, "position") && ("" == e.style.top || "" == e.style.left), o = null;
+                if (e.getBoundingClientRect) {
+                    r = e.getBoundingClientRect();
+                    var a = window.pageYOffset || i.scrollTop
+                      , s = window.pageXOffset || i.scrollLeft;
+                    t[0] = r.left + s,
+                    t[1] = r.top + a
+                } else if (document.getBoxObjectFor && !n) {
+                    r = document.getBoxObjectFor(e);
+                    var x = document.getBoxObjectFor(i);
+                    t[0] = r.screenX - x.screenX,
+                    t[1] = r.screenY - x.screenY
+                } else {
+                    if (t[0] = e.offsetLeft,
+                    t[1] = e.offsetTop,
+                    (o = e.offsetParent) != e)
+                        for (; o; )
+                            t[0] += o.offsetLeft,
+                            t[1] += o.offsetTop,
+                            o = o.offsetParent;
+                    var l = GeoGlobe.BROWSER_NAME;
+                    for (("opera" == l || "safari" == l && "absolute" == GeoGlobe.Element.getStyle(e, "position")) && (t[1] -= document.body.offsetTop),
+                    o = e.offsetParent; o && o != document.body; )
+                        t[0] -= o.scrollLeft,
+                        "opera" == l && "TR" == o.tagName || (t[1] -= o.scrollTop),
+                        o = o.offsetParent
                 }
-                var le = new y
-                    , ce = new y
-                    , ue = new o;
-                function he(e, t, i) {
-                    var r = e[P("0x42")][P("0x7e")]
-                        , n = r[P("0x86")](i[P("0x63")], le)[P("0x87")]
-                        , a = r[P("0x86")](i.endPosition, ce).origin;
-                    n = o[P("0x88")](n.y, n.z, n.x, n),
-                        a = o[P("0x88")](a.y, a.z, a.x, a);
-                    var s = o[P("0x95")](n, a, ue)
-                        , x = o[P("0x96")](s);
-                    0 < x && (o[P("0x8d")](s, s),
-                        r[P("0xa0")](s, x))
-                }
-                function fe(e, t, i) {
-                    l(i[P("0x8e")]) && (i = i[P("0x8e")]);
-                    var r = e[P("0x42")][P("0x7e")];
-                    xe(e, t, i, e[P("0x5c")], r[P("0x8f")]())
-                }
-                var de = new n
-                    , ge = new n;
-                function pe(e, t, i) {
-                    if (l(i[P("0xaa")]))
-                        !function (e, t) {
-                            var i = e._rotateFactor * e._rotateRateRangeAdjustment;
-                            i > e[P("0x5e")] && (i = e[P("0x5e")]),
-                                i < e[P("0x5f")] && (i = e[P("0x5f")]);
-                            var r = e._scene
-                                , n = r[P("0x7e")]
-                                , o = r[P("0x48")]
-                                , a = (t[P("0x64")].x - t[P("0x63")].x) / o.clientWidth
-                                , s = i * (a = Math[P("0x7d")](a, e[P("0x2e")])) * Math.PI * 4;
-                            n.twistRight(s)
-                        }(e, i.angleAndHeight);
-                    else {
-                        var r = e[P("0x42")]
-                            , o = r[P("0x7e")]
-                            , a = r[P("0x48")]
-                            , s = a[P("0x94")]
-                            , x = a.clientHeight
-                            , c = de;
-                        c.x = 2 / s * i[P("0x63")].x - 1,
-                            c.y = 2 / x * (x - i[P("0x63")].y) - 1,
-                            c = n[P("0x8d")](c, c);
-                        var u = ge;
-                        u.x = 2 / s * i[P("0x64")].x - 1,
-                            u.y = 2 / x * (x - i[P("0x64")].y) - 1,
-                            u = n.normalize(u, u);
-                        var h = L[P("0x9d")](c.x);
-                        c.y < 0 && (h = L.TWO_PI - h);
-                        var f = L[P("0x9d")](u.x);
-                        u.y < 0 && (f = L[P("0xab")] - f);
-                        var d = f - h;
-                        o[P("0xac")](d)
-                    }
-                }
-                var me = new y
-                    , be = new o
-                    , ve = new o;
-                function Ce(e, t, i) {
-                    var r = e[P("0x42")]
-                        , n = e._globe
-                        , a = r[P("0x7e")];
-                    if (l(n)) {
-                        var s;
-                        r.pickPositionSupported && (s = r.pickPositionWorldCoordinates(t, be));
-                        var x = a.getPickRay(t, me)
-                            , c = n.pickWorldCoordinates(x, r, ve);
-                        return (l(s) ? o.distance(s, a[P("0xa5")]) : Number[P("0x31")]) < (l(c) ? o[P("0x8e")](c, a[P("0xa5")]) : Number.POSITIVE_INFINITY) ? o.clone(s, i) : o.clone(c, i)
-                    }
-                }
-                var ye = new y
-                    , _e = new y
-                    , Ae = new o
-                    , Ie = new o
-                    , we = new o
-                    , Ge = new o
-                    , Ee = new v(o.UNIT_X, 0)
-                    , Se = new n
-                    , Te = new n;
-                function Pe(e, t, i) {
-                    if (o.equals(t, e[P("0xb6")]) || (e[P("0x54")] = !1),
-                        o.equals(t, e[P("0xb7")]) || (e[P("0x56")] = !1),
-                        e._looking)
-                        Bt(e, t, i);
-                    else if (e._strafing)
-                        tt(e, t, i);
-                    else {
-                        var r, a = e._scene[P("0x7e")], s = n[P("0x6e")](i.startPosition, Se), x = n[P("0x6e")](i[P("0x64")], Te), c = a[P("0x86")](s, ye), u = o[P("0x6e")](o[P("0x6f")], Ge), h = o[P("0xb8")];
-                        if (a[P("0x8c")].z < e[P("0x3c")] && (r = Ce(e, s, Ae),
-                            l(r) && (u.x = r.x)),
-                            u.x > a[P("0x8c")].z && l(r))
-                            return o.clone(r, e._strafeStartPosition),
-                                e[P("0x56")] = !0,
-                                tt(e, t, i),
-                                void (e[P("0xb7")] = n[P("0x6e")](t, e[P("0xb7")]));
-                        var f = v[P("0xb9")](u, h, Ee);
-                        c = a[P("0x86")](s, ye);
-                        var g = d.rayPlane(c, f, Ae)
-                            , p = a.getPickRay(x, _e)
-                            , m = d[P("0xba")](p, f, Ie);
-                        if (!l(g) || !l(m))
-                            return e[P("0x54")] = !0,
-                                Bt(e, t, i),
-                                void n[P("0x6e")](t, e[P("0xb6")]);
-                        var b = o[P("0x95")](g, m, we)
-                            , C = b.x;
-                        b.x = b.y,
-                            b.y = b.z,
-                            b.z = C;
-                        var y = o[P("0x96")](b);
-                        y > L[P("0xbb")] && (o[P("0x8d")](b, b),
-                            a[P("0xa0")](b, y))
-                    }
-                }
-                var Me = new n
-                    , Ne = new y
-                    , Le = new o
-                    , Re = new o
-                    , Oe = new m
-                    , Fe = new m
-                    , De = new o
-                    , Ue = new v(o.UNIT_X, 0)
-                    , ke = new o
-                    , Be = new s
-                    , We = new m
-                    , je = new C
-                    , Ve = new p
-                    , ze = new o;
-                function He(e, t, i) {
-                    if (l(i[P("0xaa")]) && (i = i.angleAndHeight),
-                        n.equals(t, e[P("0x4d")]) || (e[P("0x53")] = !1,
-                            e._looking = !1),
-                        e[P("0x54")])
-                        Bt(e, t, i);
-                    else {
-                        var r = e[P("0x42")].camera;
-                        e[P("0x53")] || !e[P("0xbc")]() || r[P("0x8c")].z > e[P("0x3c")] ? (e[P("0x53")] = !0,
-                            function (e, t, i) {
-                                var r = e[P("0x42")]
-                                    , a = r.camera
-                                    , s = r.canvas
-                                    , x = Me;
-                                x.x = s[P("0x94")] / 2,
-                                    x.y = s[P("0x7c")] / 2;
-                                var c, u = a[P("0x86")](x, Ne), f = o[P("0xb8")], d = u.origin, g = u[P("0x93")], p = o[P("0x92")](f, g);
-                                if (Math[P("0x78")](p) > L[P("0xbb")] && (c = -o.dot(f, d) / p),
-                                    !l(c) || c <= 0)
-                                    return e[P("0x54")] = !0,
-                                        Bt(e, t, i),
-                                        n[P("0x6e")](t, e[P("0x4d")]);
-                                var b = o.multiplyByScalar(g, c, Le);
-                                o.add(d, b, b);
-                                var v = r[P("0xbd")]
-                                    , C = v.ellipsoid;
-                                o[P("0x88")](b.y, b.z, b.x, b);
-                                var y = v[P("0xbe")](b, Be);
-                                C[P("0xa7")](y, b);
-                                var A = _[P("0xbf")](b, C, Oe)
-                                    , I = e[P("0x43")]
-                                    , w = e._ellipsoid;
-                                e[P("0x43")] = void 0,
-                                    e[P("0x44")] = h[P("0xc0")],
-                                    e._rotateFactor = 1,
-                                    e[P("0xc1")] = 1;
-                                var G = m[P("0x6e")](a[P("0xaf")], We);
-                                a[P("0xc2")](A),
-                                    xt(e, t, i, o[P("0xc3")]),
-                                    a._setTransform(G),
-                                    e[P("0x43")] = I;
-                                var E = (e[P("0x44")] = w)[P("0xc4")];
-                                e._rotateFactor = 1 / E,
-                                    e[P("0xc1")] = E
-                            }(e, t, i)) : function (e, t, i) {
-                                var r, a, s = e[P("0x42")], x = s[P("0x7e")], c = o[P("0xb8")];
-                                if (n.equals(t, e[P("0x4d")]))
-                                    r = o[P("0x6e")](e[P("0xc5")], Le);
-                                else {
-                                    if (x[P("0x8c")].z < e[P("0x3c")] && (r = Ce(e, t, Le)),
-                                        !l(r)) {
-                                        var u, f = (a = x[P("0x86")](t, Ne))[P("0x87")], g = a[P("0x93")], b = o.dot(c, g);
-                                        if (Math.abs(b) > L[P("0xbb")] && (u = -o[P("0x92")](c, f) / b),
-                                            !l(u) || u <= 0)
-                                            return e[P("0x54")] = !0,
-                                                Bt(e, t, i),
-                                                n[P("0x6e")](t, e[P("0x4d")]);
-                                        r = o[P("0x6c")](g, u, Le),
-                                            o.add(f, r, r)
-                                    }
-                                    n[P("0x6e")](t, e._tiltCenterMousePosition),
-                                        o[P("0x6e")](r, e[P("0xc5")])
-                                }
-                                var y = s[P("0x48")]
-                                    , A = Me;
-                                A.x = y[P("0x94")] / 2,
-                                    A.y = e._tiltCenterMousePosition.y,
-                                    a = x[P("0x86")](A, Ne);
-                                var I = o[P("0x6e")](o.ZERO, De);
-                                I.x = r.x;
-                                var w = v[P("0xb9")](I, c, Ue)
-                                    , G = d[P("0xba")](a, w, Re)
-                                    , E = x[P("0xc6")]
-                                    , S = E.ellipsoid;
-                                o[P("0x88")](r.y, r.z, r.x, r);
-                                var T = E[P("0xbe")](r, Be);
-                                S[P("0xa7")](T, r);
-                                var M, N = _[P("0xbf")](r, S, Oe);
-                                M = l(G) ? (o[P("0x88")](G.y, G.z, G.x, G),
-                                    T = E[P("0xbe")](G, Be),
-                                    S[P("0xa7")](T, G),
-                                    _[P("0xbf")](G, S, Fe)) : N;
-                                var R = e._globe
-                                    , O = e._ellipsoid;
-                                e[P("0x43")] = void 0,
-                                    e[P("0x44")] = h[P("0xc0")],
-                                    e[P("0x5d")] = 1,
-                                    e[P("0xc1")] = 1;
-                                var F = o[P("0xc3")]
-                                    , D = m[P("0x6e")](x.transform, We);
-                                x[P("0xc2")](N);
-                                var U = o[P("0x99")](o[P("0xc3")], o[P("0x8d")](x.position, ke), ke)
-                                    , k = o[P("0x92")](x[P("0x9b")], U);
-                                if (xt(e, t, i, F, !1, !0),
-                                    x._setTransform(M),
-                                    k < 0) {
-                                    i[P("0x63")].y > i[P("0x64")].y && (F = void 0);
-                                    var B = x.constrainedAxis;
-                                    x[P("0xc7")] = void 0,
-                                        xt(e, t, i, F, !0, !1),
-                                        x[P("0xc7")] = B
-                                } else
-                                    xt(e, t, i, F, !0, !1);
-                                if (l(x[P("0xc7")])) {
-                                    var W = o[P("0x99")](x[P("0x93")], x.constrainedAxis, ze);
-                                    o[P("0x62")](W, o[P("0x6f")], L[P("0xbb")]) || (o[P("0x92")](W, x[P("0x9b")]) < 0 && o[P("0xc8")](W, W),
-                                        o[P("0x99")](W, x.direction, x.up),
-                                        o.cross(x[P("0x93")], x.up, x[P("0x9b")]),
-                                        o.normalize(x.up, x.up),
-                                        o.normalize(x[P("0x9b")], x[P("0x9b")]))
-                                }
-                                x._setTransform(D),
-                                    e[P("0x43")] = R;
-                                var j = (e._ellipsoid = O)[P("0xc4")];
-                                e[P("0x5d")] = 1 / j,
-                                    e[P("0xc1")] = j;
-                                var V = o[P("0x6e")](x[P("0xa5")], ke);
-                                if (e[P("0x41")] && Vt(e),
-                                    !o[P("0x84")](x[P("0xa5")], V)) {
-                                    x._setTransform(M),
-                                        x[P("0xc9")](V, V);
-                                    var z = o.magnitudeSquared(V);
-                                    o.magnitudeSquared(x[P("0x8c")]) > z && (o.normalize(x[P("0x8c")], x[P("0x8c")]),
-                                        o[P("0x6c")](x[P("0x8c")], Math[P("0xca")](z), x.position));
-                                    var H = o[P("0xcb")](V, x[P("0x8c")])
-                                        , q = o[P("0x99")](V, x[P("0x8c")], V);
-                                    o[P("0x8d")](q, q);
-                                    var X = C[P("0xcc")](q, H, je)
-                                        , Y = p[P("0xcd")](X, Ve);
-                                    p[P("0xce")](Y, x.direction, x[P("0x93")]),
-                                        p[P("0xce")](Y, x.up, x.up),
-                                        o[P("0x99")](x[P("0x93")], x.up, x[P("0x9b")]),
-                                        o.cross(x[P("0x9b")], x[P("0x93")], x.up),
-                                        x._setTransform(D)
-                                }
-                            }(e, t, i)
-                    }
-                }
-                var qe = new n
-                    , Xe = new y
-                    , Ye = new o;
-                function Ke(e, t, i) {
-                    l(i.distance) && (i = i[P("0x8e")]);
-                    var r = e[P("0x42")]
-                        , n = r[P("0x7e")]
-                        , a = r[P("0x48")]
-                        , s = qe;
-                    s.x = a.clientWidth / 2,
-                        s.y = a[P("0x7c")] / 2;
-                    var x, c, u = n[P("0x86")](s, Xe);
-                    if (n[P("0x8c")].z < e[P("0x3c")] && (x = Ce(e, s, Ye)),
-                        l(x))
-                        c = o.distance(u[P("0x87")], x);
-                    else {
-                        var h = o.UNIT_X
-                            , f = u[P("0x87")]
-                            , d = u[P("0x93")];
-                        c = -o[P("0x92")](h, f) / o[P("0x92")](h, d)
-                    }
-                    xe(e, t, i, e[P("0x5c")], c)
-                }
-                var Qe = new y
-                    , Ze = new v(o[P("0xb8")], 0)
-                    , Je = new o
-                    , $e = new o
-                    , et = new o;
-                function tt(e, t, i) {
-                    var r = e[P("0x42")]
-                        , n = r[P("0x7e")]
-                        , a = Ce(e, i[P("0x63")], et);
-                    if (l(a)) {
-                        var s = i[P("0x64")]
-                            , x = n.getPickRay(s, Qe)
-                            , c = o[P("0x6e")](n[P("0x93")], $e);
-                        r[P("0xd3")] === E[P("0x8a")] && o[P("0x88")](c.z, c.x, c.y, c);
-                        var u = v[P("0xb9")](a, c, Ze)
-                            , h = d[P("0xba")](x, u, Je);
-                        l(h) && (c = o[P("0x95")](a, h, c),
-                            r[P("0xd3")] === E.COLUMBUS_VIEW && o[P("0x88")](c.y, c.z, c.x, c),
-                            o[P("0x6d")](n[P("0x8c")], c, n.position))
-                    }
-                }
-                var it = new o
-                    , rt = new s
-                    , nt = new o
-                    , ot = new h
-                    , at = new o;
-                function st(e, t, i) {
-                    var r = e[P("0x42")].camera;
-                    if (m[P("0x84")](r.transform, m[P("0xae")])) {
-                        var a, s, x, c = e[P("0x44")][P("0xd5")](r[P("0x8c")], at), u = e[P("0x44")][P("0xd6")](r[P("0xa5")], rt)[P("0x8b")], f = e._globe;
-                        if (l(f) && u < e[P("0x3c")] && (x = Ce(e, i.startPosition, et),
-                            l(x))) {
-                            var d = r[P("0x86")](i.startPosition, me)
-                                , g = e._ellipsoid[P("0xd5")](x);
-                            Math.abs(o.dot(d[P("0x93")], g)) < .05 && !e[P("0x54")] && (e[P("0x55")] = !1,
-                                e[P("0x56")] = !0)
-                        }
-                        n.equals(t, e[P("0x4e")]) ? e._looking ? Bt(e, t, i, c) : e[P("0x55")] ? xt(e, t, i) : e._strafing ? (o[P("0x6e")](x, e[P("0x50")]),
-                            tt(e, 0, i)) : (a = o[P("0x96")](e[P("0x4f")]),
-                                (s = nt).x = s.y = s.z = a,
-                                mt(e, t, i, h.fromCartesian3(s, ot))) : (e[P("0x54")] = !1,
-                                    e[P("0x55")] = !1,
-                                    e[P("0x56")] = !1,
-                                    l(f) && u < e._minimumPickingTerrainHeight ? l(x) ? o[P("0x96")](r[P("0x8c")]) < o[P("0x96")](x) ? (o[P("0x6e")](x, e[P("0x50")]),
-                                        e._strafing = !0,
-                                        tt(e, 0, i)) : (a = o.magnitude(x),
-                                            (s = nt).x = s.y = s.z = a,
-                                            mt(e, t, i, h[P("0xd7")](s, ot)),
-                                            o[P("0x6e")](x, e[P("0x4f")])) : (e[P("0x54")] = !0,
-                                                Bt(e, t, i, c)) : l(r[P("0xa2")](i.startPosition, e._ellipsoid, it)) ? (mt(e, t, i, e[P("0x44")]),
-                                                    o[P("0x6e")](it, e[P("0x4f")])) : u > e._minimumTrackBallHeight ? (e[P("0x55")] = !0,
-                                                        xt(e, t, i)) : (e[P("0x54")] = !0,
-                                                            Bt(e, t, i, c)),
-                                    n.clone(t, e._rotateMousePosition))
-                    } else {
-                        i && i[P("0x63")] && i[P("0x64")] && (t = i[P("0x64")],
-                            i[P("0x64")] = i[P("0x63")],
-                            i.startPosition = t,
-                            i[P("0x64")].x = (i.startPosition.x + i[P("0x64")].x) / 2,
-                            i[P("0x64")].y = (i[P("0x63")].y + i[P("0x64")].y) / 2);
-                        var p = function (e) {
-                            var t = e[P("0x42")]
-                                , i = t[P("0x7e")]
-                                , r = t[P("0x43")][P("0x44")]
-                                , n = _[P("0xbf")](i[P("0x8c")], r, wt)
-                                , a = m.clone(i[P("0xaf")], Et);
-                            i[P("0xc2")](n);
-                            var s = new o;
-                            return s = m[P("0xd4")](i.viewMatrix, s, s),
-                                i._setTransform(a),
-                                s
-                        }(e);
-                        r[P("0x80")] > L[P("0x77")](e.constrainedPitch, -L.PI, 0) && 0 <= i.startPosition.y - i[P("0x64")].y || 0 < p.y && i[P("0x63")].y - i[P("0x64")].y <= 0 ? xt(e, t, i, o[P("0xc3")], !1, !0) : xt(e, t, i)
-                    }
-                }
-                function xt(e, t, i, r, n, a) {
-                    n = x(n, !1),
-                        a = x(a, !1);
-                    var s = e._scene
-                        , c = s[P("0x7e")]
-                        , u = s[P("0x48")]
-                        , h = c[P("0xc7")];
-                    l(r) && (c.constrainedAxis = r);
-                    var f = o[P("0x96")](c[P("0x8c")])
-                        , d = e._rotateFactor * (f - e._rotateRateRangeAdjustment);
-                    d > e[P("0x5e")] && (d = e[P("0x5e")]),
-                        d < e[P("0x5f")] && (d = e[P("0x5f")]);
-                    var g = (i[P("0x63")].x - i[P("0x64")].x) / u[P("0x94")]
-                        , p = (i[P("0x63")].y - i[P("0x64")].y) / u[P("0x7c")];
-                    g = Math[P("0x7d")](g, e.maximumMovementRatio),
-                        p = Math[P("0x7d")](p, e[P("0x2e")]);
-                    var m = d * g * Math.PI * 2
-                        , b = d * p * Math.PI;
-                    n || c[P("0xd8")](-m),
-                        a || (1 == e[P("0xd9")] && (c.constrainedAxis = void 0),
-                            c[P("0xda")](b)),
-                        c[P("0xc7")] = h
-                }
-                var lt = a[P("0x6e")](a[P("0xa1")])
-                    , ct = a[P("0x6e")](a[P("0xa1")])
-                    , ut = new o
-                    , ht = new o
-                    , ft = new o
-                    , dt = new o
-                    , gt = new n
-                    , pt = new n;
-                function mt(e, t, i, r) {
-                    var a = e._scene[P("0x7e")]
-                        , s = n[P("0x6e")](i[P("0x63")], gt)
-                        , x = n[P("0x6e")](i.endPosition, pt)
-                        , c = a[P("0xa2")](s, r, lt)
-                        , u = a[P("0xa2")](x, r, ct);
-                    if (!l(c) || !l(u))
-                        return e[P("0x55")] = !0,
-                            void xt(e, 0, i);
-                    if (c = a[P("0xdb")](c, c),
-                        u = a[P("0xdb")](u, u),
-                        l(a.constrainedAxis)) {
-                        var h = a[P("0xc7")]
-                            , f = o[P("0xdd")](h, ut);
-                        o.cross(f, h, f),
-                            o.normalize(f, f);
-                        var d = o[P("0x99")](h, f, ht)
-                            , g = o[P("0x96")](c)
-                            , p = o.dot(h, c)
-                            , m = Math[P("0xdc")](p / g)
-                            , b = o[P("0x6c")](h, p, ft);
-                        o.subtract(c, b, b),
-                            o[P("0x8d")](b, b);
-                        var v = o[P("0x96")](u)
-                            , C = o[P("0x92")](h, u)
-                            , y = Math[P("0xdc")](C / v)
-                            , _ = o[P("0x6c")](h, C, dt);
-                        o.subtract(u, _, _),
-                            o[P("0x8d")](_, _);
-                        var A = Math[P("0xdc")](o.dot(b, f));
-                        o[P("0x92")](b, d) < 0 && (A = L[P("0xab")] - A);
-                        var I = Math[P("0xdc")](o[P("0x92")](_, f));
-                        o.dot(_, d) < 0 && (I = L.TWO_PI - I);
-                        var w, G = A - I;
-                        w = o[P("0x62")](h, a[P("0x8c")], L.EPSILON2) ? a[P("0x9b")] : o[P("0x99")](h, a[P("0x8c")], ut);
-                        var E, S = o[P("0x99")](h, w, ut), T = o[P("0x92")](S, o[P("0x95")](c, h, ht)), M = o.dot(S, o[P("0x95")](u, h, ht));
-                        E = 0 < T && 0 < M ? y - m : 0 < T && M <= 0 ? 0 < o.dot(a[P("0x8c")], h) ? -m - y : m + y : m - y,
-                            a.rotateRight(G),
-                            a[P("0xda")](E)
-                    } else {
-                        o[P("0x8d")](c, c),
-                            o[P("0x8d")](u, u);
-                        var N = o[P("0x92")](c, u)
-                            , R = o[P("0x99")](c, u, ut);
-                        if (N < 1 && !o[P("0x62")](R, o[P("0x6f")], L[P("0x65")])) {
-                            var O = Math[P("0xdc")](N);
-                            a.rotate(R, O)
-                        }
-                    }
-                }
-                var bt = new o
-                    , vt = new s;
-                function Ct(e, t, i) {
-                    l(i[P("0x8e")]) && (i = i.distance);
-                    var r = e[P("0x44")]
-                        , n = e._scene
-                        , a = n[P("0x7e")]
-                        , s = n.canvas
-                        , x = qe;
-                    x.x = s[P("0x94")] / 2,
-                        x.y = s[P("0x7c")] / 2;
-                    var c, u, h = a.getPickRay(x, Xe), f = r[P("0xd6")](a[P("0x8c")], vt).height;
-                    f < e[P("0x3c")] && (c = Ce(e, x, Ye)),
-                        u = l(c) ? o.distance(h[P("0x87")], c) : f;
-                    var d = o[P("0x8d")](a.position, bt);
-                    xe(e, t, i, e._zoomFactor, u, o[P("0x92")](d, a[P("0x93")]))
-                }
-                var yt = new n
-                    , _t = new y
-                    , At = new o
-                    , It = new o
-                    , wt = new m
-                    , Gt = new m
-                    , Et = new m
-                    , St = new C
-                    , Tt = new p
-                    , Pt = new s
-                    , Mt = new o;
-                function Nt(e, t, i) {
-                    var r = e[P("0x42")].camera;
-                    if (i && i[P("0x63")] && i.endPosition && (t = i.endPosition,
-                        i.endPosition = i[P("0x63")],
-                        i[P("0x63")] = t,
-                        i[P("0x64")].x = (i.startPosition.x + i[P("0x64")].x) / 2,
-                        i[P("0x64")].y = (i[P("0x63")].y + i[P("0x64")].y) / 2),
-                        m[P("0x84")](r[P("0xaf")], m[P("0xae")]))
-                        if (l(i[P("0xaa")]) && (i = i[P("0xaa")]),
-                            n[P("0x84")](t, e[P("0x4d")]) || (e[P("0xde")] = !1,
-                                e._looking = !1),
-                            e[P("0x54")]) {
-                            var a = e[P("0x44")][P("0xd5")](r[P("0x8c")], Mt);
-                            Bt(e, t, i, a)
-                        } else {
-                            var s = e[P("0x44")][P("0xd6")](r[P("0x8c")], Pt);
-                            e[P("0xde")] || s.height > e[P("0x3e")] ? (e._tiltOnEllipsoid = !0,
-                                function (e, t, i) {
-                                    var r = e[P("0x44")]
-                                        , a = e[P("0x42")]
-                                        , s = a[P("0x7e")]
-                                        , x = .25 * e[P("0x30")]
-                                        , c = r[P("0xd6")](s[P("0xa5")], Lt)[P("0x8b")];
-                                    if (!(c - x - 1 < L[P("0xdf")] && i[P("0x64")].y - i[P("0x63")].y < 0)) {
-                                        var u = a[P("0x48")]
-                                            , f = yt;
-                                        f.x = u[P("0x94")] / 2,
-                                            f.y = u[P("0x7c")] / 2;
-                                        var g, p = s.getPickRay(f, _t), b = d[P("0xe0")](p, r);
-                                        if (l(b))
-                                            g = y[P("0xe1")](p, b[P("0xe2")], At);
-                                        else {
-                                            if (!(c > e._minimumTrackBallHeight)) {
-                                                e[P("0x54")] = !0;
-                                                var v = e[P("0x44")][P("0xd5")](s.position, Mt);
-                                                return Bt(e, t, i, v),
-                                                    n[P("0x6e")](t, e._tiltCenterMousePosition)
-                                            }
-                                            var C = d[P("0xe3")](p, r);
-                                            if (!l(C))
-                                                return;
-                                            var A = r[P("0xd6")](C, Pt);
-                                            A.height = 0,
-                                                g = r.cartographicToCartesian(A, At)
-                                        }
-                                        var I = _[P("0xbf")](g, r, wt)
-                                            , w = e[P("0x43")]
-                                            , G = e[P("0x44")];
-                                        e[P("0x43")] = void 0,
-                                            e[P("0x44")] = h[P("0xc0")],
-                                            e[P("0x5d")] = 1,
-                                            e[P("0xc1")] = 1;
-                                        var E = m[P("0x6e")](s[P("0xaf")], Et);
-                                        s._setTransform(I),
-                                            s[P("0x80")] > L[P("0x77")](e.constrainedPitch, -L.PI, 0) && 0 <= i[P("0x63")].y - i[P("0x64")].y ? xt(e, 0, i, o.UNIT_Z, !1, !0) : xt(e, 0, i, o[P("0xc3")]),
-                                            s._setTransform(E),
-                                            e[P("0x43")] = w;
-                                        var S = (e._ellipsoid = G)[P("0xc4")];
-                                        e._rotateFactor = 1 / S,
-                                            e[P("0xc1")] = S
-                                    }
-                                }(e, t, i)) : function (e, t, i) {
-                                    var r, a, s, x = e[P("0x44")], c = e[P("0x42")], u = c[P("0x7e")];
-                                    if (n[P("0x84")](t, e[P("0x4d")]))
-                                        r = o.clone(e[P("0xc5")], At);
-                                    else {
-                                        if (r = Ce(e, t, At),
-                                            !l(r)) {
-                                            if (a = u[P("0x86")](t, _t),
-                                                s = d.rayEllipsoid(a, x),
-                                                !l(s)) {
-                                                if (x[P("0xd6")](u[P("0x8c")], Pt)[P("0x8b")] <= e[P("0x40")]) {
-                                                    e._looking = !0;
-                                                    var f = e[P("0x44")][P("0xd5")](u[P("0x8c")], Mt);
-                                                    Bt(e, t, i, f),
-                                                        n[P("0x6e")](t, e._tiltCenterMousePosition)
-                                                }
-                                                return
-                                            }
-                                            r = y[P("0xe1")](a, s[P("0xe2")], At)
-                                        }
-                                        n.clone(t, e[P("0x4d")]),
-                                            o.clone(r, e[P("0xc5")])
-                                    }
-                                    var g = c[P("0x48")]
-                                        , b = yt;
-                                    b.x = g[P("0x94")] / 2,
-                                        b.y = e[P("0x4d")].y,
-                                        a = u[P("0x86")](b, _t);
-                                    var v = o.magnitude(r)
-                                        , A = o[P("0x88")](v, v, v, nt)
-                                        , I = h[P("0xd7")](A, ot);
-                                    if (s = d[P("0xe0")](a, I),
-                                        l(s)) {
-                                        var w = o[P("0x96")](a[P("0x87")]) > v ? s.start : s[P("0xe4")]
-                                            , G = y[P("0xe1")](a, w, It)
-                                            , E = _[P("0xbf")](r, x, wt)
-                                            , S = _[P("0xbf")](G, I, Gt)
-                                            , T = e[P("0x43")]
-                                            , M = e[P("0x44")];
-                                        e[P("0x43")] = void 0,
-                                            e[P("0x44")] = h.UNIT_SPHERE,
-                                            e[P("0x5d")] = 1,
-                                            e[P("0xc1")] = 1;
-                                        var N = o[P("0xc3")]
-                                            , R = m[P("0x6e")](u[P("0xaf")], Et);
-                                        u._setTransform(E);
-                                        var O = o[P("0x99")](G, u.positionWC, ze)
-                                            , F = o[P("0x92")](u[P("0xe5")], O);
-                                        if (xt(e, 0, i, N, !1, !0),
-                                            u[P("0xc2")](S),
-                                            F < 0) {
-                                            i.startPosition.y > i[P("0x64")].y && (N = void 0);
-                                            var D = u[P("0xc7")];
-                                            u[P("0xc7")] = void 0,
-                                                xt(e, 0, i, N, !0, !1),
-                                                u.constrainedAxis = D
-                                        } else
-                                            (u[P("0x80")] < L[P("0x77")](e[P("0x25")], -L.PI, 0) || i.startPosition.y - i[P("0x64")].y <= 0) && xt(e, 0, i, N, !0, !1);
-                                        if (l(u.constrainedAxis)) {
-                                            var U = o[P("0x99")](u[P("0x93")], u.constrainedAxis, ze);
-                                            o.equalsEpsilon(U, o.ZERO, L[P("0xbb")]) || (o[P("0x92")](U, u.right) < 0 && o[P("0xc8")](U, U),
-                                                o.cross(U, u[P("0x93")], u.up),
-                                                o[P("0x99")](u[P("0x93")], u.up, u[P("0x9b")]),
-                                                o[P("0x8d")](u.up, u.up),
-                                                o.normalize(u[P("0x9b")], u[P("0x9b")]))
-                                        }
-                                        u._setTransform(R),
-                                            e[P("0x43")] = T;
-                                        var k = (e._ellipsoid = M)[P("0xc4")];
-                                        e[P("0x5d")] = 1 / k,
-                                            e[P("0xc1")] = k;
-                                        var B = o[P("0x6e")](u.positionWC, ze);
-                                        if (e[P("0x41")] && Vt(e),
-                                            !o.equals(u[P("0xa5")], B)) {
-                                            u[P("0xc2")](S),
-                                                u[P("0xc9")](B, B);
-                                            var W = o[P("0xe6")](B);
-                                            o[P("0xe6")](u[P("0x8c")]) > W && (o.normalize(u[P("0x8c")], u[P("0x8c")]),
-                                                o[P("0x6c")](u[P("0x8c")], Math[P("0xca")](W), u[P("0x8c")]));
-                                            var j = o[P("0xcb")](B, u[P("0x8c")])
-                                                , V = o[P("0x99")](B, u.position, B);
-                                            o[P("0x8d")](V, V);
-                                            var z = C.fromAxisAngle(V, j, St)
-                                                , H = p[P("0xcd")](z, Tt);
-                                            p[P("0xce")](H, u[P("0x93")], u[P("0x93")]),
-                                                p[P("0xce")](H, u.up, u.up),
-                                                o[P("0x99")](u[P("0x93")], u.up, u[P("0x9b")]),
-                                                o[P("0x99")](u[P("0x9b")], u[P("0x93")], u.up),
-                                                u._setTransform(R)
-                                        }
-                                    }
-                                }(e, t, i)
-                        }
-                }
-                var Lt = new s
-                    , Rt = new n
-                    , Ot = new n
-                    , Ft = new y
-                    , Dt = new y
-                    , Ut = new o
-                    , kt = new o;
-                function Bt(e, t, i, r) {
-                    var n = e[P("0x42")][P("0x7e")]
-                        , a = Rt;
-                    a.x = i.startPosition.x,
-                        a.y = 0;
-                    var s = Ot;
-                    s.x = i[P("0x64")].x,
-                        s.y = 0;
-                    var c, u, h = n[P("0x86")](a, Ft), f = n[P("0x86")](s, Dt), d = 0;
-                    n.frustum instanceof b ? (c = h[P("0x87")],
-                        u = f[P("0x87")],
-                        o[P("0x6d")](n[P("0x93")], c, c),
-                        o.add(n[P("0x93")], u, u),
-                        o[P("0x95")](c, n[P("0x8c")], c),
-                        o[P("0x95")](u, n[P("0x8c")], u),
-                        o[P("0x8d")](c, c),
-                        o[P("0x8d")](u, u)) : (c = h[P("0x93")],
-                            u = f[P("0x93")]);
-                    var g = o[P("0x92")](c, u);
-                    g < 1 && (d = Math[P("0xdc")](g)),
-                        d = i[P("0x63")].x > i[P("0x64")].x ? -d : d;
-                    var p = e[P("0x4c")];
-                    if (l(r) ? n[P("0xe7")](r, -d) : l(p) ? n[P("0xe7")](p, -d) : n.lookLeft(d),
-                        a.x = 0,
-                        a.y = i[P("0x63")].y,
-                        s.x = 0,
-                        s.y = i[P("0x64")].y,
-                        h = n.getPickRay(a, Ft),
-                        f = n[P("0x86")](s, Dt),
-                        d = 0,
-                        n[P("0xe8")] instanceof b ? (c = h[P("0x87")],
-                            u = f.origin,
-                            o[P("0x6d")](n[P("0x93")], c, c),
-                            o[P("0x6d")](n[P("0x93")], u, u),
-                            o.subtract(c, n[P("0x8c")], c),
-                            o[P("0x95")](u, n.position, u),
-                            o.normalize(c, c),
-                            o[P("0x8d")](u, u)) : (c = h[P("0x93")],
-                                u = f.direction),
-                        (g = o.dot(c, u)) < 1 && (d = Math.acos(g)),
-                        d = i.startPosition.y > i[P("0x64")].y ? -d : d,
-                        r = x(r, p),
-                        l(r)) {
-                        var m = n[P("0x93")]
-                            , v = o.negate(r, Ut)
-                            , C = o[P("0x62")](m, r, L[P("0xe9")])
-                            , y = o.equalsEpsilon(m, v, L[P("0xe9")]);
-                        if (C || y)
-                            (C && d < 0 || y && 0 < d) && n[P("0xe7")](n[P("0x9b")], -d);
-                        else {
-                            g = o[P("0x92")](m, r);
-                            var _ = L.acosClamped(g);
-                            0 < d && _ < d && (d = _ - L.EPSILON4),
-                                g = o[P("0x92")](m, v),
-                                _ = L[P("0x9d")](g),
-                                d < 0 && _ < -d && (d = -_ + L[P("0xea")]);
-                            var A = o[P("0x99")](r, m, kt);
-                            n.look(A, d)
-                        }
-                    } else
-                        n[P("0xeb")](d)
-                }
-                var Wt = new m
-                    , jt = new s;
-                function Vt(e) {
-                    e[P("0xec")] = !0;
-                    var t = e[P("0x42")]
-                        , i = t.mode
-                        , r = t.globe;
-                    if (l(r) && i !== E[P("0x85")] && i !== E.MORPHING) {
-                        var n, a, s = t[P("0x7e")], x = r.ellipsoid, c = t[P("0xbd")];
-                        m.equals(s[P("0xaf")], m[P("0xae")]) || (n = m[P("0x6e")](s[P("0xaf")], Wt),
-                            a = o[P("0x96")](s[P("0x8c")]),
-                            s[P("0xc2")](m.IDENTITY));
-                        var u = jt;
-                        i === E[P("0x90")] ? x[P("0xd6")](s[P("0x8c")], u) : c[P("0xbe")](s[P("0x8c")], u);
-                        var h = !1;
-                        if (u[P("0x8b")] < e[P("0x3e")]) {
-                            var f = r[P("0xed")](u);
-                            l(f) && (f += e[P("0x30")],
-                                u[P("0x8b")] < f && (u[P("0x8b")] = f,
-                                    i === E[P("0x90")] ? x[P("0xa7")](u, s.position) : c.project(u, s.position),
-                                    h = !0))
-                        }
-                        l(n) && (s[P("0xc2")](n),
-                            h && (o[P("0x8d")](s[P("0x8c")], s[P("0x8c")]),
-                                o[P("0xc8")](s[P("0x8c")], s[P("0x93")]),
-                                o[P("0x6c")](s[P("0x8c")], Math[P("0xee")](a, e[P("0x30")]), s[P("0x8c")]),
-                                o.normalize(s[P("0x93")], s[P("0x93")]),
-                                o[P("0x99")](s[P("0x93")], s.up, s[P("0x9b")]),
-                                o[P("0x99")](s[P("0x9b")], s[P("0x93")], s.up)))
-                    }
-                }
-                R.prototype[P("0xbc")] = function () {
-                    var e = this._scene
-                        , t = e.mode
-                        , i = e[P("0x7e")];
-                    return t !== E[P("0x8a")] || Math[P("0x78")](i[P("0x8c")].x) - this[P("0x59")].x < 0 && Math[P("0x78")](i[P("0x8c")].y) - this[P("0x59")].y < 0
-                }
-                    ;
-                var zt = new o
-                    , Ht = new o;
-                R.prototype[P("0xd2")] = function () {
-                    var e = this[P("0x42")][P("0x7e")];
-                    m.equals(e.transform, m[P("0xae")]) ? (this[P("0x43")] = this[P("0x42")][P("0xa3")],
-                        this[P("0x44")] = l(this[P("0x43")]) ? this._globe.ellipsoid : this[P("0x42")][P("0xbd")][P("0xef")]) : (this[P("0x43")] = void 0,
-                            this._ellipsoid = h[P("0xc0")]),
-                        this[P("0x3e")] = this[P("0x3d")] * this[P("0x42")][P("0xf0")],
-                        this._minimumPickingTerrainHeight = this[P("0x3b")] * this[P("0x42")].terrainExaggeration,
-                        this[P("0x40")] = this[P("0x3f")] * this[P("0x42")][P("0xf0")];
-                    var t = this[P("0x44")][P("0xc4")];
-                    this._rotateFactor = 1 / t,
-                        this[P("0xc1")] = t,
-                        this[P("0xec")] = !1;
-                    var i, r, n, a = o[P("0x6e")](e[P("0xa5")], zt), s = o[P("0x6e")](e[P("0xa6")], Ht), x = this[P("0x42")][P("0xd3")];
-                    x === E[P("0x85")] ? (n = (r = this)[P("0x42")][P("0xad")] === G.ROTATE,
-                        m.equals(m[P("0xae")], r[P("0x42")][P("0x7e")][P("0xaf")]) ? (D(r, r[P("0x28")], r[P("0xb2")], he, r.inertiaTranslate, P("0x49")),
-                            D(r, r[P("0xb0")], r[P("0x33")], fe, r[P("0xb1")], P("0xb4")),
-                            n && D(r, r[P("0x29")], r[P("0xb5")], pe, r[P("0x2c")], P("0x4a"))) : (D(r, r[P("0xb0")], r[P("0x33")], fe, r[P("0xb1")], "_lastInertiaZoomMovement"),
-                                n && D(r, r[P("0x29")], r[P("0xb2")], pe, r[P("0x2c")], P("0xb3")))) : x === E[P("0x8a")] ? (this[P("0x4c")] = o[P("0xc3")],
-                                    function (e) {
-                                        var t = e[P("0x42")][P("0x7e")];
-                                        if (m[P("0x84")](m[P("0xae")], t[P("0xaf")])) {
-                                            var i = e[P("0xcf")];
-                                            if (e[P("0x46")][P("0xd0")] && i.removeAll(),
-                                                D(e, e[P("0x2a")], e[P("0xb5")], He, e[P("0x2c")], "_lastInertiaTiltMovement"),
-                                                D(e, e[P("0x28")], e[P("0xb2")], Pe, e.inertiaTranslate, P("0x49")),
-                                                D(e, e[P("0xb0")], e.zoomEventTypes, Ke, e[P("0xb1")], P("0xb4")),
-                                                D(e, e[P("0x2b")], e[P("0x39")], Bt),
-                                                !(e._aggregator[P("0xd0")] || l(e._lastInertiaZoomMovement) && e[P("0xb4")][P("0x69")] || l(e._lastInertiaTranslateMovement) && e[P("0x49")][P("0x69")] || i[P("0xd1")](e._tween))) {
-                                                var r = t.createCorrectPositionTween(e[P("0x2f")]);
-                                                l(r) && (e[P("0x4b")] = i[P("0x6d")](r))
-                                            }
-                                            i[P("0xd2")]()
-                                        } else
-                                            D(e, e[P("0x29")], e[P("0x36")], xt, e[P("0x2c")], P("0xb3")),
-                                                D(e, e.enableZoom, e[P("0x33")], Ct, e[P("0xb1")], P("0xb4"))
-                                    }(this)) : x === E[P("0x90")] && (this[P("0x4c")] = void 0,
-                                        D(i = this, i[P("0x29")], i[P("0x36")], st, i[P("0x2c")], P("0xb3")),
-                                        D(i, i[P("0xb0")], i[P("0x33")], Ct, i[P("0xb1")], P("0xb4")),
-                                        D(i, i[P("0x2a")], i[P("0xb5")], Nt, 2, "_lastInertiaTiltMovement"),
-                                        D(i, i.enableLook, i[P("0x39")], Bt)),
-                        this[P("0x41")] && !this[P("0xec")] && (o[P("0x84")](a, e[P("0xa5")]) && o[P("0x84")](s, e[P("0xa6")]) || Vt(this)),
-                        this[P("0x46")][P("0xf1")]()
-                }
-                    ,
-                    R[P("0x5")][P("0xf2")] = function () {
-                        return this[P("0xec")]
-                    }
-                    ,
-                    R[P("0x5")][P("0xf3")] = function () {
-                        return !1
-                    }
-                    ,
-                    R[P("0x5")][P("0xf4")] = function () {
-                        return this._tweens[P("0xf5")](),
-                            this[P("0x46")] = this[P("0x46")] && this._aggregator[P("0xf4")](),
-                            c(this)
-                    }
-                    ;
-                var qt = {
-                    name: P("0xf6"),
-                    version: "",
-                    description: "",
-                    code: "",
-                    schemaCode: "",
-                    visible: "",
-                    type: ""
-                }
-                    , Xt = (M(Yt, [{
-                        key: "destroy",
-                        value: function () { }
-                    }]),
-                        Yt);
-                function Yt(e) {
-                    N(this, Yt),
-                        e = Object[P("0xf7")]({}, qt, e),
-                        this.name = e.name,
-                        this._version = e.version + ""
-                }
-                Object[P("0xf")](Xt[P("0x5")], {
-                    version: {
-                        get: function () {
-                            return this[P("0xf8")]
-                        },
-                        set: function (e) {
-                            this[P("0xf8")] = e + ""
-                        }
-                    }
+                return t
+            }
+            ,
+            GeoGlobe.Util.getViewportElement = function() {
+                var e = arguments.callee.viewportElement;
+                return null == e && (e = "msie" == GeoGlobe.BROWSER_NAME && "CSS1Compat" != document.compatMode ? document.body : document.documentElement,
+                arguments.callee.viewportElement = e),
+                e
+            }
+            ,
+            GeoGlobe.Util.isEquivalentUrl = function(e, t, i) {
+                i = i || {},
+                GeoGlobe.Util.applyDefaults(i, {
+                    ignoreCase: !0,
+                    ignorePort80: !0,
+                    ignoreHash: !0,
+                    splitArgs: !1
                 });
-                var Kt = (function (e, t) {
-                    if (w()(t) !== P("0x8") && null !== t)
-                        throw new TypeError(P("0x9") + w()(t));
-                    e[P("0x5")] = Object[P("0xa")](t && t[P("0x5")], {
-                        constructor: {
-                            value: e,
-                            enumerable: !1,
-                            writable: !0,
-                            configurable: !0
-                        }
-                    }),
-                        t && (Object[P("0xb")] ? Object[P("0xb")](e, t) : e[P("0xc")] = t)
-                }(Qt, Xt),
-                    M(Qt, [{
-                        key: "translate",
-                        value: function () { }
-                    }, {
-                        key: P("0xfb"),
-                        value: function () { }
-                    }, {
-                        key: P("0xfc"),
-                        value: function () { }
-                    }]),
-                    Qt);
-                function Qt(e) {
-                    return N(this, Qt),
-                        function (e, t) {
-                            if (!e)
-                                throw new ReferenceError(P("0x6"));
-                            return !t || w()(t) !== P("0x7") && "function" != typeof t ? e : t
-                        }(this, (Qt[P("0xc")] || Object[P("0xf9")](Qt))[P("0xfa")](this, e))
+                var r = GeoGlobe.Util.createUrlObject(e, i)
+                  , n = GeoGlobe.Util.createUrlObject(t, i);
+                for (var o in r)
+                    if ("args" !== o && r[o] != n[o])
+                        return !1;
+                for (var o in r.args) {
+                    if (r.args[o] != n.args[o])
+                        return !1;
+                    delete n.args[o]
                 }
-                window[P("0xfd")] && (Cesium[P("0xf")] || (Cesium[P("0xf")] = i),
-                    Cesium.GeoScreenSpaceCameraController = R,
-                    Cesium[P("0xfe")] = Kt)
+                for (var o in n.args)
+                    return !1;
+                return !0
             }
-            )),
-                (T = window.Cesium) && (T[P("0x45")] = {
-                    GeoCamera: !0,
-                    GeoCameraEventAggregator: !0,
-                    GeoScreenSpaceCameraController: !0
-                },
-                    T[P("0xff")] = P("0x100")),
-                function (e) {
-                    e[P("0x101")] = function (t, i) {
-                        if ((i = i || {}).baseLayerPicker = e[P("0x102")](i[P("0x103")], !1),
-                            i.timeline = e[P("0x102")](i.timeline, !1),
-                            i[P("0x104")] = e.defaultValue(i[P("0x104")], !1),
-                            i.homeButton = e[P("0x102")](i[P("0x105")], !1),
-                            i.navigationHelpButton = e[P("0x102")](i.navigationHelpButton, !1),
-                            i[P("0x106")] = e[P("0x102")](i[P("0x106")], !0),
-                            i.sceneMode = e[P("0x102")](i[P("0x107")], e[P("0x22")][P("0x90")]),
-                            i[P("0x108")] = e.defaultValue(i[P("0x108")], !0),
-                            i[P("0x109")] = e[P("0x102")](i[P("0x109")], 25),
-                            i.geocoder = e.defaultValue(i.geocoder, !1),
-                            i.fullscreenButton = e[P("0x102")](i[P("0x10a")], !1),
-                            !e[P("0x14")](i[P("0x10b")])) {
-                            var r = L()
-                                , n = new (e[P("0x10c")])({
-                                    url: r + P("0x10d"),
-                                    rectangle: e.Rectangle.fromDegrees(-180, -90, 180, 90)
-                                });
-                            i.imageryProvider = n
-                        }
-                        return new (e[P("0x10e")])(t, i)
+            ,
+            GeoGlobe.Util.createUrlObject = function(e, t) {
+                if (t = t || {},
+                !/^\w+:\/\//.test(e)) {
+                    var i = window.location
+                      , r = i.port ? ":" + i.port : ""
+                      , n = i.protocol + "//" + i.host.split(":").shift() + r;
+                    if (0 === e.indexOf("/"))
+                        e = n + e;
+                    else {
+                        var o = i.pathname.split("/");
+                        o.pop(),
+                        e = n + o.join("/") + "/" + e
                     }
-                        ,
-                        e[P("0x10e")][P("0x5")].getCameraOptionsToMapbox = function () {
-                            var t, i, r = this[P("0x10f")], n = this[P("0x48")], o = this[P("0x7e")], a = r.globe, s = e[P("0x16")][P("0x110")], x = 0, l = 0, c = null, u = new (e[P("0x10")])(n.clientWidth / 2, n[P("0x7c")] / 2), h = o[P("0x86")](u);
-                            if (!(c = (c = r[P("0xa3")][P("0xa4")](h, r)) || o[P("0xa2")](u))) {
-                                var f = o[P("0x91")][P("0x6e")]()
-                                    , d = a[P("0xed")](f);
-                                f[P("0x8b")] = d || 0,
-                                    c = s[P("0xa7")](f)
-                            }
-                            var g = e[P("0x11")].distance(c, o[P("0x8c")]) / 1405.5;
-                            t = Math[P("0x111")](78271.51696402031 / g) - 1.2;
-                            var p = s.cartesianToCartographic(c);
-                            if (i = [e[P("0x23")].toDegrees(p[P("0x112")]), e[P("0x23")][P("0x113")](p[P("0x114")])],
-                                c) {
-                                var m = o.up
-                                    , b = o[P("0x9b")]
-                                    , v = new e.Cartesian3(-c.y, c.x, 0)
-                                    , C = e[P("0x11")][P("0xcb")](b, v);
-                                x = e[P("0x11")].cross(c, m, new (e[P("0x11")])).z < 0 ? -C : C,
-                                    x = e[P("0x23")][P("0x113")](x);
-                                var y = o[P("0x8c")]
-                                    , _ = new (e[P("0x11")]);
-                                s[P("0x115")](c, _);
-                                var A = new (e[P("0x11")]);
-                                e[P("0x11")][P("0x95")](y, c, A),
-                                    e.Cartesian3[P("0x8d")](A, A);
-                                var I = Math[P("0xdc")](e[P("0x11")][P("0x92")](_, A));
-                                l = isNaN(I) ? 0 : I
-                            } else
-                                x = e.Math[P("0x113")](o[P("0x7f")]),
-                                    l = e[P("0x23")][P("0x116")];
-                            return {
-                                center: i,
-                                zoom: t,
-                                bearing: x,
-                                pitch: l = e[P("0x23")][P("0x113")](l)
-                            }
-                        }
-                        ,
-                        e[P("0x10e")][P("0x5")][P("0x117")] = function (t) {
-                            var i = this[P("0x10f")]
-                                , r = (this[P("0x48")],
-                                    this[P("0x7e")])
-                                , n = i.globe
-                                , o = e[P("0x102")](t, {
-                                    center: [0, 0],
-                                    zoom: 1,
-                                    bearing: 0,
-                                    pitch: 0
-                                })
-                                , a = 78271.51696402031 / Math.pow(2, o[P("0x118")] + 1.2)
-                                , s = new e.Cartographic(e[P("0x23")][P("0x119")](o[P("0x11a")][0]), e[P("0x23")][P("0x119")](o[P("0x11a")][1]))
-                                , x = 1405.5 * a + (n[P("0xed")](s) || 0)
-                                , l = e.Math.toRadians(o[P("0x11b")])
-                                , c = e.Math[P("0x119")](o[P("0x80")] - 90)
-                                , u = {
-                                    destination: e[P("0x16")][P("0x110")][P("0xa7")](s),
-                                    orientation: {
-                                        heading: l,
-                                        pitch: c,
-                                        roll: 0
-                                    }
-                                }
-                                , h = {
-                                    destination: r[P("0x8c")][P("0x6e")](),
-                                    orientation: {
-                                        heading: r.heading,
-                                        pitch: r[P("0x80")],
-                                        roll: r.roll
-                                    }
-                                };
-                            return r[P("0x9c")](u),
-                                r[P("0x11c")](x),
-                                u[P("0x11d")] = r[P("0x8c")][P("0x6e")](),
-                                u[P("0x11e")].heading = r[P("0x7f")],
-                                u[P("0x11e")][P("0x80")] = r[P("0x80")],
-                                u[P("0x11e")][P("0x81")] = r.roll,
-                                r[P("0x9c")](h),
-                                u
-                        }
-                        ,
-                        e[P("0x101")][P("0x11f")] = !1
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = new (e[P("0x127")]);
-                    function i(i) {
-                        var o = (i = e[P("0x102")](i, e[P("0x102")][P("0x128")]))[P("0x129")];
-                        if (!e[P("0x14")](o))
-                            throw new DeveloperError(P("0x12a"));
-                        o = e[P("0x12b")](o);
-                        var a = i[P("0x12c")];
-                        this[P("0x12d")] = [],
-                            this[P("0x12e")] = t;
-                        for (var s = this, x = o[P("0x12f")], l = 0; l < x[P("0x0")]; l++) {
-                            var c = x[l]
-                                , u = n(c, r(c.id, a));
-                            this[P("0x12d")].push(u)
-                        }
-                        for (var h = function (e) {
-                            var t = s[P("0x12d")][e];
-                            t[P("0x7e")].changed[P("0x130")]((function () {
-                                var e = t;
-                                s.onCameraChanged(e, s._viewers)
-                            }
-                            ))
-                        }, f = 0; f < s[P("0x12d")][P("0x0")]; f++)
-                            h(f)
-                    }
-                    function r(e, t) {
-                        if (!t || !e)
-                            return null;
-                        for (var i = 0; i < t[P("0x0")]; i++) {
-                            var r = t[i];
-                            if (e == r[P("0x131")])
-                                return r[P("0x132")]
-                        }
-                    }
-                    function n(i, r) {
-                        return e.defaultValue(r, {
-                            clockViewModel: t,
-                            shouldAnimate: !0,
-                            showRenderLoopErrors: !1,
-                            baseLayerPicker: !1,
-                            infoBox: !1
-                        }),
-                            new (e[P("0x101")])(i, r)
-                    }
-                    function o(e, t) {
-                        var i = !0
-                            , r = t[P("0x8c")]
-                            , n = e[P("0x8c")];
-                        n[P("0x84")](r) || (i = !1);
-                        var o = t[P("0x93")]
-                            , a = e[P("0x93")];
-                        a[P("0x84")](o) || (i = !1);
-                        var s = t.up
-                            , x = e.up;
-                        x.equals(s) || (i = !1);
-                        var l = t[P("0x7f")]
-                            , c = e[P("0x7f")];
-                        l != c && (i = !1);
-                        var u = t.pitch
-                            , h = e.pitch;
-                        u != h && (i = !1);
-                        var f = t[P("0x81")]
-                            , d = e[P("0x81")];
-                        if (f != d && (i = !1),
-                            i)
-                            return console[P("0x133")]("鍋滄"),
-                                !1;
-                        t.setView({
-                            destination: n.clone(),
-                            orientation: {
-                                direction: a[P("0x6e")](),
-                                up: x[P("0x6e")](),
-                                heading: c,
-                                pitch: h,
-                                roll: d
-                            }
-                        })
-                    }
-                    i[P("0x5")].onCameraChanged = function (e, t) {
-                        !function (e, t) {
-                            for (var i = 0; i < t[P("0x0")]; i++) {
-                                var r = t[i];
-                                e != r && o(e[P("0x7e")], r[P("0x7e")])
-                            }
-                        }(e, t)
-                    }
-                        ,
-                        i[P("0x5")][P("0x134")] = function (e) {
-                            for (var t = this[P("0x12d")], i = null, r = 0; r < t[P("0x0")]; r++)
-                                if ((i = t[r])[P("0x131")].id == e)
-                                    return i;
-                            return i
-                        }
-                        ,
-                        i[P("0x5")].destroy = function () {
-                            var e = this._viewers;
-                            if (e) {
-                                for (var t = e[P("0x0")] - 1; 0 <= t; t--)
-                                    e[t].destroy();
-                                this[P("0x12d")] = []
-                            }
-                        }
-                        ,
-                        e[P("0x135")] = i
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = {
-                        left: {
-                            mode: P("0x136"),
-                            direction: e[P("0x137")][P("0x138")]
-                        },
-                        right: {
-                            mode: P("0x136"),
-                            direction: e[P("0x137")][P("0x139")]
-                        },
-                        top: {
-                            mode: "top-bottom",
-                            direction: 1
-                        },
-                        bottom: {
-                            mode: P("0x13a"),
-                            direction: -1
-                        }
-                    };
-                    function i(t) {
-                        var i = (t = e[P("0x102")](t, e.defaultValue[P("0x128")]))[P("0x13b")];
-                        if (!e[P("0x14")](i))
-                            throw new DeveloperError("viewer is required.");
-                        this[P("0x13c")] = i,
-                            this[P("0x13d")] = e[P("0x102")](t.isEnable, !0),
-                            this[P("0x13e")](t.splitDirection),
-                            this[P("0x13f")] = this[P("0x140")](i, this[P("0x141")]),
-                            this[P("0x142")](),
-                            this[P("0x143")](this[P("0x141")]),
-                            this[P("0x144")](),
-                            this[P("0x145")] = e[P("0x102")](t[P("0x146")], []),
-                            this[P("0x147")]()
-                    }
-                    i[P("0x5")]._setSplitDirection = function (i) {
-                        i = (i = e[P("0x102")](i, "left"))[P("0x148")]();
-                        var r = t[i];
-                        r || (i = P("0x149"),
-                            r = t[i]),
-                            this._splitDirection = i,
-                            this._splitMode = r.mode
-                    }
-                        ,
-                        i.prototype._updateEnableLayers = function () {
-                            for (var e = this[P("0x145")], i = e[P("0x0")] - 1; 0 <= i; i--)
-                                e[i][P("0x14a")] = t[this[P("0x14b")]][P("0x93")]
-                        }
-                        ,
-                        i.prototype._setSplitMode = function (e) {
-                            var t = this[P("0x13c")]
-                                , i = this[P("0x13f")];
-                            i[P("0x14c")] = P("0x14d"),
-                                e == P("0x13a") && (i[P("0x14c")] += P("0x14e"),
-                                    t.scene[P("0x14f")] = -1,
-                                    i[P("0x150")][P("0x149")] = 0,
-                                    i.style[P("0x151")] = P("0x152")),
-                                e == P("0x136") && (i[P("0x14c")] += P("0x153"),
-                                    t[P("0x10f")][P("0x14f")] = 1,
-                                    i[P("0x150")][P("0x151")] = 0,
-                                    i[P("0x150")][P("0x149")] = P("0x152"))
-                        }
-                        ,
-                        i[P("0x5")][P("0x154")] = function (e) {
-                            var t = this[P("0x13c")];
-                            if (this[P("0x155")] == P("0x136")) {
-                                var i = e[P("0x64")].x;
-                                if ((r = (slider[P("0x156")] + i) / slider[P("0x157")][P("0x158")]) < 0 || 1 < r)
-                                    return;
-                                slider[P("0x150")][P("0x149")] = 100 * r + "%",
-                                    t[P("0x10f")][P("0x159")] = r
-                            }
-                            if (this.splitMode == P("0x13a")) {
-                                var r;
-                                if (i = e[P("0x64")].y,
-                                    (r = (slider[P("0x15a")] + i) / slider[P("0x157")][P("0x15b")]) < 0 || 1 < r)
-                                    return;
-                                slider[P("0x150")][P("0x151")] = 100 * r + "%",
-                                    slider[P("0x150")][P("0x149")] = 0,
-                                    t[P("0x10f")].imagerySplitPosition = 1 - r
-                            }
-                        }
-                        ,
-                        i[P("0x5")]._initSlider = function (t, i) {
-                            var r, n = this;
-                            if (!this[P("0x13f")]) {
-                                var o = function (e) {
-                                    if (s) {
-                                        if (n.splitMode == P("0x136")) {
-                                            var i = e[P("0x64")].x;
-                                            if ((o = (r.offsetLeft + i) / r[P("0x157")][P("0x158")]) < 0 || 1 < o)
-                                                return;
-                                            r[P("0x150")][P("0x149")] = 100 * o + "%",
-                                                t.scene[P("0x159")] = o
-                                        }
-                                        if (n.splitMode == P("0x13a")) {
-                                            var o;
-                                            if (i = e.endPosition.y,
-                                                (o = (r[P("0x15a")] + i) / r[P("0x157")][P("0x15b")]) < 0 || 1 < o)
-                                                return;
-                                            r[P("0x150")][P("0x151")] = 100 * o + "%",
-                                                r[P("0x150")][P("0x149")] = 0,
-                                                t.scene[P("0x159")] = 1 - o
-                                        }
-                                    }
-                                };
-                                this[P("0x13f")] = document[P("0x15c")](P("0x15d")),
-                                    r = this._slider,
-                                    t[P("0x15e")].appendChild(r);
-                                var a = new (e[P("0x15f")])(r)
-                                    , s = !1;
-                                a[P("0x160")]((function () {
-                                    s = !0
-                                }
-                                ), e.ScreenSpaceEventType.LEFT_DOWN),
-                                    a[P("0x160")]((function () {
-                                        s = !0
-                                    }
-                                    ), e[P("0x161")][P("0x162")]),
-                                    a[P("0x160")](o, e[P("0x161")][P("0x163")]),
-                                    a.setInputAction(o, e.ScreenSpaceEventType.PINCH_MOVE),
-                                    a.setInputAction((function () {
-                                        s = !1
-                                    }
-                                    ), e.ScreenSpaceEventType.LEFT_UP),
-                                    a[P("0x160")]((function () {
-                                        s = !1
-                                    }
-                                    ), e[P("0x161")].PINCH_END)
-                            }
-                            return r
-                        }
-                        ,
-                        i[P("0x5")][P("0x142")] = function () {
-                            var e = P("0x164")
-                                , t = document.getElementById(e);
-                            t || ((t = document.createElement(P("0x150")))[P("0x165")] = "text/css",
-                                t.id = e,
-                                document.getElementsByTagName("head")[0].appendChild(t));
-                            var i = P("0x166");
-                            t[P("0x167")](document[P("0x168")](i))
-                        }
-                        ,
-                        i.prototype[P("0x144")] = function () {
-                            var e, t = this[P("0x141")], i = this[P("0x13f")], r = this[P("0x13c")].scene;
-                            t == P("0x136") && (e = (i[P("0x156")] + 0) / i[P("0x157")][P("0x158")],
-                                r[P("0x159")] = e),
-                                t == P("0x13a") && (e = (i.offsetTop + 0) / i.parentElement[P("0x15b")],
-                                    r.imagerySplitPosition = 1 - e)
-                        }
-                        ,
-                        i.prototype.destroy = function () {
-                            var e = this[P("0x13f")];
-                            e && (this[P("0x13c")][P("0x131")].removeChild(e),
-                                this[P("0x13c")][P("0x10f")][P("0x159")] = 0)
-                        }
-                        ,
-                        e[P("0xf")](i.prototype, {
-                            splitMode: {
-                                get: function () {
-                                    return this[P("0x141")]
-                                },
-                                set: function (e) {
-                                    this._splitMode = e,
-                                        this[P("0x143")](e);
-                                    var t, i = this[P("0x13f")], r = this[P("0x13c")];
-                                    this.splitMode == P("0x136") && (t = (i.offsetLeft + 0) / i[P("0x157")][P("0x158")],
-                                        r.scene[P("0x159")] = t),
-                                        "top-bottom" == this[P("0x155")] && (t = (i.offsetTop + 0) / i[P("0x157")][P("0x15b")],
-                                            r[P("0x10f")][P("0x159")] = 1 - t)
-                                }
-                            },
-                            isEnable: {
-                                get: function () {
-                                    return this._isEnable
-                                },
-                                set: function (e) {
-                                    this[P("0x13d")] = e
-                                }
-                            },
-                            enableLayers: {
-                                get: function () {
-                                    return this._enableLayers
-                                },
-                                set: function (e) {
-                                    this._enableLayers = e,
-                                        this[P("0x147")]()
-                                }
-                            },
-                            splitDirection: {
-                                get: function () {
-                                    return this[P("0x14b")]
-                                },
-                                set: function (e) {
-                                    this._setSplitDirection(e),
-                                        this._setSplitMode(this._splitMode),
-                                        this._updateEnableLayers(),
-                                        this._upateSceneImagerySplitPositionBySlider()
-                                }
-                            }
-                        }),
-                        e.GeoSplitSliderWidget = i
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e.DrawCircleWidget = function (t, i) {
-                        this[P("0x13b")] = t.viewer,
-                            this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")][P("0x16b")][P("0x16c")](.3),
-                            this[P("0x10f")] = this[P("0x13b")].scene,
-                            this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
-                            this.canvas = this[P("0x10f")][P("0x48")],
-                            this.primitives = this[P("0x10f")].primitives,
-                            this[P("0xef")] = this[P("0x10f")][P("0xa3")][P("0xef")],
-                            this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1,
-                            this[P("0x16d")] = new (e[P("0x16e")]),
-                            this.callback = i || null
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = 0; i < t.length; i++)
-                            t.get(i)[P("0x176")] == e && (t.remove(t[P("0x187")](i)),
-                                i--)
-                    }
-                    t[P("0x5")].activate = function () {
-                        if (!this[P("0x16f")]) {
-                            this.handler = new (e[P("0x15f")])(this[P("0x48")]),
-                                this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x171");
-                            var t, i, r = this, n = [];
-                            this[P("0x172")] = n,
-                                this._circles_ = t = [],
-                                this[P("0x173")] = i,
-                                this[P("0x16f")][P("0x160")]((function (i) {
-                                    r.lastP = i;
-                                    var o = r[P("0x10f")][P("0x174")](i.position);
-                                    if (!o) {
-                                        var a = r[P("0x7e")].getPickRay(i[P("0x8c")]);
-                                        o = r[P("0x10f")][P("0xa3")][P("0xa4")](a, r[P("0x10f")])
-                                    }
-                                    if (o && (e[P("0x13")][P("0x175")](o)[P("0x8b")] < 0 && (a = r[P("0x7e")][P("0x86")](i[P("0x8c")]),
-                                        o = r[P("0x10f")].globe[P("0xa4")](a, r.scene)),
-                                        n[0] = o,
-                                        0 < n[P("0x0")])) {
-                                        var s = new e.CircleGeometry({
-                                            center: o,
-                                            radius: 0,
-                                            height: 0
-                                        });
-                                        s[P("0x176")] = P("0x177");
-                                        var x = new (e[P("0x178")])({
-                                            geometryInstances: new (e[P("0x179")])({
-                                                geometry: s,
-                                                attributes: {
-                                                    color: e.ColorGeometryInstanceAttribute.fromColor(r[P("0x169")])
-                                                }
-                                            }),
-                                            appearance: r.appearance,
-                                            classificationType: e[P("0x17a")][P("0x17b")],
-                                            interleave: !0
-                                        });
-                                        x.name = P("0x177"),
-                                            t[P("0x17c")]({
-                                                geometry: {
-                                                    center: o,
-                                                    radius: 0,
-                                                    height: 0
-                                                },
-                                                primitive: x
-                                            }),
-                                            r[P("0x17d")][P("0x6d")](x)
-                                    }
-                                }
-                                ), e.ScreenSpaceEventType[P("0x17e")]),
-                                this[P("0x16f")].setInputAction((function (o) {
-                                    var a = r.scene[P("0x174")](o.endPosition);
-                                    if (!a) {
-                                        var s = r.camera[P("0x86")](o[P("0x64")]);
-                                        a = r[P("0x10f")][P("0xa3")][P("0xa4")](s, r[P("0x10f")])
-                                    }
-                                    if (!a)
-                                        return i && (r[P("0x17d")][P("0x17f")](i),
-                                            i = null),
-                                            void (r._labels_ = i);
-                                    e[P("0x13")].fromCartesian(a)[P("0x8b")] < 0 && (s = r.camera.getPickRay(o[P("0x64")]),
-                                        a = r[P("0x10f")][P("0xa3")][P("0xa4")](s, r.scene));
-                                    var x = e.Cartographic[P("0x175")](a)
-                                        , l = e[P("0x23")][P("0x113")](x[P("0x112")])
-                                        , c = e[P("0x23")][P("0x113")](x[P("0x114")])
-                                        , u = x.height;
-                                    0 < n[P("0x0")] && (t[0],
-                                        r[P("0x17d")][P("0x17f")](t[0].primitive),
-                                        t[0][P("0x180")][P("0x181")] = e.Cartesian3.distance(t[0].geometry[P("0x11a")], a),
-                                        3189100 < t[0][P("0x180")][P("0x181")] && (t[0][P("0x180")][P("0x181")] = 3189100),
-                                        t[0][P("0x182")] = new (e[P("0x178")])({
-                                            geometryInstances: new (e[P("0x179")])({
-                                                geometry: new (e[P("0x183")])({
-                                                    center: t[0][P("0x180")].center[P("0x6e")](),
-                                                    radius: t[0].geometry.radius,
-                                                    height: t[0][P("0x180")][P("0x8b")]
-                                                }),
-                                                attributes: {
-                                                    color: e[P("0x184")].fromColor(r[P("0x169")])
-                                                }
-                                            }),
-                                            appearance: r[P("0x16d")],
-                                            classificationType: e.ClassificationType[P("0x17b")],
-                                            interleave: !0
-                                        }),
-                                        t[0][P("0x182")][P("0x176")] = P("0x177"),
-                                        r[P("0x17d")][P("0x6d")](t[0][P("0x182")])),
-                                        i ? i[P("0x187")](i[P("0x0")] - 1).position = e[P("0x11")].fromDegrees(l, c, u) : ((i = r[P("0x17d")].add(new e.LabelCollection))[P("0x176")] = "draw_label",
-                                            i[P("0x6d")]({
-                                                text: P("0x185"),
-                                                font: P("0x186"),
-                                                showBackground: !0
-                                            }),
-                                            i[P("0x187")](i.length - 1)[P("0x8c")] = e[P("0x11")].fromDegrees(l, c, u)),
-                                        r[P("0x173")] = i
-                                }
-                                ), e.ScreenSpaceEventType.MOUSE_MOVE),
-                                this[P("0x16f")].setInputAction((function (e) {
-                                    r[P("0x188")](e)
-                                }
-                                ), e.ScreenSpaceEventType[P("0x189")])
-                        }
-                    }
-                        ,
-                        t[P("0x5")].drawEnd = function (t) {
-                            var i = this[P("0x172")]
-                                , r = this[P("0x18a")]
-                                , n = this[P("0x173")];
-                            t = t || this[P("0x18b")],
-                                this[P("0x16f")] = this[P("0x16f")] && this.handler[P("0xf4")](),
-                                this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x18c"),
-                                n && (this[P("0x17d")].remove(n),
-                                    n = null);
-                            var o = this[P("0x10f")][P("0x174")](t.position);
-                            if (!o) {
-                                var a = this[P("0x7e")][P("0x86")](t.position);
-                                o = this[P("0x10f")].globe[P("0xa4")](a, this[P("0x10f")])
-                            }
-                            if (o) {
-                                e[P("0x13")][P("0x175")](o)[P("0x8b")] < 0 && (a = this[P("0x7e")].getPickRay(t.position),
-                                    o = this[P("0x10f")][P("0xa3")][P("0xa4")](a, this.scene));
-                                var s = e.Cartographic.fromCartesian(o);
-                                if (e.Math.toDegrees(s.longitude),
-                                    e[P("0x23")][P("0x113")](s[P("0x114")]),
-                                    s[P("0x8b")],
-                                    this[P("0xd3")],
-                                    0 < i[P("0x0")] && (this.primitives[P("0x17f")](r[0][P("0x182")]),
-                                        r[0][P("0x180")][P("0x181")] = e.Cartesian3[P("0x8e")](r[0].geometry[P("0x11a")], o),
-                                        3189100 < r[0][P("0x180")][P("0x181")] && (r[0][P("0x180")].radius = 3189100),
-                                        r[0][P("0x182")] = new (e[P("0x178")])({
-                                            geometryInstances: new (e[P("0x179")])({
-                                                geometry: new (e[P("0x183")])({
-                                                    center: r[0].geometry[P("0x11a")][P("0x6e")](),
-                                                    radius: r[0][P("0x180")].radius,
-                                                    height: r[0][P("0x180")][P("0x8b")]
-                                                }),
-                                                attributes: {
-                                                    color: e[P("0x184")].fromColor(this[P("0x169")])
-                                                }
-                                            }),
-                                            appearance: this[P("0x16d")],
-                                            classificationType: e.ClassificationType[P("0x17b")],
-                                            interleave: !0
-                                        }),
-                                        r[0][P("0x182")][P("0x176")] = P("0x177"),
-                                        this[P("0x17d")][P("0x6d")](r[0].primitive),
-                                        this.callback)) {
-                                    var x = e[P("0x183")][P("0x18d")](new (e[P("0x183")])({
-                                        center: r[0][P("0x180")][P("0x11a")].clone(),
-                                        radius: r[0].geometry.radius,
-                                        height: r[0].geometry.height
-                                    }))
-                                        , l = new (e[P("0x18e")])({
-                                            polygon: {
-                                                hierarchy: {
-                                                    positions: function () {
-                                                        for (var t = [], i = x[P("0x18f")][P("0x8c")][P("0x190")], r = 0; r < i[P("0x0")]; r += 3)
-                                                            t[P("0x17c")](new e.Cartesian3(i[r], i[r + 1], i[r + 2]));
-                                                        return t
-                                                    }()
-                                                }
-                                            }
-                                        });
-                                    this[P("0x191")](l)
-                                }
-                                i = [],
-                                    r = []
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x192")] = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x18c"),
-                                i(P("0x193"), this[P("0x17d")]),
-                                i(P("0x177"), this[P("0x17d")]),
-                                function (e, t) {
-                                    for (var i = t[P("0x190")], r = 0; r < i[P("0x0")]; r++)
-                                        i[r][P("0x176")] == e && (t.remove(i[r]),
-                                            r--)
-                                }(P("0x177"), this[P("0x13b")][P("0x194")])
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x195")] = function (t, i) {
-                        this[P("0x13b")] = t[P("0x13b")],
-                            this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e.Color[P("0x196")].withAlpha(.5),
-                            this.lineWidth = t[P("0x197")] ? t[P("0x197")] : 2,
-                            this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
-                            this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
-                            this[P("0x48")] = this[P("0x10f")].canvas,
-                            this[P("0x17d")] = this.scene[P("0x17d")],
-                            this[P("0xef")] = this[P("0x10f")].globe[P("0xef")],
-                            this[P("0x191")] = i || null
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = 0; i < t[P("0x0")]; i++)
-                            t[P("0x187")](i).name == e && (t.remove(t[P("0x187")](i)),
-                                i--)
-                    }
-                    t.prototype[P("0x198")] = function () {
-                        if (!this[P("0x16f")]) {
-                            this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
-                                this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x171");
-                            var t, i, r = this, n = [];
-                            this[P("0x16f")][P("0x160")]((function (i) {
-                                if (!(0 < n.length)) {
-                                    var o = r[P("0x7e")][P("0x86")](i.position)
-                                        , a = r.scene[P("0xa3")][P("0xa4")](o, r[P("0x10f")]);
-                                    if (a) {
-                                        var s = e[P("0x13")].fromCartesian(a)
-                                            , x = e[P("0x23")][P("0x113")](s[P("0x112")])
-                                            , l = e[P("0x23")][P("0x113")](s[P("0x114")])
-                                            , c = s[P("0x8b")];
-                                        0 == n[P("0x0")] && (n.push(x),
-                                            n[P("0x17c")](l),
-                                            n[P("0x17c")](c),
-                                            n[P("0x17c")](x),
-                                            n[P("0x17c")](l),
-                                            n[P("0x17c")](c),
-                                            n[P("0x17c")](x),
-                                            n.push(l),
-                                            n[P("0x17c")](c),
-                                            (t = r[P("0x17d")][P("0x6d")](new (e[P("0x199")]))).name = "draw_polyline",
-                                            t[P("0x6d")]({
-                                                polyline: {}
-                                            }),
-                                            t[P("0x187")](t.length - 1)[P("0x19a")] = r[P("0x197")],
-                                            t.get(t[P("0x0")] - 1)[P("0x19b")] = !0,
-                                            t[P("0x187")](t.length - 1)[P("0x19c")][P("0x19d")].color = r[P("0x169")],
-                                            t[P("0x187")](t[P("0x0")] - 1).positions = e[P("0x11")][P("0x19e")](n))
-                                    }
-                                }
-                            }
-                            ), e[P("0x161")].LEFT_CLICK),
-                                this[P("0x16f")][P("0x160")]((function (o) {
-                                    var a = r[P("0x7e")].getPickRay(o[P("0x64")])
-                                        , s = r[P("0x10f")][P("0xa3")][P("0xa4")](a, r.scene);
-                                    if (s) {
-                                        var x = e[P("0x13")].fromCartesian(s)
-                                            , l = e[P("0x23")][P("0x113")](x[P("0x112")])
-                                            , c = e[P("0x23")][P("0x113")](x[P("0x114")])
-                                            , u = x[P("0x8b")];
-                                        9 == n[P("0x0")] && (n[3] = l,
-                                            n[4] = c,
-                                            n[5] = u,
-                                            n[2] >= n[5] ? (n[6] = n[0],
-                                                n[7] = n[1],
-                                                n[8] = n[5]) : (n[6] = n[3],
-                                                    n[7] = n[4],
-                                                    n[8] = n[2]),
-                                            t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")].fromDegreesArrayHeights(n)),
-                                            i ? i.get(i[P("0x0")] - 1).position = e[P("0x11")][P("0x1a1")](l, c, u) : ((i = r[P("0x17d")][P("0x6d")](new e.LabelCollection)).name = P("0x193"),
-                                                i[P("0x6d")]({
-                                                    text: P("0x185"),
-                                                    font: P("0x1a0"),
-                                                    showBackground: !0,
-                                                    disableDepthTestDistance: Number[P("0x31")]
-                                                }),
-                                                i[P("0x187")](i[P("0x0")] - 1).position = e[P("0x11")][P("0x1a1")](l, c, u))
-                                    } else
-                                        i && (r[P("0x17d")].remove(i),
-                                            i = null)
-                                }
-                                ), e[P("0x161")][P("0x163")]),
-                                this[P("0x16f")][P("0x160")]((function (t) {
-                                    if (r[P("0x16f")] = r.handler && r.handler.destroy(),
-                                        r.viewer[P("0x48")].style[P("0x170")] = P("0x18c"),
-                                        i && (r[P("0x17d")][P("0x17f")](i),
-                                            i = null),
-                                        r[P("0x191")]) {
-                                        var o = new (e[P("0x18e")])({
-                                            polyline: {
-                                                positions: e[P("0x11")][P("0x19e")](n)
-                                            }
-                                        });
-                                        r.callback(o)
-                                    }
-                                }
-                                ), e[P("0x161")][P("0x189")])
-                        }
-                    }
-                        ,
-                        t.prototype[P("0x192")] = function () {
-                            this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                i(P("0x193"), this[P("0x17d")]),
-                                i("draw_polyline", this[P("0x17d")])
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = e[P("0x1a2")] = function (t, i) {
-                        this.viewer = t.viewer,
-                            this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")][P("0x16b")],
-                            this[P("0x1a3")] = t[P("0x1a3")] ? t[P("0x1a3")] : 10,
-                            this.scene = this[P("0x13b")][P("0x10f")],
-                            this.camera = this[P("0x13b")][P("0x7e")],
-                            this.canvas = this.scene.canvas,
-                            this[P("0x17d")] = this.scene.primitives,
-                            this[P("0xef")] = this.scene.globe.ellipsoid,
-                            this.callback = i || null
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = 0; i < t.length; i++)
-                            t[P("0x187")](i).name == e && (t[P("0x17f")](t.get(i)),
-                                i--)
-                    }
-                    t[P("0x5")][P("0x198")] = function () {
-                        if (!this[P("0x16f")]) {
-                            this[P("0x16f")] = new e.ScreenSpaceEventHandler(this[P("0x48")]),
-                                this.viewer[P("0x48")][P("0x150")][P("0x170")] = "crosshair";
-                            var t, i, r = this, n = [];
-                            this[P("0x16f")][P("0x160")]((function (o) {
-                                var a = r[P("0x10f")][P("0x174")](o[P("0x8c")]);
-                                if (!a) {
-                                    var s = r[P("0x7e")][P("0x86")](o.position);
-                                    a = r.scene[P("0xa3")].pick(s, r[P("0x10f")])
-                                }
-                                if (a && (e[P("0x13")][P("0x175")](a).height < 0 && (s = r.camera.getPickRay(o[P("0x8c")]),
-                                    a = r[P("0x10f")][P("0xa3")][P("0xa4")](s, r.scene)),
-                                    n[0] = a,
-                                    t ? t[P("0xf5")]() : (t = r[P("0x17d")][P("0x6d")](new (e[P("0x1a4")]))).name = "draw_point",
-                                    t[P("0x6d")]({
-                                        position: a,
-                                        color: r[P("0x169")],
-                                        pixelSize: r[P("0x1a3")],
-                                        disableDepthTestDistance: 30
-                                    }),
-                                    r[P("0x16f")] = r[P("0x16f")] && r[P("0x16f")][P("0xf4")](),
-                                    r[P("0x13b")].canvas[P("0x150")].cursor = P("0x18c"),
-                                    i && (r.primitives.remove(i),
-                                        i = null),
-                                    r[P("0x191")])) {
-                                    var x = new (e[P("0x18e")])({
-                                        position: n[0],
-                                        point: {}
-                                    });
-                                    r[P("0x191")](x)
-                                }
-                            }
-                            ), e[P("0x161")][P("0x17e")]),
-                                this[P("0x16f")][P("0x160")]((function (t) {
-                                    var n = r.scene.pickPosition(t[P("0x64")]);
-                                    if (!n) {
-                                        var o = r[P("0x7e")][P("0x86")](t[P("0x64")]);
-                                        n = r.scene[P("0xa3")][P("0xa4")](o, r[P("0x10f")])
-                                    }
-                                    n ? (e[P("0x13")][P("0x175")](n).height < 0 && (o = r.camera[P("0x86")](t[P("0x64")]),
-                                        n = r[P("0x10f")][P("0xa3")][P("0xa4")](o, r[P("0x10f")])),
-                                        i ? i[P("0x187")](i.length - 1).position = n : ((i = r.primitives[P("0x6d")](new (e[P("0x1a5")])))[P("0x176")] = "draw_label",
-                                            i.add({
-                                                text: P("0x1a6"),
-                                                font: P("0x186"),
-                                                showBackground: !0
-                                            }),
-                                            i[P("0x187")](i[P("0x0")] - 1).position = n)) : i && (r[P("0x17d")].remove(i),
-                                                i = null)
-                                }
-                                ), e[P("0x161")][P("0x163")])
-                        }
-                    }
-                        ,
-                        t[P("0x5")].clear = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = "default",
-                                i(P("0x193"), this[P("0x17d")]),
-                                i(P("0x1a7"), this[P("0x17d")])
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x1a8")] = function (t, i) {
-                        this[P("0x13b")] = t[P("0x13b")],
-                            this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")][P("0x196")][P("0x16c")](.5),
-                            this.lineWidth = t.lineWidth ? t[P("0x197")] : 2,
-                            this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
-                            this.camera = this[P("0x13b")].camera,
-                            this[P("0x48")] = this[P("0x10f")].canvas,
-                            this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
-                            this[P("0xef")] = this[P("0x10f")].globe[P("0xef")],
-                            this.callback = i || null,
-                            this[P("0x1a9")] = 0
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = 0; i < t[P("0x0")]; i++)
-                            t[P("0x187")](i)[P("0x176")] == e && (t[P("0x17f")](t[P("0x187")](i)),
-                                i--)
-                    }
-                    t[P("0x5")].activate = function () {
-                        if (!this[P("0x16f")]) {
-                            this.handler = new e.ScreenSpaceEventHandler(this[P("0x48")]),
-                                this[P("0x13b")].canvas[P("0x150")].cursor = P("0x171");
-                            var t, i, r = this, n = [], o = [], a = [];
-                            this[P("0x172")] = o,
-                                this._array2_ = a,
-                                this[P("0x1aa")] = t,
-                                this[P("0x173")] = i,
-                                this[P("0x16f")][P("0x160")]((function (i) {
-                                    r[P("0x18b")] = i;
-                                    var s = r[P("0x10f")].pickPosition(i[P("0x8c")]);
-                                    if (!s) {
-                                        var x = r[P("0x7e")].getPickRay(i[P("0x8c")]);
-                                        s = r[P("0x10f")][P("0xa3")][P("0xa4")](x, r[P("0x10f")])
-                                    }
-                                    if (s) {
-                                        e[P("0x13")].fromCartesian(s)[P("0x8b")] < 0 && (x = r[P("0x7e")][P("0x86")](i.position),
-                                            s = r.scene.globe[P("0xa4")](x, r[P("0x10f")]));
-                                        var l = e[P("0x13")][P("0x175")](s);
-                                        o.push(s);
-                                        var c = e[P("0x23")][P("0x113")](l[P("0x112")])
-                                            , u = e[P("0x23")][P("0x113")](l.latitude)
-                                            , h = l[P("0x8b")];
-                                        a.push([c, u]),
-                                            n[P("0x17c")](c),
-                                            n[P("0x17c")](u),
-                                            n.push(h),
-                                            3 == n[P("0x0")] && ((t = r[P("0x17d")].add(new (e[P("0x199")]))).name = P("0x1ab"),
-                                                t.add({
-                                                    polyline: {}
-                                                }),
-                                                t.get(t[P("0x0")] - 1)[P("0x19a")] = r.lineWidth,
-                                                t[P("0x187")](t[P("0x0")] - 1)[P("0x19b")] = !0,
-                                                t[P("0x187")](t[P("0x0")] - 1)[P("0x19c")].uniforms[P("0x169")] = r[P("0x169")],
-                                                t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](n)),
-                                            3 < n[P("0x0")] && (t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")].fromDegreesArrayHeights(n)),
-                                            r[P("0x1aa")] = t
-                                    }
-                                }
-                                ), e[P("0x161")][P("0x17e")]),
-                                this[P("0x16f")][P("0x160")]((function (o) {
-                                    var a = r[P("0x10f")][P("0x174")](o[P("0x64")]);
-                                    if (!a) {
-                                        var s = r[P("0x7e")].getPickRay(o[P("0x64")]);
-                                        a = r[P("0x10f")].globe.pick(s, r[P("0x10f")])
-                                    }
-                                    if (a) {
-                                        e[P("0x13")][P("0x175")](a).height < 0 && (s = r[P("0x7e")][P("0x86")](o.endPosition),
-                                            a = r.scene[P("0xa3")].pick(s, r[P("0x10f")]));
-                                        var x = e[P("0x13")][P("0x175")](a)
-                                            , l = e[P("0x23")][P("0x113")](x[P("0x112")])
-                                            , c = e[P("0x23")][P("0x113")](x[P("0x114")])
-                                            , u = x[P("0x8b")];
-                                        if (3 <= n[P("0x0")]) {
-                                            var h = n.concat();
-                                            h[P("0x17c")](l),
-                                                h[P("0x17c")](c),
-                                                h[P("0x17c")](u),
-                                                t[P("0x187")](t.length - 1)[P("0x19f")] = e.Cartesian3.fromDegreesArrayHeights(h)
-                                        }
-                                        i ? i[P("0x187")](i[P("0x0")] - 1).position = e[P("0x11")].fromDegrees(l, c, u) : ((i = r.primitives[P("0x6d")](new (e[P("0x1a5")]))).name = P("0x193"),
-                                            i.add({
-                                                text: P("0x185"),
-                                                font: P("0x186"),
-                                                showBackground: !0
-                                            }),
-                                            i[P("0x187")](i.length - 1)[P("0x8c")] = e[P("0x11")].fromDegrees(l, c, u)),
-                                            r[P("0x173")] = i
-                                    }
-                                }
-                                ), e[P("0x161")].MOUSE_MOVE),
-                                this.handler[P("0x160")]((function (e) {
-                                    r.drawEnd(e)
-                                }
-                                ), e[P("0x161")].RIGHT_CLICK),
-                                this.count++
-                        }
-                    }
-                        ,
-                        t.prototype[P("0x188")] = function (t) {
-                            if (0 != this[P("0x172")][P("0x0")]) {
-                                var i = this[P("0x172")]
-                                    , r = this[P("0x1ac")]
-                                    , n = this[P("0x1aa")]
-                                    , o = this._labels_;
-                                t || (console[P("0x133")](P("0x1ad")),
-                                    t = this.lastP),
-                                    this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                    this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                    o && (this[P("0x17d")][P("0x17f")](o),
-                                        o = null);
-                                var a = this[P("0x10f")][P("0x174")](t[P("0x8c")]);
-                                if (!a) {
-                                    var s = this[P("0x7e")][P("0x86")](t[P("0x8c")]);
-                                    a = this[P("0x10f")][P("0xa3")].pick(s, this.scene)
-                                }
-                                if (a) {
-                                    e[P("0x13")].fromCartesian(a)[P("0x8b")] < 0 && (s = this[P("0x7e")][P("0x86")](t.position),
-                                        a = this[P("0x10f")][P("0xa3")][P("0xa4")](s, this[P("0x10f")])),
-                                        i[P("0x17c")](a);
-                                    var x = e[P("0x13")].fromCartesian(a)
-                                        , l = e.Math.toDegrees(x[P("0x112")])
-                                        , c = e[P("0x23")][P("0x113")](x.latitude);
-                                    r[P("0x17c")]([l, c]),
-                                        n[P("0x187")](n[P("0x0")] - 1)[P("0x19c")].uniforms[P("0x169")] = e[P("0x16a")][P("0x1ae")][P("0x16c")](0);
-                                    var u = new (e[P("0x178")])({
-                                        geometryInstances: [],
-                                        appearance: new (e[P("0x16e")]),
-                                        show: !0,
-                                        classificationType: e.ClassificationType[P("0x17b")]
-                                    })
-                                        , h = new (e[P("0x179")])({
-                                            geometry: e[P("0x1af")].fromPositions({
-                                                positions: i,
-                                                vertexFormat: e[P("0x1b0")][P("0x1b1")]
-                                            }),
-                                            attributes: {
-                                                color: e[P("0x184")][P("0x1b2")](e[P("0x16a")].GREEN.withAlpha(.3))
-                                            }
-                                        });
-                                    if (u.geometryInstances[P("0x17c")](h),
-                                        this[P("0x17d")][P("0x6d")](u)[P("0x176")] = P("0x1b3"),
-                                        this[P("0x191")]) {
-                                        var f = new e.Entity({
-                                            polygon: {
-                                                hierarchy: {
-                                                    positions: i
-                                                }
-                                            }
-                                        });
-                                        this[P("0x191")](f)
-                                    }
-                                    this._array_ = [],
-                                        this[P("0x1aa")] = null
-                                }
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x192")] = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x13b")][P("0x48")][P("0x150")].cursor = "default",
-                                i(P("0x193"), this[P("0x17d")]),
-                                i(P("0x1ab"), this[P("0x17d")]),
-                                i(P("0x1b3"), this[P("0x17d")])
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e.DrawPolylineWidget = function (t, i) {
-                        this[P("0x13b")] = t[P("0x13b")],
-                            this[P("0x1b4")] = e[P("0x102")](t[P("0x1b4")], e[P("0x16a")].CHARTREUSE.withAlpha(.5)),
-                            this[P("0x197")] = e.defaultValue(t[P("0x197")], 1),
-                            this.lineLoop = e[P("0x102")](t.lineLoop, !0),
-                            this.lineClampGround = e[P("0x102")](t.lineClampGround, !0),
-                            this.scene = this[P("0x13b")][P("0x10f")],
-                            this.camera = this[P("0x13b")].camera,
-                            this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
-                            this[P("0x191")] = i || null
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = 0; i < t.length; i++)
-                            t[P("0x187")](i)[P("0x176")] == e && (t[P("0x17f")](t[P("0x187")](i)),
-                                i--)
-                    }
-                    function r(t) {
-                        return [e[P("0x23")][P("0x113")](e[P("0x13")][P("0x175")](t)[P("0x112")]), e[P("0x23")][P("0x113")](e[P("0x13")][P("0x175")](t)[P("0x114")]), e[P("0x13")][P("0x175")](t)[P("0x8b")]]
-                    }
-                    t[P("0x5")][P("0x1b5")] = function (t) {
-                        if (this[P("0x1b6")]) {
-                            if (!(r = this[P("0x10f")][P("0x174")](t))) {
-                                var i = this[P("0x7e")][P("0x86")](t);
-                                r = this.scene[P("0xa3")][P("0xa4")](i, this.scene)
-                            }
-                            if (!r)
-                                return;
-                            e[P("0x13")][P("0x175")](r)[P("0x8b")] < 0 && (i = this[P("0x7e")][P("0x86")](t),
-                                r = this[P("0x10f")][P("0xa3")][P("0xa4")](i, this[P("0x10f")]))
-                        } else {
-                            i = this[P("0x7e")].getPickRay(t);
-                            var r = this.scene.globe.pick(i, this[P("0x10f")])
-                        }
-                        return r
-                    }
-                        ,
-                        t[P("0x5")].createGroundPrimitive = function (t) {
-                            if (this.lineWidth && this[P("0x1b4")] && this[P("0x17d")]) {
-                                var i = new (e[P("0x178")])({
-                                    geometryInstances: new e.GeometryInstance({
-                                        geometry: new e.CorridorGeometry({
-                                            vertexFormat: e[P("0x1b7")][P("0x1b8")],
-                                            positions: t,
-                                            width: this.lineWidth
-                                        }),
-                                        attributes: {
-                                            color: e.ColorGeometryInstanceAttribute.fromColor(this.lineColor)
-                                        }
-                                    }),
-                                    classificationType: e.ClassificationType.BOTH
-                                });
-                                return this.primitives[P("0x6d")](i)
-                            }
-                            return !1
-                        }
-                        ,
-                        t.prototype[P("0x1b9")] = function (t) {
-                            if (this.lineWidth && this.lineColor && this.primitives) {
-                                var i = this[P("0x17d")][P("0x6d")](new (e[P("0x199")]));
-                                return i[P("0x6d")]({
-                                    polyline: {}
-                                }),
-                                    i[P("0x187")](i[P("0x0")] - 1)[P("0x19a")] = this[P("0x197")],
-                                    i[P("0x187")](i[P("0x0")] - 1).material[P("0x19d")][P("0x169")] = this[P("0x1b4")],
-                                    i[P("0x187")](i[P("0x0")] - 1)[P("0x19f")] = t,
-                                    i
-                            }
-                            return !1
-                        }
-                        ,
-                        t[P("0x5")][P("0x198")] = function () {
-                            if (!this.handler) {
-                                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
-                                    this[P("0x13b")][P("0x48")].style[P("0x170")] = P("0x171");
-                                var t = [];
-                                this[P("0x1ba")] = [],
-                                    this[P("0x1bb")] = null;
-                                var i = this;
-                                this[P("0x16f")][P("0x160")]((function (e) {
-                                    var n = i.screenToCartesian(e[P("0x8c")]);
-                                    t[P("0x17c")](n),
-                                        i[P("0x1ba")] = i[P("0x1ba")].concat(r(n));
-                                    var o = t[P("0x0")]
-                                        , a = []
-                                        , s = [];
-                                    1 == o ? a = [t[o - 1]] : s = i.lineLoop ? (a = [t[o - 2], t[o - 1]],
-                                        [t[0], t[o - 1]]) : (a = [t[o - 2], t[o - 1]],
-                                            []),
-                                        i.lineClampGround ? (i[P("0x17d")][P("0x17f")](i[P("0x1bc")]),
-                                            i[P("0x17d")][P("0x17f")](i.concatGroundPrimitive),
-                                            i[P("0x1bd")] = i.createGroundPrimitive(a),
-                                            i[P("0x1bd")][P("0x176")] = "draw_polyline",
-                                            i.concatGroundPrimitive = i.createGroundPrimitive(s),
-                                            i[P("0x1be")].name = P("0x1bf")) : (i[P("0x17d")].remove(i[P("0x1c0")]),
-                                                i[P("0x17d")].remove(i[P("0x1c1")]),
-                                                i[P("0x1c2")] = i[P("0x1b9")](a),
-                                                i.fixedPrimitive[P("0x176")] = "draw_polyline",
-                                                i[P("0x1c0")] = i.createPrimitive(s),
-                                                i[P("0x1c0")][P("0x176")] = "draw_polylineConcat")
-                                }
-                                ), e[P("0x161")].LEFT_CLICK),
-                                    this[P("0x16f")][P("0x160")]((function (r) {
-                                        var n = i.screenToCartesian(r.endPosition);
-                                        if (n) {
-                                            var o = t[P("0x0")];
-                                            if (o)
-                                                if (i[P("0x1b6")]) {
-                                                    i.primitives[P("0x17f")](i[P("0x1bc")]),
-                                                        i[P("0x17d")].remove(i[P("0x1be")]);
-                                                    var a = i[P("0x1c3")] && 2 <= o ? [t[o - 1], n[P("0x6e")](), t[0]] : [t[o - 1], n.clone()];
-                                                    i.temporaryGroundPrimitive = i[P("0x1c4")](a),
-                                                        i[P("0x1bc")].name = P("0x1c5")
-                                                } else {
-                                                    i.primitives[P("0x17f")](i[P("0x1c1")]),
-                                                        i[P("0x17d")].remove(i[P("0x1c0")]);
-                                                    var s = i[P("0x1c3")] && 2 <= o ? [t[o - 1], n[P("0x6e")](), t[0]] : [t[o - 1], n[P("0x6e")]()];
-                                                    i.temporaryPrimitive = i[P("0x1b9")](s),
-                                                        i[P("0x1c1")][P("0x176")] = P("0x1c5")
-                                                }
-                                            i._labels ? i[P("0x1bb")][P("0x187")](i._labels[P("0x0")] - 1)[P("0x8c")] = n : (i._labels = i[P("0x17d")][P("0x6d")](new e.LabelCollection),
-                                                i[P("0x1bb")][P("0x176")] = P("0x193"),
-                                                i[P("0x1bb")][P("0x6d")]({
-                                                    text: P("0x185"),
-                                                    font: P("0x186"),
-                                                    showBackground: !0
-                                                }),
-                                                i._labels[P("0x187")](i._labels[P("0x0")] - 1)[P("0x8c")] = n)
-                                        } else
-                                            i[P("0x1bb")] && (i[P("0x17d")][P("0x17f")](i._labels),
-                                                i[P("0x1bb")] = null)
-                                    }
-                                    ), e.ScreenSpaceEventType.MOUSE_MOVE),
-                                    this.handler.setInputAction((function (e) {
-                                        i[P("0x188")](t, e)
-                                    }
-                                    ), e[P("0x161")].RIGHT_CLICK)
-                            }
-                        }
-                        ,
-                        t.prototype[P("0x188")] = function (t, i) {
-                            var n = this[P("0x1bb")];
-                            this.handler = this[P("0x16f")] && this.handler[P("0xf4")](),
-                                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = "default",
-                                n && (this[P("0x17d")][P("0x17f")](n),
-                                    n = null);
-                            var o = this[P("0x1b5")](i.position);
-                            t[P("0x17c")](o),
-                                this.degreesArrayHeights = this.degreesArrayHeights[P("0x1c6")](r(o));
-                            var a = t.length;
-                            if (this.lineClampGround) {
-                                this[P("0x17d")][P("0x17f")](this.temporaryGroundPrimitive),
-                                    this[P("0x17d")][P("0x17f")](this[P("0x1be")]);
-                                var s = this.lineLoop && 2 < a ? [t[a - 2], t[a - 1], t[0]] : [t[a - 2], t[a - 1]];
-                                this[P("0x1c7")] = this[P("0x1c4")](s),
-                                    this[P("0x1c7")][P("0x176")] = P("0x1ab")
-                            } else {
-                                this[P("0x17d")].remove(this.temporaryPrimitive),
-                                    this[P("0x17d")][P("0x17f")](this[P("0x1c0")]);
-                                var x = this[P("0x1c3")] && 2 < a ? [t[a - 2], t[a - 1], t[0]] : [t[a - 2], t[a - 1]];
-                                this[P("0x1c8")] = this[P("0x1b9")](x),
-                                    this[P("0x1c8")][P("0x176")] = P("0x1ab")
-                            }
-                            if (this.callback) {
-                                var l = new e.Entity({
-                                    polyline: {
-                                        positions: e[P("0x11")][P("0x19e")](this[P("0x1ba")])
-                                    }
-                                });
-                                this[P("0x191")](l)
-                            }
-                        }
-                        ,
-                        t[P("0x5")].clear = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x13b")][P("0x48")].style[P("0x170")] = "default",
-                                i(P("0x193"), this.primitives),
-                                i(P("0x1ab"), this.primitives)
-                        }
-                }(window[P("0xfd")]);
-            var R = {
-                version: P("0x1c9"),
-                createTime: P("0x1ca"),
-                author: P("0x1cb")
+                }
+                t.ignoreCase && (e = e.toLowerCase());
+                var a = document.createElement("a");
+                a.href = e;
+                var s = {};
+                s.host = a.host.split(":").shift(),
+                s.protocol = a.protocol,
+                t.ignorePort80 ? s.port = "80" == a.port || "0" == a.port ? "" : a.port : s.port = "" == a.port || "0" == a.port ? "80" : a.port,
+                s.hash = t.ignoreHash || "#" === a.hash ? "" : a.hash;
+                var x = a.search;
+                if (!x) {
+                    var l = e.indexOf("?");
+                    x = -1 != l ? e.substr(l) : ""
+                }
+                return s.args = GeoGlobe.Util.getParameters(x, {
+                    splitArgs: t.splitArgs
+                }),
+                s.pathname = "/" == a.pathname.charAt(0) ? a.pathname : "/" + a.pathname,
+                s
             }
-                , O = {
-                    type: P("0x1cc"),
-                    headHeightFactor: .25,
-                    headWidthFactor: .3,
-                    neckHeightFactor: .85,
-                    fixPointCount: 4,
-                    neckWidthFactor: .15
-                }
-                , F = {
-                    headHeightFactor: .18,
-                    headWidthFactor: .3,
-                    neckHeightFactor: .85,
-                    neckWidthFactor: .15,
-                    tailWidthFactor: .1,
-                    headTailFactor: .8,
-                    swallowTailFactor: 1
-                };
-            R[P("0x1cd")] = {},
-                R[P("0x1cd")].doubleArrow = function (e) {
-                    this[P("0x1ce")] = null;
-                    var t = {
-                        controlPoint: this[P("0x1cf")] = null,
-                        polygonalPoint: null
-                    };
-                    if (!((i = (this.points = e).length) < 2)) {
-                        if (2 == i)
-                            return e;
-                        var i, r, n, o = this.points[0], a = this[P("0x1d0")][1], s = this[P("0x1d0")][2];
-                        3 == (i = e[P("0x0")]) ? this[P("0x1cf")] = R[P("0x1cd")][P("0x1d1")](o, a, s) : this.tempPoint4 = this.points[3],
-                            3 == i || 4 == i ? this.connPoint = W[P("0x1d2")].mid(o, a) : this[P("0x1ce")] = this.points[4],
-                            n = W[P("0x1d2")][P("0x1d3")](o, a, s) ? (r = R[P("0x1cd")].getArrowPoints(o, this[P("0x1ce")], this[P("0x1cf")], !1),
-                                R[P("0x1cd")].getArrowPoints(this.connPoint, a, s, !0)) : (r = R[P("0x1cd")][P("0x1d4")](a, this[P("0x1ce")], s, !1),
-                                    R.algorithm[P("0x1d4")](this[P("0x1ce")], o, this[P("0x1cf")], !0));
-                        var x = r.length
-                            , l = (x - 5) / 2
-                            , c = r.slice(0, l)
-                            , u = r[P("0x1d5")](l, 5 + l)
-                            , h = r[P("0x1d5")](5 + l, x)
-                            , f = n[P("0x1d5")](0, l)
-                            , d = n.slice(l, 5 + l)
-                            , g = n.slice(5 + l, x);
-                        f = W.PlotUtils[P("0x1d6")](f);
-                        var p = W[P("0x1d2")][P("0x1d6")](g[P("0x1c6")](c.slice(1)));
-                        h = W[P("0x1d2")].getBezierPoints(h);
-                        var m = f[P("0x1c6")](d, p, u, h)
-                            , b = R[P("0x1cd")][P("0x1d7")](m);
-                        t[P("0x1d8")] = [o, a, s, this.tempPoint4, this[P("0x1ce")]],
-                            t[P("0x1d9")] = Cesium.Cartesian3[P("0x1da")](b)
-                    }
-                    return t
-                }
-                ,
-                R.algorithm[P("0x1d1")] = function (e, t, i, r) {
-                    this[P("0x165")] = O[P("0x165")],
-                        this[P("0x1db")] = O.headHeightFactor,
-                        this.headWidthFactor = O[P("0x1dc")],
-                        this[P("0x1dd")] = O.neckHeightFactor,
-                        this[P("0x1de")] = O[P("0x1de")];
-                    var n = W[P("0x1d2")].mid(e, t)
-                        , o = W[P("0x1d2")].distance(n, i)
-                        , a = W.PlotUtils[P("0x1df")](i, n, 0, .3 * o, !0)
-                        , s = W[P("0x1d2")][P("0x1df")](i, n, 0, .5 * o, !0)
-                        , x = [n, a = W[P("0x1d2")][P("0x1df")](n, a, W.Constants[P("0x1e0")], o / 5, r), s = W[P("0x1d2")][P("0x1df")](n, s, W[P("0x1e1")][P("0x1e0")], o / 4, r), i]
-                        , l = R[P("0x1cd")].getArrowHeadPoints(x, this.headHeightFactor, this[P("0x1dc")], this[P("0x1dd")], this.neckWidthFactor)
-                        , c = l[0]
-                        , u = l[4]
-                        , h = W[P("0x1d2")][P("0x8e")](e, t) / W[P("0x1d2")][P("0x1e2")](x) / 2
-                        , f = R.algorithm.getArrowBodyPoints(x, c, u, h)
-                        , d = f[P("0x0")]
-                        , g = f[P("0x1d5")](0, d / 2)
-                        , p = f.slice(d / 2, d);
-                    return g.push(c),
-                        p[P("0x17c")](u),
-                        (g = g[P("0x1e3")]())[P("0x17c")](t),
-                        (p = p[P("0x1e3")]()).push(e),
-                        g[P("0x1e3")]()[P("0x1c6")](l, p)
-                }
-                ,
-                R[P("0x1cd")][P("0x1d7")] = function (e) {
-                    var t = [];
-                    return e[P("0x1e4")]((function (e) {
-                        t[P("0x17c")](e[0]),
-                            t[P("0x17c")](e[1])
-                    }
-                    )),
-                        t
-                }
-                ,
-                R[P("0x1cd")][P("0x1d4")] = function (e, t, i, r) {
-                    this[P("0x165")] = O.type,
-                        this.headHeightFactor = O[P("0x1db")],
-                        this[P("0x1dc")] = O[P("0x1dc")],
-                        this[P("0x1dd")] = O[P("0x1dd")],
-                        this[P("0x1de")] = O[P("0x1de")];
-                    var n = W.PlotUtils[P("0x1e5")](e, t)
-                        , o = W[P("0x1d2")][P("0x8e")](n, i)
-                        , a = W[P("0x1d2")].getThirdPoint(i, n, 0, .3 * o, !0)
-                        , s = W.PlotUtils[P("0x1df")](i, n, 0, .5 * o, !0)
-                        , x = [n, a = W[P("0x1d2")].getThirdPoint(n, a, W[P("0x1e1")].HALF_PI, o / 5, r), s = W[P("0x1d2")][P("0x1df")](n, s, W.Constants[P("0x1e0")], o / 4, r), i]
-                        , l = R[P("0x1cd")][P("0x1e6")](x, this[P("0x1db")], this[P("0x1dc")], this[P("0x1dd")], this[P("0x1de")])
-                        , c = l[0]
-                        , u = l[4]
-                        , h = W[P("0x1d2")][P("0x8e")](e, t) / W[P("0x1d2")][P("0x1e2")](x) / 2
-                        , f = R[P("0x1cd")][P("0x1e7")](x, c, u, h)
-                        , d = f.length
-                        , g = f[P("0x1d5")](0, d / 2)
-                        , p = f[P("0x1d5")](d / 2, d);
-                    return g.push(c),
-                        p[P("0x17c")](u),
-                        (g = g[P("0x1e3")]())[P("0x17c")](t),
-                        (p = p[P("0x1e3")]())[P("0x17c")](e),
-                        g[P("0x1e3")]()[P("0x1c6")](l, p)
-                }
-                ,
-                R[P("0x1cd")][P("0x1e6")] = function (e, t, i) {
-                    this.type = O.type,
-                        this[P("0x1db")] = O[P("0x1db")],
-                        this[P("0x1dc")] = O[P("0x1dc")],
-                        this[P("0x1dd")] = O[P("0x1dd")],
-                        this.neckWidthFactor = O[P("0x1de")];
-                    var r = W.PlotUtils[P("0x1e2")](e) * this[P("0x1db")]
-                        , n = e[e[P("0x0")] - 1]
-                        , o = (W.PlotUtils.distance(t, i),
-                            r * this.headWidthFactor)
-                        , a = r * this[P("0x1de")]
-                        , s = r * this[P("0x1dd")]
-                        , x = W[P("0x1d2")][P("0x1df")](e[e[P("0x0")] - 2], n, 0, r, !0)
-                        , l = W[P("0x1d2")][P("0x1df")](e[e[P("0x0")] - 2], n, 0, s, !0)
-                        , c = W[P("0x1d2")][P("0x1df")](n, x, W[P("0x1e1")][P("0x1e0")], o, !1)
-                        , u = W[P("0x1d2")].getThirdPoint(n, x, W.Constants[P("0x1e0")], o, !0);
-                    return [W[P("0x1d2")].getThirdPoint(n, l, W[P("0x1e1")][P("0x1e0")], a, !1), c, n, u, W.PlotUtils[P("0x1df")](n, l, W[P("0x1e1")][P("0x1e0")], a, !0)]
-                }
-                ,
-                R[P("0x1cd")][P("0x1e7")] = function (e, t, i, r) {
-                    for (var n = W.PlotUtils[P("0x1e8")](e), o = W[P("0x1d2")][P("0x1e2")](e) * r, a = (o - W[P("0x1d2")][P("0x8e")](t, i)) / 2, s = 0, x = [], l = [], c = 1; c < e[P("0x0")] - 1; c++) {
-                        var u = W[P("0x1d2")][P("0x1e9")](e[c - 1], e[c], e[c + 1]) / 2
-                            , h = (o / 2 - (s += W.PlotUtils[P("0x8e")](e[c - 1], e[c])) / n * a) / Math[P("0x98")](u)
-                            , f = W[P("0x1d2")][P("0x1df")](e[c - 1], e[c], Math.PI - u, h, !0)
-                            , d = W[P("0x1d2")][P("0x1df")](e[c - 1], e[c], u, h, !1);
-                        x[P("0x17c")](f),
-                            l[P("0x17c")](d)
-                    }
-                    return x[P("0x1c6")](l)
-                }
-                ,
-                R[P("0x1cd")][P("0x1d1")] = function (e, t, i) {
-                    var r, n, o, a = W[P("0x1d2")][P("0x1e5")](e, t), s = W[P("0x1d2")].distance(a, i), x = W[P("0x1d2")][P("0x1e9")](e, a, i);
-                    return x < W[P("0x1e1")][P("0x1e0")] ? (r = s * Math.sin(x),
-                        n = s * Math.cos(x),
-                        o = W[P("0x1d2")][P("0x1df")](e, a, W.Constants[P("0x1e0")], r, !1),
-                        W[P("0x1d2")].getThirdPoint(a, o, W[P("0x1e1")].HALF_PI, n, !0)) : x >= W[P("0x1e1")].HALF_PI && x < Math.PI ? (r = s * Math.sin(Math.PI - x),
-                            n = s * Math.cos(Math.PI - x),
-                            o = W[P("0x1d2")][P("0x1df")](e, a, W[P("0x1e1")][P("0x1e0")], r, !1),
-                            W[P("0x1d2")].getThirdPoint(a, o, W.Constants[P("0x1e0")], n, !1)) : x >= Math.PI && x < 1.5 * Math.PI ? (r = s * Math[P("0x98")](x - Math.PI),
-                                n = s * Math[P("0x9a")](x - Math.PI),
-                                o = W[P("0x1d2")][P("0x1df")](e, a, W[P("0x1e1")].HALF_PI, r, !0),
-                                W[P("0x1d2")].getThirdPoint(a, o, W[P("0x1e1")][P("0x1e0")], n, !0)) : (r = s * Math[P("0x98")](2 * Math.PI - x),
-                                    n = s * Math[P("0x9a")](2 * Math.PI - x),
-                                    o = W[P("0x1d2")][P("0x1df")](e, a, W.Constants[P("0x1e0")], r, !0),
-                                    W.PlotUtils[P("0x1df")](a, o, W[P("0x1e1")][P("0x1e0")], n, !1))
-                }
-                ,
-                R[P("0x1cd")][P("0x1ea")] = function (e) {
-                    e = R[P("0x1cd")].dereplication(e),
-                        this[P("0x1eb")] = F.tailWidthFactor,
-                        this[P("0x1ec")] = F[P("0x1ec")],
-                        this[P("0x1ed")] = F.swallowTailPnt;
-                    var t = {
-                        controlPoint: null,
-                        polygonalPoint: null
-                    };
-                    if (!((d = (t[P("0x1d8")] = e)[P("0x0")]) < 2)) {
-                        if (2 == e.length)
-                            return t.polygonalPoint = e,
-                                t;
-                        var i = e
-                            , r = i[0]
-                            , n = i[1];
-                        W[P("0x1d2")].isClockWise(i[0], i[1], i[2]) && (r = i[1],
-                            n = i[0]);
-                        var o = [W.PlotUtils[P("0x1e5")](r, n)].concat(i[P("0x1d5")](2))
-                            , a = R[P("0x1cd")][P("0x1ee")](o, r, n, F)
-                            , s = a[0]
-                            , x = a[4]
-                            , l = W[P("0x1d2")][P("0x8e")](r, n)
-                            , c = W[P("0x1d2")][P("0x1e2")](o)
-                            , u = c * this[P("0x1eb")] * this[P("0x1ec")];
-                        this.swallowTailPnt = W[P("0x1d2")][P("0x1df")](o[1], o[0], 0, u, !0);
-                        var h = l / c
-                            , f = R[P("0x1cd")][P("0x1ef")](o, s, x, h)
-                            , d = f[P("0x0")]
-                            , g = [r][P("0x1c6")](f[P("0x1d5")](0, d / 2));
-                        g[P("0x17c")](s);
-                        var p, m = [n][P("0x1c6")](f.slice(d / 2, d));
-                        m[P("0x17c")](x),
-                            g = W[P("0x1d2")].getQBSplinePoints(g),
-                            m = W[P("0x1d2")][P("0x1f0")](m),
-                            p = R[P("0x1cd")][P("0x1d7")](g[P("0x1c6")](a, m[P("0x1e3")](), [this[P("0x1ed")], g[0]])),
-                            t.polygonalPoint = Cesium.Cartesian3[P("0x1da")](p)
-                    }
-                    return t
-                }
-                ,
-                R[P("0x1cd")][P("0x1ee")] = function (e, t, i, r) {
-                    this[P("0x1db")] = r[P("0x1db")],
-                        this.headTailFactor = r[P("0x1f1")],
-                        this[P("0x1dc")] = r[P("0x1dc")],
-                        this[P("0x1de")] = r[P("0x1de")],
-                        this[P("0x1dd")] = r[P("0x1dd")];
-                    var n = W[P("0x1d2")].getBaseLength(e)
-                        , o = n * this.headHeightFactor
-                        , a = e[e[P("0x0")] - 1];
-                    n = W[P("0x1d2")].distance(a, e[e[P("0x0")] - 2]);
-                    var s = W[P("0x1d2")][P("0x8e")](t, i);
-                    o > s * this.headTailFactor && (o = s * this[P("0x1f1")]);
-                    var x = o * this[P("0x1dc")]
-                        , l = o * this.neckWidthFactor
-                        , c = (o = n < o ? n : o) * this[P("0x1dd")]
-                        , u = W[P("0x1d2")][P("0x1df")](e[e.length - 2], a, 0, o, !0)
-                        , h = W.PlotUtils.getThirdPoint(e[e.length - 2], a, 0, c, !0)
-                        , f = W.PlotUtils.getThirdPoint(a, u, W[P("0x1e1")].HALF_PI, x, !1)
-                        , d = W[P("0x1d2")][P("0x1df")](a, u, W[P("0x1e1")][P("0x1e0")], x, !0);
-                    return [W[P("0x1d2")][P("0x1df")](a, h, W.Constants.HALF_PI, l, !1), f, a, d, W.PlotUtils[P("0x1df")](a, h, W.Constants.HALF_PI, l, !0)]
-                }
-                ,
-                R.algorithm[P("0x1ef")] = function (e, t, i, r) {
-                    for (var n = W[P("0x1d2")].wholeDistance(e), o = W[P("0x1d2")][P("0x1e2")](e) * r, a = (o - W.PlotUtils[P("0x8e")](t, i)) / 2, s = 0, x = [], l = [], c = 1; c < e[P("0x0")] - 1; c++) {
-                        var u = W[P("0x1d2")][P("0x1e9")](e[c - 1], e[c], e[c + 1]) / 2
-                            , h = (o / 2 - (s += W[P("0x1d2")].distance(e[c - 1], e[c])) / n * a) / Math[P("0x98")](u)
-                            , f = W[P("0x1d2")][P("0x1df")](e[c - 1], e[c], Math.PI - u, h, !0)
-                            , d = W[P("0x1d2")][P("0x1df")](e[c - 1], e[c], u, h, !1);
-                        x[P("0x17c")](f),
-                            l[P("0x17c")](d)
-                    }
-                    return x.concat(l)
-                }
-                ,
-                R.algorithm.dereplication = function (e) {
-                    var t = e[e[P("0x0")] - 1]
-                        , i = !1
-                        , r = [];
-                    return r = e[P("0x1f2")]((function (e) {
-                        if (e[0] != t[0] && e[1] != t[1])
-                            return e;
-                        i = !0
-                    }
-                    )),
-                        i && r[P("0x17c")](t),
-                        r
-                }
-                ;
-            var D, U, k = (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && w()(Symbol[P("0x1f3")]) === P("0x1f4") ? function (e) {
-                return w()(e)
+            ,
+            GeoGlobe.Util.removeTail = function(e) {
+                var t = e.indexOf("?")
+                  , i = e.indexOf("#");
+                return -1 == t ? -1 != i ? e.substr(0, i) : e : -1 != i ? e.substr(0, Math.min(t, i)) : e.substr(0, t)
             }
-                : function (e) {
-                    return e && (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && e.constructor === A.a && e !== Symbol[P("0x5")] ? "symbol" : w()(e)
+            ,
+            GeoGlobe.IS_GECKO = (e = navigator.userAgent.toLowerCase(),
+            -1 == e.indexOf("webkit") && -1 != e.indexOf("gecko")),
+            GeoGlobe.CANVAS_SUPPORTED = function() {
+                var e = document.createElement("canvas");
+                return !(!e.getContext || !e.getContext("2d"))
+            }(),
+            GeoGlobe.BROWSER_NAME = function() {
+                var e = ""
+                  , t = navigator.userAgent.toLowerCase();
+                return -1 != t.indexOf("opera") ? e = "opera" : -1 != t.indexOf("msie") ? e = "msie" : -1 != t.indexOf("safari") ? e = "safari" : -1 != t.indexOf("mozilla") && (e = -1 != t.indexOf("firefox") ? "firefox" : "mozilla"),
+                e
+            }(),
+            GeoGlobe.Util.getBrowserName = function() {
+                return GeoGlobe.BROWSER_NAME
+            }
+            ,
+            GeoGlobe.Util.getScrollbarWidth = function() {
+                var e = GeoGlobe.Util._scrollbarWidth;
+                if (null == e) {
+                    var t, i, r = null, n = null;
+                    (r = document.createElement("div")).style.position = "absolute",
+                    r.style.top = "-1000px",
+                    r.style.left = "-1000px",
+                    r.style.width = "100px",
+                    r.style.height = "50px",
+                    r.style.overflow = "hidden",
+                    (n = document.createElement("div")).style.width = "100%",
+                    n.style.height = "200px",
+                    r.appendChild(n),
+                    document.body.appendChild(r),
+                    t = n.offsetWidth,
+                    r.style.overflow = "scroll",
+                    i = n.offsetWidth,
+                    document.body.removeChild(document.body.lastChild),
+                    GeoGlobe.Util._scrollbarWidth = t - i,
+                    e = GeoGlobe.Util._scrollbarWidth
                 }
-                ;
-            D = window[P("0xfd")],
-                U = D[P("0x1f5")] = function () {
-                    var e = D.Ellipsoid[P("0x110")]
-                        , t = {
-                            billBoard: [],
-                            primitives: []
-                        };
-                    function i(e) {
-                        function t(e) {
-                            var t = document[P("0x15c")](P("0x298"));
-                            t[P("0x14c")] = "twipsy right";
-                            var i = document[P("0x15c")](P("0x298"));
-                            i.className = P("0x2b0"),
-                                t[P("0x167")](i);
-                            var r = document[P("0x15c")]("DIV");
-                            r[P("0x14c")] = P("0x2b1"),
-                                t.appendChild(r),
-                                this[P("0x2b2")] = t,
-                                this._title = r,
-                                e[P("0x167")](t)
-                        }
-                        var i;
-                        this[P("0x42")] = e[P("0x10f")],
-                            this[P("0x1f6")] = (i = e[P("0x131")],
-                                t.prototype[P("0x207")] = function (e) {
-                                    this[P("0x2b2")][P("0x150")].display = P(e ? "0x2b3" : "0x2b4")
-                                }
-                                ,
-                                t[P("0x5")][P("0x205")] = function (e, t) {
-                                    e && t && (this.setVisible(!0),
-                                        this[P("0x2b5")].innerHTML = t,
-                                        this[P("0x2b2")][P("0x150")][P("0x149")] = e.x + 10 + "px",
-                                        this[P("0x2b2")][P("0x150")][P("0x151")] = e.y - this[P("0x2b2")][P("0x7c")] / 2 + "px")
-                                }
-                                ,
-                                new t(i)),
-                            this[P("0x1f7")] = [],
-                            this.initialiseHandlers(),
-                            this[P("0x1f8")]()
-                    }
-                    i[P("0x5")].initialiseHandlers = function () {
-                        var e, t = this[P("0x42")], i = this, r = new (D[P("0x15f")])(t[P("0x48")]);
-                        function n(e, r) {
-                            if (1 != i[P("0x1f9")]) {
-                                var n = t[P("0xa4")](r);
-                                n && n[P("0x182")] && n[P("0x182")][e] && n[P("0x182")][e](r)
-                            }
-                        }
-                        r[P("0x160")]((function (e) {
-                            n("leftClick", e[P("0x8c")])
-                        }
-                        ), D[P("0x161")][P("0x17e")]),
-                            r[P("0x160")]((function (e) {
-                                n("leftDoubleClick", e[P("0x8c")])
-                            }
-                            ), D.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),
-                            r[P("0x160")]((function (r) {
-                                if (1 != i[P("0x1f9")]) {
-                                    var n = t.pick(r[P("0x64")]);
-                                    !e || n && e == n[P("0x182")] || (e.isDestroyed && e[P("0xf3")]() || e.mouseOut(r.endPosition),
-                                        e = null),
-                                        n && n[P("0x182")] && ((n = n[P("0x182")])[P("0x1fa")] && (e = n),
-                                            n.mouseMove && n[P("0x1fb")](r[P("0x64")]))
-                                }
-                            }
-                            ), D[P("0x161")].MOUSE_MOVE),
-                            r[P("0x160")]((function (e) {
-                                n(P("0x1fc"), e[P("0x8c")])
-                            }
-                            ), D.ScreenSpaceEventType[P("0x1fd")]),
-                            r[P("0x160")]((function (e) {
-                                n(P("0x1fe"), e.position)
-                            }
-                            ), D.ScreenSpaceEventType[P("0x1ff")])
-                    }
-                        ,
-                        i[P("0x5")][P("0x200")] = function (e, t, i) {
-                            e[t] = i
-                        }
-                        ,
-                        i[P("0x5")][P("0x201")] = function (e) {
-                            this._handlersMuted = e
-                        }
-                        ,
-                        i[P("0x5")][P("0x202")] = function (e) {
-                            var i = this;
-                            E(e, P("0x1fb"), (function (t) {
-                                e[P("0x203")](!0),
-                                    e[P("0x204")] || i._tooltip[P("0x205")](t, P("0x206"))
-                            }
-                            )),
-                                E(e, P("0x1fa"), (function (t) {
-                                    e[P("0x203")](!1),
-                                        i[P("0x1f6")][P("0x207")](!1)
-                                }
-                                )),
-                                E(e, P("0x208"), (function (i) {
-                                    e.setEditMode(!0),
-                                        t.primitives[P("0x17c")](e)
-                                }
-                                )),
-                                E(e, P("0x209"), (function (i) {
-                                    t.primitives[P("0x17c")](e)
-                                }
-                                ))
-                        }
-                        ,
-                        i[P("0x5")].startDrawing = function (e) {
-                            this[P("0x20a")](),
-                                this[P("0x20b")] && this[P("0x20b")](),
-                                this.editCleanUp = e,
-                                this[P("0x201")](!0)
-                        }
-                        ,
-                        i[P("0x5")][P("0x20c")] = function () {
-                            this.editCleanUp && (this.editCleanUp(),
-                                this[P("0x20b")] = null),
-                                this[P("0x201")](!1)
-                        }
-                        ,
-                        i[P("0x5")][P("0x20d")] = function () {
-                            this[P("0x203")](void 0)
-                        }
-                        ,
-                        i[P("0x5")][P("0x203")] = function (e) {
-                            this[P("0x20e")] && !this[P("0x20e")][P("0xf3")]() && this[P("0x20e")] != e && this[P("0x20e")][P("0x203")](!1),
-                                this._highlightedSurface = e
-                        }
-                        ,
-                        i[P("0x5")][P("0x20a")] = function () {
-                            this[P("0x20f")](void 0)
-                        }
-                        ,
-                        i.prototype[P("0x20f")] = function (e) {
-                            this[P("0x210")] && !this[P("0x210")][P("0xf3")]() && this[P("0x210")][P("0x211")](!1),
-                                this._editedSurface = e
-                        }
-                        ;
-                    var r = D[P("0x212")][P("0x213")](D[P("0x212")][P("0x214")]);
-                    r[P("0x19d")][P("0x169")] = new (D[P("0x16a")])(1, 1, 0, .5);
-                    var n = {
-                        ellipsoid: D.Ellipsoid[P("0x110")],
-                        textureRotationAngle: 0,
-                        height: 0,
-                        asynchronous: !0,
-                        show: !0,
-                        debugShowBoundingVolume: !1
-                    }
-                        , o = G(n, {
-                            appearance: new (D[P("0x1b0")])({
-                                aboveGround: !1
-                            }),
-                            material: r,
-                            granularity: Math.PI / 180
-                        })
-                        , a = G(n, {})
-                        , s = G(n, {})
-                        , x = G(n, {})
-                        , l = (G(o, {
-                            rotation: 0
-                        }),
-                            G(n, {
-                                width: 5,
-                                geodesic: !0,
-                                granularity: 1e4,
-                                appearance: new (D[P("0x215")])({
-                                    aboveGround: !1
-                                }),
-                                material: r
-                            }))
-                        , c = (u[P("0x5")].initialiseOptions = function (e) {
-                            I(this, e),
-                                this[P("0x44")] = void 0,
-                                this[P("0x216")] = void 0,
-                                this[P("0x217")] = void 0,
-                                this[P("0x218")] = void 0,
-                                this._id = void 0,
-                                this[P("0x219")] = !0,
-                                this._primitive = void 0,
-                                this[P("0x21a")] = void 0
-                        }
-                            ,
-                            u.prototype[P("0x21b")] = function (e, t) {
-                                this[e] = t,
-                                    this._createPrimitive = !0
-                            }
-                            ,
-                            u[P("0x5")][P("0x21c")] = function (e) {
-                                return this[e]
-                            }
-                            ,
-                            u[P("0x5")].update = function (e, t, i) {
-                                if (!D[P("0x14")](this[P("0xef")]))
-                                    throw new (D[P("0x15")])(P("0x21d"));
-                                if (!D[P("0x14")](this.appearance))
-                                    throw new (D[P("0x15")])(P("0x21e"));
-                                if (this[P("0x21f")] < 0)
-                                    throw new (D[P("0x15")])(P("0x220"));
-                                if (this[P("0x221")] && (this[P("0x219")] || D.defined(this[P("0x222")]))) {
-                                    if (this[P("0x219")] || this[P("0x44")] !== this.ellipsoid || this[P("0x216")] !== this[P("0x21f")] || this._height !== this[P("0x8b")] || this._textureRotationAngle !== this[P("0x223")] || this[P("0x224")] !== this.id) {
-                                        var r = this[P("0x225")]();
-                                        if (!r)
-                                            return;
-                                        this[P("0x219")] = !1,
-                                            this[P("0x44")] = this.ellipsoid,
-                                            this._granularity = this.granularity,
-                                            this._height = this[P("0x8b")],
-                                            this._textureRotationAngle = this[P("0x223")],
-                                            this[P("0x224")] = this.id,
-                                            this[P("0x222")] = this[P("0x222")] && this[P("0x222")].destroy(),
-                                            this[P("0x222")] = new (D[P("0x226")])({
-                                                geometryInstances: new (D[P("0x179")])({
-                                                    geometry: r,
-                                                    id: this.id,
-                                                    pickPrimitive: this
-                                                }),
-                                                appearance: this[P("0x16d")],
-                                                asynchronous: this[P("0x227")]
-                                            }),
-                                            this[P("0x21a")] = this[P("0x21a")] && this[P("0x21a")][P("0xf4")](),
-                                            this[P("0x228")] && this[P("0x229")] && (this[P("0x21a")] = new (D[P("0x226")])({
-                                                geometryInstances: new D.GeometryInstance({
-                                                    geometry: this[P("0x229")](),
-                                                    attributes: {
-                                                        color: D[P("0x184")][P("0x1b2")](this[P("0x228")])
-                                                    }
-                                                }),
-                                                appearance: new (D[P("0x16e")])({
-                                                    flat: !0,
-                                                    renderState: {
-                                                        depthTest: {
-                                                            enabled: !0
-                                                        },
-                                                        lineWidth: 1
-                                                    }
-                                                })
-                                            }))
-                                    }
-                                    var n = this._primitive;
-                                    n[P("0x16d")][P("0x19c")] = this[P("0x19c")],
-                                        n[P("0x22a")] = this[P("0x22a")],
-                                        n[P("0xd2")](e, t, i),
-                                        this[P("0x21a")] && this[P("0x21a")].update(e, t, i)
-                                }
-                            }
-                            ,
-                            u.prototype.isDestroyed = function () {
-                                return !1
-                            }
-                            ,
-                            u.prototype[P("0xf4")] = function () {
-                                return this._primitive = this[P("0x222")] && this[P("0x222")][P("0xf4")](),
-                                    D[P("0x22b")](this)
-                            }
-                            ,
-                            u[P("0x5")][P("0x22c")] = function (e, t) {
-                                this[P("0x228")] && this[P("0x228")][P("0x84")](e) && this[P("0x22d")] == t || (this[P("0x219")] = !0,
-                                    this[P("0x228")] = e,
-                                    this.strokeWidth = t)
-                            }
-                            ,
-                            u);
-                    function u() { }
-                    function h(e) {
-                        if (!D[P("0x14")](e[P("0x22e")]))
-                            throw new (D[P("0x15")])("Extent is required");
-                        e = G(e, o),
-                            this[P("0x22f")](e),
-                            this.setExtent(e[P("0x22e")])
-                    }
-                    function f(e) {
-                        e = G(e, o),
-                            this[P("0x22f")](e),
-                            this[P("0x234")] = !0
-                    }
-                    function d(e) {
-                        e = G(e, o),
-                            this.initialiseOptions(e),
-                            this.isPolygon = !0
-                    }
-                    function g(e) {
-                        e = G(e, l),
-                            this.initialiseOptions(e)
-                    }
-                    i.ExtentPrimitive = (h[P("0x5")] = new c,
-                        h.prototype[P("0x230")] = function (e) {
-                            this[P("0x21b")](P("0x22e"), e)
-                        }
-                        ,
-                        h[P("0x5")].getExtent = function () {
-                            return this[P("0x21c")](P("0x22e"))
-                        }
-                        ,
-                        h.prototype[P("0x225")] = function () {
-                            if (D[P("0x14")](this.extent))
-                                return D[P("0x1af")][P("0x231")]({
-                                    positions: this.extent,
-                                    height: this.height,
-                                    vertexFormat: D.EllipsoidSurfaceAppearance[P("0x1b1")],
-                                    stRotation: this.textureRotationAngle,
-                                    ellipsoid: this[P("0xef")],
-                                    granularity: this[P("0x21f")]
-                                })
-                        }
-                        ,
-                        h.prototype[P("0x229")] = function () {
-                            return D[P("0x232")][P("0x231")]({
-                                positions: this.extent
-                            })
-                        }
-                        ,
-                        h),
-                        i[P("0x233")] = (f[P("0x5")] = new c,
-                            f[P("0x5")].setPositions = function (e) {
-                                this[P("0x21b")](P("0x19f"), e)
-                            }
-                            ,
-                            f[P("0x5")].getPositions = function () {
-                                return this[P("0x21c")](P("0x19f"))
-                            }
-                            ,
-                            f.prototype[P("0x235")] = function (e) {
-                                this.setAttribute(P("0x236"))
-                            }
-                            ,
-                            f.prototype[P("0x237")] = function (e) {
-                                return this[P("0x21c")]("custom")
-                            }
-                            ,
-                            f[P("0x5")][P("0x225")] = function () {
-                                if (D[P("0x14")](this[P("0x19f")]) && !(this.positions[P("0x0")] < 3))
-                                    return D[P("0x1af")][P("0x231")]({
-                                        positions: this[P("0x19f")],
-                                        height: this[P("0x8b")],
-                                        vertexFormat: D.EllipsoidSurfaceAppearance[P("0x1b1")],
-                                        stRotation: this[P("0x223")],
-                                        ellipsoid: this[P("0xef")],
-                                        granularity: this[P("0x21f")]
-                                    })
-                            }
-                            ,
-                            f[P("0x5")].getOutlineGeometry = function () {
-                                return D.PolygonOutlineGeometry[P("0x231")]({
-                                    positions: this[P("0x238")]()
-                                })
-                            }
-                            ,
-                            f),
-                        i[P("0x239")] = (d[P("0x5")] = new c,
-                            d[P("0x5")][P("0x23a")] = function (e) {
-                                this.setAttribute(P("0x19f"), e)
-                            }
-                            ,
-                            d[P("0x5")][P("0x238")] = function () {
-                                return this[P("0x21c")]("positions")
-                            }
-                            ,
-                            d.prototype.setCustom = function (e) {
-                                this[P("0x21b")](P("0x236"))
-                            }
-                            ,
-                            d[P("0x5")].getCustom = function (e) {
-                                return this[P("0x21c")](P("0x236"))
-                            }
-                            ,
-                            d[P("0x5")][P("0x225")] = function () {
-                                if (D[P("0x14")](this[P("0x19f")]) && !(this[P("0x19f")].length < 3))
-                                    return D[P("0x1af")][P("0x231")]({
-                                        positions: this[P("0x19f")],
-                                        height: this.height,
-                                        vertexFormat: D[P("0x1b0")][P("0x1b1")],
-                                        stRotation: this[P("0x223")],
-                                        ellipsoid: this[P("0xef")],
-                                        granularity: this.granularity
-                                    })
-                            }
-                            ,
-                            d[P("0x5")].getOutlineGeometry = function () {
-                                return D.PolygonOutlineGeometry[P("0x231")]({
-                                    positions: this.getPositions()
-                                })
-                            }
-                            ,
-                            d),
-                        i[P("0x23b")] = (g[P("0x5")] = new c,
-                            g[P("0x5")][P("0x23a")] = function (e) {
-                                this[P("0x21b")]("positions", e)
-                            }
-                            ,
-                            g[P("0x5")][P("0x23c")] = function (e) {
-                                this.setAttribute(P("0x19a"), e)
-                            }
-                            ,
-                            g[P("0x5")][P("0x23d")] = function (e) {
-                                this[P("0x21b")](P("0x23e"), e)
-                            }
-                            ,
-                            g.prototype[P("0x238")] = function () {
-                                return this[P("0x21c")](P("0x19f"))
-                            }
-                            ,
-                            g[P("0x5")].getWidth = function () {
-                                return this[P("0x21c")](P("0x19a"))
-                            }
-                            ,
-                            g[P("0x5")][P("0x23f")] = function (e) {
-                                return this[P("0x21c")]("geodesic")
-                            }
-                            ,
-                            g[P("0x5")][P("0x225")] = function () {
-                                if (D.defined(this[P("0x19f")]) && !(this.positions[P("0x0")] < 2))
-                                    return new (D[P("0x240")])({
-                                        positions: this[P("0x19f")],
-                                        height: this[P("0x8b")],
-                                        width: this[P("0x19a")] < 1 ? 1 : this[P("0x19a")],
-                                        vertexFormat: D.EllipsoidSurfaceAppearance[P("0x1b1")],
-                                        ellipsoid: this.ellipsoid
-                                    })
-                            }
-                            ,
-                            g);
-                    var p = {
-                        iconUrl: "/geomap-api/JsCesuimDemo/resource/images/img_plot/dragIcon.png",
-                        shiftX: 0,
-                        shiftY: 0
-                    }
-                        , m = {
-                            iconUrl: P("0x241"),
-                            shiftX: 0,
-                            shiftY: 0
-                        }
-                        , b = {
-                            iconUrl: "/geomap-api/JsCesuimDemo/resource/images/img_plot/dragIconLight.png",
-                            shiftX: 0,
-                            shiftY: 0
-                        };
-                    function v(e) {
-                        return [e[7], e[3]]
-                    }
-                    function C(e) {
-                        var t = D[P("0x13")][P("0x175")](e);
-                        return [D[P("0x23")][P("0x113")](t[P("0x112")]), D[P("0x23")].toDegrees(t[P("0x114")])]
-                    }
-                    function y(e, t) {
-                        if (!(e.length < 2 || t[P("0x0")] < 2)) {
-                            var i = Math.PI / 8.5
-                                , r = Math.PI / 13
-                                , n = [];
-                            n[0] = e,
-                                n[1] = t;
-                            var o = n[0]
-                                , a = n[1]
-                                , s = W[P("0x1d2")][P("0x1e2")](n)
-                                , x = .15 * s
-                                , l = .2 * s
-                                , c = .25 * s
-                                , u = W[P("0x1d2")][P("0x1df")](a, o, W[P("0x1e1")][P("0x1e0")], x, !0)
-                                , h = W[P("0x1d2")][P("0x1df")](a, o, W[P("0x1e1")][P("0x1e0")], x, !1)
-                                , f = W.PlotUtils[P("0x1df")](o, a, i, c, !1)
-                                , d = W.PlotUtils[P("0x1df")](o, a, i, c, !0)
-                                , g = W[P("0x1d2")][P("0x1df")](o, a, r, l, !1)
-                                , p = W[P("0x1d2")][P("0x1df")](o, a, r, l, !0)
-                                , m = [];
-                            return m[P("0x17c")](u[0], u[1], g[0], g[1], f[0], f[1], a[0], a[1], d[0], d[1], p[0], p[1], h[0], h[1], o[0], o[1]),
-                                D.Cartesian3[P("0x1da")](m)
-                        }
-                    }
-                    function _(e) {
-                        for (var t = [], i = 0; i < e[P("0x0")]; i++) {
-                            var r = D[P("0x11")][P("0x1a1")](e[i][0], e[i][1], 0);
-                            t.push(r)
-                        }
-                        return t
-                    }
-                    function A(e, t) {
-                        if (null == e || (w()(e) === P("0x2b6") ? P("0x2b6") : k(e)) != P("0x7"))
-                            return e;
-                        if (e.constructor != Object && e[P("0x2b7")] != Array)
-                            return e;
-                        if (e.constructor == Date || e[P("0x2b7")] == RegExp || e[P("0x2b7")] == Function || e.constructor == String || e.constructor == Number || e.constructor == Boolean)
-                            return new (e[P("0x2b7")])(e);
-                        for (var i in t = t || new (e[P("0x2b7")]),
-                            e)
-                            t[i] = w()(t[i]) == P("0x2b6") ? A(e[i], null) : t[i];
-                        return t
-                    }
-                    function I(e, t) {
-                        var i;
-                        for (i in e = e || {},
-                            t)
-                            void 0 === e[i] && (e[i] = A(t[i]))
-                    }
-                    function G(e, t) {
-                        var i, r = A(e);
-                        for (i in t)
-                            void 0 === r[i] && (r[i] = A(t[i]));
-                        return r
-                    }
-                    function E(e, t, i) {
-                        e[t] = i
-                    }
-                    function S(e) {
-                        e[P("0x2b8")] = {},
-                            e[P("0x2b9")] = function (e, t) {
-                                return this._listeners[e] = this[P("0x2b8")][e] || [],
-                                    this._listeners[e][P("0x17c")](t),
-                                    this[P("0x2b8")][e][P("0x0")]
-                            }
-                            ,
-                            e.executeListeners = function (e, t) {
-                                if (this[P("0x2b8")][e[P("0x176")]] && 0 < this[P("0x2b8")][e[P("0x176")]][P("0x0")])
-                                    for (var i = 0; i < this[P("0x2b8")][e[P("0x176")]][P("0x0")]; i++)
-                                        this[P("0x2b8")][e[P("0x176")]][i](e);
-                                else
-                                    t && t(e)
-                            }
-                    }
-                    return i.prototype.createBillboardGroup = function (e, t, r) {
-                        var n = new (i[P("0x242")])(this, t);
-                        return n[P("0x243")](e, r),
-                            n
-                    }
-                        ,
-                        i[P("0x242")] = function (e, t) {
-                            this._drawHelper = e,
-                                this[P("0x42")] = e._scene,
-                                this._options = G(t, p);
-                            var i = new (D[P("0x244")]);
-                            this[P("0x42")][P("0x17d")][P("0x6d")](i),
-                                this._billboards = i,
-                                this[P("0x245")] = []
-                        }
-                        ,
-                        i.BillboardGroup[P("0x5")][P("0x246")] = function (t, i) {
-                            var r = this[P("0x247")][P("0x6d")]({
-                                show: !0,
-                                position: t,
-                                pixelOffset: new (D[P("0x10")])(this[P("0x248")][P("0x249")], this._options[P("0x24a")]),
-                                eyeOffset: new (D[P("0x11")])(0, 0, 0),
-                                horizontalOrigin: D[P("0x24b")][P("0x24c")],
-                                verticalOrigin: D[P("0x24d")][P("0x24c")],
-                                scale: 1,
-                                image: this._options[P("0x24e")],
-                                color: new (D[P("0x16a")])(1, 1, 1, 1)
-                            });
-                            if (i) {
-                                function n(e) {
-                                    s.enableRotate = e
-                                }
-                                function o() {
-                                    for (var e = 0, t = a._orderedBillboards[P("0x0")]; e < t && a._orderedBillboards[e] != r; ++e)
-                                        ;
-                                    return e
-                                }
-                                var a = this
-                                    , s = this[P("0x42")][P("0x24f")];
-                                i[P("0x250")] && (a = this,
-                                    E(r, P("0x1fe"), (function (t) {
-                                        function s(e) {
-                                            x.destroy(),
-                                                n(!0),
-                                                i[P("0x250")][P("0x252")] && i[P("0x250")][P("0x252")](o(), e)
-                                        }
-                                        var x = new (D[P("0x15f")])(a[P("0x42")][P("0x48")]);
-                                        x.setInputAction((function (t) {
-                                            var n = a[P("0x42")][P("0x7e")].pickEllipsoid(t[P("0x64")], e);
-                                            n ? function (e) {
-                                                r[P("0x8c")] = e;
-                                                for (var t = 0, n = a[P("0x245")].length; t < n && a._orderedBillboards[t] != r; ++t)
-                                                    ;
-                                                i[P("0x250")][P("0x251")] && i[P("0x250")][P("0x251")](o(), e)
-                                            }(n) : s(n)
-                                        }
-                                        ), D[P("0x161")][P("0x163")]),
-                                            x.setInputAction((function (t) {
-                                                s(a[P("0x42")][P("0x7e")].pickEllipsoid(t[P("0x8c")], e))
-                                            }
-                                            ), D[P("0x161")][P("0x1fd")]),
-                                            n(!1),
-                                            i[P("0x250")][P("0x253")] && i[P("0x250")].onDragStart(o(), a[P("0x42")][P("0x7e")][P("0xa2")](t, e))
-                                    }
-                                    ))),
-                                    i[P("0x254")] && E(r, P("0x209"), (function (e) {
-                                        i[P("0x254")](o())
-                                    }
-                                    )),
-                                    i[P("0x255")] && E(r, P("0x208"), (function (e) {
-                                        i.onClick(o())
-                                    }
-                                    )),
-                                    i.tooltip && (E(r, "mouseMove", (function (e) {
-                                        a[P("0x256")]._tooltip[P("0x205")](e, i[P("0x257")]())
-                                    }
-                                    )),
-                                        E(r, P("0x1fa"), (function (e) {
-                                            a[P("0x256")][P("0x1f6")][P("0x207")](!1)
-                                        }
-                                        )))
-                            }
-                            return r
-                        }
-                        ,
-                        i[P("0x242")][P("0x5")][P("0x258")] = function (e, t, i) {
-                            this[P("0x245")][P("0x259")](e, 0, this[P("0x246")](t, i))
-                        }
-                        ,
-                        i[P("0x242")][P("0x5")][P("0x25a")] = function (e, t) {
-                            this._orderedBillboards.push(this[P("0x246")](e, t))
-                        }
-                        ,
-                        i[P("0x242")][P("0x5")][P("0x25b")] = function () {
-                            this[P("0x247")][P("0x17f")](this[P("0x245")][P("0x25c")]())
-                        }
-                        ,
-                        i.BillboardGroup[P("0x5")][P("0x243")] = function (e, t) {
-                            for (var i = 0; i < e.length; i++)
-                                this[P("0x25a")](e[i], t)
-                        }
-                        ,
-                        i[P("0x242")][P("0x5")][P("0x25d")] = function (e) {
-                            for (var t = 0; t < e[P("0x0")]; t++)
-                                this[P("0x25e")](t)[P("0x8c")] = e[t]
-                        }
-                        ,
-                        i.BillboardGroup[P("0x5")][P("0x25f")] = function () {
-                            return this[P("0x245")][P("0x0")]
-                        }
-                        ,
-                        i[P("0x242")].prototype[P("0x25e")] = function (e) {
-                            return this[P("0x245")][e]
-                        }
-                        ,
-                        i.BillboardGroup.prototype.removeBillboard = function (e) {
-                            this[P("0x247")][P("0x17f")](this.getBillboard(e)),
-                                this._orderedBillboards[P("0x259")](e, 1)
-                        }
-                        ,
-                        i[P("0x242")][P("0x5")].remove = function () {
-                            this[P("0x247")] = this._billboards && this._billboards[P("0xf5")]() && this[P("0x247")][P("0xf4")]()
-                        }
-                        ,
-                        i[P("0x242")].prototype[P("0x260")] = function () {
-                            this._scene.primitives.raiseToTop(this[P("0x247")])
-                        }
-                        ,
-                        i[P("0x5")][P("0x261")] = function (e) {
-                            e = G(e, o),
-                                this[P("0x262")](!0, e)
-                        }
-                        ,
-                        i.prototype[P("0x263")] = function (t) {
-                            t = G(t, l),
-                                this[P("0x264")]((function () {
-                                    a[P("0x17f")](r),
-                                        c[P("0x17f")](),
-                                        u[P("0xf4")](),
-                                        s[P("0x207")](!1)
-                                }
-                                ));
-                            var r, n = this, o = this._scene, a = o[P("0x17d")], s = this._tooltip;
-                            (r = new (U[P("0x23b")])(t))[P("0x227")] = !1,
-                                a[P("0x6d")](r);
-                            var x = []
-                                , c = new i.BillboardGroup(this, p)
-                                , u = new (D[P("0x15f")])(o[P("0x48")]);
-                            u[P("0x160")]((function (t) {
-                                if (null != t[P("0x8c")]) {
-                                    var i = o.camera[P("0xa2")](t[P("0x8c")], e);
-                                    i && (0 == x[P("0x0")] && (x[P("0x17c")](i[P("0x6e")]()),
-                                        c[P("0x25a")](x[0])),
-                                        2 <= x[P("0x0")] && (r[P("0x19f")] = x,
-                                            r[P("0x219")] = !0),
-                                        x.push(i),
-                                        c[P("0x25a")](i))
-                                }
-                            }
-                            ), D[P("0x161")][P("0x17e")]),
-                                u[P("0x160")]((function (t) {
-                                    var i = t[P("0x64")];
-                                    if (null != i)
-                                        if (0 == x[P("0x0")])
-                                            s.showAt(i, P("0x265"));
-                                        else {
-                                            var n = o[P("0x7e")][P("0xa2")](i, e);
-                                            n && (x[P("0x25c")](),
-                                                n.y += 1 + Math[P("0x266")](),
-                                                x.push(n),
-                                                2 <= x[P("0x0")] && (r.positions = x,
-                                                    r[P("0x219")] = !0),
-                                                c[P("0x25e")](x.length - 1)[P("0x8c")] = n,
-                                                s.showAt(i, "<p>Click to add new point (" + x[P("0x0")] + P("0x267") + (2 < x.length ? P("0x268") : "")))
-                                        }
-                                }
-                                ), D[P("0x161")].MOUSE_MOVE),
-                                u[P("0x160")]((function (i) {
-                                    var r = i[P("0x8c")];
-                                    if (null != r) {
-                                        if (x[P("0x0")] < 4)
-                                            return;
-                                        o[P("0x7e")][P("0xa2")](r, e) && (n.stopDrawing(),
-                                            w()(t.callback) == P("0x8")) && (x.length,
-                                                t.callback(x))
-                                    }
-                                }
-                                ), D[P("0x161")][P("0x269")])
-                        }
-                        ,
-                        i[P("0x5")][P("0x26e")] = function (t) {
-                            this[P("0x264")]((function () {
-                                o[P("0x17f")](s),
-                                    c.remove(),
-                                    u[P("0xf4")](),
-                                    a[P("0x207")](!1)
-                            }
-                            )),
-                                this[P("0x26f")] = !0,
-                                this.options = t;
-                            var r = this
-                                , n = this._scene
-                                , o = n.primitives
-                                , a = this[P("0x1f6")]
-                                , s = new U.TailedAttackPrimitive(t);
-                            /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent) ? s.asynchronous = !0 : s.asynchronous = !1,
-                                o[P("0x6d")](s);
-                            var x = []
-                                , l = []
-                                , c = new (i[P("0x242")])(this, p)
-                                , u = new (D[P("0x15f")])(n[P("0x48")]);
-                            this.positions = x,
-                                this.minPoints = 2,
-                                this.poly = s,
-                                u[P("0x160")]((function (t) {
-                                    if (null != t[P("0x8c")]) {
-                                        var i = n[P("0x7e")][P("0xa2")](t[P("0x8c")], e)
-                                            , r = D[P("0x13")][P("0x175")](i)
-                                            , o = [D[P("0x23")][P("0x113")](r.longitude), D[P("0x23")][P("0x113")](r[P("0x114")])];
-                                        if (i) {
-                                            if (0 == l[P("0x0")] && (x[P("0x17c")](i[P("0x6e")]()),
-                                                c[P("0x25a")](x[0])),
-                                                l[P("0x0")] < 3 && l[P("0x17c")](o),
-                                                2 <= l[P("0x0")]) {
-                                                l[P("0x17c")](o);
-                                                var a = R[P("0x1cd")][P("0x1ea")](l);
-                                                s[P("0x19f")] = a[P("0x1d9")],
-                                                    s.custom = a.controlPoint,
-                                                    s._createPrimitive = !0
-                                            }
-                                            x[P("0x17c")](i),
-                                                5 <= x.length && c[P("0x25b")](),
-                                                c[P("0x25a")](i)
-                                        }
-                                    }
-                                }
-                                ), D[P("0x161")][P("0x17e")]),
-                                u[P("0x160")]((function (t) {
-                                    var i = t[P("0x64")];
-                                    if (null != i)
-                                        if (0 == x[P("0x0")])
-                                            a[P("0x205")](i, P("0x271"));
-                                        else {
-                                            var r = n[P("0x7e")].pickEllipsoid(i, e)
-                                                , o = D.Cartographic[P("0x175")](r)
-                                                , c = [D[P("0x23")].toDegrees(o[P("0x112")]), D.Math[P("0x113")](o[P("0x114")])];
-                                            if (r) {
-                                                if (x[P("0x25c")](),
-                                                    r.y += 1 + Math.random(),
-                                                    x.push(r),
-                                                    3 <= l[P("0x0")] && (l[P("0x25c")](),
-                                                        l[P("0x17c")](c)),
-                                                    2 == l[P("0x0")] && l.push(c),
-                                                    2 < x[P("0x0")]) {
-                                                    var u = R[P("0x1cd")][P("0x1ea")](l);
-                                                    s[P("0x19f")] = u ? u.polygonalPoint : null,
-                                                        s[P("0x236")] = u ? u[P("0x1d8")] : null,
-                                                        s[P("0x219")] = !0
-                                                }
-                                                var h = 3 == x[P("0x0")] ? "<p>鍙屽嚮鍙粨鏉熺粯鍒�</p>" : P("0x272");
-                                                a[P("0x205")](i, h)
-                                            }
-                                        }
-                                }
-                                ), D.ScreenSpaceEventType.MOUSE_MOVE),
-                                u[P("0x160")]((function (e) {
-                                    r[P("0x188")](e, t)
-                                }
-                                ), D.ScreenSpaceEventType.LEFT_DOUBLE_CLICK)
-                        }
-                        ,
-                        i[P("0x5")].drawEnd = function (t, i) {
-                            var r, n = this.positions, o = this.minPoints, a = this[P("0x273")];
-                            if (i = this[P("0x132")],
-                                null == t) {
-                                if (this[P("0x26f")]) {
-                                    if (this.stopDrawing(),
-                                        w()(i[P("0x191")]) != P("0x8"))
-                                        return;
-                                    n[P("0x0")],
-                                        i[P("0x191")](a[P("0x19f")], a[P("0x236")]),
-                                        this[P("0x26f")] = !1
-                                }
-                            } else if (null != (r = t[P("0x8c")])) {
-                                if (n[P("0x0")] < o + 2)
-                                    return;
-                                scene[P("0x7e")][P("0xa2")](r, e) && (this[P("0x20c")](),
-                                    w()(i.callback) == P("0x8")) && (n.length,
-                                        i[P("0x191")](a[P("0x19f")], a[P("0x236")]))
-                            }
-                        }
-                        ,
-                        i[P("0x5")].startDrawingPolyshape = function (t, r) {
-                            this[P("0x264")]((function () {
-                                s.remove(n),
-                                    u.remove(),
-                                    h.destroy(),
-                                    x.setVisible(!1)
-                            }
-                            )),
-                                this[P("0x26f")] = !0,
-                                this.options = r;
-                            var n, o = this, a = this[P("0x42")], s = a.primitives, x = this._tooltip;
-                            this.minPoints = 2,
-                                n = t ? new (U[P("0x233")])(r) : new (U[P("0x23b")])(r),
-                                /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent) ? n[P("0x227")] = !0 : n[P("0x227")] = !1,
-                                s[P("0x6d")](n);
-                            var l = []
-                                , c = []
-                                , u = new (i[P("0x242")])(this, p)
-                                , h = new (D[P("0x15f")])(a[P("0x48")]);
-                            this[P("0x273")] = n,
-                                this.positions = l,
-                                h.setInputAction((function (t) {
-                                    if (null != t[P("0x8c")]) {
-                                        var i = a[P("0x7e")][P("0xa2")](t[P("0x8c")], e)
-                                            , r = D[P("0x13")][P("0x175")](i)
-                                            , o = [D[P("0x23")].toDegrees(r[P("0x112")]), D[P("0x23")].toDegrees(r[P("0x114")])];
-                                        if (i) {
-                                            if (0 == c[P("0x0")] && (l[P("0x17c")](i[P("0x6e")]()),
-                                                u[P("0x25a")](l[0])),
-                                                c[P("0x0")] < 3 && c[P("0x17c")](o),
-                                                2 <= c[P("0x0")]) {
-                                                var s = R.algorithm.doubleArrow(c);
-                                                n[P("0x19f")] = s[P("0x1d9")],
-                                                    n[P("0x236")] = s[P("0x1d8")],
-                                                    n._createPrimitive = !0
-                                            }
-                                            l[P("0x17c")](i),
-                                                5 <= l.length && u.removeLastBillboard(),
-                                                u[P("0x25a")](i)
-                                        }
-                                    }
-                                }
-                                ), D[P("0x161")][P("0x17e")]),
-                                h[P("0x160")]((function (t) {
-                                    var i = t[P("0x64")];
-                                    if (null != i)
-                                        if (0 == l.length)
-                                            x[P("0x205")](i, "<p>鐐瑰嚮浠ュ鍔犵涓�涓帶鍒剁偣</p>");
-                                        else {
-                                            var r = a[P("0x7e")][P("0xa2")](i, e)
-                                                , o = D.Cartographic.fromCartesian(r)
-                                                , s = [D.Math.toDegrees(o[P("0x112")]), D.Math[P("0x113")](o[P("0x114")])];
-                                            if (r) {
-                                                if (l[P("0x25c")](),
-                                                    r.y += 1 + Math.random(),
-                                                    l[P("0x17c")](r),
-                                                    3 == c[P("0x0")] && (c[P("0x25c")](),
-                                                        c[P("0x17c")](s)),
-                                                    2 == c[P("0x0")] && c[P("0x17c")](s),
-                                                    2 <= l.length) {
-                                                    var u = R[P("0x1cd")].doubleArrow(c);
-                                                    n[P("0x19f")] = u ? u[P("0x1d9")] : null,
-                                                        n.custom = u ? u[P("0x1d8")] : null,
-                                                        n[P("0x219")] = !0
-                                                }
-                                                var h = 3 == l[P("0x0")] ? P("0x274") : P("0x272");
-                                                x[P("0x205")](i, h)
-                                            }
-                                        }
-                                }
-                                ), D[P("0x161")][P("0x163")]),
-                                h.setInputAction((function (e) {
-                                    o[P("0x188")](e, r)
-                                }
-                                ), D[P("0x161")][P("0x269")])
-                        }
-                        ,
-                        i.prototype[P("0x275")] = function (t) {
-                            t = G(t, o),
-                                this.startDrawing((function () {
-                                    null != l && a[P("0x17f")](l),
-                                        c[P("0x17f")](),
-                                        u[P("0xf4")](),
-                                        s.setVisible(!1)
-                                }
-                                ));
-                            var r = this
-                                , n = this._scene
-                                , a = this[P("0x42")].primitives
-                                , s = this[P("0x1f6")]
-                                , x = []
-                                , l = null
-                                , c = null
-                                , u = new (D[P("0x15f")])(n[P("0x48")]);
-                            u.setInputAction((function (o) {
-                                if (null != o.position) {
-                                    var s = n[P("0x7e")][P("0xa2")](o[P("0x8c")], e);
-                                    if (s)
-                                        if (null == l) {
-                                            var u = D.Cartographic[P("0x175")](s)
-                                                , h = D[P("0x23")][P("0x113")](u[P("0x112")])
-                                                , f = D[P("0x23")][P("0x113")](u[P("0x114")]);
-                                            x.push(h, f);
-                                            var d = y(x, x);
-                                            l = new (i[P("0x276")])({
-                                                extent: d,
-                                                asynchronous: !1,
-                                                material: t[P("0x19c")]
-                                            }),
-                                                a[P("0x6d")](l),
-                                                c = new i.BillboardGroup(r, p);
-                                            var g = _([x, x]);
-                                            c[P("0x243")](g)
-                                        } else
-                                            r.stopDrawing(),
-                                                w()(t[P("0x191")]) == P("0x8") && (u = D[P("0x13")][P("0x175")](s),
-                                                    h = D.Math[P("0x113")](u.longitude),
-                                                    f = D[P("0x23")][P("0x113")](u[P("0x114")]),
-                                                    t[P("0x191")](y(x, [h, f])))
-                                }
-                            }
-                            ), D[P("0x161")].LEFT_DOWN),
-                                u[P("0x160")]((function (t) {
-                                    var i = t[P("0x64")];
-                                    if (null != i)
-                                        if (null == l)
-                                            s.showAt(i, "<p>鐐瑰嚮寮�濮嬬粯鍒�</p>");
-                                        else {
-                                            var r = n[P("0x7e")][P("0xa2")](i, e);
-                                            if (r) {
-                                                var o = D.Cartographic[P("0x175")](r)
-                                                    , a = D.Math[P("0x113")](o[P("0x112")])
-                                                    , u = D.Math[P("0x113")](o[P("0x114")])
-                                                    , h = y(x, [a, u]);
-                                                l[P("0x230")](h);
-                                                var f = _([x, [a, u]]);
-                                                c[P("0x25d")](f),
-                                                    s.showAt(i, P("0x277"))
-                                            }
-                                        }
-                                }
-                                ), D.ScreenSpaceEventType[P("0x163")])
-                        }
-                        ,
-                        i.prototype[P("0x1f8")] = function () {
-                            var r = this;
-                            function n(e) {
-                                r[P("0x42")],
-                                    this[P("0x27c")] && this._highlighted == e || !0 !== this[P("0x204")] && ((this[P("0x27c")] = e) ? (r.setHighlighted(this),
-                                        this[P("0x27d")] = this[P("0x228")],
-                                        this[P("0x22c")](D[P("0x16a")][P("0x27e")](P("0x27f")), this.strokeWidth)) : this._strokeColor ? this[P("0x22c")](this._strokeColor, this[P("0x22d")]) : this[P("0x22c")](void 0, void 0))
-                            }
-                            function o(n) {
-                                if (this[P("0x204")] != n)
-                                    if (r[P("0x20d")](),
-                                        n) {
-                                        r[P("0x20f")](this);
-                                        var o = r[P("0x42")]
-                                            , a = this;
-                                        if (null == this[P("0x280")]) {
-                                            function s(e, t) {
-                                                var i = e - 1 < 0 ? t.length - 1 : e - 1;
-                                                i < u[P("0x25f")]() && (u[P("0x25e")](i)[P("0x8c")] = l(i)),
-                                                    (i = e) < u[P("0x25f")]() && (u.getBillboard(i)[P("0x8c")] = l(i))
-                                            }
-                                            function x() {
-                                                a.executeListeners({
-                                                    name: P("0x281"),
-                                                    positions: a[P("0x19f")]
-                                                })
-                                            }
-                                            var l = function (t) {
-                                                var i = a[P("0x19f")];
-                                                return e[P("0xa7")](new (D[P("0x282")])(e.cartesianToCartographic(i[t]), e.cartesianToCartographic(i[t < i[P("0x0")] - 1 ? t + 1 : 0]))[P("0x283")](.5))
-                                            }
-                                                , c = new (i[P("0x242")])(r, m);
-                                            t[P("0x284")].push(c);
-                                            var u = new (i[P("0x242")])(r, b);
-                                            t[P("0x284")].push(u);
-                                            var h = {
-                                                dragHandlers: {
-                                                    onDrag: function (e, t) {
-                                                        a[P("0x19f")][e] = t,
-                                                            s(e, a[P("0x19f")]),
-                                                            a[P("0x219")] = !0
-                                                    },
-                                                    onDragEnd: function () {
-                                                        a[P("0x219")] = !0,
-                                                            x()
-                                                    }
-                                                },
-                                                onDoubleClick: function (e) {
-                                                    a[P("0x19f")][P("0x0")] < 4 || (a.positions[P("0x259")](e, 1),
-                                                        a[P("0x219")] = !0,
-                                                        c[P("0x285")](e),
-                                                        u[P("0x285")](e),
-                                                        s(e, a[P("0x19f")]),
-                                                        x())
-                                                },
-                                                tooltip: function () {
-                                                    if (3 < a.positions[P("0x0")])
-                                                        return "Double click to remove this point"
-                                                }
-                                            };
-                                            c[P("0x243")](a[P("0x19f")], h),
-                                                this._markers = c;
-                                            for (var f = [], d = 0, g = a[P("0x19f")].length + (this.isPolygon ? 0 : -1); d < g; d++)
-                                                f[P("0x17c")](l(d));
-                                            var p = {
-                                                dragHandlers: {
-                                                    onDragStart: function (e, t) {
-                                                        this[P("0x286")] = e + 1,
-                                                            a[P("0x19f")][P("0x259")](this[P("0x286")], 0, t),
-                                                            a[P("0x219")] = !0
-                                                    },
-                                                    onDrag: function (e, t) {
-                                                        a[P("0x19f")][this[P("0x286")]] = t,
-                                                            a[P("0x219")] = !0
-                                                    },
-                                                    onDragEnd: function (e, t) {
-                                                        c[P("0x258")](this[P("0x286")], t, h),
-                                                            u[P("0x25e")](this[P("0x286")] - 1)[P("0x8c")] = l(this[P("0x286")] - 1),
-                                                            u[P("0x258")](this[P("0x286")], l(this[P("0x286")]), p),
-                                                            a[P("0x219")] = !0,
-                                                            x()
-                                                    }
-                                                },
-                                                tooltip: function () {
-                                                    return P("0x287")
-                                                }
-                                            };
-                                            u.addBillboards(f, p),
-                                                this[P("0x288")] = u,
-                                                this[P("0x289")] = new (D[P("0x15f")])(o.canvas),
-                                                this[P("0x289")][P("0x160")]((function (e) {
-                                                    var t = o[P("0xa4")](e.position);
-                                                    t && t[P("0x182")] || a[P("0x211")](!1)
-                                                }
-                                                ), D[P("0x161")][P("0x17e")]),
-                                                c[P("0x260")](),
-                                                u[P("0x260")]()
-                                        }
-                                        this[P("0x204")] = !0
-                                    } else
-                                        null != this._markers && (this[P("0x280")].remove(),
-                                            this[P("0x288")][P("0x17f")](),
-                                            this._markers = null,
-                                            this[P("0x288")] = null,
-                                            this[P("0x289")][P("0xf4")]()),
-                                            this[P("0x204")] = !1
-                            }
-                            D.Billboard[P("0x5")][P("0x278")] = function () {
-                                if (!this._editable) {
-                                    this[P("0x279")] = !0;
-                                    var t = this
-                                        , i = this;
-                                    E(t, P("0x1fe"), (function (o) {
-                                        function a(e) {
-                                            s[P("0xf4")](),
-                                                n(!0),
-                                                i[P("0x27a")]({
-                                                    name: P("0x27b"),
-                                                    positions: e
-                                                })
-                                        }
-                                        var s = new (D[P("0x15f")])(r[P("0x42")][P("0x48")]);
-                                        s[P("0x160")]((function (n) {
-                                            var o, s = r[P("0x42")].camera[P("0xa2")](n[P("0x64")], e);
-                                            s ? (o = s,
-                                                t[P("0x8c")] = o,
-                                                i[P("0x27a")]({
-                                                    name: "drag",
-                                                    positions: o
-                                                })) : a(s)
-                                        }
-                                        ), D.ScreenSpaceEventType[P("0x163")]),
-                                            s[P("0x160")]((function (t) {
-                                                a(r[P("0x42")][P("0x7e")][P("0xa2")](t[P("0x8c")], e))
-                                            }
-                                            ), D[P("0x161")][P("0x1fd")]),
-                                            n(!1)
-                                    }
-                                    )),
-                                        S(t)
-                                }
-                                function n(e) {
-                                    r[P("0x42")][P("0x24f")][P("0x29")] = e
-                                }
-                            }
-                                ,
-                                U[P("0x23b")][P("0x5")][P("0x278")] = function () {
-                                    if (!this[P("0x211")]) {
-                                        var t = this;
-                                        t[P("0x234")] = !1,
-                                            t[P("0x227")] = !1,
-                                            r[P("0x202")](t),
-                                            t[P("0x211")] = o;
-                                        var i = this[P("0x19a")];
-                                        t[P("0x203")] = function (e) {
-                                            !0 !== this[P("0x204")] && (e ? (r.setHighlighted(this),
-                                                this[P("0x23c")](2 * i)) : this[P("0x23c")](i))
-                                        }
-                                            ,
-                                            t.getExtent = function () {
-                                                return D[P("0x28a")].fromCartographicArray(e[P("0x28b")](this[P("0x19f")]))
-                                            }
-                                            ,
-                                            S(t),
-                                            t[P("0x211")](!1)
-                                    }
-                                }
-                                ,
-                                U.PolygonPrimitive.prototype[P("0x278")] = function () {
-                                    var e = this;
-                                    e[P("0x227")] = !1;
-                                    var o = r[P("0x42")];
-                                    r[P("0x202")](e),
-                                        e.setEditMode = function (n) {
-                                            if (this[P("0x204")] != n)
-                                                if (r[P("0x20d")](),
-                                                    n) {
-                                                    if (r[P("0x20f")](this),
-                                                        null == this[P("0x280")]) {
-                                                        var a = new (i[P("0x242")])(r, m);
-                                                        t[P("0x284")][P("0x17c")](a);
-                                                        var s = {
-                                                            dragHandlers: {
-                                                                onDrag: function (t, i) {
-                                                                    var r = e[P("0x236")];
-                                                                    r[t] = C(i);
-                                                                    var n = R[P("0x1cd")][P("0x28c")](r);
-                                                                    e.positions = n[P("0x1d9")],
-                                                                        e[P("0x236")] = n.controlPoint,
-                                                                        e._createPrimitive = !0,
-                                                                        a[P("0x25d")](_(e[P("0x236")]))
-                                                                },
-                                                                onDragEnd: function () {
-                                                                    e[P("0x27a")]({
-                                                                        name: P("0x281"),
-                                                                        positions: e[P("0x19f")]
-                                                                    })
-                                                                }
-                                                            },
-                                                            tooltip: function () {
-                                                                return P("0x28d")
-                                                            }
-                                                        }
-                                                            , x = e.custom;
-                                                        a[P("0x243")](_(x), s),
-                                                            this._markers = a,
-                                                            this[P("0x289")] = new D.ScreenSpaceEventHandler(o[P("0x48")]),
-                                                            this[P("0x289")][P("0x160")]((function (t) {
-                                                                var i = o[P("0xa4")](t.position);
-                                                                console[P("0x133")](P("0x28e")),
-                                                                    i && i[P("0x182")] || e[P("0x211")](!1)
-                                                            }
-                                                            ), D[P("0x161")][P("0x17e")]),
-                                                            a[P("0x260")]()
-                                                    }
-                                                    this[P("0x204")] = !0
-                                                } else
-                                                    null != this[P("0x280")] && (this[P("0x280")][P("0x17f")](),
-                                                        this[P("0x280")] = null,
-                                                        this[P("0x289")][P("0xf4")]()),
-                                                        this._editMode = !1
-                                        }
-                                        ,
-                                        e[P("0x203")] = n,
-                                        S(e),
-                                        e[P("0x211")](!1)
-                                }
-                                ,
-                                U.TailedAttackPrimitive[P("0x5")].setEditable = function () {
-                                    var e = this;
-                                    e[P("0x227")] = !1;
-                                    var o = r._scene;
-                                    r[P("0x202")](e),
-                                        e[P("0x211")] = function (n) {
-                                            if (this._editMode != n)
-                                                if (r[P("0x20d")](),
-                                                    n) {
-                                                    if (r[P("0x20f")](this),
-                                                        null == this[P("0x280")]) {
-                                                        var a = new (i[P("0x242")])(r, m);
-                                                        t[P("0x284")][P("0x17c")](a);
-                                                        var s = {
-                                                            dragHandlers: {
-                                                                onDrag: function (t, i) {
-                                                                    var r = e[P("0x236")];
-                                                                    r[t] = C(i);
-                                                                    var n = R[P("0x1cd")].tailedAttackArrow(r);
-                                                                    e.positions = n[P("0x1d9")],
-                                                                        e[P("0x236")] = n.controlPoint,
-                                                                        e[P("0x219")] = !0,
-                                                                        a[P("0x25d")](_(e[P("0x236")]))
-                                                                },
-                                                                onDragEnd: function () {
-                                                                    e[P("0x27a")]({
-                                                                        name: P("0x281"),
-                                                                        positions: e.positions
-                                                                    })
-                                                                }
-                                                            },
-                                                            tooltip: function () {
-                                                                return P("0x28f")
-                                                            }
-                                                        }
-                                                            , x = e[P("0x236")];
-                                                        a[P("0x243")](_(x), s),
-                                                            this._markers = a,
-                                                            this[P("0x289")] = new D.ScreenSpaceEventHandler(o[P("0x48")]),
-                                                            this[P("0x289")][P("0x160")]((function (t) {
-                                                                var i = o[P("0xa4")](t[P("0x8c")]);
-                                                                console[P("0x133")](P("0x290")),
-                                                                    i && i[P("0x182")] || e.setEditMode(!1)
-                                                            }
-                                                            ), D.ScreenSpaceEventType.LEFT_CLICK),
-                                                            a.setOnTop()
-                                                    }
-                                                    this[P("0x204")] = !0
-                                                } else
-                                                    null != this[P("0x280")] && (this[P("0x280")][P("0x17f")](),
-                                                        this[P("0x280")] = null,
-                                                        this[P("0x289")][P("0xf4")]()),
-                                                        this._editMode = !1
-                                        }
-                                        ,
-                                        e[P("0x203")] = n,
-                                        S(e),
-                                        e[P("0x211")](!1)
-                                }
-                                ,
-                                U[P("0x276")][P("0x5")].setEditable = function () {
-                                    if (!this[P("0x211")]) {
-                                        var e = this
-                                            , o = r._scene;
-                                        r.registerEditableShape(e),
-                                            e.asynchronous = !1,
-                                            e[P("0x211")] = function (n) {
-                                                if (this._editMode != n)
-                                                    if (r[P("0x20d")](),
-                                                        n) {
-                                                        if (r[P("0x20f")](this),
-                                                            null == this[P("0x280")]) {
-                                                            var a = new (i[P("0x242")])(r, m);
-                                                            t[P("0x284")][P("0x17c")](a);
-                                                            var s = {
-                                                                dragHandlers: {
-                                                                    onDrag: function (t, i) {
-                                                                        var r = C(i)
-                                                                            , n = C(a.getBillboard((t + 1) % 2).position)
-                                                                            , o = 0 == t ? y(r, n) : y(n, r);
-                                                                        e[P("0x230")](o),
-                                                                            a[P("0x25d")](v(e.extent))
-                                                                    },
-                                                                    onDragEnd: function () {
-                                                                        e[P("0x27a")]({
-                                                                            name: P("0x281"),
-                                                                            extent: e[P("0x22e")]
-                                                                        })
-                                                                    }
-                                                                },
-                                                                tooltip: function () {
-                                                                    return "鎷栧姩浠ユ敼鍙樻绠ご褰㈢姸"
-                                                                }
-                                                            };
-                                                            a[P("0x243")](v(e[P("0x22e")]), s),
-                                                                this[P("0x280")] = a,
-                                                                this[P("0x289")] = new D.ScreenSpaceEventHandler(o[P("0x48")]),
-                                                                this[P("0x289")][P("0x160")]((function (t) {
-                                                                    var i = o.pick(t[P("0x8c")]);
-                                                                    console.log("ExtentPrimitive鍗曞嚮"),
-                                                                        i && i[P("0x182")] || e[P("0x211")](!1)
-                                                                }
-                                                                ), D[P("0x161")][P("0x17e")]),
-                                                                a.setOnTop()
-                                                        }
-                                                        this[P("0x204")] = !0
-                                                    } else
-                                                        null != this[P("0x280")] && (this[P("0x280")][P("0x17f")](),
-                                                            this._markers = null,
-                                                            this._globeClickhandler[P("0xf4")]()),
-                                                            this[P("0x204")] = !1
-                                            }
-                                            ,
-                                            e[P("0x203")] = n,
-                                            S(e),
-                                            e.setEditMode(!1)
-                                    }
-                                }
-                        }
-                        ,
-                        i[P("0x291")] = function (e, i) {
-                            if (!D.defined(i.container))
-                                throw new (D[P("0x15")])(P("0x292"));
-                            I(i, {
-                                markerIcon: P("0x293"),
-                                polylineIcon: P("0x294"),
-                                polygonIcon: P("0x295"),
-                                circleIcon: P("0x296"),
-                                tailedAttackArrowIcon: "./img/gongjijiantou.png",
-                                extentIcon: P("0x297"),
-                                clearIcon: "./img/glyphicons_067_cleaning.png",
-                                polylineDrawingOptions: l,
-                                polygonDrawingOptions: a,
-                                extentDrawingOptions: s,
-                                circleDrawingOptions: x
-                            });
-                            var r = this
-                                , n = document[P("0x15c")](P("0x298"));
-                            function o(e, t, i, r) {
-                                var o = document[P("0x15c")]("DIV");
-                                o[P("0x14c")] = P("0x299"),
-                                    o[P("0x29a")] = i,
-                                    n[P("0x167")](o),
-                                    o[P("0x29b")] = r;
-                                var a = document.createElement(P("0x29c"));
-                                o[P("0x167")](a);
-                                var s = document[P("0x15c")](P("0x29d"));
-                                return s[P("0x125")] = t,
-                                    a[P("0x167")](s),
-                                    o
-                            }
-                            n[P("0x14c")] = "toolbar",
-                                i[P("0x131")].appendChild(n);
-                            var c = e._scene;
-                            o(0, i[P("0x29e")], P("0x29f"), (function () {
-                                e.startDrawingExtent({
-                                    callback: function (e) {
-                                        r[P("0x27a")]({
-                                            name: P("0x2a0"),
-                                            extent: e
-                                        })
-                                    }
-                                })
-                            }
-                            )),
-                                o(0, i.polygonIcon, P("0x2a1"), (function () {
-                                    e[P("0x261")]({
-                                        callback: function (e, t) {
-                                            r[P("0x27a")]({
-                                                name: P("0x2a2"),
-                                                positions: e,
-                                                custom: t
-                                            })
-                                        }
-                                    })
-                                }
-                                )),
-                                o(P("0x1ea"), i.tailedAttackArrowIcon, P("0x2a3"), (function () {
-                                    e[P("0x26e")]({
-                                        callback: function (e, t) {
-                                            r.executeListeners({
-                                                name: P("0x2a4"),
-                                                positions: e,
-                                                custom: t
-                                            })
-                                        }
-                                    })
-                                }
-                                ));
-                            var u = document.createElement(P("0x298"));
-                            u.className = "divider",
-                                n.appendChild(u),
-                                o(P("0x192"), i[P("0x2a5")], "Remove all primitives", (function () {
-                                    for (var e = t[P("0x17d")].length, i = t.billBoard[P("0x0")], r = 0; r < e; r++) {
-                                        var n = t[P("0x17d")].pop();
-                                        n._globeClickhandler[P("0xf4")](),
-                                            c[P("0x17d")][P("0x17f")](n)
-                                    }
-                                    for (r = 0; r < i; r++)
-                                        t[P("0x284")][P("0x25c")]()[P("0x17f")]()
-                                }
-                                )),
-                                S(this)
-                        }
-                        ,
-                        i[P("0x5")][P("0x2a6")] = function (e, t) {
-                            return t = G(t, {
-                                container: e
-                            }),
-                                new (i[P("0x291")])(this, t)
-                        }
-                        ,
-                        i.DrawWidget = function (e, t) {
-                            var i = this;
-                            "extentCreated" == t && e[P("0x275")]({
-                                callback: function (e) {
-                                    i.executeListeners({
-                                        name: P("0x2a0"),
-                                        extent: e
-                                    })
-                                }
-                            }),
-                                t == P("0x2a2") && e.startDrawingPolygon({
-                                    callback: function (e, t) {
-                                        i[P("0x27a")]({
-                                            name: P("0x2a2"),
-                                            positions: e,
-                                            custom: t
-                                        })
-                                    }
-                                }),
-                                t == P("0x2a4") && e.startDrawingTailedAttack({
-                                    callback: function (e, t) {
-                                        i[P("0x27a")]({
-                                            name: P("0x2a4"),
-                                            positions: e,
-                                            custom: t
-                                        })
-                                    }
-                                }),
-                                S(this)
-                        }
-                        ,
-                        i[P("0x2a7")] = function () {
-                            var e = drawHelper._scene
-                                , i = t[P("0x17d")][P("0x0")]
-                                , r = t[P("0x284")][P("0x0")];
-                            if (0 != i && t[P("0x17d")][i - 1][P("0x204")]) {
-                                for (var n = 0; n < 1; n++) {
-                                    var o = t[P("0x17d")][i - 1];
-                                    o[P("0x289")][P("0xf4")](),
-                                        e[P("0x17d")][P("0x17f")](o)
-                                }
-                                for (n = 0; n < 1; n++)
-                                    t[P("0x284")][r - 1][P("0x17f")]();
-                                t = {
-                                    billBoard: [],
-                                    primitives: []
-                                },
-                                    S(this)
-                            }
-                        }
-                        ,
-                        i[P("0x5")][P("0x69")] = function (e) {
-                            return new (i[P("0x2a8")])(this, e)
-                        }
-                        ,
-                        i[P("0x5")][P("0x192")] = function () {
-                            return new (i[P("0x2a7")])(this)
-                        }
-                        ,
-                        i
-                }();
-            var B, W = {
-                version: P("0x1c9")
-            };
-            W[P("0x1d2")] = {},
-                W.PlotUtils.distance = function (e, t) {
-                    return Math[P("0xca")](Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2))
+                return e
+            }
+            ,
+            GeoGlobe.Util.randomStr = function(e) {
+                for (var t = "", i = [], r = 0; r < e; r++) {
+                    var n = Math.ceil(25 * Math.random());
+                    i.push(String.fromCharCode(97 + n))
                 }
-                ,
-                W.PlotUtils.wholeDistance = function (e) {
-                    for (var t = 0, i = 0; i < e[P("0x0")] - 1; i++)
-                        t += W[P("0x1d2")].distance(e[i], e[i + 1]);
-                    return t
+                for (r = 0; r < e; r++)
+                    t += i[r];
+                return t
+            }
+            ,
+            GeoGlobe.Util.globalEval = function(e) {
+                e && GeoGlobe.String.trim(e) && (window.execScript || function(e) {
+                    window.eval.call(window, e)
                 }
-                ,
-                W[P("0x1d2")][P("0x1e2")] = function (e) {
-                    return Math[P("0x2ae")](W[P("0x1d2")][P("0x1e8")](e), .99)
-                }
-                ,
-                W[P("0x1d2")][P("0x1e5")] = function (e, t) {
-                    return [(e[0] + t[0]) / 2, (e[1] + t[1]) / 2]
-                }
-                ,
-                W[P("0x1d2")][P("0x2ba")] = function (e, t, i) {
-                    var r = [(e[0] + t[0]) / 2, (e[1] + t[1]) / 2]
-                        , n = [r[0] - e[1] + t[1], r[1] + e[0] - t[0]]
-                        , o = [(e[0] + i[0]) / 2, (e[1] + i[1]) / 2]
-                        , a = [o[0] - e[1] + i[1], o[1] + e[0] - i[0]];
-                    return W[P("0x1d2")][P("0x2bb")](r, n, o, a)
-                }
-                ,
-                W.PlotUtils[P("0x2bb")] = function (e, t, i, r) {
-                    if (e[1] == t[1]) {
-                        var n = (r[0] - i[0]) / (r[1] - i[1])
-                            , o = n * (e[1] - i[1]) + i[0]
-                            , a = e[1];
-                        return [o, a]
+                )(e)
+            }
+            ,
+            GeoGlobe.Util.getResolutionFromScale_DPI = function(e, t, i) {
+                var r;
+                return e && (null == t && (t = "degrees"),
+                r = 1 / (GeoGlobe.Util.normalizeScale(e) * GeoGlobe.INCHES_PER_UNIT[t] * i)),
+                r
+            }
+            ,
+            GeoGlobe.Util.getScaleFromResolution_DPI = function(e, t, i) {
+                return null == t && (t = "degrees"),
+                e * GeoGlobe.INCHES_PER_UNIT[t] * i
+            }
+            ,
+            GeoGlobe.Util.getMapLevelFormResolution = function(e, t) {
+                if (!t)
+                    return 0;
+                var i, r, n = Number.POSITIVE_INFINITY, o = e.getResolutions();
+                for (i = 0,
+                len = o.length; i < len && !((r = Math.abs(o[i] - t)) > n); i++)
+                    n = r;
+                return Math.max(0, i - 1)
+            }
+            ,
+            GeoGlobe.Util.getMapLevelFormScale = function(e, t, i, r) {
+                i = i || "degrees",
+                r = r || 96;
+                var n = GeoGlobe.Util.getResolutionFromScale_DPI(t, i, r);
+                return GeoGlobe.Util.getMapLevelFormResolution(e, n)
+            }
+            ,
+            GeoGlobe.Util.delayFun = function(e, t, i) {
+                var r;
+                return function() {
+                    var n = this
+                      , o = arguments
+                      , a = i && !r;
+                    clearTimeout(r),
+                    r = setTimeout((function() {
+                        r = null,
+                        i || e.apply(n, o)
                     }
-                    if (i[1] != r[1])
-                        return s = (t[0] - e[0]) / (t[1] - e[1]),
-                            n = (r[0] - i[0]) / (r[1] - i[1]),
-                            [o = s * (a = (s * e[1] - e[0] - n * i[1] + i[0]) / (s - n)) - s * e[1] + e[0], a];
-                    var s = (t[0] - e[0]) / (t[1] - e[1]);
-                    return [o = s * (i[1] - e[1]) + e[0], a = i[1]]
+                    ), t),
+                    a && e.apply(n, o)
                 }
-                ,
-                W[P("0x1d2")].getAzimuth = function (e, t) {
-                    var i, r = Math[P("0x97")](Math.abs(t[1] - e[1]) / W[P("0x1d2")][P("0x8e")](e, t));
-                    return t[1] >= e[1] && t[0] >= e[0] ? i = r + Math.PI : t[1] >= e[1] && t[0] < e[0] ? i = W[P("0x1e1")][P("0xab")] - r : t[1] < e[1] && t[0] < e[0] ? i = r : t[1] < e[1] && t[0] >= e[0] && (i = Math.PI - r),
-                        i
-                }
-                ,
-                W[P("0x1d2")].getAngleOfThreePoints = function (e, t, i) {
-                    var r = W[P("0x1d2")][P("0x2bc")](t, e) - W[P("0x1d2")][P("0x2bc")](t, i);
-                    return r < 0 ? r + W[P("0x1e1")].TWO_PI : r
-                }
-                ,
-                W[P("0x1d2")].isClockWise = function (e, t, i) {
-                    return (i[1] - e[1]) * (t[0] - e[0]) > (t[1] - e[1]) * (i[0] - e[0])
-                }
-                ,
-                W[P("0x1d2")][P("0x2bd")] = function (e, t, i) {
-                    return [t[0] + e * (i[0] - t[0]), t[1] + e * (i[1] - t[1])]
-                }
-                ,
-                W.PlotUtils[P("0x2be")] = function (e, t, i, r, n) {
-                    var o = 1 - (e = Math[P("0xee")](Math[P("0x7d")](e, 1), 0))
-                        , a = e * e
-                        , s = a * e
-                        , x = o * o
-                        , l = x * o;
-                    return [l * t[0] + 3 * x * e * i[0] + 3 * o * a * r[0] + s * n[0], l * t[1] + 3 * x * e * i[1] + 3 * o * a * r[1] + s * n[1]]
-                }
-                ,
-                W.PlotUtils[P("0x1df")] = function (e, t, i, r, n) {
-                    var o = W[P("0x1d2")][P("0x2bc")](e, t)
-                        , a = n ? o + i : o - i
-                        , s = r * Math.cos(a)
-                        , x = r * Math[P("0x98")](a);
-                    return [t[0] + s, t[1] + x]
-                }
-                ,
-                W[P("0x1d2")][P("0x2bf")] = function (e, t, i, r) {
-                    var n, o, a = [], s = r - i;
-                    s = s < 0 ? s + W[P("0x1e1")].TWO_PI : s;
-                    for (var x = 0; x <= W[P("0x1e1")][P("0x2c0")]; x++) {
-                        var l = i + s * x / W.Constants[P("0x2c0")];
-                        n = e[0] + t * Math[P("0x9a")](l),
-                            o = e[1] + t * Math.sin(l),
-                            a[P("0x17c")]([n, o])
+            }
+            ,
+            GeoGlobe.Util.clone = function(e) {
+                if ("object" != _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e))
+                    return e;
+                if (null == e)
+                    return e;
+                var t = e.constructor == Array ? [] : {};
+                for (var i in e)
+                    t[i] = GeoGlobe.Util.clone(e[i]);
+                return t
+            }
+            ,
+            GeoGlobe.Util.getType = function(e) {
+                var t = Object.prototype.toString;
+                return e instanceof Element ? "element" : {
+                    "[object Boolean]": "boolean",
+                    "[object Number]": "number",
+                    "[object String]": "string",
+                    "[object Function]": "function",
+                    "[object Array]": "array",
+                    "[object Date]": "date",
+                    "[object RegExp]": "regExp",
+                    "[object Undefined]": "undefined",
+                    "[object Null]": "null",
+                    "[object Object]": "object"
+                }[t.call(e)]
+            }
+            ,
+            GeoGlobe.Util.formatNumberToThousands = function(e, t, i) {
+                e = e.toString().replace(/\$|\,/g, ""),
+                isNaN(e) && (e = "0");
+                var r = e === (e = Math.abs(e))
+                  , n = (e = Math.floor(e * Math.pow(10, t) + .50000000001)) % Math.pow(10, t);
+                for (e = Math.floor(e / Math.pow(10, t)).toString(),
+                n = n.toString(); n.length < t; )
+                    n = "0" + n;
+                if (i)
+                    for (var o = 0; o < Math.floor((e.length - (1 + o)) / 3); o++)
+                        e = e.substring(0, e.length - (4 * o + 3)) + "," + e.substring(e.length - (4 * o + 3));
+                return t > 0 ? (r ? "" : "-") + e + "." + n : (r ? "" : "-") + e
+            }
+            ,
+            GeoGlobe.Util.getFormattedString = function(e, t) {
+                var i = t;
+                if ((i = (i = i.replace(/{a}/g, e.a)).replace(/{b}/g, e.b)).contains("{c"))
+                    for (var r = i.split("{c"), n = 0, o = 0; o < r.length - 1; o++)
+                        n = r[o + 1].split("}")[0],
+                        i = i.replace(new RegExp("{c" + n + "}","g"), GeoGlobe.Util.formatNumberToThousands(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.c), "" === n ? 2 : n, !0));
+                return i
+            }
+            ,
+            GeoGlobe.Util.getGradientImageData = function(e) {
+                var t = document.createElement("canvas")
+                  , i = t.getContext("2d");
+                t.width = 1,
+                t.height = 256;
+                var r = i.createLinearGradient(0, 0, 0, 256);
+                for (var n in e)
+                    e.hasOwnProperty(n) && r.addColorStop(n, e[n]);
+                return i.fillStyle = r,
+                i.fillRect(0, 0, 1, 256),
+                i.getImageData(0, 0, 1, 256).data
+            }
+            ,
+            GeoGlobe.Util.getRgbColor = function(e) {
+                if ((e = e.toLowerCase()) && /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(e)) {
+                    if (4 === e.length) {
+                        for (var t = "#", i = 1; i < 4; i += 1)
+                            t += e.slice(i, i + 1).concat(e.slice(i, i + 1));
+                        e = t
                     }
+                    for (t = [],
+                    i = 1; i < 7; i += 2)
+                        t.push(_babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()("0x" + e.slice(i, i + 2)));
+                    return "rgb(" + t.join(",") + ")"
+                }
+                return e.startsWith("rgba") || e.startsWith("hsla") ? e.substring(0, 3) + e.substring(4, e.lastIndexOf(",")) + ")" : e.startsWith("rgb") || e.startsWith("hsl") ? e : ""
+            }
+            ,
+            GeoGlobe.Util.getShadeColor = function(e, t) {
+                e = (e = GeoGlobe.Util.getHexColor(e)).substr(1);
+                var i = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e, 16)
+                  , r = Math.round(2.55 * t)
+                  , n = (i >> 16) + r
+                  , o = (i >> 8 & 255) + r
+                  , a = (255 & i) + r;
+                return "#" + (16777216 + 65536 * (n < 255 ? n < 1 ? 0 : n : 255) + 256 * (o < 255 ? o < 1 ? 0 : o : 255) + (a < 255 ? a < 1 ? 0 : a : 255)).toString(16).slice(1)
+            }
+            ,
+            GeoGlobe.Util.getHexColor = function(e) {
+                if (e = e.toLowerCase(),
+                /^(rgb|rgba)/.test(e)) {
+                    for (var t = e.split("(")[1].split(")")[0].split(","), i = "#", r = 0; r < 3; r++) {
+                        var n = Number(t[r]).toString(16);
+                        "0" === n && (n += n),
+                        1 === n.length && (n = "0" + n),
+                        i += n
+                    }
+                    return 7 !== i.length && (i = e),
+                    i
+                }
+                if (!/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e))
+                    return e;
+                var o = e.replace(/#/, "").split("");
+                if (6 === o.length)
+                    return e;
+                if (3 === o.length) {
+                    var a = "#";
+                    for (r = 0; r < o.length; r += 1)
+                        a += o[r] + o[r];
                     return a
                 }
-                ,
-                W[P("0x1d2")][P("0x2c1")] = function (e, t, i, r) {
-                    var n = W[P("0x1d2")].getNormal(t, i, r)
-                        , o = Math[P("0xca")](n[0] * n[0] + n[1] * n[1])
-                        , a = n[0] / o
-                        , s = n[1] / o
-                        , x = W[P("0x1d2")].distance(t, i)
-                        , l = W[P("0x1d2")][P("0x8e")](i, r);
-                    if (o > W[P("0x1e1")][P("0x2c2")])
-                        if (W.PlotUtils[P("0x1d3")](t, i, r)) {
-                            var c = e * x
-                                , u = i[0] - c * s
-                                , h = i[1] + c * a
-                                , f = [u, h];
-                            c = e * l;
-                            var d = [u = i[0] + c * s, h = i[1] - c * a]
-                        } else
-                            c = e * x,
-                                f = [u = i[0] + c * s, h = i[1] - c * a],
-                                c = e * l,
-                                d = [u = i[0] - c * s, h = i[1] + c * a];
-                    else
-                        f = [u = i[0] + e * (t[0] - i[0]), h = i[1] + e * (t[1] - i[1])],
-                            d = [u = i[0] + e * (r[0] - i[0]), h = i[1] + e * (r[1] - i[1])];
-                    return [f, d]
-                }
-                ,
-                W[P("0x1d2")].getNormal = function (e, t, i) {
-                    var r = e[0] - t[0]
-                        , n = e[1] - t[1]
-                        , o = Math[P("0xca")](r * r + n * n);
-                    r /= o,
-                        n /= o;
-                    var a = i[0] - t[0]
-                        , s = i[1] - t[1]
-                        , x = Math[P("0xca")](a * a + s * s);
-                    return [r + (a /= x), n + (s /= x)]
-                }
-                ,
-                W[P("0x1d2")][P("0x2c3")] = function (e, t) {
-                    for (var i = [W.PlotUtils[P("0x2c4")](t)], r = 0; r < t[P("0x0")] - 2; r++) {
-                        var n = t[r]
-                            , o = t[r + 1]
-                            , a = t[r + 2]
-                            , s = W[P("0x1d2")][P("0x2c1")](e, n, o, a);
-                        i = i.concat(s)
-                    }
-                    var x = W[P("0x1d2")][P("0x2c5")](t);
-                    i[P("0x17c")](x);
-                    var l = [];
-                    for (r = 0; r < t[P("0x0")] - 1; r++) {
-                        for (n = t[r],
-                            o = t[r + 1],
-                            l.push(n),
-                            e = 0; e < W[P("0x1e1")][P("0x2c0")]; e++) {
-                            var c = W[P("0x1d2")][P("0x2be")](e / W[P("0x1e1")][P("0x2c0")], n, i[2 * r], i[2 * r + 1], o);
-                            l[P("0x17c")](c)
+            }
+            ,
+            GeoGlobe.Util.transferToLonLat = function(e) {
+                return -238107693.23182276 === e[1] ? [e[0] / 20037508.34 * 180, -90] : [e[0] / 20037508.34 * 180, 180 / Math.PI * (2 * Math.atan(Math.exp(e[1] / 20037508.34 * 180 * Math.PI / 180)) - Math.PI / 2)]
+            }
+            ,
+            GeoGlobe.Util.transferToMercator = function(e) {
+                return -90 === e[1] ? [20037508.34 * e[0] / 180, -238107693.23182276] : [20037508.34 * e[0] / 180, Math.log(Math.tan((90 + e[1]) * Math.PI / 360)) / (Math.PI / 180) * 20037508.34 / 180]
+            }
+            ,
+            GeoGlobe.ProjAxisOrder = {
+                AXIS_ORDER_EN: !0,
+                AXIS_ORDER_NE: !1
+            },
+            GeoGlobe.ProjAxisOrder.AxisOrder = {
+                "EPSG:900913": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                WGS84: GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
+                "IGNF:WGS84G": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
+                "EPSG:4326": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
+                "EPSG:4490": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
+                "EPSG:4269": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
+                "EPSG:2361": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
+                "EPSG:27700": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:904490": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
+                "EPSG:4171": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE,
+                "EPSG:32637": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:32638": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:32639": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:32640": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:32641": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:28991": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:28992": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:31300": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:31370": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:2176": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:2177": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:2178": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:2179": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:2180": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:2154": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:3346": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:3857": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN,
+                "EPSG:2065": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN
+            },
+            GeoGlobe.SpatialReference = GeoGlobe.Class({
+                proj: null,
+                projCode: null,
+                titleRegEx: /\+title=[^\+]*/,
+                initialize: function(e, t) {
+                    GeoGlobe.Util.extend(this, t),
+                    this.projCode = e,
+                    "object" == ("undefined" == typeof Proj4js ? "undefined" : _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(Proj4js)) && (this.proj = new Proj4js.Proj(e))
+                },
+                getCode: function() {
+                    return this.proj ? this.proj.srsCode : this.projCode
+                },
+                getUnits: function() {
+                    return this.proj ? this.proj.units : null
+                },
+                toString: function() {
+                    return this.getCode()
+                },
+                equals: function(e) {
+                    var t = e
+                      , i = !1;
+                    if (t)
+                        if (t instanceof GeoGlobe.SpatialReference || (t = new GeoGlobe.SpatialReference(t)),
+                        "object" == ("undefined" == typeof Proj4js ? "undefined" : _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(Proj4js)) && this.proj.defData && t.proj.defData)
+                            i = this.proj.defData.replace(this.titleRegEx, "") == t.proj.defData.replace(this.titleRegEx, "");
+                        else if (t.getCode) {
+                            var r = this.getCode()
+                              , n = t.getCode();
+                            i = r == n || !!GeoGlobe.SpatialReference.transforms[r] && GeoGlobe.SpatialReference.transforms[r][n] === GeoGlobe.SpatialReference.nullTransform
                         }
-                        l[P("0x17c")](o)
+                    return i
+                },
+                destroy: function() {
+                    delete this.proj,
+                    delete this.projCode
+                },
+                CLASS_NAME: "GeoGlobe.SpatialReference"
+            }),
+            GeoGlobe.SpatialReference.transforms = {},
+            GeoGlobe.SpatialReference.defaults = {
+                "EPSG:4326": {
+                    units: "degrees",
+                    maxExtent: [-180, -90, 180, 90],
+                    yx: !0
+                },
+                "CRS:84": {
+                    units: "degrees",
+                    maxExtent: [-180, -90, 180, 90]
+                },
+                "EPSG:900913": {
+                    units: "m",
+                    maxExtent: [-20037508.34, -20037508.34, 20037508.34, 20037508.34]
+                }
+            },
+            GeoGlobe.SpatialReference.addTransform = function(e, t, i) {
+                if (i === GeoGlobe.SpatialReference.nullTransform) {
+                    var r = GeoGlobe.SpatialReference.defaults[e];
+                    r && !GeoGlobe.SpatialReference.defaults[t] && (GeoGlobe.SpatialReference.defaults[t] = r)
+                }
+                GeoGlobe.SpatialReference.transforms[e] || (GeoGlobe.SpatialReference.transforms[e] = {}),
+                GeoGlobe.SpatialReference.transforms[e][t] = i
+            }
+            ,
+            GeoGlobe.SpatialReference.transform = function(e, t, i) {
+                if (t && i)
+                    if (t instanceof GeoGlobe.SpatialReference || (t = new GeoGlobe.SpatialReference(t)),
+                    i instanceof GeoGlobe.SpatialReference || (i = new GeoGlobe.SpatialReference(i)),
+                    t.proj && i.proj)
+                        e = Proj4js.transform(t.proj, i.proj, e);
+                    else {
+                        var r = t.getCode()
+                          , n = i.getCode()
+                          , o = GeoGlobe.SpatialReference.transforms;
+                        o[r] && o[r][n] && o[r][n](e)
                     }
-                    return l
+                return e
+            }
+            ,
+            GeoGlobe.SpatialReference.nullTransform = function(e) {
+                return e
+            }
+            ,
+            function() {
+                var e = 20037508.34;
+                function t(t) {
+                    return t.x = 180 * t.x / e,
+                    t.y = 180 / Math.PI * (2 * Math.atan(Math.exp(t.y / e * Math.PI)) - Math.PI / 2),
+                    t
+                }
+                function i(t) {
+                    t.x = t.x * e / 180;
+                    var i = Math.log(Math.tan((90 + t.y) * Math.PI / 360)) / Math.PI * e;
+                    return t.y = Math.max(-20037508.34, Math.min(i, 20037508.34)),
+                    t
+                }
+                function r(e, r) {
+                    var n, o, a, s, x, l = GeoGlobe.SpatialReference.addTransform, c = GeoGlobe.SpatialReference.nullTransform;
+                    for (n = 0,
+                    o = r.length; n < o; ++n)
+                        for (l(e, a = r[n], i),
+                        l(a, e, t),
+                        x = n + 1; x < o; ++x)
+                            l(a, s = r[x], c),
+                            l(s, a, c)
+                }
+                var n, o = ["EPSG:900913", "EPSG:3857", "EPSG:102113", "EPSG:102100"], a = ["CRS:84", "urn:ogc:def:crs:EPSG:6.6:4326", "EPSG:4326"];
+                for (n = o.length - 1; n >= 0; --n)
+                    r(o[n], a);
+                for (n = a.length - 1; n >= 0; --n)
+                    r(a[n], o)
+            }(),
+            GeoGlobe.Console = {
+                log: function() {},
+                debug: function() {},
+                info: function() {},
+                warn: function() {},
+                error: function() {},
+                userError: function(e) {
+                    alert(e)
+                },
+                assert: function() {},
+                dir: function() {},
+                dirxml: function() {},
+                trace: function() {},
+                group: function() {},
+                groupEnd: function() {},
+                time: function() {},
+                timeEnd: function() {},
+                profile: function() {},
+                profileEnd: function() {},
+                count: function() {},
+                CLASS_NAME: "GeoGlobe.Console"
+            },
+            function() {
+                for (var e = document.getElementsByTagName("script"), t = 0, i = e.length; t < i; ++t)
+                    if (-1 != e[t].src.indexOf("firebug.js") && console) {
+                        GeoGlobe.Util.extend(GeoGlobe.Console, console);
+                        break
+                    }
+            }(),
+            GeoGlobe.ProxyHost = "",
+            GeoGlobe.Request || (GeoGlobe.Request = {}),
+            GeoGlobe.Util.extend(GeoGlobe.Request, {
+                DEFAULT_CONFIG: {
+                    method: "GET",
+                    url: window.location.href,
+                    async: !0,
+                    user: void 0,
+                    password: void 0,
+                    params: null,
+                    proxy: GeoGlobe.ProxyHost,
+                    headers: {},
+                    data: null,
+                    callback: function() {},
+                    success: null,
+                    failure: null,
+                    scope: null
+                },
+                URL_SPLIT_REGEX: /([^:]*:)\/\/([^:]*:?[^@]*@)?([^:\/\?]*):?([^\/\?]*)/,
+                makeSameOrigin: function(e, t) {
+                    var i = 0 !== e.indexOf("http")
+                      , r = !i && e.match(this.URL_SPLIT_REGEX);
+                    if (r) {
+                        var n = window.location;
+                        i = r[1] == n.protocol && r[3] == n.hostname;
+                        var o = r[4]
+                          , a = n.port;
+                        (80 != o && "" != o || "80" != a && "" != a) && (i = i && o == a)
+                    }
+                    return i || t && (e = "function" == typeof t ? t(e) : e.indexOf("cts?") >= 0 ? t + e : t + encodeURIComponent(e)),
+                    e
+                },
+                issue: function(e) {
+                    var t = GeoGlobe.Util.extend(this.DEFAULT_CONFIG, {
+                        proxy: GeoGlobe.ProxyHost
+                    });
+                    (e = e || {}).headers = e.headers || {},
+                    (e = GeoGlobe.Util.applyDefaults(e, t)).headers = GeoGlobe.Util.applyDefaults(e.headers, t.headers);
+                    var i, r = !1;
+                    for (i in e.headers)
+                        e.headers.hasOwnProperty(i) && "x-requested-with" === i.toLowerCase() && (r = !0);
+                    !1 === r && (e.headers["X-Requested-With"] = "XMLHttpRequest");
+                    var n = new GeoGlobe.Request.XMLHttpRequest;
+                    e.url = encodeURI(e.url);
+                    var o = GeoGlobe.Util.urlAppend(e.url, GeoGlobe.Util.getParameterString(e.params || {}));
+                    for (var a in o = GeoGlobe.Request.makeSameOrigin(o, e.proxy),
+                    n.open(e.method, o, e.async, e.user, e.password),
+                    e.headers)
+                        n.setRequestHeader(a, e.headers[a]);
+                    var s = this;
+                    return n.onreadystatechange = function() {
+                        n.readyState == GeoGlobe.Request.XMLHttpRequest.DONE && s.runCallbacks({
+                            request: n,
+                            config: e,
+                            requestUrl: o
+                        })
+                    }
+                    ,
+                    !1 === e.async ? n.send(e.data) : window.setTimeout((function() {
+                        0 !== n.readyState && n.send(e.data)
+                    }
+                    ), 0),
+                    n
+                },
+                runCallbacks: function(e) {
+                    var t, i, r = e.request, n = e.config, o = n.scope ? GeoGlobe.Function.bind(n.callback, n.scope) : n.callback;
+                    n.success && (t = n.scope ? GeoGlobe.Function.bind(n.success, n.scope) : n.success),
+                    n.failure && (i = n.scope ? GeoGlobe.Function.bind(n.failure, n.scope) : n.failure),
+                    "file:" == GeoGlobe.Util.createUrlObject(n.url).protocol && r.responseText && (r.status = 200),
+                    o(r),
+                    (!r.status || r.status >= 200 && r.status < 300) && t && t(r),
+                    r.status && (r.status < 200 || r.status >= 300) && i && i(r)
+                },
+                GET: function(e) {
+                    return e = GeoGlobe.Util.extend(e, {
+                        method: "GET"
+                    }),
+                    GeoGlobe.Request.issue(e)
+                },
+                POST: function(e) {
+                    return (e = GeoGlobe.Util.extend(e, {
+                        method: "POST"
+                    })).headers = e.headers ? e.headers : {},
+                    "CONTENT-TYPE"in GeoGlobe.Util.upperCaseObject(e.headers) || (e.headers["Content-Type"] = "application/xml"),
+                    GeoGlobe.Request.issue(e)
+                },
+                PUT: function(e) {
+                    return (e = GeoGlobe.Util.extend(e, {
+                        method: "PUT"
+                    })).headers = e.headers ? e.headers : {},
+                    "CONTENT-TYPE"in GeoGlobe.Util.upperCaseObject(e.headers) || (e.headers["Content-Type"] = "application/xml"),
+                    GeoGlobe.Request.issue(e)
+                },
+                DELETE: function(e) {
+                    return e = GeoGlobe.Util.extend(e, {
+                        method: "DELETE"
+                    }),
+                    GeoGlobe.Request.issue(e)
+                },
+                HEAD: function(e) {
+                    return e = GeoGlobe.Util.extend(e, {
+                        method: "HEAD"
+                    }),
+                    GeoGlobe.Request.issue(e)
+                },
+                OPTIONS: function(e) {
+                    return e = GeoGlobe.Util.extend(e, {
+                        method: "OPTIONS"
+                    }),
+                    GeoGlobe.Request.issue(e)
+                }
+            }),
+            GeoGlobe.nullHandler = function(e) {
+                GeoGlobe.Console.userError(GeoGlobe.i18n("unhandledRequest", {
+                    statusText: e.statusText
+                }))
+            }
+            ,
+            GeoGlobe.loadURL = function(e, t, i, r, n) {
+                "string" == typeof t && (t = GeoGlobe.Util.getParameters(t));
+                var o = r || GeoGlobe.nullHandler
+                  , a = n || GeoGlobe.nullHandler;
+                return GeoGlobe.Request.GET({
+                    url: e,
+                    params: t,
+                    success: o,
+                    failure: a,
+                    scope: i
+                })
+            }
+            ,
+            GeoGlobe.Request.setProxyHost = function(e) {
+                GeoGlobe.ProxyHost = e
+            }
+            ,
+            GeoGlobe.Request.getProxyHost = function() {
+                return GeoGlobe.ProxyHost
+            }
+            ,
+            GeoGlobe.appendToProxy = function(e) {
+                var t = e.split("?")
+                  , i = GeoGlobe.ProxyHost + encodeURI(encodeURI(t[0]));
+                return 2 === t.length && (i += "?" + t[1]),
+                i
+            }
+            ,
+            GeoGlobe.loadScript = function(e) {
+                GeoGlobe.Request.GET({
+                    url: e,
+                    async: !1,
+                    headers: {
+                        Accept: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01"
+                    },
+                    success: function(e) {
+                        GeoGlobe.Util.globalEval(e.responseText)
+                    },
+                    failure: function(t) {
+                        alert("鍔犺浇:" + e + " 澶辫触銆�")
+                    }
+                })
+            }
+            ,
+            function() {
+                var e = window.XMLHttpRequest
+                  , t = !!window.controllers
+                  , i = window.document.all && !window.opera
+                  , r = i && window.navigator.userAgent.match(/MSIE 7.0/);
+                function n() {
+                    this._object = e && !r ? new e : new window.ActiveXObject("Microsoft.XMLHTTP"),
+                    this._listeners = []
+                }
+                function o() {
+                    return new n
+                }
+                function a(e) {
+                    o.onreadystatechange && o.onreadystatechange.apply(e),
+                    e.dispatchEvent({
+                        type: "readystatechange",
+                        bubbles: !1,
+                        cancelable: !1,
+                        timeStamp: new Date + 0
+                    })
+                }
+                function s(e) {
+                    try {
+                        e.responseText = e._object.responseText
+                    } catch (e) {}
+                    try {
+                        e.responseXML = (r = (t = e._object).responseXML,
+                        n = t.responseText,
+                        i && n && r && !r.documentElement && t.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/) && ((r = new window.ActiveXObject("Microsoft.XMLDOM")).async = !1,
+                        r.validateOnParse = !1,
+                        r.loadXML(n)),
+                        r && (i && 0 != r.parseError || !r.documentElement || r.documentElement && "parsererror" == r.documentElement.tagName) ? null : r)
+                    } catch (e) {}
+                    var t, r, n;
+                    try {
+                        e.status = e._object.status
+                    } catch (e) {}
+                    try {
+                        e.statusText = e._object.statusText
+                    } catch (e) {}
+                }
+                function x(e) {
+                    e._object.onreadystatechange = new window.Function
+                }
+                o.prototype = n.prototype,
+                t && e.wrapped && (o.wrapped = e.wrapped),
+                o.UNSENT = 0,
+                o.OPENED = 1,
+                o.HEADERS_RECEIVED = 2,
+                o.LOADING = 3,
+                o.DONE = 4,
+                o.prototype.readyState = o.UNSENT,
+                o.prototype.responseText = "",
+                o.prototype.responseXML = null,
+                o.prototype.status = 0,
+                o.prototype.statusText = "",
+                o.prototype.priority = "NORMAL",
+                o.prototype.onreadystatechange = null,
+                o.onreadystatechange = null,
+                o.onopen = null,
+                o.onsend = null,
+                o.onabort = null,
+                o.prototype.open = function(e, r, n, l, c) {
+                    delete this._headers,
+                    arguments.length < 3 && (n = !0),
+                    this._async = n;
+                    var u, h = this, f = this.readyState;
+                    i && n && (u = function() {
+                        f != o.DONE && (x(h),
+                        h.abort())
+                    }
+                    ,
+                    window.attachEvent("onunload", u)),
+                    o.onopen && o.onopen.apply(this, arguments),
+                    arguments.length > 4 ? this._object.open(e, r, n, l, c) : arguments.length > 3 ? this._object.open(e, r, n, l) : this._object.open(e, r, n);
+                    try {
+                        this._object.responseType = "msxml-document"
+                    } catch (e) {}
+                    this.readyState = o.OPENED,
+                    a(this),
+                    this._object.onreadystatechange = function() {
+                        t && !n || (h.readyState = h._object.readyState,
+                        s(h),
+                        h._aborted ? h.readyState = o.UNSENT : (h.readyState == o.DONE && (delete h._data,
+                        x(h),
+                        i && n && window.detachEvent("onunload", u)),
+                        f != h.readyState && a(h),
+                        f = h.readyState))
+                    }
                 }
                 ,
-                W[P("0x1d2")][P("0x2c4")] = function (e) {
-                    var i = e[0]
-                        , r = e[1]
-                        , n = e[2]
-                        , o = W[P("0x1d2")][P("0x2c1")](0, i, r, n)[0]
-                        , a = W[P("0x1d2")][P("0x2c6")](i, r, n);
-                    if (Math[P("0xca")](a[0] * a[0] + a[1] * a[1]) > W[P("0x1e1")][P("0x2c2")])
-                        var s = W.PlotUtils.mid(i, r)
-                            , x = i[0] - s[0]
-                            , l = i[1] - s[1]
-                            , c = 2 / W[P("0x1d2")][P("0x8e")](i, r)
-                            , u = -c * l
-                            , h = c * x
-                            , f = u * u - h * h
-                            , d = 2 * u * h
-                            , g = h * h - u * u
-                            , p = o[0] - s[0]
-                            , m = o[1] - s[1]
-                            , b = s[0] + f * p + d * m
-                            , v = s[1] + d * p + g * m;
-                    else
-                        b = i[0] + t * (r[0] - i[0]),
-                            v = i[1] + t * (r[1] - i[1]);
-                    return [b, v]
+                o.prototype.send = function(e) {
+                    o.onsend && o.onsend.apply(this, arguments),
+                    arguments.length || (e = null),
+                    e && e.nodeType && (e = window.XMLSerializer ? (new window.XMLSerializer).serializeToString(e) : e.xml,
+                    this._headers["Content-Type"] || this._object.setRequestHeader("Content-Type", "application/xml")),
+                    this._data = e,
+                    function(e) {
+                        if (e._object.send(e._data),
+                        t && !e._async)
+                            for (e.readyState = o.OPENED,
+                            s(e); e.readyState < o.DONE; )
+                                if (e.readyState++,
+                                a(e),
+                                e._aborted)
+                                    return
+                    }(this)
                 }
                 ,
-                W[P("0x1d2")].getRightMostControlPoint = function (e) {
-                    var i = e[P("0x0")]
-                        , r = e[i - 3]
-                        , n = e[i - 2]
-                        , o = e[i - 1]
-                        , a = W[P("0x1d2")][P("0x2c1")](0, r, n, o)[1]
-                        , s = W.PlotUtils[P("0x2c6")](r, n, o);
-                    if (Math[P("0xca")](s[0] * s[0] + s[1] * s[1]) > W[P("0x1e1")].ZERO_TOLERANCE)
-                        var x = W.PlotUtils[P("0x1e5")](n, o)
-                            , l = o[0] - x[0]
-                            , c = o[1] - x[1]
-                            , u = 2 / W[P("0x1d2")][P("0x8e")](n, o)
-                            , h = -u * c
-                            , f = u * l
-                            , d = h * h - f * f
-                            , g = 2 * h * f
-                            , p = f * f - h * h
-                            , m = a[0] - x[0]
-                            , b = a[1] - x[1]
-                            , v = x[0] + d * m + g * b
-                            , C = x[1] + g * m + p * b;
-                    else
-                        v = o[0] + t * (n[0] - o[0]),
-                            C = o[1] + t * (n[1] - o[1]);
-                    return [v, C]
+                o.prototype.abort = function() {
+                    o.onabort && o.onabort.apply(this, arguments),
+                    this.readyState > o.UNSENT && (this._aborted = !0),
+                    this._object.abort(),
+                    x(this),
+                    this.readyState = o.UNSENT,
+                    delete this._data
                 }
                 ,
-                W[P("0x1d2")][P("0x1d6")] = function (e) {
-                    if (e[P("0x0")] <= 2)
-                        return e;
-                    for (var t = [], i = e[P("0x0")] - 1, r = 0; r <= 1; r += .01) {
-                        for (var n = y = 0, o = 0; o <= i; o++) {
-                            var a = W[P("0x1d2")][P("0x2c7")](i, o)
-                                , s = Math[P("0x2ae")](r, o)
-                                , x = Math[P("0x2ae")](1 - r, i - o);
-                            n += a * s * x * e[o][0],
-                                y += a * s * x * e[o][1]
+                o.prototype.getAllResponseHeaders = function() {
+                    return this._object.getAllResponseHeaders()
+                }
+                ,
+                o.prototype.getResponseHeader = function(e) {
+                    return this._object.getResponseHeader(e)
+                }
+                ,
+                o.prototype.setRequestHeader = function(e, t) {
+                    return this._headers || (this._headers = {}),
+                    this._headers[e] = t,
+                    this._object.setRequestHeader(e, t)
+                }
+                ,
+                o.prototype.addEventListener = function(e, t, i) {
+                    for (var r, n = 0; r = this._listeners[n]; n++)
+                        if (r[0] == e && r[1] == t && r[2] == i)
+                            return;
+                    this._listeners.push([e, t, i])
+                }
+                ,
+                o.prototype.removeEventListener = function(e, t, i) {
+                    for (var r, n = 0; (r = this._listeners[n]) && (r[0] != e || r[1] != t || r[2] != i); n++)
+                        ;
+                    r && this._listeners.splice(n, 1)
+                }
+                ,
+                o.prototype.dispatchEvent = function(e) {
+                    var t = {
+                        type: e.type,
+                        target: this,
+                        currentTarget: this,
+                        eventPhase: 2,
+                        bubbles: e.bubbles,
+                        cancelable: e.cancelable,
+                        timeStamp: e.timeStamp,
+                        stopPropagation: function() {},
+                        preventDefault: function() {},
+                        initEvent: function() {}
+                    };
+                    "readystatechange" == t.type && this.onreadystatechange && (this.onreadystatechange.handleEvent || this.onreadystatechange).apply(this, [t]);
+                    for (var i, r = 0; i = this._listeners[r]; r++)
+                        i[0] != t.type || i[2] || (i[1].handleEvent || i[1]).apply(this, [t])
+                }
+                ,
+                o.prototype.toString = function() {
+                    return "[object XMLHttpRequest]"
+                }
+                ,
+                o.toString = function() {
+                    return "[XMLHttpRequest]"
+                }
+                ,
+                window.Function.prototype.apply || (window.Function.prototype.apply = function(e, t) {
+                    t || (t = []),
+                    e.__func = this,
+                    e.__func(t[0], t[1], t[2], t[3], t[4]),
+                    delete e.__func
+                }
+                ),
+                GeoGlobe.Request || (GeoGlobe.Request = {}),
+                GeoGlobe.Request.XMLHttpRequest = o
+            }(),
+            GeoGlobe.Lang = {
+                code: null,
+                defaultCode: "zh-CN",
+                getCode: function() {
+                    return GeoGlobe.Lang.code || GeoGlobe.Lang.setCode(),
+                    GeoGlobe.Lang.code
+                },
+                setCode: function(e) {
+                    var t;
+                    e || (e = "msie" == GeoGlobe.BROWSER_NAME ? navigator.userLanguage : navigator.language);
+                    var i = e.split("-");
+                    if (i[0] = i[0].toLowerCase(),
+                    "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(GeoGlobe.Lang[i[0]]) && (t = i[0]),
+                    i[1]) {
+                        var r = i[0] + "-" + i[1].toUpperCase();
+                        "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(GeoGlobe.Lang[r]) && (t = r)
+                    }
+                    t || (GeoGlobe.Console.warn("Failed to find GeoGlobe.Lang." + i.join("-") + " dictionary, falling back to default language"),
+                    t = GeoGlobe.Lang.defaultCode),
+                    GeoGlobe.Lang.code = t
+                },
+                translate: function(e, t) {
+                    var i = GeoGlobe.Lang[GeoGlobe.Lang.getCode()]
+                      , r = i && i[e];
+                    return r || (r = e),
+                    t && (r = GeoGlobe.String.format(r, t)),
+                    r
+                }
+            },
+            GeoGlobe.i18n = GeoGlobe.Lang.translate,
+            GeoGlobe.Lang.en = {
+                unhandledRequest: "Unhandled request return ${statusText}",
+                end: ""
+            },
+            GeoGlobe.Lang["zh-CN"] = {
+                unhandledRequest: "鏈鐞嗙殑璇锋眰锛岃繑鍥炲�间负 ${statusText}",
+                end: ""
+            },
+            GeoGlobe.String = {
+                startsWith: function(e, t) {
+                    return 0 == e.indexOf(t)
+                },
+                contains: function(e, t) {
+                    return -1 != e.indexOf(t)
+                },
+                trim: function(e) {
+                    return e.replace(/^\s\s*/, "").replace(/\s\s*$/, "")
+                },
+                camelize: function(e) {
+                    for (var t = e.split("-"), i = t[0], r = 1, n = t.length; r < n; r++) {
+                        var o = t[r];
+                        i += o.charAt(0).toUpperCase() + o.substring(1)
+                    }
+                    return i
+                },
+                format: function(e, t, i) {
+                    return t || (t = window),
+                    e.replace(GeoGlobe.String.tokenRegEx, (function(e, r) {
+                        for (var n, o = r.split(/\.+/), a = 0; a < o.length && (0 == a && (n = t),
+                        void 0 !== n); a++)
+                            n = n[o[a]];
+                        return "function" == typeof n && (n = i ? n.apply(null, i) : n()),
+                        void 0 === n ? "undefined" : n
+                    }
+                    ))
+                },
+                tokenRegEx: /\$\{([\w.]+?)\}/g,
+                numberRegEx: /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/,
+                isNumeric: function(e) {
+                    return GeoGlobe.String.numberRegEx.test(e)
+                },
+                numericIf: function(e, t) {
+                    var i = e;
+                    return !0 === t && null != e && e.replace && (e = e.replace(/^\s*|\s*$/g, "")),
+                    GeoGlobe.String.isNumeric(e) ? _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e) : i
+                }
+            },
+            GeoGlobe.Number = {
+                decimalSeparator: ".",
+                thousandsSeparator: ",",
+                limitSigDigs: function(e, t) {
+                    var i = 0;
+                    return t > 0 && (i = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.toPrecision(t))),
+                    i
+                },
+                format: function(e, t, i, r) {
+                    t = void 0 !== t ? t : 0,
+                    i = void 0 !== i ? i : GeoGlobe.Number.thousandsSeparator,
+                    r = void 0 !== r ? r : GeoGlobe.Number.decimalSeparator,
+                    null != t && (e = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.toFixed(t)));
+                    var n = e.toString().split(".");
+                    1 == n.length && null == t && (t = 0);
+                    var o, a = n[0];
+                    if (i)
+                        for (var s = /(-?[0-9]+)([0-9]{3})/; s.test(a); )
+                            a = a.replace(s, "$1" + i + "$2");
+                    if (0 == t)
+                        o = a;
+                    else {
+                        var x = n.length > 1 ? n[1] : "0";
+                        null != t && (x += new Array(t - x.length + 1).join("0")),
+                        o = a + r + x
+                    }
+                    return o
+                },
+                zeroPad: function(e, t, i) {
+                    for (var r = e.toString(i || 10); r.length < t; )
+                        r = "0" + r;
+                    return r
+                }
+            },
+            GeoGlobe.Function = {
+                bind: function(e, t) {
+                    var i = Array.prototype.slice.apply(arguments, [2]);
+                    return function() {
+                        var r = i.concat(Array.prototype.slice.apply(arguments, [0]));
+                        return e.apply(t, r)
+                    }
+                },
+                bindAsEventListener: function(e, t) {
+                    return function(i) {
+                        return e.call(t, i || window.event)
+                    }
+                },
+                False: function() {
+                    return !1
+                },
+                True: function() {
+                    return !0
+                },
+                Void: function() {}
+            },
+            GeoGlobe.Array = {
+                filter: function(e, t, i) {
+                    var r = [];
+                    if (Array.prototype.filter)
+                        r = e.filter(t, i);
+                    else {
+                        var n = e.length;
+                        if ("function" != typeof t)
+                            throw new TypeError;
+                        for (var o = 0; o < n; o++)
+                            if (o in e) {
+                                var a = e[o];
+                                t.call(i, a, o, e) && r.push(a)
+                            }
+                    }
+                    return r
+                }
+            },
+            String.prototype.endsWith || (String.prototype.endsWith = function(e, t) {
+                var i = this.toString();
+                ("number" != typeof t || !isFinite(t) || Math.floor(t) !== t || t > i.length) && (t = i.length),
+                t -= e.length;
+                var r = i.lastIndexOf(e, t);
+                return -1 !== r && r === t
+            }
+            ),
+            GeoGlobe.Date = {
+                dateRegEx: /^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:(?:T(\d{1,2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(?:[+-]\d{1,2}(?::(\d{2}))?)))|Z)?$/,
+                toISOString: "toISOString"in Date.prototype ? function(e) {
+                    return e.toISOString()
+                }
+                : function(e) {
+                    return isNaN(e.getTime()) ? "Invalid Date" : e.getUTCFullYear() + "-" + GeoGlobe.Number.zeroPad(e.getUTCMonth() + 1, 2) + "-" + GeoGlobe.Number.zeroPad(e.getUTCDate(), 2) + "T" + GeoGlobe.Number.zeroPad(e.getUTCHours(), 2) + ":" + GeoGlobe.Number.zeroPad(e.getUTCMinutes(), 2) + ":" + GeoGlobe.Number.zeroPad(e.getUTCSeconds(), 2) + "." + GeoGlobe.Number.zeroPad(e.getUTCMilliseconds(), 3) + "Z"
+                }
+                ,
+                parse: function(e) {
+                    var t, i = e.match(this.dateRegEx);
+                    if (i && (i[1] || i[7])) {
+                        var r = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[1], 10) || 0
+                          , n = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[2], 10) - 1 || 0
+                          , o = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[3], 10) || 1;
+                        t = new Date(Date.UTC(r, n, o));
+                        var a = i[7];
+                        if (a) {
+                            var s = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[4], 10)
+                              , x = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[5], 10)
+                              , l = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(i[6])
+                              , c = 0 | l
+                              , u = Math.round(1e3 * (l - c));
+                            if (t.setUTCHours(s, x, c, u),
+                            "Z" !== a) {
+                                var h = -1e3 * (60 * _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(a, 10) * 60 + 60 * (_babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[8], 10) || 0));
+                                t = new Date(t.getTime() + h)
+                            }
                         }
-                        t.push([n, y])
-                    }
-                    return t[P("0x17c")](e[i]),
-                        t
-                }
-                ,
-                W.PlotUtils[P("0x2c7")] = function (e, t) {
-                    return W[P("0x1d2")][P("0x2c8")](e) / (W[P("0x1d2")][P("0x2c8")](t) * W[P("0x1d2")][P("0x2c8")](e - t))
-                }
-                ,
-                W[P("0x1d2")][P("0x2c8")] = function (e) {
-                    if (e <= 1)
-                        return 1;
-                    if (2 == e)
-                        return 2;
-                    if (3 == e)
-                        return 6;
-                    if (4 == e)
-                        return 24;
-                    if (5 == e)
-                        return 120;
-                    for (var t = 1, i = 1; i <= e; i++)
-                        t *= i;
+                    } else
+                        t = new Date("invalid");
                     return t
                 }
-                ,
-                W[P("0x1d2")].getQBSplinePoints = function (e) {
-                    if (e[P("0x0")] <= 2)
-                        return e;
-                    var t = []
-                        , i = e[P("0x0")] - 2 - 1;
-                    t[P("0x17c")](e[0]);
-                    for (var r = 0; r <= i; r++)
-                        for (var n = 0; n <= 1; n += .05) {
-                            for (var o = y = 0, a = 0; a <= 2; a++) {
-                                var s = W[P("0x1d2")][P("0x2c9")](a, n);
-                                o += s * e[r + a][0],
-                                    y += s * e[r + a][1]
+            },
+            function(e) {
+                "object" == ("undefined" == typeof exports ? "undefined" : _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(exports)) && void 0 !== module ? module.exports = e() : "function" == typeof define && __webpack_require__(121) ? define([], e) : ("undefined" != typeof window ? window : void 0 !== global ? global : "undefined" != typeof self ? self : this)._GeoGlobe = e()
+            }((function() {
+                return function e(t, i, r) {
+                    function n(a, s) {
+                        if (!i[a]) {
+                            if (!t[a]) {
+                                if (!s && ("function" == typeof require && require))
+                                    return require(a, !0);
+                                if (o)
+                                    return o(a, !0);
+                                var x = new Error("Cannot find module '" + a + "'");
+                                throw x.code = "MODULE_NOT_FOUND",
+                                x
                             }
-                            t.push([o, y])
-                        }
-                    return t[P("0x17c")](e[e[P("0x0")] - 1]),
-                        t
-                }
-                ,
-                W[P("0x1d2")][P("0x2c9")] = function (e, t) {
-                    return 0 == e ? Math[P("0x2ae")](t - 1, 2) / 2 : 1 == e ? (-2 * Math[P("0x2ae")](t, 2) + 2 * t + 1) / 2 : 2 == e ? Math[P("0x2ae")](t, 2) / 2 : 0
-                }
-                ,
-                W[P("0x1e1")] = {
-                    TWO_PI: 2 * Math.PI,
-                    HALF_PI: Math.PI / 2,
-                    FITTING_COUNT: 100,
-                    ZERO_TOLERANCE: 1e-4
-                },
-                function (e) {
-                    var t = e[P("0x2ca")] = function (t, i) {
-                        this.viewer = t[P("0x13b")],
-                            this.color = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")][P("0x196")].withAlpha(.5),
-                            this[P("0x197")] = t.lineWidth ? t[P("0x197")] : 2,
-                            this.scene = this[P("0x13b")][P("0x10f")],
-                            this.camera = this[P("0x13b")][P("0x7e")],
-                            this[P("0x48")] = this[P("0x10f")][P("0x48")],
-                            this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
-                            this[P("0xef")] = this[P("0x10f")][P("0xa3")].ellipsoid,
-                            this[P("0x1a9")] = 0,
-                            this[P("0x2cb")] = [],
-                            this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = 0; i < t.length; i++)
-                            t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)),
-                                i--)
-                    }
-                    function r(e, t) {
-                        for (var i = t[P("0x190")], r = 0; r < i[P("0x0")]; r++)
-                            i[r][P("0x2cc")] == e && (t[P("0x17f")](i[r]),
-                                r--)
-                    }
-                    function n(t, i, r, n) {
-                        var o = t.add(new (e[P("0x1a5")]));
-                        o[P("0x176")] = "MeasureAreaWidget_result_labelArea",
-                            o.tag = P("0x2d8") + n,
-                            o[P("0x6d")]({
-                                text: i,
-                                font: P("0x1a0"),
-                                showBackground: !0,
-                                disableDepthTestDistance: Number.POSITIVE_INFINITY
-                            }),
-                            o[P("0x187")](o[P("0x0")] - 1).position = r[r[P("0x0")] - 1]
-                    }
-                    t[P("0x5")][P("0x198")] = function () {
-                        if (this.count++,
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                            !this[P("0x16f")]) {
-                            this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
-                                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = "crosshair";
-                            var t, i, r, n = this, o = [];
-                            this._array_ = o,
-                                this[P("0x1aa")] = t,
-                                this[P("0x173")] = i,
-                                this.handler[P("0x160")]((function (i) {
-                                    if (n.lastP = i,
-                                        1 == n[P("0xd3")])
-                                        var a = n.camera[P("0x86")](i[P("0x8c")])
-                                            , s = n[P("0x10f")][P("0xa3")][P("0xa4")](a, n[P("0x10f")]);
-                                    else
-                                        s = n[P("0x10f")][P("0x174")](i.position);
-                                    s && (o[P("0x17c")](s),
-                                        1 == o[P("0x0")] && ((t = n[P("0x17d")][P("0x6d")](new e.PolylineCollection)).name = "MeasureAreaWidget_draw_polyline",
-                                            t[P("0x2cc")] = P("0x2ca") + "_" + n[P("0x1a9")],
-                                            t[P("0x6d")]({
-                                                polyline: {}
-                                            }),
-                                            t[P("0x187")](t[P("0x0")] - 1)[P("0x19a")] = n[P("0x197")],
-                                            t[P("0x187")](t[P("0x0")] - 1).loop = !0,
-                                            t[P("0x187")](t.length - 1)[P("0x19c")][P("0x19d")][P("0x169")] = n[P("0x169")],
-                                            t[P("0x187")](t[P("0x0")] - 1).positions = o),
-                                        3 <= o[P("0x0")] && (t.get(t[P("0x0")] - 1).positions = o,
-                                            /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator[P("0x2cd")]) && n.measureEnd()),
-                                        n[P("0x1aa")] = t,
-                                        /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator[P("0x2cd")]) && ((r = n.primitives.add(new (e[P("0x1a4")]))).name = P("0x2ce"),
-                                            r[P("0x2cc")] = "MeasureAreaWidget_" + n[P("0x1a9")],
-                                            r.add({
-                                                position: s,
-                                                color: e[P("0x16a")][P("0x2cf")],
-                                                outlineColor: e.Color[P("0x16b")],
-                                                outlineWidth: 1,
-                                                pixelSize: 5
-                                            })))
-                                }
-                                ), e[P("0x161")].LEFT_CLICK),
-                                this[P("0x16f")][P("0x160")]((function (r) {
-                                    if (!/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) {
-                                        if (1 == n[P("0xd3")])
-                                            var a = n[P("0x7e")][P("0x86")](r[P("0x64")])
-                                                , s = n.scene[P("0xa3")][P("0xa4")](a, n[P("0x10f")]);
-                                        else
-                                            s = n[P("0x10f")][P("0x174")](r[P("0x64")]);
-                                        if (!s)
-                                            return void (i && (n[P("0x17d")][P("0x17f")](i),
-                                                i = null));
-                                        if (1 <= o[P("0x0")]) {
-                                            var x = o.concat();
-                                            x.push(s),
-                                                t[P("0x187")](t.length - 1)[P("0x19f")] = x
-                                        }
-                                        i ? i[P("0x187")](i[P("0x0")] - 1)[P("0x8c")] = s : ((i = n[P("0x17d")][P("0x6d")](new (e[P("0x1a5")])))[P("0x176")] = P("0x2d0"),
-                                            i[P("0x2cc")] = P("0x2ca") + "_" + n[P("0x1a9")],
-                                            i[P("0x6d")]({
-                                                text: "宸﹂敭鍗曞嚮寮�濮嬬粯鍒讹紝鍙抽敭鍗曞嚮缁撴潫缁樺埗",
-                                                font: P("0x1a0"),
-                                                showBackground: !0,
-                                                pixelOffset: new (e[P("0x10")])(10, 10),
-                                                disableDepthTestDistance: Number[P("0x31")]
-                                            }),
-                                            i[P("0x187")](i.length - 1).position = s),
-                                            n[P("0x173")] = i
-                                    }
-                                }
-                                ), e[P("0x161")][P("0x163")]),
-                                this.handler[P("0x160")]((function (e) {
-                                    n[P("0x2d1")](),
-                                        n[P("0x16f")] = n[P("0x16f")] && n[P("0x16f")].destroy(),
-                                        n[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x18c")
-                                }
-                                ), e[P("0x161")][P("0x189")])
-                        }
-                    }
-                        ,
-                        t.prototype[P("0x2d2")] = function (t) {
-                            this.handler = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this.handler = new e.ScreenSpaceEventHandler(this[P("0x48")]);
-                            var i = this;
-                            this[P("0x16f")].setInputAction((function (t) {
-                                var r = i[P("0x13b")][P("0x10f")].pick(t.position);
-                                r && r.id && r.id && -1 < r.id[P("0x2cc")][P("0x2d3")](P("0x2ca")) && r.id[P("0x2d4")] && (r.id.polygon[P("0x19c")] = e[P("0x16a")][P("0x2d5")],
-                                    i.tags.push(r.id[P("0x2cc")]))
-                            }
-                            ), e[P("0x161")][P("0x17e")])
-                        }
-                        ,
-                        t[P("0x5")][P("0x2d6")] = function () {
-                            if (this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x13b")].canvas.style[P("0x170")] = P("0x18c"),
-                                this.tags && 0 < this.tags.length)
-                                for (var e = 0; e < this[P("0x2cb")][P("0x0")]; e++)
-                                    i(this[P("0x2cb")][e], this[P("0x17d")]),
-                                        r(this[P("0x2cb")][e], this[P("0x13b")][P("0x194")])
-                        }
-                        ,
-                        t.prototype[P("0x2d1")] = function (t) {
-                            if (null != this[P("0x172")] && 0 != this[P("0x172")][P("0x0")]) {
-                                if (this[P("0x173")] && (this.primitives[P("0x17f")](this[P("0x173")]),
-                                    this[P("0x173")] = null),
-                                    t = t || this[P("0x18b")],
-                                    1 == this[P("0xd3")])
-                                    var i = this[P("0x7e")][P("0x86")](t.position)
-                                        , r = this[P("0x10f")][P("0xa3")][P("0xa4")](i, this[P("0x10f")]);
-                                else
-                                    r = this[P("0x10f")][P("0x174")](t[P("0x8c")]);
-                                if (r) {
-                                    this[P("0x172")][P("0x17c")](r),
-                                        this[P("0x1aa")][P("0x187")](this._polylines_[P("0x0")] - 1).material.uniforms[P("0x169")] = e[P("0x16a")][P("0x196")].withAlpha(0),
-                                        this[P("0x13b")].entities[P("0x6d")]({
-                                            name: P("0x2d7"),
-                                            tag: P("0x2d8") + this[P("0x1a9")],
-                                            polygon: {
-                                                hierarchy: {
-                                                    positions: this._array_
-                                                },
-                                                material: this[P("0x169")],
-                                                perPositionHeight: !1
-                                            }
-                                        });
-                                    for (var o = [], a = 0; a < this._array_[P("0x0")]; a++) {
-                                        var s = e.Cartographic[P("0x175")](this[P("0x172")][a])
-                                            , x = e[P("0x23")][P("0x113")](s.longitude)
-                                            , l = e.Math[P("0x113")](s[P("0x114")]);
-                                        o[P("0x17c")]([x, l])
-                                    }
-                                    o[P("0x17c")](o[0]);
-                                    var c, u = turf[P("0x2d4")]([o]), h = turf[P("0x2d9")](u);
-                                    c = h < 1e6 ? "鎬婚潰绉細" + h.toFixed(2) + "m虏" : "鎬婚潰绉細" + (h / 1e6)[P("0x2af")](2) + P("0x2da"),
-                                        /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator[P("0x2cd")]) ? 4 < this[P("0x17d")][P("0x0")] ? (this.primitives.remove(this[P("0x17d")][P("0x187")](this[P("0x17d")][P("0x0")] - 2)),
-                                            n(this.primitives, c, this[P("0x172")])) : n(this[P("0x17d")], c, this[P("0x172")]) : (n(this[P("0x17d")], c, this[P("0x172")], this[P("0x1a9")]),
-                                                this[P("0x1a9")]++)
-                                }
-                            }
-                        }
-                        ,
-                        t[P("0x5")].clear = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                function (e, t) {
-                                    for (var i = 0; i < t[P("0x0")]; i++)
-                                        t[P("0x187")](i)[P("0x176")] && -1 < t[P("0x187")](i)[P("0x176")].indexOf("MeasureAreaWidget") && (t.remove(t[P("0x187")](i)),
-                                            i--)
-                                }(0, this[P("0x17d")]),
-                                function (e, t) {
-                                    for (var i = t[P("0x190")], r = 0; r < i[P("0x0")]; r++)
-                                        i[r][P("0x176")] && -1 < i[r][P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](i[r]),
-                                            r--)
-                                }(P("0x2ca"), this[P("0x13b")][P("0x194")])
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x2db")] = function (e) {
-                        this[P("0x13b")] = e.viewer,
-                            this.scene = this.viewer[P("0x10f")],
-                            this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
-                            this[P("0x48")] = this.scene[P("0x48")],
-                            this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
-                            this[P("0x194")] = this[P("0x13b")].entities,
-                            this[P("0xef")] = this[P("0x10f")][P("0xa3")][P("0xef")],
-                            this[P("0x1a9")] = 0,
-                            this[P("0x2cb")] = [],
-                            this.mode = e[P("0xd3")] ? e[P("0xd3")] : 1
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = t[P("0x190")], r = 0; r < i.length; r++)
-                            i[r][P("0x2cc")] == e && (t[P("0x17f")](i[r]),
-                                r--)
-                    }
-                    function r(e, t) {
-                        for (var i = 0; i < t.length; i++)
-                            t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)),
-                                i--)
-                    }
-                    t.prototype.activate = function () {
-                        this[P("0x1a9")]++,
-                            this[P("0x16f")] && (this[P("0x16f")] = this.handler && this.handler.destroy()),
-                            this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
-                            this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x171"),
-                            this[P("0x2dc")]();
-                        var t, i, r, n = this, o = [], a = [];
-                        this._array_ = o;
-                        var s = this[P("0x17d")][P("0x6d")](new e.LabelCollection);
-                        s[P("0x176")] = P("0x2dd"),
-                            s[P("0x2cc")] = "MeasureAzimuthWidget_" + this[P("0x1a9")],
-                            s[P("0x6d")]({
-                                style: e.LabelStyle[P("0x2de")],
-                                outlineWidth: 2,
-                                text: "",
-                                font: P("0x2df"),
-                                showBackground: !1,
-                                backgroundColor: e[P("0x16a")][P("0x2e0")],
-                                pixelOffset: new (e[P("0x10")])(10, -15),
-                                disableDepthTestDistance: Number[P("0x31")]
-                            }),
-                            this[P("0x16f")][P("0x160")]((function (x) {
-                                if (2 == n[P("0xd3")]) {
-                                    var l = n[P("0x10f")][P("0xa4")](x[P("0x8c")]);
-                                    if (!l)
-                                        return;
-                                    if (!(l[P("0x182")] instanceof e[P("0x2e1")]))
-                                        return void console[P("0x2e2")]("璇风偣鍑绘ā鍨�");
-                                    var c = n[P("0x10f")].pickPosition(x[P("0x8c")])
-                                } else if (1 == n[P("0xd3")]) {
-                                    var u = n[P("0x7e")][P("0x86")](x[P("0x8c")]);
-                                    c = n[P("0x10f")].globe.pick(u, n[P("0x10f")])
-                                }
-                                if (c) {
-                                    var h = e.Cartographic[P("0x175")](c)
-                                        , f = e.Math[P("0x113")](h[P("0x112")])
-                                        , d = e.Math[P("0x113")](h[P("0x114")])
-                                        , g = h[P("0x8b")];
-                                    o[P("0x17c")](f),
-                                        o[P("0x17c")](d),
-                                        o.push(g),
-                                        3 === o.length ? (a.push(f),
-                                            a.push(d),
-                                            a.push(g),
-                                            t[P("0x187")](t.length - 1).text = P("0x2e3"),
-                                            i = n[P("0x194")].add({
-                                                name: P("0x2e4"),
-                                                tag: P("0x2e5") + n[P("0x1a9")],
-                                                polyline: {
-                                                    positions: e[P("0x11")][P("0x19e")](o),
-                                                    width: 10,
-                                                    material: new (e[P("0x2e6")])(e[P("0x16a")][P("0x2e7")]),
-                                                    clampToGround: !0
-                                                }
-                                            }),
-                                            n[P("0x2e8")] = i,
-                                            r = n[P("0x194")].add({
-                                                name: "MeasureAzimuthWidget_draw_polyline",
-                                                tag: P("0x2e5") + n[P("0x1a9")],
-                                                polyline: {
-                                                    positions: e[P("0x11")].fromDegreesArrayHeights(a),
-                                                    width: 3,
-                                                    material: new (e[P("0x2e9")])({
-                                                        color: e.Color[P("0x16b")]
-                                                    }),
-                                                    clampToGround: !0
-                                                }
-                                            }),
-                                            n[P("0x2ea")] = r) : 6 === o[P("0x0")] && (i[P("0x2eb")][P("0x19f")] = e[P("0x11")][P("0x19e")](o),
-                                                t && (n[P("0x17d")][P("0x17f")](t),
-                                                    t = null),
-                                                n.measureEnd(o, s),
-                                                o = [],
-                                                a = [],
-                                                r = i = null,
-                                                n[P("0x16f")] = n[P("0x16f")] && n[P("0x16f")][P("0xf4")](),
-                                                n[P("0x13b")][P("0x48")].style[P("0x170")] = P("0x18c"))
-                                }
-                            }
-                            ), e[P("0x161")][P("0x17e")]),
-                            this.handler[P("0x160")]((function (a) {
-                                if (2 == n[P("0xd3")])
-                                    var x = n[P("0x10f")][P("0x174")](a[P("0x64")]);
-                                else {
-                                    var l = n[P("0x7e")][P("0x86")](a[P("0x64")]);
-                                    x = n[P("0x10f")][P("0xa3")][P("0xa4")](l, n.scene)
-                                }
-                                if (x) {
-                                    var c = e[P("0x13")][P("0x175")](x)
-                                        , u = e[P("0x23")].toDegrees(c[P("0x112")])
-                                        , h = e[P("0x23")][P("0x113")](c[P("0x114")])
-                                        , f = c[P("0x8b")];
-                                    if (!/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) {
-                                        if (3 == o[P("0x0")]) {
-                                            var d = o[P("0x1d5")]()
-                                                , g = o.slice();
-                                            d[P("0x17c")](u),
-                                                d[P("0x17c")](h),
-                                                d[P("0x17c")](f),
-                                                i[P("0x2eb")][P("0x19f")] = e[P("0x11")].fromDegreesArrayHeights(d);
-                                            var p = turf[P("0x2ec")]([d[0], d[1]])
-                                                , m = turf[P("0x2ec")]([d[3], d[4]])
-                                                , b = 2 * turf[P("0x8e")](p, m) / 3
-                                                , v = turf[P("0x11d")](p, b, 0);
-                                            g[P("0x17c")](v[P("0x180")][P("0x2ed")][0]),
-                                                g[P("0x17c")](v[P("0x180")][P("0x2ed")][1]),
-                                                g[P("0x17c")](0),
-                                                r[P("0x2eb")][P("0x19f")] = e[P("0x11")][P("0x19e")](g),
-                                                n[P("0x2d1")](d, s)
-                                        }
-                                        t && 0 != t.length ? t.get(t.length - 1).position = e[P("0x11")][P("0x1a1")](u, h, f) : ((t = n[P("0x17d")][P("0x6d")](new e.LabelCollection)).name = "MeasureAzimuthWidget_draw_label",
-                                            t[P("0x2cc")] = P("0x2e5") + n[P("0x1a9")],
-                                            t[P("0x6d")]({
-                                                text: "鍗曞嚮寮�濮嬬粯鍒�",
-                                                font: P("0x2ee"),
-                                                showBackground: !0,
-                                                pixelOffset: new (e[P("0x10")])(10, 10),
-                                                disableDepthTestDistance: Number[P("0x31")]
-                                            }),
-                                            t[P("0x187")](t[P("0x0")] - 1)[P("0x8c")] = e[P("0x11")][P("0x1a1")](u, h, f))
-                                    }
-                                }
-                            }
-                            ), e[P("0x161")][P("0x163")])
-                    }
-                        ,
-                        t[P("0x5")][P("0x2d1")] = function (t, i) {
-                            var r = turf[P("0x2ec")]([t[0], t[1]])
-                                , n = turf[P("0x2ec")]([t[3], t[4]])
-                                , o = turf[P("0x11b")](r, n)
-                                , a = P("0x2ef") + o[P("0x2af")](2) + "掳";
-                            i[P("0x187")](i.length - 1)[P("0x8c")] = e[P("0x11")][P("0x1a1")](t[3], t[4], t[5]),
-                                i[P("0x187")](i[P("0x0")] - 1).text = a
-                        }
-                        ,
-                        t[P("0x5")][P("0x2f0")] = function () {
-                            this.viewer.infoBox && (this[P("0x13b")].infoBox[P("0x131")][P("0x150")][P("0x2f1")] = ""),
-                                this.viewer.selectionIndicator && (this[P("0x13b")][P("0x2f2")][P("0x131")][P("0x150")][P("0x2f1")] = "")
-                        }
-                        ,
-                        t.prototype.hideInfobox = function () {
-                            this[P("0x13b")][P("0x2f3")] && (this[P("0x13b")][P("0x2f3")][P("0x131")][P("0x150")].display = P("0x2b4")),
-                                this.viewer[P("0x2f2")] && (this[P("0x13b")][P("0x2f2")][P("0x131")][P("0x150")][P("0x2f1")] = P("0x2b4"))
-                        }
-                        ,
-                        t[P("0x5")].clear = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this.viewer.canvas[P("0x150")][P("0x170")] = P("0x18c"),
-                                function (e, t) {
-                                    for (var i = 0; i < t.length; i++)
-                                        t[P("0x187")](i)[P("0x176")] && -1 < t[P("0x187")](i)[P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](t[P("0x187")](i)),
-                                            i--)
-                                }(P("0x2db"), this[P("0x17d")]),
-                                function (e, t) {
-                                    for (var i = t[P("0x190")], r = 0; r < i[P("0x0")]; r++)
-                                        i[r][P("0x176")] && -1 < i[r].name.indexOf(e) && (t[P("0x17f")](i[r]),
-                                            r--)
-                                }(P("0x2db"), this[P("0x13b")].entities),
-                                this[P("0x2f0")]()
-                        }
-                        ,
-                        t[P("0x5")][P("0x2d2")] = function () {
-                            var t = this;
-                            this[P("0x16f")] || (this.handler = new (e[P("0x15f")])(this.canvas),
-                                this[P("0x16f")][P("0x160")]((function (i) {
-                                    var r = t[P("0x13b")][P("0x10f")][P("0xa4")](i.position);
-                                    r.id && r.id[P("0x2cc")] && -1 < r.id[P("0x2cc")][P("0x2d3")](P("0x2db")) && (t[P("0x2cb")][P("0x17c")](r.id[P("0x2cc")]),
-                                        r.id._polyline.material[P("0x169")] = e.Color[P("0x2d5")].withAlpha(.5))
-                                }
-                                ), e[P("0x161")][P("0x17e")]))
-                        }
-                        ,
-                        t[P("0x5")][P("0x2d6")] = function () {
-                            if (this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this.viewer.canvas[P("0x150")][P("0x170")] = P("0x18c"),
-                                this[P("0x2cb")] && 0 < this[P("0x2cb")][P("0x0")])
-                                for (var e = 0; e < this.tags[P("0x0")]; e++)
-                                    r(this.tags[e], this[P("0x17d")]),
-                                        i(this[P("0x2cb")][e], this[P("0x13b")][P("0x194")])
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x2f4")] = function (t, i) {
-                        this.viewer = t[P("0x13b")],
-                            this[P("0x169")] = t.color ? t.color : e[P("0x16a")][P("0x2d5")],
-                            this.pixelSize = t[P("0x1a3")] ? t[P("0x1a3")] : 10,
-                            this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
-                            this.camera = this.viewer[P("0x7e")],
-                            this[P("0x48")] = this[P("0x10f")][P("0x48")],
-                            this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
-                            this[P("0xef")] = this.scene.globe[P("0xef")],
-                            this[P("0x1a9")] = 0,
-                            this[P("0x2cb")] = [],
-                            this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = 0; i < t[P("0x0")]; i++)
-                            t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)),
-                                i--)
-                    }
-                    t[P("0x5")][P("0x198")] = function () {
-                        this.count++,
-                            this.handler && (this.handler = this.handler && this[P("0x16f")][P("0xf4")]()),
-                            this[P("0x16f")] = new (e[P("0x15f")])(this.canvas),
-                            this.viewer[P("0x48")][P("0x150")][P("0x170")] = P("0x171");
-                        var t, i, r = this, n = [];
-                        this[P("0x16f")][P("0x160")]((function (o) {
-                            if (2 == r.mode) {
-                                var a = r[P("0x10f")][P("0xa4")](o.position);
-                                if (!a)
-                                    return;
-                                if (!(a[P("0x182")] instanceof e[P("0x2e1")]))
-                                    return void console[P("0x2e2")](P("0x2f5"));
-                                var s = r[P("0x10f")].pickPosition(o.position)
-                            } else {
-                                var x = r[P("0x7e")][P("0x86")](o[P("0x8c")]);
-                                s = r.scene[P("0xa3")][P("0xa4")](x, r[P("0x10f")])
-                            }
-                            if (s) {
-                                n[0] = s,
-                                    t ? t.removeAll() : ((t = r[P("0x17d")][P("0x6d")](new e.PointPrimitiveCollection))[P("0x2cc")] = P("0x2f6") + r[P("0x1a9")],
-                                        t[P("0x176")] = P("0x2f7")),
-                                    t.add({
-                                        position: s,
-                                        color: r[P("0x169")],
-                                        pixelSize: r[P("0x1a3")]
-                                    }),
-                                    r.handler = r[P("0x16f")] && r[P("0x16f")].destroy(),
-                                    r[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                    i && (r[P("0x17d")][P("0x17f")](i),
-                                        i = null);
-                                var l, c, u, h, f, d = e.Cartographic[P("0x175")](n[0]), g = {
-                                    longitude: e[P("0x23")][P("0x113")](d[P("0x112")]),
-                                    latitude: e.Math[P("0x113")](d[P("0x114")]),
-                                    height: d[P("0x8b")]
-                                };
-                                l = r[P("0x17d")],
-                                    c = g,
-                                    u = n,
-                                    h = r[P("0x1a9")],
-                                    (f = l[P("0x6d")](new (e[P("0x1a5")])))[P("0x176")] = P("0x2f8"),
-                                    f[P("0x2cc")] = P("0x2f6") + h,
-                                    f[P("0x6d")]({
-                                        text: P("0x2f9") + c[P("0x112")][P("0x2af")](7) + "掳\n" + P("0x2fa") + c.latitude[P("0x2af")](7) + "掳\n" + P("0x2fb") + c.height.toFixed(2) + "m",
-                                        font: P("0x1a0"),
-                                        showBackground: !0,
-                                        pixelOffset: new (e[P("0x10")])(8, 0),
-                                        disableDepthTestDistance: Number[P("0x31")]
-                                    }),
-                                    f[P("0x187")](f[P("0x0")] - 1)[P("0x8c")] = u[u.length - 1]
-                            }
-                        }
-                        ), e[P("0x161")][P("0x1ff")])
-                    }
-                        ,
-                        t[P("0x5")].clear = function () {
-                            this.handler = this.handler && this.handler[P("0xf4")](),
-                                this[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x18c"),
-                                function (e, t) {
-                                    for (var i = 0; i < t[P("0x0")]; i++)
-                                        t[P("0x187")](i)[P("0x176")] && -1 < t.get(i)[P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](t[P("0x187")](i)),
-                                            i--)
-                                }(P("0x2f4"), this[P("0x17d")])
-                        }
-                        ,
-                        t[P("0x5")][P("0x2d2")] = function () {
-                            var t = this;
-                            this[P("0x16f")] || (this[P("0x16f")] = new e.ScreenSpaceEventHandler(this[P("0x48")]),
-                                this.handler[P("0x160")]((function (i) {
-                                    var r = t[P("0x13b")][P("0x10f")][P("0xa4")](i.position);
-                                    r && r.collection && r.collection[P("0x2cc")] && -1 < r[P("0x2fc")][P("0x2cc")][P("0x2d3")]("MeasureCoordinateWidget") && r[P("0x182")] && (t[P("0x2cb")][P("0x17c")](r[P("0x2fc")][P("0x2cc")]),
-                                        r[P("0x182")][P("0x169")] = e.Color.YELLOW.withAlpha(.5))
-                                }
-                                ), e.ScreenSpaceEventType.LEFT_CLICK))
-                        }
-                        ,
-                        t[P("0x5")][P("0x2d6")] = function (e) {
-                            if (this.handler = this.handler && this[P("0x16f")].destroy(),
-                                this[P("0x13b")][P("0x48")].style[P("0x170")] = P("0x18c"),
-                                this[P("0x2cb")] && 0 < this[P("0x2cb")][P("0x0")])
-                                for (var t = 0; t < this[P("0x2cb")][P("0x0")]; t++)
-                                    i(this[P("0x2cb")][t], this.primitives)
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x2fd")] = function (t, i) {
-                        this[P("0x13b")] = t[P("0x13b")],
-                            this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e.Color.CHARTREUSE[P("0x16c")](.5),
-                            this.lineWidth = t.lineWidth ? t[P("0x197")] : 2,
-                            this.scene = this.viewer[P("0x10f")],
-                            this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
-                            this[P("0x48")] = this[P("0x10f")].canvas,
-                            this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
-                            this[P("0x194")] = this[P("0x13b")].entities,
-                            this.ellipsoid = this[P("0x10f")][P("0xa3")].ellipsoid,
-                            this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1,
-                            this[P("0x1a9")] = 0,
-                            this[P("0x2cb")] = []
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = 0; i < t.length; i++)
-                            t[P("0x187")](i).tag == e && (t.remove(t.get(i)),
-                                i--)
-                    }
-                    function r(e, t) {
-                        for (var i = t[P("0x190")], r = 0; r < i.length; r++)
-                            i[r][P("0x2cc")] == e && (t[P("0x17f")](i[r]),
-                                r--)
-                    }
-                    t[P("0x5")][P("0x198")] = function () {
-                        var t = this;
-                        t[P("0x1a9")]++,
-                            this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
-                            this[P("0x13b")].canvas[P("0x150")].cursor = P("0x171");
-                        var i, r, n, o = [];
-                        this._array_ = o,
-                            this._polylines_ = i,
-                            this[P("0x173")] = r,
-                            this[P("0x16f")][P("0x160")]((function (r) {
-                                if (t[P("0x18b")] = r,
-                                    3 == t[P("0xd3")])
-                                    var a = t[P("0x10f")][P("0x174")](r[P("0x8c")]);
-                                else {
-                                    var s = t[P("0x7e")][P("0x86")](r[P("0x8c")]);
-                                    a = t[P("0x10f")][P("0xa3")][P("0xa4")](s, t[P("0x10f")])
-                                }
-                                if (a) {
-                                    var x = e.Cartographic[P("0x175")](a)
-                                        , l = e.Math[P("0x113")](x.longitude)
-                                        , c = e[P("0x23")].toDegrees(x[P("0x114")])
-                                        , u = x[P("0x8b")];
-                                    o.push(l),
-                                        o[P("0x17c")](c),
-                                        o[P("0x17c")](u),
-                                        3 == o[P("0x0")] && ((i = t[P("0x17d")][P("0x6d")](new (e[P("0x199")]))).tag = P("0x2fd") + "_" + t[P("0x1a9")],
-                                            i[P("0x176")] = "MeasureDistanceWidget_draw_polyline",
-                                            i[P("0x6d")]({
-                                                polyline: {}
-                                            }),
-                                            i[P("0x187")](i[P("0x0")] - 1)[P("0x19a")] = t[P("0x197")],
-                                            i.get(i[P("0x0")] - 1)[P("0x19c")][P("0x19d")][P("0x169")] = t[P("0x169")],
-                                            i[P("0x187")](i[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](o)),
-                                        3 < o[P("0x0")] && (i[P("0x187")](i[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](o)),
-                                        t._polylines_ = i,
-                                        (n = t[P("0x17d")][P("0x6d")](new (e[P("0x1a4")])))[P("0x2cc")] = P("0x2fd") + "_" + t[P("0x1a9")],
-                                        n[P("0x176")] = P("0x2fe"),
-                                        n[P("0x6d")]({
-                                            position: a,
-                                            color: e[P("0x16a")][P("0x2cf")],
-                                            outlineColor: e[P("0x16a")][P("0x16b")],
-                                            outlineWidth: 1,
-                                            pixelSize: t[P("0x1a3")]
-                                        }),
-                                        t[P("0x2ff")] = !1,
-                                        t[P("0x2d1")](r)
-                                }
-                            }
-                            ), e[P("0x161")][P("0x1ff")]),
-                            this[P("0x16f")][P("0x160")]((function (n) {
-                                if (3 == t[P("0xd3")])
-                                    var a = t[P("0x10f")].pickPosition(n.endPosition);
-                                else {
-                                    var s = t[P("0x7e")][P("0x86")](n[P("0x64")]);
-                                    a = t.scene[P("0xa3")][P("0xa4")](s, t[P("0x10f")])
-                                }
-                                if (!a)
-                                    return console[P("0x133")](P("0x300")),
-                                        void (r && (t.primitives[P("0x17f")](r),
-                                            r = null));
-                                var x = e[P("0x13")][P("0x175")](a)
-                                    , l = e.Math[P("0x113")](x[P("0x112")])
-                                    , c = e[P("0x23")][P("0x113")](x[P("0x114")])
-                                    , u = x[P("0x8b")];
-                                if (/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent))
-                                    r = null;
-                                else {
-                                    if (3 <= o.length) {
-                                        var h = o[P("0x1c6")]();
-                                        h[P("0x17c")](l),
-                                            h[P("0x17c")](c),
-                                            h.push(u),
-                                            i[P("0x187")](i[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](h)
-                                    }
-                                    r && 0 != r[P("0x0")] ? r[P("0x187")](r.length - 1)[P("0x8c")] = e[P("0x11")][P("0x1a1")](l, c, u) : ((r = t[P("0x17d")][P("0x6d")](new (e[P("0x1a5")]))).name = P("0x301"),
-                                        r[P("0x2cc")] = P("0x2fd") + "_" + t[P("0x1a9")],
-                                        r.add({
-                                            text: P("0x185"),
-                                            font: P("0x1a0"),
-                                            showBackground: !0,
-                                            pixelOffset: new (e[P("0x10")])(10, 10),
-                                            disableDepthTestDistance: Number[P("0x31")]
-                                        }),
-                                        r.get(r.length - 1)[P("0x8c")] = e.Cartesian3.fromDegrees(l, c, u))
-                                }
-                                t[P("0x173")] = r
-                            }
-                            ), e[P("0x161")].MOUSE_MOVE),
-                            this[P("0x16f")][P("0x160")]((function (i) {
-                                if (t.flag = !0,
-                                    i = t[P("0x18b")],
-                                    3 == t[P("0xd3")])
-                                    var r = t[P("0x10f")][P("0x174")](i.position);
-                                else {
-                                    var o = t.camera[P("0x86")](i.position);
-                                    r = t[P("0x10f")][P("0xa3")][P("0xa4")](o, t[P("0x10f")])
-                                }
-                                if (r) {
-                                    var a = e[P("0x13")][P("0x175")](r)
-                                        , s = e[P("0x23")][P("0x113")](a.longitude)
-                                        , x = e[P("0x23")][P("0x113")](a.latitude)
-                                        , l = a[P("0x8b")];
-                                    (n = t[P("0x17d")][P("0x6d")](new (e[P("0x1a4")])))[P("0x2cc")] = P("0x2fd") + "_" + t[P("0x1a9")],
-                                        n[P("0x176")] = P("0x2fe"),
-                                        n[P("0x6d")]({
-                                            position: r,
-                                            color: e[P("0x16a")][P("0x2cf")],
-                                            outlineColor: e.Color[P("0x16b")],
-                                            outlineWidth: 1,
-                                            pixelSize: t.pixelSize
-                                        }),
-                                        t._array_[P("0x17c")](s),
-                                        t[P("0x172")][P("0x17c")](x),
-                                        t._array_.push(l),
-                                        t[P("0x2d1")](i),
-                                        t[P("0x16f")] = t[P("0x16f")] && t[P("0x16f")][P("0xf4")](),
-                                        t.viewer.canvas[P("0x150")].cursor = "default",
-                                        t[P("0x172")] = [],
-                                        t[P("0x1aa")] = null
-                                }
-                            }
-                            ), e[P("0x161")][P("0x189")])
-                    }
-                        ,
-                        t.prototype[P("0x2d1")] = function (t) {
-                            if (null != this[P("0x172")] && 0 != this[P("0x172")][P("0x0")]) {
-                                if (/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator[P("0x2cd")]))
-                                    this[P("0x172")] = this[P("0x172")];
-                                else if (!t) {
-                                    console[P("0x133")](P("0x1ad")),
-                                        t = this[P("0x18b")];
-                                    var i = this[P("0x7e")][P("0x86")](t.position)
-                                        , r = this[P("0x10f")][P("0xa3")][P("0xa4")](i, this[P("0x10f")]);
-                                    if (!r)
-                                        return;
-                                    var n = e[P("0x13")].fromCartesian(r)
-                                        , o = e[P("0x23")][P("0x113")](n[P("0x112")])
-                                        , a = e[P("0x23")][P("0x113")](n[P("0x114")])
-                                        , s = n[P("0x8b")];
-                                    this[P("0x172")][this[P("0x172")][P("0x0")] - 1] == s && this._array_[this[P("0x172")][P("0x0")] - 2] == a && this._array_[this._array_[P("0x0")] - 3] == o ? this[P("0x172")] = this._array_ : (this[P("0x172")][P("0x17c")](o),
-                                        this._array_[P("0x17c")](a),
-                                        this[P("0x172")][P("0x17c")](s))
-                                }
-                                this._labels_ && (this[P("0x17d")][P("0x17f")](this[P("0x173")]),
-                                    this._labels_ = null);
-                                var x = this[P("0xd3")];
-                                if (2 == this[P("0xd3")]) {
-                                    var l = function (t, i) {
-                                        for (var r = [], n = 0; n < t[P("0x0")] / 3 - 1; n++) {
-                                            var o = 3 * n
-                                                , a = t[o]
-                                                , s = t[1 + o]
-                                                , x = t[2 + o]
-                                                , l = t[3 + o]
-                                                , c = t[4 + o]
-                                                , u = t[5 + o];
-                                            r[P("0x17c")](a),
-                                                r[P("0x17c")](s),
-                                                r[P("0x17c")](x);
-                                            for (var h = 0; h < 100; h++) {
-                                                var f = {
-                                                    longitude: e.Math.toRadians(a),
-                                                    latitude: e[P("0x23")].toRadians(s),
-                                                    height: x
-                                                }
-                                                    , d = {
-                                                        longitude: e.Math[P("0x119")](l),
-                                                        latitude: e[P("0x23")][P("0x119")](c),
-                                                        height: u
-                                                    }
-                                                    , g = e[P("0x23")][P("0x308")](f[P("0x112")], d[P("0x112")], .01 * (h + 1))
-                                                    , p = e[P("0x23")][P("0x308")](f[P("0x114")], d[P("0x114")], .01 * (h + 1))
-                                                    , m = {
-                                                        longitude: g,
-                                                        latitude: p
-                                                    }
-                                                    , b = i[P("0xa3")][P("0xed")](m);
-                                                r.push(e.Math[P("0x113")](g)),
-                                                    r[P("0x17c")](e.Math[P("0x113")](p)),
-                                                    r[P("0x17c")](b)
-                                            }
-                                            r[P("0x17c")](l),
-                                                r.push(c),
-                                                r.push(u)
-                                        }
-                                        return r
-                                    }(this[P("0x172")], this[P("0x10f")]);
-                                    this[P("0x1aa")][P("0x187")](this._polylines_[P("0x0")] - 1)[P("0x19c")][P("0x19d")].color = e[P("0x16a")].CHARTREUSE[P("0x16c")](0),
-                                        this[P("0x13b")].entities[P("0x6d")]({
-                                            tag: P("0x2fd") + "_" + this[P("0x1a9")],
-                                            name: P("0x302"),
-                                            polyline: {
-                                                positions: e.Cartesian3[P("0x19e")](l),
-                                                width: this[P("0x197")],
-                                                material: this.color
-                                            }
-                                        })
-                                }
-                                var c, u, h, f, d, g, p = e[P("0x11")][P("0x19e")](e[P("0x14")](l) ? l : this[P("0x172")]), m = 0;
-                                if (new (e[P("0x282")]),
-                                    1 == x || 3 == x) {
-                                    for (var b = 1; b < p[P("0x0")]; b++)
-                                        m += e[P("0x11")][P("0x8e")](p[b - 1], p[b]);
-                                    c = 0 == m ? "璧风偣" : 0 < m && m < 1e3 ? this[P("0x2ff")] ? P("0x303") + m.toFixed(2) + "m" : m[P("0x2af")](2) + "m" : this[P("0x2ff")] ? P("0x303") + (m / 1e3)[P("0x2af")](2) + "km" : (m / 1e3).toFixed(2) + "km"
-                                } else if (2 == x) {
-                                    for (b = 1; b < p.length; b++)
-                                        m += e[P("0x11")][P("0x8e")](p[b - 1], p[b]);
-                                    c = 0 == m ? "璧风偣" : 0 < m && m < 1e3 ? this[P("0x2ff")] ? P("0x303") + m[P("0x2af")](2) + "m" : m.toFixed(2) + "m" : this[P("0x2ff")] ? P("0x303") + (m / 1e3)[P("0x2af")](2) + "km" : (m / 1e3)[P("0x2af")](2) + "km"
-                                }
-                                u = this[P("0x1a9")],
-                                    f = c,
-                                    d = p,
-                                    (g = (h = this[P("0x17d")])[P("0x6d")](new (e[P("0x1a5")])))[P("0x176")] = "MeasureDistanceWidget_result_label",
-                                    g[P("0x2cc")] = P("0x2fd") + "_" + u,
-                                    g[P("0x6d")]({
-                                        text: f,
-                                        font: P("0x1a0"),
-                                        showBackground: !0,
-                                        backgroundColor: new (e[P("0x16a")])(1, 0, 0, .3),
-                                        pixelOffset: new (e[P("0x10")])(10, 10),
-                                        disableDepthTestDistance: Number[P("0x31")]
-                                    }),
-                                    g[P("0x187")](g[P("0x0")] - 1)[P("0x8c")] = d[d[P("0x0")] - 1],
-                                    3 < h[P("0x0")] && h[P("0x306")][h.length - 3].name == P("0x307") && (h[P("0x306")][h[P("0x0")] - 3]._labels[0].backgroundColor = new (e[P("0x16a")])(0, 1, 0, .3))
-                            }
-                        }
-                        ,
-                        t.prototype.clear = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this.handler[P("0xf4")](),
-                                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                function (e) {
-                                    for (var t = 0; t < e[P("0x0")]; t++)
-                                        e.get(t)[P("0x176")] && -1 < e.get(t).name[P("0x2d3")](P("0x2fd")) && (e.remove(e[P("0x187")](t)),
-                                            t--)
-                                }((P("0x1a7"),
-                                    this[P("0x17d")])),
-                                function (e) {
-                                    for (var t = e[P("0x190")], i = 0; i < t.length; i++)
-                                        t[i][P("0x176")] && -1 < t[i][P("0x176")][P("0x2d3")](P("0x2fd")) && (e[P("0x17f")](t[i]),
-                                            i--)
-                                }(this.viewer[P("0x194")])
-                        }
-                        ,
-                        t[P("0x5")][P("0x2d2")] = function () {
-                            var t = this;
-                            this[P("0x16f")] || (this[P("0x16f")] = new e.ScreenSpaceEventHandler(this[P("0x48")]),
-                                this.handler[P("0x160")]((function (i) {
-                                    var r = t.viewer[P("0x10f")].pick(i.position);
-                                    r && (r[P("0x182")][P("0x304")] && r[P("0x182")][P("0x304")][P("0x2cc")] && -1 < r[P("0x182")]._polylineCollection[P("0x2cc")].indexOf("MeasureDistanceWidget") && (t[P("0x2cb")][P("0x17c")](r[P("0x182")][P("0x304")].tag),
-                                        r[P("0x182")][P("0x19c")][P("0x19d")][P("0x169")] = e[P("0x16a")][P("0x2d5")].withAlpha(.5)),
-                                        r.id && r.id.tag && -1 < r.id[P("0x2cc")].indexOf(P("0x2fd")) && r.id[P("0x305")] && (t.tags[P("0x17c")](r.id.tag),
-                                            r.id._polyline[P("0x19c")][P("0x169")] = e[P("0x16a")][P("0x2d5")].withAlpha(.5)))
-                                }
-                                ), e[P("0x161")][P("0x17e")]))
-                        }
-                        ,
-                        t.prototype[P("0x2d6")] = function (e) {
-                            if (this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                this[P("0x2cb")] && 0 < this[P("0x2cb")][P("0x0")])
-                                for (var t = 0; t < this[P("0x2cb")][P("0x0")]; t++)
-                                    i(this[P("0x2cb")][t], this.primitives),
-                                        r(this[P("0x2cb")][t], this[P("0x13b")][P("0x194")])
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = e.MeasureElevationWidget = function (t, i) {
-                        this[P("0x13b")] = t[P("0x13b")],
-                            this.color = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")].YELLOW,
-                            this.pixelSize = t.pixelSize ? t[P("0x1a3")] : 10,
-                            this.scene = this.viewer[P("0x10f")],
-                            this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
-                            this[P("0x48")] = this[P("0x10f")].canvas,
-                            this.primitives = this[P("0x10f")][P("0x17d")],
-                            this[P("0xef")] = this.scene[P("0xa3")][P("0xef")],
-                            this.count = 0,
-                            this.tags = [],
-                            this.mode = t[P("0xd3")] ? t[P("0xd3")] : 1
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = 0; i < t[P("0x0")]; i++)
-                            t[P("0x187")](i)[P("0x2cc")] == e && (t.remove(t[P("0x187")](i)),
-                                i--)
-                    }
-                    t[P("0x5")][P("0x198")] = function () {
-                        this[P("0x1a9")]++,
-                            this[P("0x16f")] && (this.handler = this[P("0x16f")] && this.handler[P("0xf4")]()),
-                            this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
-                            this[P("0x13b")].canvas[P("0x150")].cursor = "crosshair";
-                        var t, i, r = this, n = [];
-                        this[P("0x16f")][P("0x160")]((function (o) {
-                            if (2 == r[P("0xd3")]) {
-                                var a = r[P("0x10f")][P("0xa4")](o[P("0x8c")]);
-                                if (!a)
-                                    return;
-                                if (!(a.primitive instanceof e.Cesium3DTileset))
-                                    return void console.warn(P("0x2f5"));
-                                var s = r[P("0x10f")][P("0x174")](o[P("0x8c")])
-                            } else {
-                                var x = r[P("0x7e")][P("0x86")](o[P("0x8c")]);
-                                s = r[P("0x10f")][P("0xa3")].pick(x, r[P("0x10f")])
-                            }
-                            if (s) {
-                                n[0] = s,
-                                    t ? t[P("0xf5")]() : ((t = r.primitives[P("0x6d")](new e.PointPrimitiveCollection))[P("0x2cc")] = P("0x309") + r[P("0x1a9")],
-                                        t[P("0x176")] = "MeasureElevationWidget_draw_point"),
-                                    t.add({
-                                        position: s,
-                                        color: r[P("0x169")],
-                                        pixelSize: r[P("0x1a3")]
-                                    }),
-                                    r[P("0x16f")] = r.handler && r[P("0x16f")][P("0xf4")](),
-                                    r[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x18c"),
-                                    i && (r[P("0x17d")][P("0x17f")](i),
-                                        i = null);
-                                var l, c, u, h, f, d = e[P("0x13")].fromCartesian(n[0])[P("0x8b")], g = P("0x30a") + d[P("0x2af")](2) + "m";
-                                l = r[P("0x17d")],
-                                    c = g,
-                                    u = n,
-                                    h = r.count,
-                                    (f = l[P("0x6d")](new e.LabelCollection))[P("0x176")] = P("0x30c"),
-                                    f[P("0x2cc")] = "MeasureElevationWidget_" + h,
-                                    f[P("0x6d")]({
-                                        text: c,
-                                        font: P("0x1a0"),
-                                        showBackground: !0,
-                                        pixelOffset: new (e[P("0x10")])(6, 2),
-                                        disableDepthTestDistance: Number[P("0x31")]
-                                    }),
-                                    f[P("0x187")](f[P("0x0")] - 1)[P("0x8c")] = u[u[P("0x0")] - 1]
-                            }
-                        }
-                        ), e[P("0x161")][P("0x1ff")])
-                    }
-                        ,
-                        t[P("0x5")][P("0x192")] = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                function (e, t) {
-                                    for (var i = 0; i < t[P("0x0")]; i++)
-                                        t.get(i)[P("0x176")] && -1 < t[P("0x187")](i)[P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](t[P("0x187")](i)),
-                                            i--)
-                                }(P("0x30b"), this[P("0x17d")])
-                        }
-                        ,
-                        t[P("0x5")][P("0x2d2")] = function () {
-                            var t = this;
-                            this[P("0x16f")] || (this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
-                                this.handler[P("0x160")]((function (i) {
-                                    var r = t[P("0x13b")][P("0x10f")].pick(i[P("0x8c")]);
-                                    r && r[P("0x2fc")] && r[P("0x2fc")][P("0x2cc")] && -1 < r[P("0x2fc")].tag.indexOf(P("0x30b")) && r.primitive && (t[P("0x2cb")][P("0x17c")](r[P("0x2fc")].tag),
-                                        r[P("0x182")][P("0x169")] = e[P("0x16a")].YELLOW.withAlpha(.5))
-                                }
-                                ), e[P("0x161")].LEFT_CLICK))
-                        }
-                        ,
-                        t[P("0x5")][P("0x2d6")] = function (e) {
-                            if (this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                this[P("0x2cb")] && 0 < this[P("0x2cb")].length)
-                                for (var t = 0; t < this[P("0x2cb")][P("0x0")]; t++)
-                                    i(this[P("0x2cb")][t], this.primitives)
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e.MeasureHeightWidget = function (t, i) {
-                        this[P("0x13b")] = t[P("0x13b")],
-                            this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")].CHARTREUSE[P("0x16c")](.5),
-                            this[P("0x197")] = t[P("0x197")] ? t.lineWidth : 2,
-                            this[P("0x10f")] = this.viewer[P("0x10f")],
-                            this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
-                            this.canvas = this[P("0x10f")][P("0x48")],
-                            this.primitives = this[P("0x10f")][P("0x17d")],
-                            this[P("0xef")] = this[P("0x10f")][P("0xa3")].ellipsoid,
-                            this[P("0x191")] = i || function () { }
-                            ,
-                            this[P("0x1a9")] = 0,
-                            this[P("0x2cb")] = [],
-                            this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1
-                    }
-                        ;
-                    function i(t, i, r, n) {
-                        var o = t[P("0x6d")](new (e[P("0x1a5")]));
-                        o[P("0x2cc")] = P("0x30d") + "_" + n,
-                            o[P("0x176")] = P("0x315"),
-                            o[P("0x6d")]({
-                                text: i,
-                                font: "16px sans-serif",
-                                showBackground: !0,
-                                disableDepthTestDistance: Number.POSITIVE_INFINITY
-                            }),
-                            o[P("0x187")](o[P("0x0")] - 1)[P("0x8c")] = e[P("0x11")].fromDegrees(r[r.length - 3], r[r[P("0x0")] - 2], r[r[P("0x0")] - 1])
-                    }
-                    function r(e, t) {
-                        for (var i = 0; i < t[P("0x0")]; i++)
-                            t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)),
-                                i--)
-                    }
-                    t[P("0x5")].activate = function () {
-                        if (this.count++,
-                            this.handler = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                            !this[P("0x16f")]) {
-                            this[P("0x16f")] = new (e[P("0x15f")])(this.canvas),
-                                this[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x171");
-                            var t, i, r = this, n = [];
-                            this[P("0x172")] = n,
-                                this[P("0x1aa")] = t,
-                                this[P("0x173")] = void 0,
-                                this[P("0x16f")][P("0x160")]((function (o) {
-                                    if (2 == r[P("0xd3")])
-                                        var a = r[P("0x10f")][P("0x174")](o[P("0x8c")]);
-                                    else {
-                                        var s = r[P("0x7e")].getPickRay(o[P("0x8c")]);
-                                        a = r.scene.globe.pick(s, r[P("0x10f")])
-                                    }
-                                    if (a) {
-                                        var x = e[P("0x13")][P("0x175")](a)
-                                            , l = e[P("0x23")][P("0x113")](x.longitude)
-                                            , c = e[P("0x23")].toDegrees(x[P("0x114")])
-                                            , u = x[P("0x8b")];
-                                        0 < n[P("0x0")] && (9 == n[P("0x0")] && (n[3] = l,
-                                            n[4] = c,
-                                            n[5] = u,
-                                            n[2] >= n[5] ? (n[6] = n[0],
-                                                n[7] = n[1],
-                                                n[8] = n[5]) : (n[6] = n[3],
-                                                    n[7] = n[4],
-                                                    n[8] = n[2]),
-                                            t[P("0x187")](t.length - 1).positions = e[P("0x11")][P("0x19e")](n)),
-                                            (i = r[P("0x17d")].add(new (e[P("0x1a4")])))[P("0x2cc")] = P("0x30d") + "_" + r.count,
-                                            i[P("0x176")] = P("0x30e"),
-                                            i[P("0x6d")]({
-                                                position: a,
-                                                color: r[P("0x169")],
-                                                pixelSize: r[P("0x1a3")]
-                                            }),
-                                            r[P("0x172")] = n,
-                                            r.measureEnd()),
-                                            0 == n.length && (n[P("0x17c")](l),
-                                                n[P("0x17c")](c),
-                                                n.push(u),
-                                                n[P("0x17c")](l),
-                                                n[P("0x17c")](c),
-                                                n[P("0x17c")](u),
-                                                n[P("0x17c")](l),
-                                                n.push(c),
-                                                n[P("0x17c")](u),
-                                                (t = r.primitives[P("0x6d")](new e.PolylineCollection))[P("0x2cc")] = P("0x30d") + "_" + r[P("0x1a9")],
-                                                t.name = P("0x30f"),
-                                                t[P("0x6d")]({
-                                                    polyline: {}
-                                                }),
-                                                t.get(t[P("0x0")] - 1)[P("0x19a")] = r[P("0x197")],
-                                                t.get(t[P("0x0")] - 1)[P("0x19b")] = !0,
-                                                t[P("0x187")](t[P("0x0")] - 1)[P("0x19c")].uniforms[P("0x169")] = r[P("0x169")],
-                                                t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](n),
-                                                (i = r.primitives[P("0x6d")](new e.PointPrimitiveCollection))[P("0x2cc")] = P("0x30d") + "_" + r.count,
-                                                i[P("0x176")] = P("0x30e"),
-                                                i[P("0x6d")]({
-                                                    position: a,
-                                                    color: r[P("0x169")],
-                                                    pixelSize: r[P("0x1a3")]
-                                                }))
-                                    }
-                                }
-                                ), e.ScreenSpaceEventType[P("0x17e")])
-                        }
-                    }
-                        ,
-                        t[P("0x5")][P("0x2d2")] = function (t) {
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]);
-                            var i = this;
-                            this[P("0x16f")][P("0x160")]((function (t) {
-                                var r = i.viewer[P("0x10f")].pick(t.position);
-                                r && r[P("0x2fc")] && r[P("0x2fc")][P("0x2cc")] && -1 < r[P("0x2fc")][P("0x2cc")][P("0x2d3")]("MeasureHeightWidget") && r[P("0x182")] && r.primitive instanceof e.Polyline && (r[P("0x182")].material[P("0x19d")][P("0x169")] = e.Color[P("0x310")],
-                                    i[P("0x2cb")][P("0x17c")](r[P("0x2fc")][P("0x2cc")]))
-                            }
-                            ), e[P("0x161")][P("0x17e")])
-                        }
-                        ,
-                        t.prototype[P("0x2d6")] = function (e) {
-                            if (this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                this[P("0x2cb")] && 0 < this.tags[P("0x0")])
-                                for (var t = 0; t < this[P("0x2cb")][P("0x0")]; t++)
-                                    r(this[P("0x2cb")][t], this.primitives)
-                        }
-                        ,
-                        t[P("0x5")].measureEnd = function () {
-                            var t;
-                            this[P("0x16f")] = this.handler && this[P("0x16f")].destroy(),
-                                this[P("0x13b")].canvas.style[P("0x170")] = P("0x18c"),
-                                this._labels_ && (this.primitives[P("0x17f")](this._labels_),
-                                    this[P("0x173")] = null),
-                                (x = [])[P("0x17c")]((this[P("0x172")][0] + this[P("0x172")][3]) / 2),
-                                x[P("0x17c")]((this[P("0x172")][1] + this[P("0x172")][4]) / 2),
-                                t = this[P("0x172")][2] >= this[P("0x172")][5] ? (x.push(this._array_[5]),
-                                    this._array_[5]) : (x.push(this[P("0x172")][2]),
-                                        this._array_[2]);
-                            var r = e.Cartesian3[P("0x1a1")](this[P("0x172")][0], this[P("0x172")][1], t)
-                                , n = e[P("0x11")].fromDegrees(this._array_[3], this[P("0x172")][4], t)
-                                , o = e[P("0x11")][P("0x8e")](r, n);
-                            a = o < 1e3 ? P("0x311") + o.toFixed(2) + "m" : P("0x311") + (o / 1e3)[P("0x2af")](2) + "km",
-                                i(this[P("0x17d")], a, x, this.count);
-                            var a, s = Math.abs(this._array_[2] - this[P("0x172")][5]), x = [];
-                            this[P("0x172")][2] >= this[P("0x172")][5] ? (x[P("0x17c")](this[P("0x172")][0]),
-                                x[P("0x17c")](this[P("0x172")][1])) : (x.push(this[P("0x172")][3]),
-                                    x.push(this[P("0x172")][4])),
-                                x[P("0x17c")]((this[P("0x172")][2] + this._array_[5]) / 2),
-                                a = s < 1e3 ? P("0x312") + s[P("0x2af")](2) + "m" : P("0x312") + (s / 1e3)[P("0x2af")](2) + "km",
-                                i(this[P("0x17d")], a, x, this[P("0x1a9")]),
-                                (x = []).push((this[P("0x172")][0] + this[P("0x172")][3]) / 2),
-                                x[P("0x17c")]((this[P("0x172")][1] + this[P("0x172")][4]) / 2),
-                                x[P("0x17c")]((this[P("0x172")][2] + this[P("0x172")][5]) / 2);
-                            var l = Math[P("0xca")](Math.pow(o, 2) + Math[P("0x2ae")](s, 2));
-                            a = l < 1e3 ? P("0x313") + l[P("0x2af")](2) + "m" : P("0x313") + (l / 1e3)[P("0x2af")](2) + "km",
-                                i(this.primitives, a, x, this[P("0x1a9")]),
-                                this[P("0x1a9")]++,
-                                this.callback(o, s, l, this._array_)
-                        }
-                        ,
-                        t[P("0x5")][P("0x192")] = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this.handler[P("0xf4")](),
-                                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                function (e) {
-                                    for (var t = 0; t < e[P("0x0")]; t++)
-                                        e[P("0x187")](t)[P("0x176")] && -1 < e[P("0x187")](t)[P("0x176")][P("0x2d3")](P("0x30d")) && (e[P("0x17f")](e.get(t)),
-                                            t--)
-                                }((P("0x314"),
-                                    this[P("0x17d")]))
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x316")] = function (t, i) {
-                        this[P("0x13c")] = t[P("0x13b")],
-                            this[P("0x42")] = this._viewer[P("0x10f")],
-                            this[P("0x317")] = this[P("0x13c")][P("0x7e")],
-                            this[P("0x318")] = this[P("0x42")][P("0x48")],
-                            this[P("0x306")] = this[P("0x42")][P("0x17d")],
-                            this[P("0x44")] = this[P("0x42")][P("0xa3")][P("0xef")],
-                            this[P("0x319")] = t[P("0x1b4")] ? t[P("0x1b4")] : e[P("0x16a")].AQUA[P("0x16c")](.5),
-                            this[P("0x31a")] = t[P("0x197")] ? t[P("0x197")] : 6,
-                            this[P("0x191")] = i || function () { }
-                            ,
-                            this[P("0xd3")] = t.mode ? t[P("0xd3")] : 1,
-                            this.count = 0,
-                            this[P("0x2cb")] = []
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = 0; i < t.length; i++)
-                            t.get(i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)),
-                                i--)
-                    }
-                    t.prototype[P("0x198")] = function () {
-                        if (this[P("0x1a9")]++,
-                            this.handler = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                            !this[P("0x16f")]) {
-                            this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
-                                this[P("0x13c")][P("0x48")][P("0x150")][P("0x170")] = P("0x171");
-                            var t, i, r = this, n = [];
-                            this[P("0x172")] = n,
-                                this.handler[P("0x160")]((function (o) {
-                                    if (2 == r.mode)
-                                        var a = r[P("0x42")][P("0x174")](o[P("0x8c")]);
-                                    else {
-                                        var s = r[P("0x317")][P("0x86")](o[P("0x8c")]);
-                                        a = r[P("0x42")][P("0xa3")][P("0xa4")](s, r[P("0x42")])
-                                    }
-                                    if (a) {
-                                        var x = e[P("0x13")][P("0x175")](a)
-                                            , l = e[P("0x23")].toDegrees(x[P("0x112")])
-                                            , c = e[P("0x23")][P("0x113")](x[P("0x114")])
-                                            , u = x.height;
-                                        n[P("0x17c")](l, c, u),
-                                            3 === n.length && (i[P("0x187")](i[P("0x0")] - 1)[P("0x31b")] = "鍗曞嚮缁撴潫缁樺埗",
-                                                (t = r[P("0x306")][P("0x6d")](new (e[P("0x199")])))[P("0x176")] = P("0x31c"),
-                                                t.tag = P("0x31d") + r[P("0x1a9")],
-                                                t[P("0x6d")]({
-                                                    positions: e[P("0x11")].fromDegreesArrayHeights(n),
-                                                    width: r[P("0x31a")],
-                                                    loop: !0,
-                                                    material: new (e[P("0x212")])({
-                                                        fabric: {
-                                                            type: P("0x31e"),
-                                                            uniforms: {
-                                                                color: r[P("0x319")]
-                                                            }
-                                                        }
-                                                    })
-                                                }),
-                                                t[P("0x6d")]({
-                                                    positions: e.Cartesian3.fromDegreesArrayHeights(n),
-                                                    width: r[P("0x31a")],
-                                                    loop: !0,
-                                                    material: new (e[P("0x212")])({
-                                                        fabric: {
-                                                            type: "PolylineArrow",
-                                                            uniforms: {
-                                                                color: r._lineColor
-                                                            }
-                                                        }
-                                                    })
-                                                })),
-                                            6 === n[P("0x0")] && (i && (r._primitives[P("0x17f")](i),
-                                                i = null),
-                                                r[P("0x2d1")](n, t),
-                                                r[P("0x16f")] = r[P("0x16f")] && r[P("0x16f")].destroy(),
-                                                r._viewer[P("0x48")].style[P("0x170")] = "default")
-                                    }
-                                }
-                                ), e[P("0x161")].LEFT_CLICK),
-                                this[P("0x16f")][P("0x160")]((function (o) {
-                                    if (2 == r[P("0xd3")])
-                                        var a = r[P("0x42")].pickPosition(o.endPosition);
-                                    else {
-                                        var s = r[P("0x317")][P("0x86")](o.endPosition);
-                                        a = r[P("0x42")][P("0xa3")][P("0xa4")](s, r[P("0x42")])
-                                    }
-                                    if (a) {
-                                        var x = e[P("0x13")][P("0x175")](a)
-                                            , l = e[P("0x23")][P("0x113")](x[P("0x112")])
-                                            , c = e[P("0x23")].toDegrees(x[P("0x114")])
-                                            , u = x[P("0x8b")];
-                                        if (!/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) {
-                                            if (3 == n[P("0x0")]) {
-                                                var h = n[P("0x1d5")]();
-                                                h[P("0x17c")](l, c, u),
-                                                    r.measureEnd(h, t)
-                                            }
-                                            i && 0 != i[P("0x0")] ? i[P("0x187")](i[P("0x0")] - 1).position = a : ((i = r[P("0x306")][P("0x6d")](new (e[P("0x1a5")])))[P("0x176")] = P("0x31f"),
-                                                i[P("0x2cc")] = "MeasureSlopeWidget_" + r.count,
-                                                i[P("0x6d")]({
-                                                    text: P("0x320"),
-                                                    font: P("0x2ee"),
-                                                    showBackground: !0,
-                                                    pixelOffset: new (e[P("0x10")])(10, 10),
-                                                    disableDepthTestDistance: Number[P("0x31")]
-                                                }),
-                                                i[P("0x187")](i.length - 1).position = a)
-                                        }
-                                    }
-                                }
-                                ), e.ScreenSpaceEventType[P("0x163")])
-                        }
-                    }
-                        ,
-                        t[P("0x5")][P("0x2d1")] = function (t, i) {
-                            if (t && !(t[P("0x0")] < 3) && i) {
-                                var r, n, o = [], a = [];
-                                t[2] >= t[5] ? (t[6] = t[0],
-                                    t[7] = t[1],
-                                    t[8] = t[5],
-                                    r = t[5],
-                                    n = [t[3], t[4], t[5]],
-                                    t[0],
-                                    t[3],
-                                    t[1],
-                                    t[4],
-                                    t[0],
-                                    t[1],
-                                    t[2],
-                                    t[5],
-                                    o[P("0x17c")](t[3], t[4], t[5], t[0], t[1], t[2]),
-                                    a.push(t[3], t[4], t[5], t[0], t[1], t[5])) : (t[6] = t[3],
-                                        t[7] = t[4],
-                                        t[8] = t[2],
-                                        r = t[2],
-                                        n = [t[0], t[1], t[2]],
-                                        t[0],
-                                        t[3],
-                                        t[1],
-                                        t[4],
-                                        t[3],
-                                        t[4],
-                                        t[2],
-                                        t[5],
-                                        o[P("0x17c")](t[0], t[1], t[2], t[3], t[4], t[5]),
-                                        a[P("0x17c")](t[0], t[1], t[2], t[3], t[4], t[2])),
-                                    i.get(0)[P("0x19f")] = e[P("0x11")][P("0x19e")](o),
-                                    i[P("0x187")](1)[P("0x19f")] = e.Cartesian3[P("0x19e")](a);
-                                var s = e[P("0x11")][P("0x1a1")](t[0], t[1], r)
-                                    , x = e[P("0x11")][P("0x1a1")](t[3], t[4], r);
-                                !function (t, i, r, n, o) {
-                                    var a;
-                                    t < 1e3 ? t[P("0x2af")](2) : (t / 1e3)[P("0x2af")](2),
-                                        i < 1e3 ? i[P("0x2af")](2) : (i / 1e3)[P("0x2af")](2),
-                                        a = Math.round(e[P("0x23")].toDegrees(Math[P("0x321")](i / t))) + "掳";
-                                    var s = function (e, t) {
-                                        for (var i = 0; i < e[P("0x0")]; i++)
-                                            if (e.get(i).name == t)
-                                                return e[P("0x187")](i)
-                                    }(r, P("0x322") + n);
-                                    s ? (s[P("0x187")](0)[P("0x31b")] = a,
-                                        s[P("0x187")](0).position = e[P("0x11")][P("0x1a1")](o[0], o[1], o[2])) : ((s = r[P("0x6d")](new e.LabelCollection))[P("0x176")] = P("0x322") + n,
-                                            s[P("0x2cc")] = "MeasureSlopeWidget_" + n,
-                                            s[P("0x6d")]({
-                                                position: e[P("0x11")].fromDegrees(o[0], o[1], o[2]),
-                                                style: e[P("0x323")].FILL_AND_OUTLINE,
-                                                outlineWidth: 2,
-                                                text: a,
-                                                font: P("0x324"),
-                                                pixelOffset: new (e[P("0x10")])(-20, 0),
-                                                disableDepthTestDistance: Number.POSITIVE_INFINITY
-                                            }))
-                                }(e[P("0x11")][P("0x8e")](s, x), Math.abs(t[2] - t[5]), this[P("0x306")], this[P("0x1a9")], n)
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x2d2")] = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")].destroy(),
-                                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x318")]);
-                            var t = this;
-                            this[P("0x16f")][P("0x160")]((function (i) {
-                                var r = t[P("0x13c")][P("0x10f")][P("0xa4")](i[P("0x8c")]);
-                                if (r && r.collection && r[P("0x2fc")][P("0x2cc")] && -1 < r[P("0x2fc")][P("0x2cc")][P("0x2d3")](P("0x316"))) {
-                                    var n = function (e, t) {
-                                        for (var i = 0; i < e[P("0x0")]; i++)
-                                            if (e[P("0x187")](i)[P("0x2cc")] == t && e[P("0x187")](i)[P("0x176")] == P("0x31c"))
-                                                return e[P("0x187")](i)
-                                    }(t[P("0x306")], r.collection[P("0x2cc")]);
-                                    n[P("0x187")](0).material[P("0x19d")][P("0x169")] = e[P("0x16a")][P("0x2d5")],
-                                        n.get(1)[P("0x19c")][P("0x19d")][P("0x169")] = e[P("0x16a")].YELLOW,
-                                        t[P("0x2cb")][P("0x17c")](r[P("0x2fc")][P("0x2cc")])
-                                }
-                            }
-                            ), e[P("0x161")][P("0x17e")])
-                        }
-                        ,
-                        t[P("0x5")][P("0x2d6")] = function () {
-                            if (this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")].destroy(),
-                                this[P("0x2cb")] && 0 < this[P("0x2cb")][P("0x0")])
-                                for (var e = 0; e < this.tags.length; e++)
-                                    i(this[P("0x2cb")][e], this[P("0x306")])
-                        }
-                        ,
-                        t[P("0x5")].clear = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x318")][P("0x150")][P("0x170")] = P("0x18c"),
-                                function (e, t) {
-                                    for (var i = 0; i < t.length; i++)
-                                        t.get(i)[P("0x176")] && -1 < t[P("0x187")](i)[P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](t.get(i)),
-                                            i--)
-                                }(P("0x316"), this[P("0x306")])
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x325")] = function (t, i) {
-                        t = e[P("0x102")](t, e[P("0x102")][P("0x128")]),
-                            this[P("0x13c")] = t[P("0x13b")],
-                            this[P("0x42")] = this._viewer[P("0x10f")],
-                            this[P("0x44")] = this[P("0x42")][P("0xa3")].ellipsoid,
-                            this[P("0x317")] = this[P("0x13c")][P("0x7e")],
-                            this[P("0x318")] = this[P("0x42")].canvas,
-                            this[P("0x306")] = this[P("0x42")].primitives,
-                            this.callback = i || function () { }
-                            ,
-                            this[P("0x319")] = t.lineColor ? t[P("0x1b4")] : e.Color.CHARTREUSE,
-                            this[P("0x31a")] = t[P("0x197")] ? t[P("0x197")] : 2,
-                            this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1,
-                            this[P("0x326")] = 0,
-                            this[P("0x327")] = e[P("0x102")](t[P("0x328")], 500),
-                            this._interpolationInterval = 3821.851414258813,
-                            this[P("0x329")] = this[P("0x42")][P("0xa3")][P("0x32a")],
-                            this[P("0x1a9")] = 0,
-                            this[P("0x2cb")] = [],
-                            this[P("0x32b")] = [],
-                            this[P("0x32c")] = []
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = 0, r = 0; r < t[P("0x0")]; r++)
-                            if (t[r] == e && i++,
-                                2 == i)
-                                return !0
-                    }
-                    function r(e, t, i, r, n, o, a) {
-                        var s = {}
-                            , x = turf[P("0x2d4")]([[e[P("0x180")][P("0x2ed")][0][i[0]], t[0], t[1], e[P("0x180")][P("0x2ed")][0][i[0]]]])
-                            , l = turf.area(x)
-                            , c = a - r
-                            , u = 1 / 3 * l * c
-                            , h = turf[P("0x2d4")]([[e.geometry.coordinates[0][i[1]], t[0], t[1], e[P("0x180")].coordinates[0][i[1]]]])
-                            , f = turf[P("0x2d9")](h)
-                            , d = a - n
-                            , g = turf[P("0x2d4")]([[e.geometry[P("0x2ed")][0][i[1]], e[P("0x180")][P("0x2ed")][0][i[2]], t[0], t[1], e.geometry[P("0x2ed")][0][i[1]]]])
-                            , p = turf[P("0x2d9")](g)
-                            , m = turf[P("0x2d4")]([[e[P("0x180")][P("0x2ed")][0][i[1]], e[P("0x180")][P("0x2ed")][0][i[2]], t[1], t[0], e[P("0x180")][P("0x2ed")][0][i[1]]]])
-                            , b = turf.area(m)
-                            , v = b < p ? p : b
-                            , C = 1 / 3 * f * d + 1 / 3 * (v - f) * (d + (a - o));
-                        return 0 <= c ? (s[P("0x34c")] = u,
-                            s[P("0x34d")] = l,
-                            s[P("0x34a")] = C,
-                            s[P("0x34b")] = v) : (s[P("0x34c")] = C,
-                                s.fillArea = v,
-                                s[P("0x34a")] = u,
-                                s[P("0x34b")] = l),
-                            s
-                    }
-                    function n(t, i, r, n, o, a, s, x, l) {
-                        var c = {}
-                            , u = Math[P("0x78")](t / (t - i))
-                            , h = new (e[P("0x11")])(0, 0, 0)
-                            , f = e.Cartesian3[P("0x1a1")](r[P("0x180")][P("0x2ed")][0][n][0], r[P("0x180")][P("0x2ed")][0][o][1], x)
-                            , d = e[P("0x11")][P("0x1a1")](r[P("0x180")][P("0x2ed")][0][o][0], r[P("0x180")][P("0x2ed")][0][o][1], l)
-                            , g = e[P("0x13")][P("0x175")](e[P("0x11")][P("0x308")](f, d, u, h));
-                        return c[P("0x348")] = [e[P("0x23")][P("0x113")](g[P("0x112")]), e.Math[P("0x113")](g[P("0x114")])],
-                            c.vertexSerial = [a, s],
-                            c
-                    }
-                    function o(e, t) {
-                        for (var i = t.values, r = 0; r < i[P("0x0")]; r++)
-                            i[r][P("0x2cc")] == e && (t[P("0x17f")](i[r]),
-                                r--)
-                    }
-                    function a(e, t) {
-                        for (var i = 0; i < t[P("0x0")]; i++)
-                            t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t.get(i)),
-                                i--)
-                    }
-                    function s(e, t, i) {
-                        for (var r = 0; r < t[P("0x0")]; r++)
-                            t[r][P("0x2cc")] == e && i[P("0x17f")](t[r].primitive)
-                    }
-                    e[P("0xf")](t.prototype, {
-                        viewer: {
-                            get: function () {
-                                return this[P("0x13c")]
-                            }
-                        },
-                        designElevation: {
-                            get: function () {
-                                return this._designElevation
-                            }
-                        },
-                        tin: {
-                            get: function () {
-                                return this[P("0x32d")]
-                            }
-                        },
-                        minHeight: {
-                            get: function () {
-                                return this[P("0x32e")]
-                            }
-                        },
-                        maxHeight: {
-                            get: function () {
-                                return this[P("0x32f")]
-                            }
-                        }
-                    }),
-                        t[P("0x5")][P("0x198")] = function () {
-                            if (this[P("0x1a9")]++,
-                                this.handler = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                !this[P("0x16f")]) {
-                                this[P("0x329")] = this[P("0x42")][P("0xa3")][P("0x32a")],
-                                    this[P("0x42")].globe.depthTestAgainstTerrain = !1,
-                                    this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x318")]),
-                                    this[P("0x13c")][P("0x48")][P("0x150")][P("0x170")] = P("0x171");
-                                var t, i, r = this, n = [];
-                                this[P("0x172")] = n,
-                                    this[P("0x16f")].setInputAction((function (i) {
-                                        if (1 == r[P("0xd3")])
-                                            var o = r[P("0x317")][P("0x86")](i[P("0x8c")])
-                                                , a = r._scene[P("0xa3")].pick(o, r[P("0x42")]);
-                                        else
-                                            a = r[P("0x42")][P("0x174")](i[P("0x8c")]);
-                                        a && (n.push(a),
-                                            1 == n.length && ((t = r[P("0x306")][P("0x6d")](new (e[P("0x199")])))[P("0x176")] = "MeasureVolumeWidget_draw_polyline",
-                                                t[P("0x2cc")] = P("0x330") + r[P("0x1a9")],
-                                                t[P("0x6d")]({
-                                                    polyline: {}
-                                                }),
-                                                t[P("0x187")](t.length - 1)[P("0x19a")] = r[P("0x31a")],
-                                                t[P("0x187")](t[P("0x0")] - 1)[P("0x19b")] = !0,
-                                                t[P("0x187")](t.length - 1)[P("0x19c")][P("0x19d")].color = r[P("0x319")],
-                                                t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = n),
-                                            3 <= n[P("0x0")] && (t[P("0x187")](t[P("0x0")] - 1).positions = n,
-                                                /Android|webOS|iPhone|ipad|iPod|BlackBerry/i.test(navigator[P("0x2cd")])),
-                                            r[P("0x1aa")] = t)
-                                    }
-                                    ), e[P("0x161")].LEFT_CLICK),
-                                    this.handler[P("0x160")]((function (o) {
-                                        if (!/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) {
-                                            if (1 == r[P("0xd3")])
-                                                var a = r[P("0x317")].getPickRay(o.endPosition)
-                                                    , s = r[P("0x42")][P("0xa3")].pick(a, r._scene);
-                                            else
-                                                s = r[P("0x42")][P("0x174")](o[P("0x64")]);
-                                            if (!s)
-                                                return;
-                                            if (1 <= n[P("0x0")]) {
-                                                var x = n[P("0x1d5")]();
-                                                x[P("0x17c")](s),
-                                                    t[P("0x187")](t.length - 1).positions = x
-                                            }
-                                            i ? i.get(i[P("0x0")] - 1)[P("0x8c")] = s : ((i = r[P("0x306")][P("0x6d")](new (e[P("0x1a5")])))[P("0x176")] = P("0x331"),
-                                                i[P("0x2cc")] = "MeasureVolumeWidget_" + r.count,
-                                                i.add({
-                                                    text: P("0x185"),
-                                                    font: P("0x1a0"),
-                                                    showBackground: !0,
-                                                    pixelOffset: new e.Cartesian2(10, 10),
-                                                    disableDepthTestDistance: Number[P("0x31")]
-                                                }),
-                                                i[P("0x187")](i[P("0x0")] - 1)[P("0x8c")] = s),
-                                                r[P("0x173")] = i
-                                        }
-                                    }
-                                    ), e[P("0x161")].MOUSE_MOVE),
-                                    this[P("0x16f")][P("0x160")]((function (o) {
-                                        if (1 == r[P("0xd3")])
-                                            var a = r[P("0x317")][P("0x86")](o[P("0x8c")])
-                                                , s = r[P("0x42")].globe.pick(a, r[P("0x42")]);
-                                        else
-                                            s = r[P("0x42")][P("0x174")](o[P("0x8c")]);
-                                        s && (n[P("0x17c")](s),
-                                            r[P("0x306")].remove(t),
-                                            r[P("0x306")][P("0x17f")](i),
-                                            r[P("0x332")] = r[P("0x2d1")](),
-                                            r.callback(r[P("0x332")]),
-                                            r[P("0x332")][P("0x333")]((function (t) {
-                                                r[P("0x42")][P("0xa3")][P("0x32a")] = r._depthTestAgainstTerrain,
-                                                    r[P("0x334")](),
-                                                    r[P("0x335")](),
-                                                    r[P("0x336")](),
-                                                    r.addOuterPolygon(),
-                                                    function (t, i, r, n, o) {
-                                                        var a, s, x = i[P("0x34e")], l = i[P("0x34f")];
-                                                        s = x < 1e6 ? (a = P("0x350") + x[P("0x2af")](2) + "m虏",
-                                                            "浣撶Н锛�" + l[P("0x2af")](2) + "m鲁") : (a = P("0x350") + (x / 1e6)[P("0x2af")](2) + P("0x2da"),
-                                                                "浣撶Н锛�" + (l / 1e9)[P("0x2af")](2) + P("0x351")),
-                                                            o._resultLabels = t[P("0x6d")](new (e[P("0x1a5")]));
-                                                        var c = o[P("0x352")];
-                                                        c.name = P("0x353"),
-                                                            c[P("0x2cc")] = "MeasureVolumeWidget_" + n,
-                                                            c[P("0x6d")]({
-                                                                style: e[P("0x323")][P("0x2de")],
-                                                                outlineWidth: 2,
-                                                                text: s + "\n" + a,
-                                                                font: P("0x324"),
-                                                                showBackground: !0,
-                                                                pixelOffset: new e.Cartesian2(10, 0),
-                                                                disableDepthTestDistance: Number[P("0x31")]
-                                                            }),
-                                                            c[P("0x187")](c[P("0x0")] - 1).position = r[r[P("0x0")] - 1]
-                                                    }(r[P("0x306")], t, r[P("0x172")], r[P("0x1a9")], r)
-                                            }
-                                            )),
-                                            r[P("0x16f")] = r[P("0x16f")] && r[P("0x16f")][P("0xf4")](),
-                                            r[P("0x13c")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"))
-                                    }
-                                    ), e[P("0x161")][P("0x189")])
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x334")] = function () {
-                            var t = new (e[P("0x179")])({
-                                geometry: e[P("0x1af")][P("0x231")]({
-                                    positions: this[P("0x172")],
-                                    height: this._minHeight,
-                                    extrudedHeight: 1e5,
-                                    vertexFormat: e[P("0x1b0")].VERTEX_FORMAT
-                                }),
-                                attributes: {
-                                    color: e[P("0x184")][P("0x1b2")](e[P("0x16a")][P("0x310")].withAlpha(.5))
-                                },
-                                id: P("0x330") + this.count
-                            });
-                            this[P("0x337")] = new e.ClassificationPrimitive({
-                                geometryInstances: t,
-                                classificationType: e[P("0x17a")].BOTH
-                            }),
-                                this[P("0x32b")][P("0x17c")]({
-                                    tag: "MeasureVolumeWidget_" + this[P("0x1a9")],
-                                    primitive: this[P("0x337")]
-                                }),
-                                this[P("0x306")][P("0x6d")](this[P("0x337")])
-                        }
-                        ,
-                        t[P("0x5")][P("0x336")] = function () {
-                            this._designPolygonEntity = this[P("0x13c")][P("0x194")][P("0x6d")]({
-                                name: "MeasureVolumeWidget_draw_base_polygon",
-                                tag: "MeasureVolumeWidget_" + this[P("0x1a9")],
-                                polygon: {
-                                    hierarchy: {
-                                        positions: this[P("0x172")]
-                                    },
-                                    material: e[P("0x16a")][P("0x338")][P("0x16c")](.3),
-                                    perPositionHeight: !1,
-                                    height: this[P("0x326")]
-                                }
-                            })
-                        }
-                        ,
-                        t[P("0x5")].addVerticalPolylines = function () {
-                            var t = this[P("0x339")][P("0x33a")]
-                                , i = [];
-                            this[P("0x33b")] = this[P("0x306")].add(new (e[P("0x199")])),
-                                this[P("0x33b")][P("0x176")] = P("0x33c"),
-                                this._verticalPolylines[P("0x2cc")] = P("0x330") + this.count;
-                            for (var r = 0; r < t[P("0x0")]; r++)
-                                if (!(t[r].properties.z < this[P("0x326")])) {
-                                    var n = [t[r].geometry.coordinates[0], t[r][P("0x180")][P("0x2ed")][1], t[r][P("0x33d")].z]
-                                        , o = [t[r][P("0x180")][P("0x2ed")][0], t[r][P("0x180")].coordinates[1], this[P("0x326")]]
-                                        , a = [t[r][P("0x180")][P("0x2ed")][0], t[r].geometry.coordinates[1], this._maxHeight]
-                                        , s = n.concat(o)
-                                        , x = n.concat(a);
-                                    i[P("0x17c")](s),
-                                        this[P("0x33b")][P("0x6d")]({
-                                            positions: e[P("0x11")][P("0x19e")](s),
-                                            material: e[P("0x212")][P("0x213")](P("0x16a"), {
-                                                color: new (e[P("0x16a")])(1, 0, 0, 1)
-                                            })
-                                        }),
-                                        this[P("0x33b")][P("0x6d")]({
-                                            positions: e[P("0x11")].fromDegreesArrayHeights(x),
-                                            material: e.Material[P("0x213")](P("0x16a"), {
-                                                color: new (e[P("0x16a")])(0, 1, 0, .5)
-                                            })
-                                        })
-                                }
-                        }
-                        ,
-                        t[P("0x5")].addOuterPolygon = function () {
-                            this[P("0x339")].features
-                        }
-                        ,
-                        t.prototype[P("0x2d1")] = function () {
-                            var t = this;
-                            if (this[P("0x172")] && 0 != this[P("0x172")].length) {
-                                1 == this[P("0xd3")] && (this._scene[P("0xa3")].depthTestAgainstTerrain = !0);
-                                for (var i = [], r = 0; r < this._array_.length; r++) {
-                                    var n = e[P("0x13")][P("0x175")](this[P("0x172")][r])
-                                        , o = e[P("0x23")][P("0x113")](n[P("0x112")])
-                                        , a = e[P("0x23")].toDegrees(n[P("0x114")]);
-                                    i[P("0x17c")]([o, a])
-                                }
-                                i[P("0x17c")](i[0]);
-                                var s = turf[P("0x33e")](i)
-                                    , x = turf.bbox(s)
-                                    , l = turf[P("0x33f")](x)
-                                    , c = (turf[P("0x2d9")](l),
-                                        this._samplingPointsNumber)
-                                    , u = turf[P("0x340")](2 * c, {
-                                        bbox: x
-                                    })
-                                    , h = turf.polygon([i]);
-                                for (r = 0; r < u[P("0x33a")][P("0x0")]; r++) {
-                                    var f = turf[P("0x2ec")](u[P("0x33a")][r].geometry[P("0x2ed")]);
-                                    turf[P("0x341")](f, h) || (u[P("0x33a")][P("0x259")](r, 1),
-                                        r--)
-                                }
-                                var d = []
-                                    , g = this[P("0x172")].concat(this[P("0x172")][0]);
-                                for (r = 0; r < g[P("0x0")] - 1; r++)
-                                    for (var p = 1; p < Math[P("0x342")](c / 10); p++) {
-                                        var m = new (e[P("0x11")])(0, 0, 0);
-                                        m = e[P("0x11")].lerp(g[r], g[r + 1], p * (1 / Math[P("0x342")](c / 10)), m),
-                                            d[P("0x17c")](m)
-                                    }
-                                var b = this[P("0x172")].concat(d)
-                                    , v = []
-                                    , C = [];
-                                for (r = 0; r < b[P("0x0")]; r++) {
-                                    var y = this._ellipsoid.cartesianToCartographic(b[r])[P("0x112")]
-                                        , _ = this._ellipsoid[P("0xd6")](b[r]).latitude;
-                                    v[P("0x17c")](new e.Cartographic(y, _)),
-                                        C[P("0x17c")]([y, _])
-                                }
-                                for (r = 0; r < u[P("0x33a")][P("0x0")]; r++) {
-                                    var A = e[P("0x23")][P("0x119")](u[P("0x33a")][r].geometry[P("0x2ed")][0])
-                                        , I = e[P("0x23")][P("0x119")](u[P("0x33a")][r][P("0x180")][P("0x2ed")][1]);
-                                    v.push(new (e[P("0x13")])(A, I))
-                                }
-                                var w = {};
-                                return w[P("0x33a")] = [],
-                                    this[P("0x42")].sampleHeightMostDetailed(v)[P("0x333")]((function (i) {
-                                        var r = [];
-                                        w[P("0x165")] = P("0x343");
-                                        for (var n = 0; n < i[P("0x0")]; n++)
-                                            i[n][P("0x8b")] && (r.push(i[n][P("0x8b")]),
-                                                w[P("0x33a")][P("0x17c")]({
-                                                    type: P("0x344"),
-                                                    geometry: {
-                                                        coordinates: [e[P("0x23")][P("0x113")](i[n][P("0x112")]), e[P("0x23")][P("0x113")](i[n][P("0x114")])],
-                                                        type: P("0x345")
-                                                    },
-                                                    properties: {
-                                                        z: i[n][P("0x8b")]
-                                                    }
-                                                }));
-                                        t[P("0x32e")] = Math[P("0x7d")][P("0x346")](null, r),
-                                            t[P("0x32f")] = Math[P("0xee")][P("0x346")](null, r),
-                                            t[P("0x326")] = t[P("0x32e")],
-                                            t[P("0x339")] = w;
-                                        var o = turf.tin(w, "z");
-                                        return t[P("0x32d")] = o,
-                                            t[P("0x347")]()
-                                    }
-                                    ))
-                            }
-                        }
-                        ,
-                        t[P("0x5")].getVolume = function () {
-                            for (var e = this[P("0x32d")], t = 0, o = 0, a = this._designElevation, s = 0; s < e[P("0x33a")].length; s++) {
-                                var x = e.features[s][P("0x33d")].a - a
-                                    , l = e[P("0x33a")][s][P("0x33d")].b - a
-                                    , c = e[P("0x33a")][s][P("0x33d")].c - a
-                                    , u = []
-                                    , h = [];
-                                if (x * l < 0 || x * c < 0 || l * c < 0) {
-                                    if (x * l < 0) {
-                                        var f = n(x, l, e[P("0x33a")][s], 0, 1, "a", "b", e[P("0x33a")][s][P("0x33d")].a, e[P("0x33a")][s][P("0x33d")].b);
-                                        u[P("0x17c")](f[P("0x348")]),
-                                            h[P("0x17c")](f[P("0x349")][0], f.vertexSerial[1])
-                                    }
-                                    var d;
-                                    x * c < 0 && (f = n(x, c, e[P("0x33a")][s], 0, 2, "a", "c", e[P("0x33a")][s][P("0x33d")].a, e[P("0x33a")][s][P("0x33d")].c),
-                                        u[P("0x17c")](f[P("0x348")]),
-                                        h.push(f[P("0x349")][0], f[P("0x349")][1])),
-                                        l * c < 0 && (f = n(l, c, e[P("0x33a")][s], 1, 2, "b", "c", e[P("0x33a")][s].properties.b, e.features[s][P("0x33d")].c),
-                                            u[P("0x17c")](f[P("0x348")]),
-                                            h[P("0x17c")](f[P("0x349")][0], f[P("0x349")][1])),
-                                        i("a", h) && (t += (d = r(e[P("0x33a")][s], u, [0, 1, 2], e[P("0x33a")][s][P("0x33d")].a, e[P("0x33a")][s][P("0x33d")].b, e[P("0x33a")][s][P("0x33d")].c, a))[P("0x34a")],
-                                            o += d[P("0x34b")]),
-                                        i("b", h) && (t += (d = r(e[P("0x33a")][s], u, [1, 0, 2], e.features[s][P("0x33d")].b, e[P("0x33a")][s][P("0x33d")].a, e.features[s].properties.c, a))[P("0x34a")],
-                                            o += d[P("0x34b")]),
-                                        i("c", h) && (t += (d = r(e[P("0x33a")][s], u, [2, 0, 1], e[P("0x33a")][s].properties.c, e.features[s].properties.a, e[P("0x33a")][s].properties.b, a))[P("0x34a")],
-                                            o += d.excavationArea)
-                                } else {
-                                    var g = 1 / 3 * [a - e[P("0x33a")][s].properties.a + (a - e[P("0x33a")][s][P("0x33d")].b) + (a - e[P("0x33a")][s][P("0x33d")].c)];
-                                    if (g < 0) {
-                                        var p = turf.polygon([e.features[s][P("0x180")][P("0x2ed")][0]])
-                                            , m = turf.area(p);
-                                        t += m * -g,
-                                            o += m
-                                    }
-                                }
-                            }
-                            var b = {
-                                volume: Number(t[P("0x2af")](3)),
-                                baseArea: Number(o[P("0x2af")](3))
+                            var l = i[a] = {
+                                exports: {}
                             };
-                            return new C.a((function (e) {
-                                e(b)
+                            t[a][0].call(l.exports, (function(e) {
+                                return n(t[a][1][e] || e)
+                            }
+                            ), l, l.exports, e, t, i, r)
+                        }
+                        return i[a].exports
+                    }
+                    for (var o = "function" == typeof require && require, a = 0; a < r.length; a++)
+                        n(r[a]);
+                    return n
+                }({
+                    1: [function(e, t, i) {
+                        var r = function(e, t) {
+                            if (isNaN(e) || isNaN(t))
+                                throw new Error("Invalid LngLat object: (" + e + ", " + t + ")");
+                            this.lng = +e,
+                            this.lat = +t
+                        };
+                        r.prototype.wrap = function() {
+                            return new r((i = ((this.lng - (e = -180)) % (t = 180 - e) + t) % t + e) === e ? 180 : i,this.lat);
+                            var e, t, i
+                        }
+                        ,
+                        r.prototype.toArray = function() {
+                            return [this.lng, this.lat]
+                        }
+                        ,
+                        r.prototype.toString = function() {
+                            return "LngLat(" + this.lng + ", " + this.lat + ")"
+                        }
+                        ,
+                        r.prototype.toBounds = function(t) {
+                            var i = 360 * t / 40075017
+                              , n = i / Math.cos(Math.PI / 180 * this.lat);
+                            return new (e("./lng_lat_bounds"))(new r(this.lng - n,this.lat - i),new r(this.lng + n,this.lat + i))
+                        }
+                        ,
+                        r.convert = function(e) {
+                            if (e instanceof r)
+                                return e;
+                            if (_babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default()(e) && 2 === e.length)
+                                return new r(Number(e[0]),Number(e[1]));
+                            if (!_babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default()(e) && "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e) && null !== e)
+                                return new r(Number(e.lng),Number(e.lat));
+                            throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")
+                        }
+                        ,
+                        t.exports = r
+                    }
+                    , {
+                        "./lng_lat_bounds": 2
+                    }],
+                    2: [function(e, t, i) {
+                        var r = e("./lng_lat")
+                          , n = function(e, t) {
+                            e && (t ? this.setSouthWest(e).setNorthEast(t) : 4 === e.length ? this.setSouthWest([e[0], e[1]]).setNorthEast([e[2], e[3]]) : this.setSouthWest(e[0]).setNorthEast(e[1]))
+                        };
+                        n.prototype.setNorthEast = function(e) {
+                            return this._ne = e instanceof r ? new r(e.lng,e.lat) : r.convert(e),
+                            this
+                        }
+                        ,
+                        n.prototype.setSouthWest = function(e) {
+                            return this._sw = e instanceof r ? new r(e.lng,e.lat) : r.convert(e),
+                            this
+                        }
+                        ,
+                        n.prototype.extend = function(e) {
+                            var t, i, o = this._sw, a = this._ne;
+                            if (e instanceof r)
+                                t = e,
+                                i = e;
+                            else {
+                                if (!(e instanceof n))
+                                    return _babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default()(e) ? e.every(_babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default.a) ? this.extend(n.convert(e)) : this.extend(r.convert(e)) : this;
+                                if (t = e._sw,
+                                i = e._ne,
+                                !t || !i)
+                                    return this
+                            }
+                            return o || a ? (o.lng = Math.min(t.lng, o.lng),
+                            o.lat = Math.min(t.lat, o.lat),
+                            a.lng = Math.max(i.lng, a.lng),
+                            a.lat = Math.max(i.lat, a.lat)) : (this._sw = new r(t.lng,t.lat),
+                            this._ne = new r(i.lng,i.lat)),
+                            this
+                        }
+                        ,
+                        n.prototype.getCenter = function() {
+                            return new r((this._sw.lng + this._ne.lng) / 2,(this._sw.lat + this._ne.lat) / 2)
+                        }
+                        ,
+                        n.prototype.getSouthWest = function() {
+                            return this._sw
+                        }
+                        ,
+                        n.prototype.getNorthEast = function() {
+                            return this._ne
+                        }
+                        ,
+                        n.prototype.getNorthWest = function() {
+                            return new r(this.getWest(),this.getNorth())
+                        }
+                        ,
+                        n.prototype.getSouthEast = function() {
+                            return new r(this.getEast(),this.getSouth())
+                        }
+                        ,
+                        n.prototype.getWest = function() {
+                            return this._sw.lng
+                        }
+                        ,
+                        n.prototype.getSouth = function() {
+                            return this._sw.lat
+                        }
+                        ,
+                        n.prototype.getEast = function() {
+                            return this._ne.lng
+                        }
+                        ,
+                        n.prototype.getNorth = function() {
+                            return this._ne.lat
+                        }
+                        ,
+                        n.prototype.toArray = function() {
+                            return [this._sw.toArray(), this._ne.toArray()]
+                        }
+                        ,
+                        n.prototype.toString = function() {
+                            return "LngLatBounds(" + this._sw.toString() + ", " + this._ne.toString() + ")"
+                        }
+                        ,
+                        n.convert = function(e) {
+                            return !e || e instanceof n ? e : new n(e)
+                        }
+                        ,
+                        t.exports = n
+                    }
+                    , {
+                        "./lng_lat": 1
+                    }],
+                    3: [function(e, t, i) {
+                        var r = e("./geo/lng_lat")
+                          , n = e("./geo/lng_lat_bounds");
+                        t.exports = {
+                            LngLat: r,
+                            LngLatBounds: n
+                        }
+                    }
+                    , {
+                        "./geo/lng_lat": 1,
+                        "./geo/lng_lat_bounds": 2
+                    }]
+                }, {}, [3])(3)
+            }
+            )),
+            window.GeoGlobe.Util.extend(window.GeoGlobe, window._GeoGlobe),
+            GeoGlobe.LngLat.prototype.CLASS_NAME = "GeoGlobe.LngLat",
+            GeoGlobe.LngLatBounds.prototype.clone = function() {
+                return new GeoGlobe.LngLatBounds(this._sw,this._ne)
+            }
+            ,
+            GeoGlobe.LngLatBounds.prototype.contains = function(e, t, i) {
+                return null == i && (i = !0),
+                null != e && null != t && (e = GeoGlobe.Util.toFloat(e),
+                t = GeoGlobe.Util.toFloat(t),
+                i ? e >= this._sw.lng && e <= this._ne.lng && t >= this._sw.lat && t <= this._ne.lat : e > this._sw.lng && e < this._ne.lng && t > this._sw.lat && t < this._ne.lat)
+            }
+            ,
+            GeoGlobe.LngLatBounds.prototype.getWidth = function() {
+                return this._ne.lng - this._sw.lng
+            }
+            ,
+            GeoGlobe.LngLatBounds.prototype.containsLonLat = function(e, t) {
+                "boolean" == typeof t && (t = {
+                    inclusive: t
+                }),
+                t = t || {};
+                var i = this.contains(e.lng, e.lat, t.inclusive)
+                  , r = t.worldBounds;
+                if (r && !i) {
+                    var n = r.getWidth()
+                      , o = (r._sw.lng + r._ne.lng) / 2
+                      , a = Math.round((e.lng - o) / n);
+                    i = this.containsLonLat({
+                        lng: e.lng - a * n,
+                        lat: e.lat
+                    }, {
+                        inclusive: t.inclusive
+                    })
+                }
+                return i
+            }
+            ,
+            GeoGlobe.LngLatBounds.prototype.equals = function(e) {
+                var t = !1;
+                return null != e && (t = this._sw.lng == e._sw.lng && this._ne.lng == e._ne.lng && this._ne.lat == e._ne.lat && this._sw.lat == e._sw.lat),
+                t
+            }
+            ,
+            GeoGlobe.LngLatBounds.prototype.toBBOX = function(e, t) {
+                null == e && (e = 6);
+                var i = Math.pow(10, e)
+                  , r = Math.round(this._sw.lng * i) / i
+                  , n = Math.round(this._sw.lat * i) / i
+                  , o = Math.round(this._ne.lng * i) / i
+                  , a = Math.round(this._ne.lat * i) / i;
+                return !0 === t ? n + "," + r + "," + a + "," + o : r + "," + n + "," + o + "," + a
+            }
+            ,
+            GeoGlobe.LngLatBounds.prototype.toGeometry = function() {
+                return new GeoGlobe.Geometry.Polygon([new GeoGlobe.Geometry.LinearRing([new GeoGlobe.Geometry.Point(this._sw.lng,this._sw.lat), new GeoGlobe.Geometry.Point(this._ne.lng,this._sw.lat), new GeoGlobe.Geometry.Point(this._ne.lng,this._ne.lat), new GeoGlobe.Geometry.Point(this._sw.lng,this._ne.lat)])])
+            }
+            ,
+            GeoGlobe.LngLatBounds.prototype.getCenterLonLat = function() {
+                return this.centerLonLat || (this.centerLonLat = new GeoGlobe.LngLat((this._sw.lng + this._ne.lng) / 2,(this._sw.lat + this._ne.lat) / 2)),
+                this.centerLonLat
+            }
+            ,
+            GeoGlobe.LngLatBounds.prototype.CLASS_NAME = "GeoGlobe.LngLatBounds",
+            GeoGlobe.LngLatBounds.fromString = function(e, t) {
+                var i = e.split(",");
+                return GeoGlobe.LngLatBounds.fromArray(i, t)
+            }
+            ,
+            GeoGlobe.LngLatBounds.fromArray = function(e, t) {
+                return !0 === t ? new GeoGlobe.LngLatBounds(new GeoGlobe.LngLat(e[1],e[0]),new GeoGlobe.LngLat(e[3],e[2])) : new GeoGlobe.LngLatBounds(new GeoGlobe.LngLat(e[0],e[1]),new GeoGlobe.LngLat(e[2],e[3]))
+            }
+            ,
+            GeoGlobe.Geometry = GeoGlobe.Class4OL({
+                id: null,
+                parent: null,
+                bounds: null,
+                initialize: function() {
+                    this.id = GeoGlobe.Util.createUniqueID(this.CLASS_NAME + "_")
+                },
+                destroy: function() {
+                    this.id = null,
+                    this.bounds = null
+                },
+                clone: function() {
+                    return new GeoGlobe.Geometry
+                },
+                setBounds: function(e) {
+                    e && (this.bounds = e.clone())
+                },
+                clearBounds: function() {
+                    this.bounds = null,
+                    this.parent && this.parent.clearBounds()
+                },
+                extendBounds: function(e) {
+                    this.getBounds() ? this.bounds.extend(e) : this.setBounds(e)
+                },
+                getBounds: function() {
+                    return null == this.bounds && this.calculateBounds(),
+                    this.bounds
+                },
+                calculateBounds: function() {},
+                distanceTo: function(e, t) {},
+                getVertices: function(e) {},
+                atPoint: function(e, t, i) {
+                    var r = !1;
+                    if (null != this.getBounds() && null != e) {
+                        var n = null != t ? t : 0
+                          , o = null != i ? i : 0
+                          , a = new GeoGlobe.LngLat(this.bounds._sw.lng - n,this.bounds._sw.lat - o)
+                          , s = new GeoGlobe.LngLat(this.bounds._ne.lng + n,this.bounds._ne.lat + o);
+                        r = new GeoGlobe.LngLatBounds(a,s).containsLonLat(e)
+                    }
+                    return r
+                },
+                getLength: function() {
+                    return 0
+                },
+                getArea: function() {
+                    return 0
+                },
+                getCentroid: function() {
+                    return null
+                },
+                toString: function() {
+                    return GeoGlobe.Format && GeoGlobe.Format.WKT ? GeoGlobe.Format.WKT.prototype.write(new GeoGlobe.Feature(this)) : Object.prototype.toString.call(this)
+                },
+                CLASS_NAME: "GeoGlobe.Geometry"
+            }),
+            GeoGlobe.Geometry.fromWKT = function(e) {
+                var t;
+                if (GeoGlobe.Format && GeoGlobe.Format.WKT) {
+                    var i = GeoGlobe.Geometry.fromWKT.format;
+                    i || (i = new GeoGlobe.Format.WKT,
+                    GeoGlobe.Geometry.fromWKT.format = i);
+                    var r = i.read(e);
+                    if (r instanceof GeoGlobe.Feature)
+                        t = r.geometry;
+                    else if (GeoGlobe.Util.isArray(r)) {
+                        for (var n = r.length, o = new Array(n), a = 0; a < n; ++a)
+                            o[a] = r[a].geometry;
+                        t = new GeoGlobe.Geometry.Collection(o)
+                    }
+                }
+                return t
+            }
+            ,
+            GeoGlobe.Geometry.segmentsIntersect = function(e, t, i) {
+                var r = i && i.point
+                  , n = i && i.tolerance
+                  , o = !1
+                  , a = e.x1 - t.x1
+                  , s = e.y1 - t.y1
+                  , x = e.x2 - e.x1
+                  , l = e.y2 - e.y1
+                  , c = t.y2 - t.y1
+                  , u = t.x2 - t.x1
+                  , h = c * x - u * l
+                  , f = u * s - c * a
+                  , d = x * s - l * a;
+                if (0 == h)
+                    0 == f && 0 == d && (o = !0);
+                else {
+                    var g = f / h
+                      , p = d / h;
+                    if (g >= 0 && g <= 1 && p >= 0 && p <= 1)
+                        if (r) {
+                            var m = e.x1 + g * x
+                              , b = e.y1 + g * l;
+                            o = new GeoGlobe.Geometry.Point(m,b)
+                        } else
+                            o = !0
+                }
+                if (n)
+                    if (o) {
+                        if (r) {
+                            var v, C = [e, t];
+                            e: for (var y = 0; y < 2; ++y) {
+                                v = C[y];
+                                for (var _ = 1; _ < 3; ++_)
+                                    if (m = v["x" + _],
+                                    b = v["y" + _],
+                                    Math.sqrt(Math.pow(m - o.x, 2) + Math.pow(b - o.y, 2)) < n) {
+                                        o.x = m,
+                                        o.y = b;
+                                        break e
+                                    }
+                            }
+                        }
+                    } else {
+                        var A, I, w;
+                        C = [e, t];
+                        e: for (y = 0; y < 2; ++y)
+                            for (A = C[y],
+                            I = C[(y + 1) % 2],
+                            _ = 1; _ < 3; ++_)
+                                if (w = {
+                                    x: A["x" + _],
+                                    y: A["y" + _]
+                                },
+                                GeoGlobe.Geometry.distanceToSegment(w, I).distance < n) {
+                                    o = !r || new GeoGlobe.Geometry.Point(w.x,w.y);
+                                    break e
+                                }
+                    }
+                return o
+            }
+            ,
+            GeoGlobe.Geometry.distanceToSegment = function(e, t) {
+                var i = GeoGlobe.Geometry.distanceSquaredToSegment(e, t);
+                return i.distance = Math.sqrt(i.distance),
+                i
+            }
+            ,
+            GeoGlobe.Geometry.distanceSquaredToSegment = function(e, t) {
+                var i, r, n = e.x, o = e.y, a = t.x1, s = t.y1, x = t.x2, l = t.y2, c = x - a, u = l - s, h = 0 == c && 0 == u ? 0 : (c * (n - a) + u * (o - s)) / (Math.pow(c, 2) + Math.pow(u, 2));
+                return h <= 0 ? (i = a,
+                r = s) : h >= 1 ? (i = x,
+                r = l) : (i = a + h * c,
+                r = s + h * u),
+                {
+                    distance: Math.pow(i - n, 2) + Math.pow(r - o, 2),
+                    x: i,
+                    y: r,
+                    along: h
+                }
+            }
+            ,
+            GeoGlobe.Geometry.fromGeoJson = function(e) {
+                var t;
+                if (GeoGlobe.Format && GeoGlobe.Format.GeoJSON) {
+                    format = new GeoGlobe.Format.GeoJSON;
+                    var i = null;
+                    try {
+                        i = format.parseGeometry(geojson)
+                    } catch (e) {
+                        console.log(e)
+                    }
+                    t = i
+                }
+                return t
+            }
+            ,
+            GeoGlobe.Geometry.Collection = GeoGlobe.Class4OL(GeoGlobe.Geometry, {
+                components: null,
+                componentTypes: null,
+                initialize: function(e) {
+                    GeoGlobe.Geometry.prototype.initialize.apply(this, arguments),
+                    this.components = [],
+                    null != e && this.addComponents(e)
+                },
+                destroy: function() {
+                    this.components.length = 0,
+                    this.components = null,
+                    GeoGlobe.Geometry.prototype.destroy.apply(this, arguments)
+                },
+                clone: function clone() {
+                    for (var geometry = eval("new " + this.CLASS_NAME + "()"), i = 0, len = this.components.length; i < len; i++)
+                        geometry.addComponent(this.components[i].clone());
+                    return GeoGlobe.Util.applyDefaults(geometry, this),
+                    geometry
+                },
+                getComponentsString: function() {
+                    for (var e = [], t = 0, i = this.components.length; t < i; t++)
+                        e.push(this.components[t].toShortString());
+                    return e.join(",")
+                },
+                calculateBounds: function() {
+                    this.bounds = null;
+                    var e = new GeoGlobe.LngLatBounds
+                      , t = this.components;
+                    if (t)
+                        for (var i = 0, r = t.length; i < r; i++)
+                            e.extend(t[i].getBounds());
+                    null != e._sw && null != e._sw && null != e._ne && null != e._ne && null != e._sw.lng && null != e._sw.lat && null != e._ne.lng && null != e._ne.lat && this.setBounds(e)
+                },
+                addComponents: function(e) {
+                    GeoGlobe.Util.isArray(e) || (e = [e]);
+                    for (var t = 0, i = e.length; t < i; t++)
+                        this.addComponent(e[t])
+                },
+                addComponent: function(e, t) {
+                    var i = !1;
+                    if (e && (null == this.componentTypes || GeoGlobe.Util.indexOf(this.componentTypes, e.CLASS_NAME) > -1)) {
+                        if (null != t && t < this.components.length) {
+                            var r = this.components.slice(0, t)
+                              , n = this.components.slice(t, this.components.length);
+                            r.push(e),
+                            this.components = r.concat(n)
+                        } else
+                            this.components.push(e);
+                        e.parent = this,
+                        this.clearBounds(),
+                        i = !0
+                    }
+                    return i
+                },
+                removeComponents: function(e) {
+                    var t = !1;
+                    GeoGlobe.Util.isArray(e) || (e = [e]);
+                    for (var i = e.length - 1; i >= 0; --i)
+                        t = this.removeComponent(e[i]) || t;
+                    return t
+                },
+                removeComponent: function(e) {
+                    return GeoGlobe.Util.removeItem(this.components, e),
+                    this.clearBounds(),
+                    !0
+                },
+                getLength: function() {
+                    for (var e = 0, t = 0, i = this.components.length; t < i; t++)
+                        e += this.components[t].getLength();
+                    return e
+                },
+                getArea: function() {
+                    for (var e = 0, t = 0, i = this.components.length; t < i; t++)
+                        e += this.components[t].getArea();
+                    return e
+                },
+                getGeodesicArea: function(e) {
+                    for (var t = 0, i = 0, r = this.components.length; i < r; i++)
+                        t += this.components[i].getGeodesicArea(e);
+                    return t
+                },
+                getCentroid: function(e) {
+                    if (!e)
+                        return this.components.length && this.components[0].getCentroid();
+                    var t = this.components.length;
+                    if (!t)
+                        return !1;
+                    for (var i, r = [], n = [], o = 0, a = Number.MAX_VALUE, s = 0; s < t; ++s) {
+                        var x = (i = this.components[s]).getArea()
+                          , l = i.getCentroid(!0);
+                        isNaN(x) || isNaN(l.x) || isNaN(l.y) || (r.push(x),
+                        o += x,
+                        a = x < a && x > 0 ? x : a,
+                        n.push(l))
+                    }
+                    if (t = r.length,
+                    0 === o) {
+                        for (s = 0; s < t; ++s)
+                            r[s] = 1;
+                        o = r.length
+                    } else {
+                        for (s = 0; s < t; ++s)
+                            r[s] /= a;
+                        o /= a
+                    }
+                    var c = 0
+                      , u = 0;
+                    for (s = 0; s < t; ++s)
+                        l = n[s],
+                        x = r[s],
+                        c += l.x * x,
+                        u += l.y * x;
+                    return new GeoGlobe.Geometry.Point(c / o,u / o)
+                },
+                getGeodesicLength: function(e) {
+                    for (var t = 0, i = 0, r = this.components.length; i < r; i++)
+                        t += this.components[i].getGeodesicLength(e);
+                    return t
+                },
+                move: function(e, t) {
+                    for (var i = 0, r = this.components.length; i < r; i++)
+                        this.components[i].move(e, t)
+                },
+                rotate: function(e, t) {
+                    for (var i = 0, r = this.components.length; i < r; ++i)
+                        this.components[i].rotate(e, t)
+                },
+                resize: function(e, t, i) {
+                    for (var r = 0; r < this.components.length; ++r)
+                        this.components[r].resize(e, t, i);
+                    return this
+                },
+                distanceTo: function(e, t) {
+                    for (var i, r, n, o = !(t && !1 === t.edge) && t && t.details, a = Number.POSITIVE_INFINITY, s = 0, x = this.components.length; s < x && (i = this.components[s].distanceTo(e, t),
+                    !((n = o ? i.distance : i) < a && (r = i,
+                    0 == (a = n)))); ++s)
+                        ;
+                    return r
+                },
+                equals: function(e) {
+                    var t = !0;
+                    if (e && e.CLASS_NAME && this.CLASS_NAME == e.CLASS_NAME)
+                        if (GeoGlobe.Util.isArray(e.components) && e.components.length == this.components.length) {
+                            for (var i = 0, r = this.components.length; i < r; ++i)
+                                if (!this.components[i].equals(e.components[i])) {
+                                    t = !1;
+                                    break
+                                }
+                        } else
+                            t = !1;
+                    else
+                        t = !1;
+                    return t
+                },
+                transform: function(e, t) {
+                    if (e && t) {
+                        for (var i = 0, r = this.components.length; i < r; i++)
+                            this.components[i].transform(e, t);
+                        this.bounds = null
+                    }
+                    return this
+                },
+                intersects: function(e) {
+                    for (var t = !1, i = 0, r = this.components.length; i < r && !(t = e.intersects(this.components[i])); ++i)
+                        ;
+                    return t
+                },
+                getVertices: function(e) {
+                    for (var t = [], i = 0, r = this.components.length; i < r; ++i)
+                        Array.prototype.push.apply(t, this.components[i].getVertices(e));
+                    return t
+                },
+                CLASS_NAME: "GeoGlobe.Geometry.Collection"
+            }),
+            GeoGlobe.Geometry.Point = GeoGlobe.Class4OL(GeoGlobe.Geometry, {
+                x: null,
+                y: null,
+                initialize: function(e, t) {
+                    GeoGlobe.Geometry.prototype.initialize.apply(this, arguments),
+                    this.x = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e),
+                    this.y = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t)
+                },
+                clone: function(e) {
+                    return null == e && (e = new GeoGlobe.Geometry.Point(this.x,this.y)),
+                    GeoGlobe.Util.applyDefaults(e, this),
+                    e
+                },
+                calculateBounds: function() {
+                    var e = new GeoGlobe.LngLat(this.x,this.y)
+                      , t = new GeoGlobe.LngLat(this.x,this.y);
+                    this.bounds = new GeoGlobe.LngLatBounds(e,t)
+                },
+                distanceTo: function(e, t) {
+                    var i, r, n, o, a, s, x = !(t && !1 === t.edge) && t && t.details;
+                    return e instanceof GeoGlobe.Geometry.Point ? (r = this.x,
+                    n = this.y,
+                    o = e.x,
+                    a = e.y,
+                    i = Math.sqrt(Math.pow(r - o, 2) + Math.pow(n - a, 2)),
+                    s = x ? {
+                        x0: r,
+                        y0: n,
+                        x1: o,
+                        y1: a,
+                        distance: i
+                    } : i) : (s = e.distanceTo(this, t),
+                    x && (s = {
+                        x0: s.x1,
+                        y0: s.y1,
+                        x1: s.x0,
+                        y1: s.y0,
+                        distance: s.distance
+                    })),
+                    s
+                },
+                equals: function(e) {
+                    var t = !1;
+                    return null != e && (t = this.x == e.x && this.y == e.y || isNaN(this.x) && isNaN(this.y) && isNaN(e.x) && isNaN(e.y)),
+                    t
+                },
+                toShortString: function() {
+                    return this.x + ", " + this.y
+                },
+                move: function(e, t) {
+                    this.x = this.x + e,
+                    this.y = this.y + t,
+                    this.clearBounds()
+                },
+                rotate: function(e, t) {
+                    e *= Math.PI / 180;
+                    var i = this.distanceTo(t)
+                      , r = e + Math.atan2(this.y - t.y, this.x - t.x);
+                    this.x = t.x + i * Math.cos(r),
+                    this.y = t.y + i * Math.sin(r),
+                    this.clearBounds()
+                },
+                getCentroid: function() {
+                    return new GeoGlobe.Geometry.Point(this.x,this.y)
+                },
+                resize: function(e, t, i) {
+                    return i = null == i ? 1 : i,
+                    this.x = t.x + e * i * (this.x - t.x),
+                    this.y = t.y + e * (this.y - t.y),
+                    this.clearBounds(),
+                    this
+                },
+                intersects: function(e) {
+                    return "GeoGlobe.Geometry.Point" == e.CLASS_NAME ? this.equals(e) : e.intersects(this)
+                },
+                transform: function(e, t) {
+                    return e && t && (GeoGlobe.SpatialReference.transform(this, e, t),
+                    this.bounds = null),
+                    this
+                },
+                getVertices: function(e) {
+                    return [this]
+                },
+                CLASS_NAME: "GeoGlobe.Geometry.Point"
+            }),
+            GeoGlobe.Geometry.MultiPoint = GeoGlobe.Class4OL(GeoGlobe.Geometry.Collection, {
+                componentTypes: ["GeoGlobe.Geometry.Point"],
+                addPoint: function(e, t) {
+                    this.addComponent(e, t)
+                },
+                removePoint: function(e) {
+                    this.removeComponent(e)
+                },
+                CLASS_NAME: "GeoGlobe.Geometry.MultiPoint"
+            }),
+            GeoGlobe.Geometry.Curve = GeoGlobe.Class4OL(GeoGlobe.Geometry.MultiPoint, {
+                componentTypes: ["GeoGlobe.Geometry.Point"],
+                getLength: function() {
+                    var e = 0;
+                    if (this.components && this.components.length > 1)
+                        for (var t = 1, i = this.components.length; t < i; t++)
+                            e += this.components[t - 1].distanceTo(this.components[t]);
+                    return e
+                },
+                getGeodesicLength: function(e) {
+                    var t = this;
+                    if (e) {
+                        var i = new GeoGlobe.SpatialReference("EPSG:4326");
+                        i.equals(e) || (t = this.clone().transform(e, i))
+                    }
+                    var r = 0;
+                    if (t.components && t.components.length > 1)
+                        for (var n, o, a = 1, s = t.components.length; a < s; a++)
+                            n = t.components[a - 1],
+                            o = t.components[a],
+                            r += GeoGlobe.Util.distVincenty({
+                                lng: n.x,
+                                lat: n.y
+                            }, {
+                                lng: o.x,
+                                lat: o.y
+                            });
+                    return 1e3 * r
+                },
+                CLASS_NAME: "GeoGlobe.Geometry.Curve"
+            }),
+            GeoGlobe.Geometry.LineString = GeoGlobe.Class4OL(GeoGlobe.Geometry.Curve, {
+                removeComponent: function(e) {
+                    var t = this.components && this.components.length > 2;
+                    return t && GeoGlobe.Geometry.Collection.prototype.removeComponent.apply(this, arguments),
+                    t
+                },
+                intersects: function(e) {
+                    var t = !1
+                      , i = e.CLASS_NAME;
+                    if ("GeoGlobe.Geometry.LineString" == i || "GeoGlobe.Geometry.LinearRing" == i || "GeoGlobe.Geometry.Point" == i) {
+                        var r, n, o, a, s, x, l, c, u, h = this.getSortedSegments();
+                        r = "GeoGlobe.Geometry.Point" == i ? [{
+                            x1: e.x,
+                            y1: e.y,
+                            x2: e.x,
+                            y2: e.y
+                        }] : e.getSortedSegments();
+                        e: for (var f = 0, d = h.length; f < d; ++f) {
+                            o = (n = h[f]).x1,
+                            a = n.x2,
+                            s = n.y1,
+                            x = n.y2;
+                            for (var g = 0, p = r.length; g < p && !((l = r[g]).x1 > a); ++g)
+                                if (!(l.x2 < o) && (c = l.y1,
+                                u = l.y2,
+                                !(Math.min(c, u) > Math.max(s, x)) && !(Math.max(c, u) < Math.min(s, x)) && GeoGlobe.Geometry.segmentsIntersect(n, l))) {
+                                    t = !0;
+                                    break e
+                                }
+                        }
+                    } else
+                        t = e.intersects(this);
+                    return t
+                },
+                getSortedSegments: function() {
+                    for (var e, t, i = this.components.length - 1, r = new Array(i), n = 0; n < i; ++n)
+                        e = this.components[n],
+                        t = this.components[n + 1],
+                        e.x < t.x ? r[n] = {
+                            x1: e.x,
+                            y1: e.y,
+                            x2: t.x,
+                            y2: t.y
+                        } : r[n] = {
+                            x1: t.x,
+                            y1: t.y,
+                            x2: e.x,
+                            y2: e.y
+                        };
+                    return r.sort((function(e, t) {
+                        return e.x1 - t.x1
+                    }
+                    ))
+                },
+                splitWithSegment: function(e, t) {
+                    for (var i, r, n, o, a = !(t && !1 === t.edge), s = t && t.tolerance, x = [], l = this.getVertices(), c = [], u = [], h = !1, f = {
+                        point: !0,
+                        tolerance: s
+                    }, d = null, g = 0, p = l.length - 2; g <= p; ++g)
+                        if (i = l[g],
+                        c.push(i.clone()),
+                        r = l[g + 1],
+                        o = {
+                            x1: i.x,
+                            y1: i.y,
+                            x2: r.x,
+                            y2: r.y
+                        },
+                        (n = GeoGlobe.Geometry.segmentsIntersect(e, o, f))instanceof GeoGlobe.Geometry.Point && (n.x === e.x1 && n.y === e.y1 || n.x === e.x2 && n.y === e.y2 || n.equals(i) || n.equals(r) || a)) {
+                            if (n.equals(u[u.length - 1]) || u.push(n.clone()),
+                            0 === g && n.equals(i))
+                                continue;
+                            if (n.equals(r))
+                                continue;
+                            h = !0,
+                            n.equals(i) || c.push(n),
+                            x.push(new GeoGlobe.Geometry.LineString(c)),
+                            c = [n.clone()]
+                        }
+                    if (h && (c.push(r.clone()),
+                    x.push(new GeoGlobe.Geometry.LineString(c))),
+                    u.length > 0) {
+                        var m = e.x1 < e.x2 ? 1 : -1
+                          , b = e.y1 < e.y2 ? 1 : -1;
+                        d = {
+                            lines: x,
+                            points: u.sort((function(e, t) {
+                                return m * e.x - m * t.x || b * e.y - b * t.y
                             }
                             ))
                         }
-                        ,
-                        t.prototype[P("0x2d2")] = function () {
-                            var t = this;
-                            this[P("0x16f")] || (this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x318")]),
-                                this.handler[P("0x160")]((function (i) {
-                                    var r = t._viewer[P("0x10f")][P("0xa4")](i[P("0x8c")]);
-                                    if (r)
-                                        if (r[P("0x2fc")] && r.collection[P("0x2cc")] && -1 < r[P("0x2fc")][P("0x2cc")][P("0x2d3")](P("0x325"))) {
-                                            var n = function (e, t) {
-                                                for (var i = 0; i < t[P("0x0")]; i++)
-                                                    if (t[i].tag == e)
-                                                        return t[i][P("0x182")]
-                                            }(r[P("0x2fc")][P("0x2cc")], t[P("0x32b")]);
-                                            n[P("0x354")](r[P("0x2fc")][P("0x2cc")])[P("0x169")] = e[P("0x184")].toValue(e.Color[P("0x2d5")].withAlpha(.5));
-                                            for (var o = 0; o < r[P("0x2fc")][P("0x355")][P("0x0")]; o++)
-                                                r[P("0x2fc")][P("0x355")][o][P("0x19c")].uniforms.color = e[P("0x16a")][P("0x2d5")];
-                                            t._pickedClassificationPrimitives.push(n),
-                                                t[P("0x2cb")][P("0x17c")](r.collection[P("0x2cc")])
-                                        } else
-                                            r.id && -1 < r.id[P("0x2d3")](P("0x325")) && (r.primitive[P("0x354")](r.id)[P("0x169")] = e.ColorGeometryInstanceAttribute[P("0x356")](e[P("0x16a")][P("0x2d5")].withAlpha(.5)),
-                                                t[P("0x32c")].push(r),
-                                                t[P("0x2cb")][P("0x17c")](r.id))
+                    }
+                    return d
+                },
+                split: function(e, t) {
+                    var i, r, n, o, a = null, s = t && t.mutual;
+                    if (e instanceof GeoGlobe.Geometry.LineString) {
+                        var x, l, c, u, h, f, d = this.getVertices(), g = [];
+                        n = [];
+                        for (var p = 0, m = d.length - 2; p <= m; ++p) {
+                            x = d[p],
+                            l = d[p + 1],
+                            c = {
+                                x1: x.x,
+                                y1: x.y,
+                                x2: l.x,
+                                y2: l.y
+                            },
+                            o = o || [e],
+                            s && g.push(x.clone());
+                            for (var b = 0; b < o.length; ++b)
+                                if ((u = o[b].splitWithSegment(c, t)) && ((h = u.lines).length > 0 && (h.unshift(b, 1),
+                                Array.prototype.splice.apply(o, h),
+                                b += h.length - 2),
+                                s))
+                                    for (var v = 0, C = u.points.length; v < C; ++v)
+                                        (f = u.points[v]).equals(x) || (g.push(f),
+                                        n.push(new GeoGlobe.Geometry.LineString(g)),
+                                        g = f.equals(l) ? [] : [f.clone()])
+                        }
+                        s && n.length > 0 && g.length > 0 && (g.push(l.clone()),
+                        n.push(new GeoGlobe.Geometry.LineString(g)))
+                    } else
+                        a = e.splitWith(this, t);
+                    return o && o.length > 1 ? r = !0 : o = [],
+                    n && n.length > 1 ? i = !0 : n = [],
+                    (r || i) && (a = s ? [n, o] : o),
+                    a
+                },
+                splitWith: function(e, t) {
+                    return e.split(this, t)
+                },
+                getVertices: function(e) {
+                    return !0 === e ? [this.components[0], this.components[this.components.length - 1]] : !1 === e ? this.components.slice(1, this.components.length - 1) : this.components.slice()
+                },
+                distanceTo: function(e, t) {
+                    var i, r = !(t && !1 === t.edge) && t && t.details, n = {}, o = Number.POSITIVE_INFINITY;
+                    if (e instanceof GeoGlobe.Geometry.Point) {
+                        for (var a, s = this.getSortedSegments(), x = e.x, l = e.y, c = 0, u = s.length; c < u; ++c)
+                            if (a = s[c],
+                            (i = GeoGlobe.Geometry.distanceToSegment(e, a)).distance < o) {
+                                if (n = i,
+                                0 === (o = i.distance))
+                                    break
+                            } else if (a.x2 > x && (l > a.y1 && l < a.y2 || l < a.y1 && l > a.y2))
+                                break;
+                        n = r ? {
+                            distance: n.distance,
+                            x0: n.x,
+                            y0: n.y,
+                            x1: x,
+                            y1: l
+                        } : n.distance
+                    } else if (e instanceof GeoGlobe.Geometry.LineString) {
+                        var h, f, d, g, p, m = this.getSortedSegments(), b = e.getSortedSegments(), v = b.length, C = {
+                            point: !0
+                        };
+                        e: for (c = 0,
+                        u = m.length; c < u; ++c) {
+                            g = (h = m[c]).x1,
+                            p = h.y1;
+                            for (var y = 0; y < v; ++y) {
+                                if (f = b[y],
+                                d = GeoGlobe.Geometry.segmentsIntersect(h, f, C)) {
+                                    o = 0,
+                                    n = {
+                                        distance: 0,
+                                        x0: d.x,
+                                        y0: d.y,
+                                        x1: d.x,
+                                        y1: d.y
+                                    };
+                                    break e
                                 }
-                                ), e.ScreenSpaceEventType.LEFT_CLICK))
-                        }
-                        ,
-                        t.prototype[P("0x2d6")] = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")]();
-                            for (var e = 0; e < this._pickedClassificationPrimitives[P("0x0")]; e++)
-                                a(this[P("0x2cb")][e], this[P("0x306")]),
-                                    o(this[P("0x2cb")][e], this[P("0x13c")][P("0x194")]),
-                                    s(this[P("0x2cb")][e], this._classificationPrimitives, this[P("0x306")])
-                        }
-                        ,
-                        t[P("0x5")][P("0x357")] = function (t) {
-                            var i = this;
-                            if (t)
-                                (this[P("0x326")] = t) > this[P("0x32f")] && (this[P("0x326")] = this[P("0x32f")]),
-                                    t < this._minHeight && (this[P("0x326")] = this._minHeight),
-                                    this[P("0x358")](),
-                                    this[P("0x347")]()[P("0x333")]((function (e) {
-                                        var t, r, n = e[P("0x34e")], o = e.volume;
-                                        return r = n < 1e6 ? (t = P("0x350") + n.toFixed(2) + "m虏",
-                                            "浣撶Н锛�" + o[P("0x2af")](2) + "m鲁") : (t = P("0x350") + (n / 1e6)[P("0x2af")](2) + P("0x2da"),
-                                                P("0x359") + (o / 1e9)[P("0x2af")](2) + P("0x351")),
-                                            i[P("0x352")].get(i._resultLabels.length - 1)[P("0x31b")] = r + "\n" + t,
-                                            e
-                                    }
-                                    ));
-                            else {
-                                if (this.handler)
-                                    return;
-                                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x318")]),
-                                    this[P("0x13c")][P("0x48")][P("0x150")].cursor = P("0x171"),
-                                    this[P("0x16f")][P("0x160")]((function (t) {
-                                        if (1 == i.mode)
-                                            var r = i._camera[P("0x86")](t[P("0x8c")])
-                                                , n = i[P("0x42")][P("0xa3")][P("0xa4")](r, i[P("0x42")]);
-                                        else
-                                            n = i[P("0x42")].pickPosition(t[P("0x8c")]);
-                                        if (n) {
-                                            var o = e[P("0x13")][P("0x175")](n)[P("0x8b")];
-                                            (i[P("0x326")] = o) > i._maxHeight && (i._designElevation = i[P("0x32f")]),
-                                                o < i[P("0x32e")] && (i[P("0x326")] = i._minHeight),
-                                                i[P("0x16f")] = i[P("0x16f")] && i[P("0x16f")][P("0xf4")](),
-                                                i[P("0x13c")].canvas[P("0x150")].cursor = P("0x18c"),
-                                                i[P("0x358")](),
-                                                i[P("0x35a")](),
-                                                i[P("0x347")]()[P("0x333")]((function (e) {
-                                                    var t, r, n = e[P("0x34e")], o = e.volume;
-                                                    return r = n < 1e6 ? (t = P("0x350") + n.toFixed(2) + "m虏",
-                                                        "浣撶Н锛�" + o[P("0x2af")](2) + "m鲁") : (t = P("0x350") + (n / 1e6)[P("0x2af")](2) + P("0x2da"),
-                                                            "浣撶Н锛�" + (o / 1e9)[P("0x2af")](2) + "km鲁"),
-                                                        i._resultLabels[P("0x187")](i[P("0x352")][P("0x0")] - 1)[P("0x31b")] = r + "\n" + t,
-                                                        e
-                                                }
-                                                ))
-                                        }
-                                    }
-                                    ), e.ScreenSpaceEventType[P("0x17e")])
+                                (i = GeoGlobe.Geometry.distanceToSegment({
+                                    x: g,
+                                    y: p
+                                }, f)).distance < o && (n = {
+                                    distance: o = i.distance,
+                                    x0: g,
+                                    y0: p,
+                                    x1: i.x,
+                                    y1: i.y
+                                })
                             }
                         }
-                        ,
-                        t[P("0x5")].updateClassificationPrimitive = function () {
-                            this[P("0x306")][P("0x17f")](this[P("0x337")]);
-                            var t = new (e[P("0x179")])({
-                                geometry: e[P("0x1af")][P("0x231")]({
-                                    positions: this._array_,
-                                    height: this[P("0x326")],
-                                    extrudedHeight: 1e5,
-                                    vertexFormat: e[P("0x1b0")][P("0x1b1")]
-                                }),
-                                attributes: {
-                                    color: e[P("0x184")][P("0x1b2")](e[P("0x16a")][P("0x310")][P("0x16c")](.5))
-                                },
-                                id: P("0x330") + this[P("0x1a9")]
-                            });
-                            this[P("0x337")] = new (e[P("0x35b")])({
-                                geometryInstances: t,
-                                classificationType: e[P("0x17a")].BOTH
-                            }),
-                                this._classificationPrimitives[P("0x17c")]({
-                                    tag: "MeasureVolumeWidget_" + this.count,
-                                    primitive: this._classificationPrimitive
-                                }),
-                                this[P("0x306")].add(this._classificationPrimitive)
+                        if (r || (n = n.distance),
+                        0 !== o && h) {
+                            i = e.distanceTo(new GeoGlobe.Geometry.Point(h.x2,h.y2), t);
+                            var _ = r ? i.distance : i;
+                            _ < o && (n = r ? {
+                                distance: o,
+                                x0: i.x1,
+                                y0: i.y1,
+                                x1: i.x0,
+                                y1: i.y0
+                            } : _)
                         }
-                        ,
-                        t[P("0x5")][P("0x35a")] = function () {
-                            !function (e, t, i) {
-                                for (var r = 0; r < i.length; r++)
-                                    i[P("0x187")](r)[P("0x2cc")] == e && i[P("0x187")](r).name == t && (i[P("0x17f")](i.get(r)),
-                                        r--)
-                            }("MeasureVolumeWidget_" + this[P("0x1a9")], P("0x33c"), this[P("0x306")]),
-                                function (e, t, i) {
-                                    for (var r = i.values, n = 0; n < r.length; n++)
-                                        r[n][P("0x2cc")] == e && r[n][P("0x176")] == t && (i[P("0x17f")](r[n]),
-                                            n--)
-                                }(P("0x330") + this[P("0x1a9")], P("0x35c"), this._viewer.entities);
-                            var t = this._interpolationPoints.features
-                                , i = []
-                                , r = [];
-                            this[P("0x33b")] = this._primitives.add(new e.PolylineCollection),
-                                this[P("0x33b")].name = P("0x33c"),
-                                this[P("0x33b")][P("0x2cc")] = P("0x330") + this[P("0x1a9")];
-                            for (var n = 0; n < t.length; n++)
-                                if (!(t[n].properties.z < this._designElevation)) {
-                                    var o = [t[n][P("0x180")][P("0x2ed")][0], t[n][P("0x180")].coordinates[1], t[n][P("0x33d")].z]
-                                        , a = [t[n][P("0x180")].coordinates[0], t[n][P("0x180")][P("0x2ed")][1], this[P("0x326")]]
-                                        , s = [t[n][P("0x180")][P("0x2ed")][0], t[n].geometry.coordinates[1], this[P("0x32f")]]
-                                        , x = o[P("0x1c6")](a)
-                                        , l = o[P("0x1c6")](s);
-                                    r[P("0x17c")](turf[P("0x2ec")]([t[n][P("0x180")].coordinates[0], t[n][P("0x180")][P("0x2ed")][1]], {
-                                        z: t[n][P("0x33d")].z
-                                    })),
-                                        i[P("0x17c")](t[n][P("0x180")][P("0x2ed")][0], t[n][P("0x180")][P("0x2ed")][1], this[P("0x326")]),
-                                        this[P("0x33b")][P("0x6d")]({
-                                            positions: e.Cartesian3[P("0x19e")](x),
-                                            material: e[P("0x212")][P("0x213")](P("0x16a"), {
-                                                color: new e.Color(1, 0, 0, 1)
-                                            })
-                                        }),
-                                        this[P("0x33b")][P("0x6d")]({
-                                            positions: e[P("0x11")][P("0x19e")](l),
-                                            material: e[P("0x212")].fromType(P("0x16a"), {
-                                                color: new (e[P("0x16a")])(0, 1, 0, .5)
-                                            })
-                                        })
-                                }
-                            var c = turf.featureCollection(r)
-                                , u = (P("0x35d"),
-                                    turf[P("0x35e")](c))
-                                , h = [];
-                            for (n = 0; n < u[P("0x180")][P("0x2ed")][0][P("0x0")]; n++)
-                                h[P("0x17c")](u[P("0x180")].coordinates[0][n][0], u.geometry[P("0x2ed")][0][n][1]);
-                            this._designPolygonEntity = this._viewer[P("0x194")].add({
-                                name: P("0x35c"),
-                                tag: P("0x330") + this[P("0x1a9")],
-                                polygon: {
-                                    hierarchy: {
-                                        positions: e[P("0x11")][P("0x1da")](h)
-                                    },
-                                    material: e[P("0x16a")][P("0x338")].withAlpha(.3),
-                                    perPositionHeight: !1,
-                                    height: this[P("0x326")]
-                                }
-                            })
+                    } else
+                        n = e.distanceTo(this, t),
+                        r && (n = {
+                            distance: n.distance,
+                            x0: n.x1,
+                            y0: n.y1,
+                            x1: n.x0,
+                            y1: n.y0
+                        });
+                    return n
+                },
+                simplify: function(e) {
+                    if (this && null !== this) {
+                        var t = this.getVertices();
+                        if (t.length < 3)
+                            return this;
+                        var i = function(e, t, i) {
+                            return Math.abs(.5 * (e.x * t.y + t.x * i.y + i.x * e.y - t.x * e.y - i.x * t.y - e.x * i.y)) / Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2)) * 2
                         }
-                        ,
-                        t.prototype.clear = function () {
-                            this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")].destroy(),
-                                this[P("0x13c")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                function (e, t) {
-                                    for (var i = 0; i < t[P("0x0")]; i++)
-                                        t.get(i).name && -1 < t.get(i).name.indexOf(e) && (t[P("0x17f")](t[P("0x187")](i)),
-                                            i--)
-                                }(P("0x325"), this[P("0x306")]),
-                                function (e, t) {
-                                    for (var i = t[P("0x190")], r = 0; r < i.length; r++)
-                                        i[r][P("0x176")] && -1 < i[r][P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](i[r]),
-                                            r--)
-                                }(P("0x325"), this._viewer[P("0x194")]),
-                                function () {
-                                    for (var e = 0; e < this[P("0x32b")][P("0x0")]; e++)
-                                        this._primitives[P("0x17f")](this[P("0x32b")][e][P("0x182")])
-                                }
-                                    .call(this)
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x102")]
-                        , i = e.GeoClipping = function (i) {
-                            i = t(i, e[P("0x102")][P("0x128")]),
-                                this[P("0x35f")] = t(i[P("0x35f")], 64),
-                                this[P("0x360")] = t(i.edgeWidth, 2),
-                                this[P("0x361")] = t(i[P("0x361")], e[P("0x16a")][P("0x2cf")]),
-                                this[P("0x362")] = t(i[P("0x362")], 50),
-                                this[P("0x363")] = t(i.clippingModeUnion, !0),
-                                this[P("0x364")] = t(i.enabled, !0),
-                                this[P("0x365")] = void 0,
-                                this[P("0x366")] = void 0
-                        }
-                        ;
-                    i[P("0x5")][P("0x367")] = function (t) {
-                        t = e[P("0x14")](t) ? t : this.steps;
-                        for (var i = e.Math[P("0xab")] / t, r = [], n = 0; n < t; n++) {
-                            var o = n * i
-                                , a = new (e[P("0x11")]);
-                            a.x = 1,
-                                a.y = Math.tan(o),
-                                o > e.Math.PI_OVER_TWO && (a.x = -1,
-                                    a.y *= -1),
-                                o > e.Math.PI && (a.x = -1),
-                                o > 3 * e[P("0x23")][P("0x5b")] && (a.x = 1,
-                                    a.y = -a.y),
-                                e[P("0x11")][P("0x8d")](a, a);
-                            var s = new (e[P("0x368")])(a, this.cylinderRadius);
-                            r[P("0x17c")](s)
-                        }
-                        return this[P("0x365")] = r
-                    }
-                        ,
-                        i[P("0x5")][P("0x369")] = function (t, i) {
-                            for (var r = new (e[P("0x36a")])({
-                                modelMatrix: e[P("0x14")](t) ? t : e[P("0x1b")][P("0xae")],
-                                edgeWidth: this[P("0x360")],
-                                edgeColor: this[P("0x361")],
-                                unionClippingRegions: this[P("0x363")],
-                                enabled: this[P("0x364")]
-                            }), n = this[P("0x367")](i), o = 0; o < n[P("0x0")]; o++)
-                                r[P("0x6d")](n[o]);
-                            return this[P("0x366")] = r
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x36b")] = function (e, t) {
-                        this.viewer = e.viewer,
-                            this[P("0x10f")] = this.viewer[P("0x10f")],
-                            this[P("0x48")] = this[P("0x10f")][P("0x48")],
-                            this[P("0x17d")] = this.scene[P("0x17d")],
-                            this[P("0x36c")] = null,
-                            this[P("0x36d")] = null,
-                            this[P("0x36e")] = null,
-                            this[P("0x180")] = null,
-                            this.appearance = null,
-                            this[P("0x191")] = t || null
-                    }
-                        ;
-                    t[P("0x5")][P("0x36f")] = function (e, t, i) {
-                        return this[P("0x182")] && this[P("0x192")](),
-                            this[P("0x182")] = this[P("0x370")](e, t, i),
-                            this.primitive
-                    }
-                        ,
-                        t[P("0x5")][P("0x370")] = function (t, i, r) {
-                            var n, o, a, s, x, l;
-                            if (t && i && !(i && i.length < 3))
-                                return this.fragmentShader = (n = e[P("0x373")],
-                                    o = Number[P("0x374")](n),
-                                    P("0x375") + (1.68 <= o ? P("0x376") : "") + ");\n\t\t\t\t\t\tgl_FragColor.a = 1.0;\n\t\t\t\t\t#endif\n\t\t\t\t\t}\n\t\t\t    "),
-                                    this[P("0x36e")] = t,
-                                    this[P("0x180")] = (a = i,
-                                        s = r,
-                                        new (e[P("0x1af")])({
-                                            polygonHierarchy: new (e[P("0x372")])(e[P("0x11")][P("0x19e")](a)),
-                                            extrudedHeight: s || 0,
-                                            perPositionHeight: !1,
-                                            closeTop: !0,
-                                            closeBottom: !0,
-                                            vertexFormat: e[P("0x1b0")].VERTEXT_FORMAT
-                                        })),
-                                    this.appearance || (this[P("0x16d")] = (x = this[P("0x36d")],
-                                        l = this[P("0x36e")],
-                                        new (e[P("0x1b0")])({
-                                            material: new e.Material({
-                                                translucent: !1,
-                                                fabric: {
-                                                    type: P("0x371"),
-                                                    uniforms: {
-                                                        normalMap: l,
-                                                        frequency: 90,
-                                                        animationSpeed: .03,
-                                                        amplitude: 90,
-                                                        specularIntensity: 5
-                                                    }
-                                                }
-                                            }),
-                                            fragmentShaderSource: x
-                                        }))),
-                                    this[P("0x17d")][P("0x6d")](new (e[P("0x226")])({
-                                        allowPicking: !0,
-                                        geometryInstances: new e.GeometryInstance({
-                                            geometry: this[P("0x180")],
-                                            id: "GEOFlood_ID"
-                                        }),
-                                        vertexCacheOptimize: !0,
-                                        appearance: this[P("0x16d")],
-                                        interleave: !0,
-                                        asynchronous: !1,
-                                        cull: !1,
-                                        releaseGeometryInstances: !0,
-                                        show: !0
-                                    }))
-                        }
-                        ,
-                        t[P("0x5")][P("0x192")] = function () {
-                            this[P("0x48")].style[P("0x170")] = P("0x18c"),
-                                this[P("0x182")] && this.primitives[P("0x17f")](this.primitive)
-                        }
-                        ,
-                        t[P("0x5")].clearPrimitive = function (e) {
-                            e && this[P("0x17d")][P("0x17f")](e)
-                        }
-                        ,
-                        t.prototype[P("0xf4")] = function () {
-                            this.clear(),
-                                this[P("0x13b")] = void 0,
-                                this[P("0x10f")] = void 0,
-                                this[P("0x48")] = void 0,
-                                this[P("0x17d")] = void 0,
-                                this[P("0x191")] = void 0
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x102")]
-                        , i = e[P("0x377")] = function (i, r) {
-                            i = t(i, e.defaultValue[P("0x128")]),
-                                this[P("0x13b")] = i.viewer,
-                                this[P("0x10f")] = this.viewer[P("0x10f")],
-                                this[P("0x194")] = this[P("0x13b")].entities,
-                                this[P("0x378")] = void 0,
-                                this[P("0x379")] = void 0
-                        }
-                        ;
-                    i.prototype.analysis = function (i) {
-                        i = t(i, e[P("0x102")][P("0x128")]),
-                            this[P("0x37a")] = t(i[P("0x37a")], 0);
-                        var r = i[P("0x37b")]
-                            , n = i[P("0x37c")]
-                            , o = i[P("0x37d")];
-                        r && this[P("0x37e")](r),
-                            n && this[P("0x37f")](n),
-                            o && this[P("0x380")](o)
-                    }
-                        ,
-                        i[P("0x5")][P("0x37e")] = function (i) {
-                            return this[P("0x381")](),
-                                i = t(i, e[P("0x102")][P("0x128")]),
-                                this[P("0x378")] = this[P("0x194")][P("0x6d")]({
-                                    position: t(i[P("0x382")], new (e[P("0x10")])(0, 0, 0)),
-                                    label: {
-                                        text: t(i[P("0x383")], ""),
-                                        pixelOffset: t(i[P("0x384")], new (e[P("0x10")])(0, -60)),
-                                        fillColor: t(i[P("0x385")], new (e[P("0x16a")])(0, 0, 1, 1)),
-                                        font: t(i[P("0x386")], P("0x387")),
-                                        outlineColor: t(i.labelOutlineColor, new (e[P("0x16a")])(0, 0, 1, 1)),
-                                        outlineWidth: t(i[P("0x388")], 1.8),
-                                        style: e[P("0x102")](i[P("0x389")], e.LabelStyle[P("0x2de")]),
-                                        show: t(i.labelShow, !0),
-                                        disableDepthTestDistance: Number.POSITIVE_INFINITY
-                                    }
-                                }),
-                                !0
-                        }
-                        ,
-                        i[P("0x5")][P("0x37f")] = function (i) {
-                            return this.clearPolygonPlaneEntity(),
-                                i = t(i, e.defaultValue[P("0x128")]),
-                                this.polygonPlaneEntity = this.entities[P("0x6d")]({
-                                    polygon: {
-                                        hierarchy: t(i.polygonPlaneHierarchy, new (e[P("0x11")])(0, 0, 0)),
-                                        perPositionHeight: t(i[P("0x38a")], !1),
-                                        height: t(i[P("0x38b")], this[P("0x37a")]),
-                                        material: t(i[P("0x38c")], e[P("0x16a")][P("0x2d5")][P("0x16c")](.3)),
-                                        outline: t(i[P("0x38d")], !0),
-                                        outlineColor: t(i.polygonPlaneOutlineColor, e[P("0x16a")][P("0x2cf")]),
-                                        show: t(i[P("0x38e")], !0)
-                                    }
-                                }),
-                                !0
-                        }
-                        ,
-                        i[P("0x5")][P("0x380")] = function (i) {
-                            this[P("0x38f")]();
-                            var r = (i = t(i, e[P("0x102")].EMPTY_OBJECT))[P("0x390")];
-                            if (!r || 0 == r[P("0x0")])
-                                return console[P("0x391")](P("0x392")),
-                                    !1;
-                            var n, o, a, s, x = (n = r,
-                                o = t(i[P("0x393")], this[P("0x37a")]),
-                                a = t(i[P("0x394")], 1e4),
-                                s = t(i[P("0x395")], new e.Color(1, 0, 0, .5)),
-                                new e.GeometryInstance({
-                                    geometry: new (e[P("0x1af")])({
-                                        polygonHierarchy: new (e[P("0x372")])(e.Cartesian3[P("0x1da")](n)),
-                                        height: o,
-                                        extrudedHeight: a
-                                    }),
-                                    attributes: {
-                                        color: e[P("0x184")][P("0x1b2")](s)
-                                    }
-                                })), l = new (e[P("0x16e")])({
-                                    flat: !0
-                                }), c = new (e[P("0x35b")])({
-                                    geometryInstances: [x],
-                                    appearance: l,
-                                    classificationType: e.ClassificationType.CESIUM_3D_TILE
-                                });
-                            return this.polygonFitPrimitive = this[P("0x10f")][P("0x17d")][P("0x6d")](c),
-                                !0
-                        }
-                        ,
-                        i[P("0x5")][P("0x381")] = function () {
-                            this[P("0x378")] && this[P("0x194")][P("0xd1")](this.labelEntity) && (this[P("0x194")][P("0x17f")](this[P("0x378")]),
-                                this[P("0x378")] = void 0)
-                        }
-                        ,
-                        i[P("0x5")].clearPolygonPlaneEntity = function () {
-                            this[P("0x379")] && this[P("0x194")][P("0xd1")](this[P("0x379")]) && (this[P("0x194")].remove(this[P("0x379")]),
-                                this.polygonPlaneEntity = void 0)
-                        }
-                        ,
-                        i.prototype[P("0x38f")] = function () {
-                            this[P("0x396")] && this[P("0x10f")][P("0x17d")][P("0xd1")](this[P("0x396")]) && (this[P("0x10f")][P("0x17d")][P("0x17f")](this[P("0x396")]),
-                                this[P("0x396")] = void 0)
-                        }
-                        ,
-                        i[P("0x5")][P("0x397")] = function () {
-                            this[P("0x381")](),
-                                this[P("0x398")](),
-                                this[P("0x38f")]()
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = "GeoPLSViewShed3D_TIP"
-                        , i = P("0x399")
-                        , r = P("0x39a")
-                        , n = P("0x39b")
-                        , o = "GeoPLSViewShed3D_DSP"
-                        , a = P("0x39c")
-                        , s = e[P("0x39d")] = function (t, i) {
-                            this[P("0x13b")] = t[P("0x13b")],
-                                this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
-                                this.canvas = this.scene[P("0x48")],
-                                this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
-                                this[P("0x39e")] = this[P("0x10f")].groundPrimitives,
-                                this[P("0x191")] = i || null,
-                                this[P("0x39f")] = e[P("0x102")](t.pointLightHeight, .2),
-                                this[P("0x3a0")] = e[P("0x102")](t[P("0x3a1")], 5),
-                                this[P("0x3a2")] = e.defaultValue(t[P("0x3a3")], e[P("0x16a")][P("0x2d5")]),
-                                this[P("0x3a4")] = e.defaultValue(t[P("0x3a5")], 4),
-                                this[P("0x3a6")] = e[P("0x102")](t[P("0x3a7")], e[P("0x16a")][P("0x2d5")]),
-                                this[P("0x3a8")] = e[P("0x102")](t[P("0x3a9")], 8),
-                                this[P("0x3aa")] = e[P("0x102")](t[P("0x3ab")], new (e[P("0x16a")])(1, 1, 0, .5)),
-                                this._baseDEMLerpCfg = e.defaultValue(t[P("0x3ac")], {}),
-                                this[P("0x3ad")] = e[P("0x102")](t[P("0x3ae")], !0),
-                                this[P("0x3af")] = void 0,
-                                b()(e[P("0x373")]) < 1.5 && console.error(P("0x3b0") + e.VERSION + P("0x3b1"))
-                        }
-                        ;
-                    function x(t, i, r, n, o, a) {
-                        for (var s = [], x = [], l = p()(t[P("0x3ca")] / r), c = 0; c < l; c++) {
-                            var h = {
-                                longitude: i[0],
-                                latitude: i[1],
-                                height: i[2]
-                            }
-                                , f = {
-                                    longitude: i[3],
-                                    latitude: i[4],
-                                    height: i[5]
-                                }
-                                , d = e[P("0x23")].lerp(h[P("0x112")], f[P("0x112")], 1 / l * (c + 1))
-                                , g = e[P("0x23")][P("0x308")](h[P("0x114")], f[P("0x114")], 1 / l * (c + 1))
-                                , m = {
-                                    longitude: d,
-                                    latitude: g
-                                }
-                                , b = t.scene[P("0xa3")].getHeight(m)
-                                , v = e[P("0x11")][P("0x3d0")](d, g, b);
-                            s[P("0x17c")](v);
-                            var C = {
-                                longitude: i[0],
-                                latitude: i[1],
-                                height: b
-                            }
-                                , y = e.Cartographic[P("0x3d1")](C)
-                                , _ = e[P("0x11")].distance(y, v)
-                                , A = (b - i[2]) / _;
-                            x.push(A)
-                        }
-                        for (var I = [], w = [], G = [], E = [0], S = 0; S < x[P("0x0")] - 1; S++)
-                            I[P("0x0")] || x[S + 1] < x[S] && (I.push(x[S]),
-                                w[P("0x17c")](S)),
-                                I.length && (x[S] > I[I[P("0x0")] - 1] && x[S + 1] < x[S] && (I[P("0x17c")](x[S]),
-                                    w[P("0x17c")](S)),
-                                    x[S] > I[I[P("0x0")] - 1] && x[S - 1] < I[I[P("0x0")] - 1] && (G[P("0x17c")](x[S]),
-                                        E[P("0x17c")](S)));
-                        w.push(x[P("0x0")] - 1);
-                        var T = w[P("0x1c6")](E);
-                        T[P("0x3d2")]((function (e, t) {
+                          , r = t.length - 1
+                          , n = [];
+                        for (n.push(0),
+                        n.push(r); t[0].equals(t[r]); )
+                            r--,
+                            n.push(r);
+                        !function e(t, r, o, a) {
+                            for (var s, x = 0, l = 0, c = r; c < o; c++)
+                                (s = i(t[r], t[o], t[c])) > x && (x = s,
+                                l = c);
+                            x > a && l != r && (n.push(l),
+                            e(t, r, l, a),
+                            e(t, l, o, a))
+                        }(t, 0, r, e);
+                        var o = [];
+                        n.sort((function(e, t) {
                             return e - t
                         }
                         ));
-                        for (var M = [], N = 0; N < T[P("0x0")] - 1; N++) {
-                            var L = [s[T[N]], s[T[N + 1]]];
-                            M = N % 2 == 0 ? M.concat(u(L, a, n, !0)) : M[P("0x1c6")](u(L, a, o, !0))
-                        }
-                        return M
+                        for (var a = 0; a < n.length; a++)
+                            o.push(t[n[a]]);
+                        return new GeoGlobe.Geometry.LineString(o)
                     }
-                    function l(t, i, r) {
-                        var n = t.scene.pickPosition(i);
-                        if (n) {
-                            var o = e[P("0x13")][P("0x175")](n);
-                            if (o.height < 0) {
-                                t.scene[P("0xa3")].depthTestAgainstTerrain = !0,
-                                    t[P("0x13b")][P("0x3d3")] = e[P("0x3d4")][P("0x3d5")];
-                                var a = t.scene[P("0x7e")][P("0x86")](i)
-                                    , s = t[P("0x10f")][P("0xa3")][P("0xa4")](a, t[P("0x10f")]);
-                                o = e[P("0x13")].fromCartesian(s)
-                            }
-                            r = r || 0;
-                            var x = e[P("0x11")][P("0x3d0")](o.longitude, o[P("0x114")], o.height + r)
-                                , l = e.Cartographic[P("0x175")](x);
-                            return [e[P("0x23")].toDegrees(l.longitude), e[P("0x23")][P("0x113")](l.latitude), l[P("0x8b")]]
-                        }
-                    }
-                    function c(t, i, r, n) {
-                        var o = t.add(new (e[P("0x1a5")]));
-                        return o.add({
-                            text: i,
-                            font: P("0x1a0"),
-                            showBackground: !0,
-                            position: r,
-                            pixelOffset: new (e[P("0x10")])(10, -30),
-                            style: e[P("0x323")][P("0x2de")]
-                        }),
-                            o.name = n,
-                            o
-                    }
-                    function u(t, i, r, n) {
-                        var o = []
-                            , a = n ? t : e[P("0x11")][P("0x1da")](t)
-                            , s = new e.GeometryInstance({
-                                geometry: new (e[P("0x3d6")])({
-                                    positions: a,
-                                    width: i
-                                }),
-                                attributes: {
-                                    color: e.ColorGeometryInstanceAttribute[P("0x1b2")](r)
-                                }
-                            });
-                        return o.push(s),
-                            o
-                    }
-                    function h(t, i, r) {
-                        var n = t.add(new (e[P("0x3d7")])({
-                            geometryInstances: i,
-                            appearance: new e.PolylineColorAppearance({
-                                translucent: !0
-                            })
-                        }));
-                        return n[P("0x176")] = r,
-                            n
-                    }
-                    function f(e, t, i) {
-                        for (var r = 0; r < e[P("0x0")]; r++)
-                            e[P("0x176")] == i && (t[P("0x8c")] && (e[P("0x187")](r)[P("0x8c")] = t[P("0x8c")]),
-                                t[P("0x31b")] && (e[P("0x187")](r).text = t[P("0x31b")]),
-                                void 0 !== t[P("0x3d8")] && (e.get(r).showBackground = t.showBackground),
-                                t.backgroundColor && (e[P("0x187")](r).backgroundColor = t[P("0x3d9")]),
-                                void 0 !== t[P("0x3da")] && (e[P("0x187")](r)[P("0x3da")] = t[P("0x3da")]),
-                                void 0 !== t[P("0x3db")] && (e[P("0x187")](r)[P("0x3db")] = t[P("0x3db")]),
-                                t[P("0x3dc")] && (e[P("0x187")](r)[P("0x3dc")] = t[P("0x3dc")]),
-                                t[P("0x3dd")] && (e[P("0x187")](r)[P("0x3dd")] = t.fillColor),
-                                t[P("0x3de")] && (e[P("0x187")](r)[P("0x3de")] = t[P("0x3de")]),
-                                t.outlineColor && (e.get(r).outlineColor = t[P("0x3df")]))
-                    }
-                    function d(e, t) {
-                        for (var i = 0; i < t[P("0x0")]; i++)
-                            t.get(i).name == e && (t[P("0x17f")](t[P("0x187")](i)),
-                                i--)
-                    }
-                    s[P("0x5")][P("0x198")] = function () {
-                        this.clear(),
-                            this.canvas[P("0x150")].cursor = P("0x171");
-                        var s = null
-                            , g = null
-                            , p = null
-                            , m = null
-                            , b = !0
-                            , v = null
-                            , C = null
-                            , y = this;
-                        this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
-                            this[P("0x16f")].setInputAction((function (n) {
-                                if (b) {
-                                    v = l(y, n[P("0x8c")], y._pointLightHeight),
-                                        C = e.Cartesian3[P("0x1a1")](v[0], v[1], v[2]),
-                                        d(t, y.primitives),
-                                        b = !1,
-                                        y[P("0x3b2")] = b,
-                                        s = null,
-                                        d(i, y[P("0x17d")]);
-                                    var o = y[P("0x17d")][P("0x6d")](new (e[P("0x1a4")]));
-                                    o[P("0x176")] = i,
-                                        o.add({
-                                            position: C,
-                                            color: y[P("0x3a2")],
-                                            pixelSize: y._pointLightPixelSize
-                                        })
-                                } else if (y[P("0x10f")].globe[P("0x32a")] = !1,
-                                    y[P("0x10f")][P("0x3b3")][P("0x3b4")] = !0,
-                                    y[P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                    y[P("0x16f")] && !y.handler[P("0xf3")]() && y[P("0x16f")][P("0xf4")](),
-                                    d(t, y[P("0x17d")]),
-                                    b = !0,
-                                    y.firstLeftClick = b,
-                                    s = null,
-                                    y[P("0x3b5")][P("0x3b6")])
-                                    if (y[P("0x3ad")])
-                                        y[P("0x3b7")] = e[P("0x102")](y[P("0x3b5")][P("0x3b7")], 1),
-                                            y[P("0x3b8")] = e.defaultValue(y[P("0x3b5")][P("0x3b8")], 100),
-                                            y[P("0x3b9")] = 0,
-                                            setTimeout((function () {
-                                                !function t(i) {
-                                                    if (i[P("0x3b9")] % (2 * i[P("0x3b7")]) == 0) {
-                                                        var n = {
-                                                            longitude: i[P("0x3ba")][i[P("0x3b9")]],
-                                                            latitude: i[P("0x3ba")][i.num + 1]
-                                                        }
-                                                            , o = i[P("0x10f")][P("0xa3")].getHeight(n)
-                                                            , a = [i[P("0x3bb")], i[P("0x3bc")], i[P("0x3bd")], n.longitude, n[P("0x114")], o]
-                                                            , s = e[P("0x102")](i[P("0x3b5")][P("0x3be")], 10)
-                                                            , l = e[P("0x102")](i[P("0x3b5")][P("0x3bf")], new (e[P("0x16a")])(0, 1, 0, .8))
-                                                            , c = e.defaultValue(i[P("0x3b5")][P("0x3c0")], new (e[P("0x16a")])(1, 0, 0, .8))
-                                                            , u = e.defaultValue(i[P("0x3b5")][P("0x197")], 5)
-                                                            , f = x(i, a, s, l, c, u);
-                                                        h(i[P("0x10f")][P("0x39e")], f, r)
-                                                    }
-                                                    i.num += 2 * i[P("0x3b7")],
-                                                        i[P("0x3b9")] < 720 && setTimeout((function () {
-                                                            t(i)
-                                                        }
-                                                        ), i.timeInterval)
-                                                }(y)
-                                            }
-                                            ), y.timeInterval);
-                                    else {
-                                        for (var a = [], c = 0; c < y.boundaryPositionArr[P("0x0")]; c++)
-                                            if (c % 2 == 0) {
-                                                var u = {
-                                                    longitude: y.boundaryPositionArr[c],
-                                                    latitude: y[P("0x3ba")][c + 1]
-                                                }
-                                                    , f = y[P("0x10f")].globe[P("0xed")](u)
-                                                    , g = [y[P("0x3bb")], y[P("0x3bc")], y[P("0x3bd")], u[P("0x112")], u[P("0x114")], f]
-                                                    , p = e[P("0x102")](y[P("0x3b5")][P("0x3be")], 10)
-                                                    , m = e[P("0x102")](y[P("0x3b5")][P("0x3bf")], new (e[P("0x16a")])(0, 1, 0, .8))
-                                                    , _ = e.defaultValue(y[P("0x3b5")][P("0x3c0")], new (e[P("0x16a")])(1, 0, 0, .8))
-                                                    , A = e[P("0x102")](y[P("0x3b5")][P("0x197")], 5);
-                                                x(y, g, p, m, _, A),
-                                                    a = a[P("0x1c6")](radiusLineInstance)
-                                            }
-                                        h(y[P("0x10f")][P("0x39e")], a, r)
-                                    }
-                            }
-                            ), e[P("0x161")].LEFT_CLICK),
-                            this[P("0x16f")][P("0x160")]((function (i) {
-                                var x, v, _, A, I, w, G, E, S, T;
-                                if (y.tipPosition = y.scene.pickPosition(i[P("0x64")]),
-                                    y.tipPosition && (b && (s ? f(s, {
-                                        position: y[P("0x3c2")]
-                                    }, t) : s = c(y[P("0x17d")], P("0x3c1"), y[P("0x3c2")], t)),
-                                        !b)) {
-                                    s ? f(s, {
-                                        position: y[P("0x3c2")]
-                                    }, t) : s = c(y[P("0x17d")], P("0x3c3"), y[P("0x3c2")], t);
-                                    var M = l(y, i[P("0x64")])
-                                        , N = e[P("0x11")][P("0x1a1")](M[0], M[1], M[2]);
-                                    if (m = e[P("0x11")][P("0x8e")](C, N),
-                                        d(r, y[P("0x39e")]),
-                                        d(a, y[P("0x39e")]),
-                                        m) {
-                                        var L = e.Math[P("0x113")](e[P("0x13")][P("0x175")](C)[P("0x112")])
-                                            , R = e.Math.toDegrees(e[P("0x13")][P("0x175")](C)[P("0x114")])
-                                            , O = e[P("0x13")][P("0x175")](C).height
-                                            , F = function (e, t, i) {
-                                                for (var r = [], n = 0; n <= 360; n++) {
-                                                    var o = i * Math[P("0x98")](n * Math.PI / 180)
-                                                        , a = i * Math.cos(n * Math.PI / 180)
-                                                        , s = 6356725 + 21412 * (90 - t) / 90
-                                                        , x = e + o / (s * Math[P("0x9a")](t * Math.PI / 180)) * 180 / Math.PI
-                                                        , l = t + a / s * 180 / Math.PI;
-                                                    r.push(x),
-                                                        r[P("0x17c")](l)
-                                                }
-                                                return r
-                                            }(L, R, m)
-                                            , D = u(F, y[P("0x3a4")], y[P("0x3a6")])
-                                            , U = (h(y[P("0x39e")], D, r),
-                                                [L, R, F[0], F[1]])
-                                            , k = (I = y.groundPrimitives,
-                                                w = U,
-                                                G = y._orientLineWidth,
-                                                E = y[P("0x3aa")],
-                                                S = a,
-                                                T = new (e[P("0x179")])({
-                                                    geometry: new (e[P("0x3d6")])({
-                                                        positions: e[P("0x11")][P("0x1da")](w),
-                                                        width: G
-                                                    })
-                                                }),
-                                                I[P("0x6d")](new (e[P("0x3d7")])({
-                                                    geometryInstances: T,
-                                                    appearance: new (e[P("0x215")])({
-                                                        material: new e.Material({
-                                                            fabric: {
-                                                                type: P("0x31e"),
-                                                                uniforms: {
-                                                                    color: E
-                                                                }
-                                                            }
-                                                        })
-                                                    })
-                                                })).name = S,
-                                                [L, R, O, L, R, O + m / 3])
-                                            , B = e[P("0x16a")][P("0x3c4")](e[P("0x16a")][P("0x2d5")], .7);
-                                        p ? p[P("0x2eb")][P("0x19f")] = e[P("0x11")][P("0x19e")](k) : (x = y[P("0x13b")][P("0x194")],
-                                            v = k,
-                                            2,
-                                            _ = B,
-                                            A = n,
-                                            p = x[P("0x6d")]({
-                                                name: A,
-                                                polyline: {
-                                                    positions: e[P("0x11")][P("0x19e")](v),
-                                                    width: 2,
-                                                    material: new (e[P("0x2e9")])({
-                                                        color: _,
-                                                        dashLength: 5
-                                                    })
-                                                }
-                                            }));
-                                        var W = e[P("0x11")][P("0x1a1")](L, R, O + m / 3)
-                                            , j = P("0x3c5") + y._pointLightHeight[P("0x2af")](2) + "绫砛n" + P("0x3c6") + m[P("0x2af")](4) + "绫砛n" + P("0x2f9") + L[P("0x2af")](6) + "搴n" + P("0x2fa") + R[P("0x2af")](6) + "搴�"
-                                            , V = {
-                                                position: W,
-                                                text: j,
-                                                showBackground: !0,
-                                                backgroundColor: e[P("0x16a")][P("0x3c4")](e[P("0x16a")][P("0x2cf")], .8),
-                                                horizontalOrigin: e[P("0x24b")][P("0x24c")],
-                                                verticalOrigin: e.VerticalOrigin[P("0x3c7")],
-                                                pixelOffset: new e.Cartesian2(0, 0),
-                                                fillColor: e[P("0x16a")].BLACK
-                                            };
-                                        if (f(g || (g = c(y[P("0x17d")], j, W, o)), V, o),
-                                            y[P("0x3b5")].enable || y[P("0x3c8")](C, m),
-                                            y[P("0x3c9")] = C,
-                                            y[P("0x3ca")] = m,
-                                            y[P("0x3b2")] = b,
-                                            y[P("0x3b5")][P("0x3b6")]) {
-                                            y.startPointLng = e[P("0x23")][P("0x119")](L),
-                                                y[P("0x3bc")] = e[P("0x23")][P("0x119")](R),
-                                                y[P("0x3bd")] = O,
-                                                y[P("0x3ba")] = [];
-                                            for (var z = 0; z < F[P("0x0")]; z++)
-                                                y[P("0x3ba")].push(e[P("0x23")].toRadians(F[z]));
-                                            y.realTimeRadius = m
-                                        }
-                                    }
-                                }
-                            }
-                            ), e[P("0x161")][P("0x163")])
-                    }
-                        ,
-                        s.prototype[P("0x3c8")] = function (t, i) {
-                            var r, n;
-                            t && i && (null == this._pointLightCamera ? (this[P("0x3af")] = new (e[P("0x3cb")])(this[P("0x10f")]),
-                                this[P("0x3af")][P("0x8c")] = t,
-                                r = {
-                                    context: this[P("0x10f")][P("0x3cc")],
-                                    lightCamera: this._pointLightCamera,
-                                    isPointLight: !0
-                                },
-                                this[P("0x10f")][P("0x3b3")].destroy(),
-                                this[P("0x10f")][P("0x3b3")] = new e.ShadowMap(r),
-                                (n = this.scene[P("0x3b3")])[P("0x3cd")] = 1024,
-                                n[P("0x3ce")] = i,
-                                n._terrainBias[P("0x3cf")] = 0,
-                                n[P("0x364")] = !0,
-                                n[P("0x3b4")] = !0) : (n = this[P("0x10f")][P("0x3b3")])[P("0x3ce")] = i)
-                        }
-                        ,
-                        s[P("0x5")][P("0x192")] = function () {
-                            this[P("0x3b5")][P("0x3b6")] && (this.num = 721),
-                                this[P("0x10f")][P("0xa3")][P("0x32a")] = !1,
-                                this.scene[P("0x3b3")][P("0x364")] = !1,
-                                this[P("0x10f")][P("0x3b3")].enableGeoPLSViewShed3D = void 0,
-                                this[P("0x48")].style.cursor = P("0x18c"),
-                                this[P("0x3af")] = void 0,
-                                this[P("0x16f")] && !this[P("0x16f")][P("0xf3")]() && this[P("0x16f")][P("0xf4")](),
-                                d(t, this[P("0x17d")]),
-                                d(o, this[P("0x17d")]),
-                                d(i, this[P("0x17d")]),
-                                d(r, this[P("0x39e")]),
-                                d(a, this[P("0x39e")]),
-                                function (e, t) {
-                                    for (var i = 0; i < t.values[P("0x0")]; i++)
-                                        t[P("0x190")][i][P("0x176")] == e && (t[P("0x17f")](t[P("0x190")][i]),
-                                            i--)
-                                }(n, this[P("0x13b")].entities)
-                        }
-                        ,
-                        s[P("0x5")][P("0xf4")] = function () {
-                            this[P("0x192")](),
-                                this.viewer = void 0,
-                                this._pointLightHeight = void 0,
-                                this.scene = void 0,
-                                this[P("0x48")] = void 0,
-                                this[P("0x17d")] = void 0,
-                                this[P("0x191")] = void 0,
-                                this[P("0x3af")] = void 0
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = P("0x3e0")
-                        , i = e.GeoProfile = function (e, t) {
-                            this[P("0x13b")] = e[P("0x13b")],
-                                this[P("0x10f")] = this.viewer[P("0x10f")]
-                        }
-                        ;
-                    i[P("0x5")][P("0x3e1")] = function (t, i) {
-                        this[P("0x3e2")] = t[0],
-                            this[P("0x3e3")] = t[1],
-                            this[P("0x3e4")] = t[2],
-                            this[P("0x3e5")] = t[t[P("0x0")] - 3],
-                            this[P("0x3e6")] = t[t.length - 2],
-                            this[P("0x3e7")] = t[t[P("0x0")] - 1];
-                        for (var r = [], n = 0; n < t[P("0x0")] - 3; n += 3) {
-                            var o = e[P("0x11")].fromDegrees(t[n], t[n + 1])
-                                , a = e.Cartesian3.fromDegrees(t[n + 3], t[n + 4])
-                                , s = e[P("0x11")][P("0x8e")](o, a);
-                            r[P("0x17c")](s),
-                                e[P("0x11")][P("0x8e")](o, a)
-                        }
-                        for (var x = 0, l = [], c = 0; c < r.length; c++) {
-                            var u = Math[P("0x3e8")](r[c] / i);
-                            l[P("0x17c")](u),
-                                x += u
-                        }
-                        this[P("0x3e9")] = x;
-                        var h = []
-                            , f = [];
-                        for (n = 0; n < l[P("0x0")]; n++) {
-                            for (var d = 0; d <= l[n]; d++) {
-                                var g = d * i;
-                                if (r[n] - g <= i)
-                                    h[P("0x17c")](1);
-                                else {
-                                    var p = g / r[n];
-                                    h[P("0x17c")](p)
-                                }
-                            }
-                            f[P("0x17c")](h),
-                                h = []
-                        }
-                        for (var m = [], b = [], v = [], C = [], y = (n = 0,
-                            0); y < f[P("0x0")]; y++) {
-                            for (d = 0; d < f[y].length; d++) {
-                                var _ = e[P("0x23")].lerp(t[n], t[n + 3], f[y][d])
-                                    , A = e[P("0x23")].lerp(t[n + 1], t[n + 4], f[y][d])
-                                    , I = {
-                                        longitude: e[P("0x23")][P("0x119")](_),
-                                        latitude: e[P("0x23")][P("0x119")](A)
-                                    }
-                                    , w = Number(this.scene[P("0xa3")][P("0xed")](I)[P("0x2af")](2));
-                                v.push(w),
-                                    m[P("0x17c")](e[P("0x11")].fromDegrees(_, A, w)),
-                                    b[P("0x17c")](e[P("0x11")].fromDegrees(_, A, 0))
-                            }
-                            n += 3
-                        }
-                        var G = Math[P("0x7d")].apply(null, v);
-                        this[P("0x3ea")] = G;
-                        var E = Math.max[P("0x346")](null, v);
-                        this[P("0x3eb")] = E;
-                        var S = 0;
-                        for (n = 0; n < m.length - 1; n++)
-                            S += e[P("0x11")].distance(m[n], m[n + 1]);
-                        this[P("0x3ec")] = S;
-                        var T = e[P("0x11")].distance(m[0], m[m[P("0x0")] - 1]);
-                        this.straightLen = T;
-                        var M = 0;
-                        for (y = 0; y < b[P("0x0")] - 1; y++)
-                            M += e[P("0x11")][P("0x8e")](b[y], b[y + 1]),
-                                C.push(M[P("0x2af")](2));
-                        C.unshift(0);
-                        var N = {};
-                        return N[P("0x3ed")] = v,
-                            N[P("0x3ee")] = C,
-                            N[P("0x3ef")] = m,
-                            N
-                    }
-                        ,
-                        i[P("0x5")][P("0x3f0")] = function (e, t) {
-                            var i = document[P("0x3f1")](t);
-                            i[P("0x3f2")] = function (e) {
-                                var t = e || event
-                                    , r = t[P("0x3f3")] - i[P("0x156")]
-                                    , n = t.clientY - i[P("0x15a")];
-                                document[P("0x3f4")] = function (e) {
-                                    var t = e || event;
-                                    i.style[P("0x149")] = t[P("0x3f3")] - r + "px",
-                                        i[P("0x150")][P("0x151")] = t[P("0x3f5")] - n + "px"
-                                }
-                                    ,
-                                    document[P("0x3f6")] = function () {
-                                        document[P("0x3f4")] = null,
-                                            document[P("0x3f6")] = null
-                                    }
-                            }
-                                ;
-                            var r = echarts[P("0x3f7")](i)
-                                , n = {
-                                    title: {
-                                        x: P("0x11a"),
-                                        padding: 15,
-                                        text: P("0x3f8"),
-                                        textStyle: {
-                                            color: P("0x3f9"),
-                                            fontStyle: "normal",
-                                            fontWeight: P("0x3fa"),
-                                            fontFamily: "sans-serif",
-                                            fontSize: 18
-                                        }
-                                    },
-                                    tooltip: {
-                                        trigger: P("0x3fb"),
-                                        confine: !0,
-                                        formatter: function (e) {
-                                            return "闀垮害: " + e[0][P("0x176")] + P("0x3fc") + "楂樼▼: " + e[0].value
-                                        }
-                                    },
-                                    grid: {
-                                        left: "2%",
-                                        right: P("0x3fd"),
-                                        bottom: "3%",
-                                        containLabel: !0
-                                    },
-                                    xAxis: {
-                                        splitArea: {
-                                            show: !1
-                                        },
-                                        splitLine: {
-                                            show: !1,
-                                            lineStyle: {
-                                                color: [P("0x3fe")],
-                                                width: 1,
-                                                type: P("0x3ff")
-                                            }
-                                        },
-                                        type: P("0x400"),
-                                        boundaryGap: !1,
-                                        data: e[P("0x3ee")],
-                                        name: P("0x401"),
-                                        nameTextStyle: {
-                                            color: "#ccc",
-                                            fontWeight: "bolder"
-                                        },
-                                        axisLine: {
-                                            lineStyle: {
-                                                color: P("0x402"),
-                                                width: 4
-                                            }
-                                        },
-                                        axisLabel: {
-                                            color: P("0x3f9"),
-                                            fontWeight: P("0x403")
-                                        }
-                                    },
-                                    yAxis: {
-                                        splitArea: {
-                                            show: !1
-                                        },
-                                        splitLine: {
-                                            show: !0,
-                                            lineStyle: {
-                                                color: [P("0x3fe")],
-                                                width: 1,
-                                                type: P("0x404")
-                                            }
-                                        },
-                                        type: P("0x3"),
-                                        name: P("0x405"),
-                                        nameTextStyle: {
-                                            color: P("0x3f9"),
-                                            fontWeight: "bolder"
-                                        },
-                                        axisLine: {
-                                            lineStyle: {
-                                                color: P("0x402"),
-                                                width: 4
-                                            }
-                                        },
-                                        axisLabel: {
-                                            color: P("0x3f9"),
-                                            fontWeight: P("0x403")
-                                        }
-                                    },
-                                    series: [{
-                                        type: "line",
-                                        data: e[P("0x3ed")],
-                                        areaStyle: {
-                                            color: P("0x406")
-                                        }
-                                    }]
-                                };
-                            r[P("0x407")](n);
-                            var o = document[P("0x15c")](P("0x408"))
-                                , a = document[P("0x15c")](P("0x409"))
-                                , s = document.createElement("tr")
-                                , x = document.createElement("td");
-                            x[P("0x40a")] = P("0x40b") + this[P("0x3e2")][P("0x2af")](6),
-                                s[P("0x167")](x);
-                            var l = document[P("0x15c")]("td");
-                            l[P("0x40a")] = "璧风偣楂樼▼锛�" + e.YValueArray[0][P("0x2af")](2),
-                                s[P("0x167")](l);
-                            var c = document[P("0x15c")]("td");
-                            c[P("0x40a")] = P("0x40c") + Number(e[P("0x3ee")][e[P("0x3ee")].length - 1]).toFixed(2),
-                                s.appendChild(c),
-                                a[P("0x167")](s);
-                            var u = document[P("0x15c")]("tr")
-                                , h = document.createElement("td");
-                            h.innerHTML = P("0x40d") + this.lat_origin[P("0x2af")](6),
-                                u[P("0x167")](h);
-                            var f = document[P("0x15c")]("td");
-                            f[P("0x40a")] = P("0x40e") + e[P("0x3ed")][e[P("0x3ed")].length - 1].toFixed(2),
-                                u[P("0x167")](f);
-                            var d = document.createElement("td");
-                            d[P("0x40a")] = P("0x40f") + this.surfaceLen[P("0x2af")](2),
-                                u.appendChild(d),
-                                a[P("0x167")](u);
-                            var g = document.createElement("tr")
-                                , p = document[P("0x15c")]("td");
-                            p[P("0x40a")] = P("0x410") + this.lng_destination[P("0x2af")](6),
-                                g[P("0x167")](p);
-                            var m = document.createElement("td");
-                            m[P("0x40a")] = P("0x411") + this[P("0x3eb")],
-                                g[P("0x167")](m);
-                            var b = document.createElement("td");
-                            b.innerHTML = "鐩寸嚎璺濈锛�" + this[P("0x412")][P("0x2af")](2),
-                                g[P("0x167")](b),
-                                a.appendChild(g);
-                            var v = document.createElement("tr")
-                                , C = document[P("0x15c")]("td");
-                            C[P("0x40a")] = "缁堢偣绾害锛�" + this[P("0x3e6")][P("0x2af")](6),
-                                v.appendChild(C);
-                            var y = document[P("0x15c")]("td");
-                            y[P("0x40a")] = P("0x413") + this[P("0x3ea")],
-                                v[P("0x167")](y);
-                            var _ = document[P("0x15c")]("td");
-                            return _[P("0x40a")] = "閲囨牱鐐规暟锛�" + this[P("0x3e9")],
-                                v[P("0x167")](_),
-                                a[P("0x167")](v),
-                                o.appendChild(a),
-                                i[P("0x167")](o),
-                                this[P("0x414")] = o,
-                                this.chartContainer = i,
-                                this.myChart = r
-                        }
-                        ,
-                        i[P("0x5")].drawMark = function (i) {
-                            i = e.defaultValue(i, {});
-                            var r = this[P("0x10f")][P("0x17d")][P("0x6d")](new (e[P("0x244")]));
-                            r.add({
-                                position: i[P("0x415")],
-                                image: i[P("0x416")],
-                                verticalOrigin: e[P("0x24d")][P("0x3c7")],
-                                scale: .2
-                            }),
-                                r[P("0x6d")]({
-                                    position: i[P("0x417")],
-                                    image: i.destinationImage,
-                                    verticalOrigin: e.VerticalOrigin[P("0x3c7")],
-                                    scale: .2
-                                }),
-                                r.name = t
-                        }
-                        ,
-                        i[P("0x5")].clearMark = function () {
-                            for (var e = 0; e < this.scene[P("0x17d")][P("0x0")]; e++)
-                                this[P("0x10f")][P("0x17d")][P("0x187")](e)[P("0x176")] == t && (this[P("0x10f")][P("0x17d")][P("0x17f")](this[P("0x10f")][P("0x17d")][P("0x187")](e)),
-                                    e--)
-                        }
-                        ,
-                        i[P("0x5")][P("0x418")] = function () {
-                            this[P("0x419")] && (this.myChart[P("0x192")](),
-                                this[P("0x419")] = null),
-                                this.oTable && this.chartContainer && this[P("0x41a")][P("0x41b")](this[P("0x414")])
-                        }
-                        ,
-                        i.prototype.clear = function () {
-                            this[P("0x418")](),
-                                this.clearMark()
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = P("0x41c")
-                        , i = "GEOSIGHTLINEBILLBOARD"
-                        , r = P("0x41d")
-                        , n = P("0x41e")
-                        , o = e[P("0x41f")] = function (t, i) {
-                            this[P("0x13b")] = t[P("0x13b")],
-                                this[P("0x420")] = t[P("0x420")],
-                                this[P("0x421")] = t[P("0x421")],
-                                this.observeImage = t[P("0x422")],
-                                this[P("0x423")] = t.targetImage,
-                                this[P("0x10f")] = this.viewer[P("0x10f")],
-                                this[P("0x7e")] = this[P("0x13b")].camera,
-                                this[P("0x48")] = this[P("0x10f")].canvas,
-                                this[P("0x17d")] = this.scene[P("0x17d")],
-                                this[P("0x194")] = this[P("0x13b")][P("0x194")],
-                                this[P("0x191")] = i || null,
-                                this[P("0x424")] = [],
-                                this[P("0x425")] = null,
-                                this[P("0x426")] = null,
-                                this[P("0x427")] = null,
-                                this[P("0x428")] = null,
-                                b()(e[P("0x373")]) < 1.5 && console[P("0x391")]("褰撳墠Cesium鐗堟湰锛�" + e[P("0x373")] + P("0x429"))
-                        }
-                        ;
-                    function a(t, i, r) {
-                        if (t[P("0x10f")]) {
-                            var n = t[P("0x10f")].pickPosition(i);
-                            if (1.58 <= b()(e[P("0x373")])) {
-                                var o = t[P("0x13b")].scene[P("0x42f")](n);
-                                o && (n = o)
-                            }
-                            var a, s = e[P("0x13")][P("0x175")](n);
-                            if (s[P("0x8b")] < 0) {
-                                var x = t[P("0x7e")][P("0x86")](i)
-                                    , l = t.scene[P("0xa3")][P("0xa4")](x, t.scene);
-                                s = e[P("0x13")][P("0x175")](l),
-                                    t[P("0x10f")][P("0xa3")][P("0x32a")] = !0
-                            }
-                            return r = r || 1,
-                                a = s[P("0x8b")] + r,
-                                e.Cartesian3.fromRadians(s[P("0x112")], s[P("0x114")], a)
-                        }
-                    }
-                    function s(t, i, r, n) {
-                        var o = t[P("0x6d")](new (e[P("0x1a5")]));
-                        return o[P("0x6d")]({
-                            text: i,
-                            font: P("0x1a0"),
-                            showBackground: !0,
-                            position: r,
-                            pixelOffset: new (e[P("0x10")])(10, -10)
-                        }),
-                            o.name = n,
-                            o
-                    }
-                    function x(e, t, i) {
-                        for (var r = 0; r < e[P("0x0")]; r++)
-                            e.name == i && (e.get(r)[P("0x8c")] = t)
-                    }
-                    function l(e, t) {
-                        u(e, t)
-                    }
-                    function c(t, r, n) {
-                        var o = t.add(new (e[P("0x244")]));
-                        return o[P("0x6d")]({
-                            position: r,
-                            image: n,
-                            scale: .4,
-                            verticalOrigin: e.VerticalOrigin.MIDDLE
-                        }),
-                            o[P("0x176")] = i,
-                            o
-                    }
-                    function u(e, t) {
-                        for (var i = 0; i < t.length; i++)
-                            t[P("0x187")](i).name == e && (t[P("0x17f")](t[P("0x187")](i)),
-                                i--)
-                    }
-                    function h(e, t) {
-                        for (var i = 0; i < t._entities._array[P("0x0")]; i++)
-                            t[P("0x430")][P("0x431")][i][P("0x176")] == e && (t[P("0x17f")](t[P("0x430")][P("0x431")][i]),
-                                i--)
-                    }
-                    o[P("0x5")][P("0x198")] = function () {
-                        this[P("0x10f")][P("0xa3")][P("0x32a")] = !1,
-                            this[P("0x42a")](),
-                            this[P("0x192")](),
-                            1.52 == b()(e[P("0x373")]) && (this.scene.enableGeoSightline = !0),
-                            1.58 <= b()(e[P("0x373")]) && (this[P("0x10f")][P("0x42b")] = !1),
-                            this.canvas[P("0x150")][P("0x170")] = "crosshair";
-                        var i = null
-                            , r = !0
-                            , n = this;
-                        this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
-                            this[P("0x16f")][P("0x160")]((function (e) {
-                                r ? (n[P("0x192")](),
-                                    n.observeActualPosition = a(n, e[P("0x8c")], n[P("0x420")]),
-                                    c(n[P("0x17d")], n.observeActualPosition, n.observeImage),
-                                    l(t, n[P("0x17d")]),
-                                    i = null,
-                                    r = !1) : (n[P("0x426")] = a(n, e.position, n[P("0x421")]),
-                                        c(n[P("0x17d")], n[P("0x426")], n[P("0x423")]),
-                                        n[P("0x42c")](),
-                                        l(t, n.primitives),
-                                        r = !(i = null),
-                                        n[P("0x10f")][P("0x42b")] = !1,
-                                        n[P("0x42a")]())
-                            }
-                            ), e[P("0x161")][P("0x17e")]),
-                            this[P("0x16f")][P("0x160")]((function (e) {
-                                n[P("0x3c2")] = n[P("0x10f")][P("0x174")](e[P("0x64")]),
-                                    n[P("0x3c2")] && (r && (i ? x(i, n[P("0x3c2")], t) : i = s(n.primitives, P("0x42d"), n.tipPosition, t)),
-                                        r || (i ? x(i, n.tipPosition, t) : i = s(n[P("0x17d")], "鍗曞嚮宸﹂敭纭畾鐩爣鐐�", n[P("0x3c2")], t)))
-                            }
-                            ), e[P("0x161")].MOUSE_MOVE)
-                    }
-                        ,
-                        o.prototype.pickFromRays = function () {
-                            var t = new (e[P("0x11")])(0, 0, 0);
-                            this[P("0x424")] = [this.observeEntity, this[P("0x428")]];
-                            var i = e.Cartesian3[P("0x8d")](e[P("0x11")].subtract(this.targetActualPosition, this.observeActualPosition, new (e[P("0x11")])), new (e[P("0x11")]))
-                                , o = new (e[P("0x1e")])(this.observeActualPosition, i)
-                                , a = []
-                                , s = []
-                                , x = [];
-                            a = this[P("0x10f")][P("0x42e")](o, 1e3, this[P("0x424")]);
-                            var l = e.Cartesian3[P("0x8e")](this[P("0x425")], this[P("0x426")]);
-                            if (0 !== a.length && !a[0][P("0x8c")])
-                                for (var c = 1; c < Math[P("0x3e8")](l) + 1; c++)
-                                    if (e[P("0x11")][P("0x308")](this[P("0x425")], this[P("0x426")], c * (1 / Math.floor(l)), t),
-                                        i = e[P("0x11")][P("0x8d")](e[P("0x11")].subtract(this[P("0x426")], this.observeActualPosition, new e.Cartesian3), new (e[P("0x11")])),
-                                        o = new (e[P("0x1e")])(t, i),
-                                        a = [],
-                                        s = [],
-                                        x = [],
-                                        0 < (a = this.scene[P("0x42e")](o, 1, this[P("0x424")])).length) {
-                                        a[0][P("0x8c")] || (e.Cartesian3.lerp(this[P("0x425")], this.targetActualPosition, c * (1 / Math.floor(l)), t),
-                                            a[0][P("0x8c")] = t);
-                                        break
-                                    }
-                            if (0 == a.length)
-                                s = [this[P("0x425")], this[P("0x426")]];
-                            else {
-                                var u = e.Cartesian3[P("0x8d")](e[P("0x11")][P("0x95")](a[0][P("0x8c")], this[P("0x425")], new (e[P("0x11")])), new (e[P("0x11")]))
-                                    , h = e.Cartesian3.normalize(e[P("0x11")].subtract(a[0].position, this.targetActualPosition, new (e[P("0x11")])), new (e[P("0x11")]));
-                                if (u.x[P("0x2af")](8) == h.x[P("0x2af")](8) && u.y.toFixed(8) == h.y[P("0x2af")](8) && u.z[P("0x2af")](8) == h.z[P("0x2af")](8))
-                                    s = [this[P("0x426")], this[P("0x425")]];
-                                else {
-                                    s = [this[P("0x425")], a[0][P("0x8c")]],
-                                        x = [a[0][P("0x8c")], this[P("0x426")]];
-                                    var f = {
-                                        name: r,
-                                        polyline: {
-                                            positions: x,
-                                            width: 7,
-                                            followSurface: !1,
-                                            material: new (e[P("0x2e6")])(e.Color[P("0x16b")])
-                                        }
-                                    };
-                                    this.entities.add(f)
-                                }
-                            }
-                            var d = {
-                                name: n,
-                                polyline: {
-                                    positions: s,
-                                    width: 2,
-                                    followSurface: !1,
-                                    material: e[P("0x16a")][P("0x310")]
-                                }
-                            };
-                            this.entities.add(d)
-                        }
-                        ,
-                        o.prototype.clear = function () {
-                            this[P("0x17d")] && (u(t, this.primitives),
-                                u(i, this.primitives)),
-                                this[P("0x194")] && (h(r, this[P("0x194")]),
-                                    h(n, this[P("0x194")]))
-                        }
-                        ,
-                        o[P("0x5")][P("0x42a")] = function () {
-                            this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x48")].style[P("0x170")] = P("0x18c")
-                        }
-                        ,
-                        o[P("0x5")][P("0xf4")] = function () {
-                            this[P("0x10f")][P("0x42b")] = !1,
-                                this[P("0x10f")][P("0xa3")].depthTestAgainstTerrain = !1,
-                                this[P("0x42a")](),
-                                this[P("0x192")](),
-                                this.viewer = void 0,
-                                this[P("0x420")] = void 0,
-                                this[P("0x421")] = void 0,
-                                this[P("0x10f")] = void 0,
-                                this.camera = void 0,
-                                this.canvas = void 0,
-                                this.primitives = void 0,
-                                this[P("0x194")] = void 0,
-                                this[P("0xef")] = void 0,
-                                this[P("0x191")] = void 0,
-                                this[P("0x424")] = void 0,
-                                this[P("0x427")] = null,
-                                this.targetEntity = null
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = e[P("0x102")]
-                        , i = P("0x432")
-                        , r = e.GeoSkyLine = function (i, r) {
-                            this[P("0x13b")] = i[P("0x13b")],
-                                this[P("0x10f")] = this.viewer[P("0x10f")],
-                                this[P("0x48")] = this[P("0x13b")][P("0x48")],
-                                this[P("0x194")] = this[P("0x13b")][P("0x194")],
-                                this[P("0x433")] = t(i[P("0x434")], !0),
-                                this[P("0x435")] = t(i[P("0x435")], 2),
-                                this.skyLineMaterial = t(i[P("0x436")], e[P("0x16a")][P("0x16b")][P("0x6e")]()),
-                                this.skyLineDepthFailMaterial = t(i.skyLineDepthFailMaterial, void 0),
-                                this[P("0x437")] = t(i[P("0x437")], e[P("0x16a")][P("0x438")][P("0x6e")]()),
-                                this[P("0x439")] = t(i[P("0x439")], !1),
-                                this.skyLineVolumeOutLineColor = t(i[P("0x43a")], e[P("0x16a")][P("0x43b")].clone()),
-                                this[P("0x43c")] = t(i[P("0x43c")], 1.2),
-                                this[P("0x43d")] = void 0,
-                                this[P("0x43e")] = void 0,
-                                this[P("0x419")] = void 0
-                        }
-                        ;
-                    r[P("0x5")][P("0x43f")] = function () {
-                        if (!this[P("0x43d")]) {
-                            var t = []
-                                , i = {};
-                            i[P("0x3ee")] = [],
-                                i[P("0x3ed")] = [];
-                            for (var r = this[P("0x48")].width, n = this[P("0x48")][P("0x8b")], o = 50, a = [], s = 0; s < r; s += p()(r / 3))
-                                for (var x = 0; x < n; x++) {
-                                    var l = new (e[P("0x10")])(s, x);
-                                    if (this.scene.pickPosition(l)) {
-                                        a[P("0x17c")](x);
-                                        break
-                                    }
-                                }
-                            Math[P("0xee")].apply(null, a) < 10 && (o = 1);
-                            for (var c = 0; c < r; c += 3)
-                                for (var u = 0; u < n; u += o) {
-                                    var h = new (e[P("0x10")])(c, u);
-                                    if (this[P("0x10f")][P("0x174")](h))
-                                        for (s = u - 1; u - o <= s; --s) {
-                                            var f = new (e[P("0x10")])(c, s);
-                                            if (!this.scene.pickPosition(f)) {
-                                                var d = new (e[P("0x10")])(c, s + 1)
-                                                    , g = this.scene.pickPosition(d);
-                                                t[P("0x17c")](g),
-                                                    i[P("0x3ed")].push(n - s),
-                                                    i[P("0x3ee")][P("0x17c")](c),
-                                                    u = n;
-                                                break
-                                            }
-                                        }
-                                }
-                            this[P("0x440")] = i,
-                                this[P("0x441")] = t,
-                                this.cameraPosition = this[P("0x13b")].camera[P("0x8c")].clone(),
-                                this.cameraHeight = e.Cartographic[P("0x175")](this.cameraPosition)[P("0x8b")]
-                        }
-                    }
-                        ,
-                        r[P("0x5")][P("0x442")] = function () {
-                            this[P("0x43d")] || (this[P("0x441")] || this[P("0x43f")](),
-                                this[P("0x43d")] = this.entities[P("0x6d")]({
-                                    name: "GeoSkyLine",
-                                    polyline: {
-                                        positions: this[P("0x441")],
-                                        width: this[P("0x435")],
-                                        show: this.skyLineShow,
-                                        material: this.skyLineMaterial,
-                                        depthFailMaterial: this[P("0x443")]
-                                    }
-                                }))
-                        }
-                        ,
-                        r[P("0x5")][P("0x444")] = function () {
-                            this[P("0x43e")] || (this[P("0x441")] || this.calculateSkyLinePositions(),
-                                this[P("0x441")] = this.skyLinePositions.concat([this[P("0x445")]]),
-                                this[P("0x441")][P("0x17c")](this[P("0x441")][0]),
-                                this.skyLineVolume = this.entities.add({
-                                    name: i,
-                                    polygon: {
-                                        hierarchy: this[P("0x441")],
-                                        extrudedHeight: this[P("0x446")] / this[P("0x43c")],
-                                        perPositionHeight: !0,
-                                        material: this[P("0x437")],
-                                        outline: this.skyLineVolumeOutLine,
-                                        outlineColor: this.skyLineVolumeOutLineColor
-                                    }
-                                }))
-                        }
-                        ,
-                        r[P("0x5")][P("0x3f0")] = function (e) {
-                            if (!this.myChart && (this.skyLinePositions || this[P("0x43f")](),
-                                this[P("0x440")])) {
-                                var t = document[P("0x3f1")](e);
-                                t.onmousedown = function (e) {
-                                    var i = e || event
-                                        , r = i[P("0x3f3")] - t[P("0x156")]
-                                        , n = i[P("0x3f5")] - t.offsetTop;
-                                    document[P("0x3f4")] = function (e) {
-                                        var i = e || event;
-                                        t[P("0x150")][P("0x149")] = i.clientX - r + "px",
-                                            t.style[P("0x151")] = i.clientY - n + "px"
-                                    }
-                                        ,
-                                        document[P("0x3f6")] = function () {
-                                            document[P("0x3f4")] = null,
-                                                document.onmouseup = null
-                                        }
-                                }
-                                    ;
-                                var i = echarts[P("0x3f7")](t)
-                                    , r = {
-                                        title: {
-                                            x: P("0x11a"),
-                                            padding: 15,
-                                            text: P("0x447"),
-                                            textStyle: {
-                                                color: P("0x3f9"),
-                                                fontStyle: "normal",
-                                                fontWeight: P("0x3fa"),
-                                                fontFamily: "sans-serif",
-                                                fontSize: 18
-                                            }
-                                        },
-                                        tooltip: {
-                                            trigger: P("0x3fb"),
-                                            confine: !0,
-                                            formatter: function (e) {
-                                                return "瀹藉害: " + e[0][P("0x176")] + P("0x3fc") + "楂樺害: " + e[0].value
-                                            }
-                                        },
-                                        grid: {
-                                            left: "2%",
-                                            right: P("0x3fd"),
-                                            bottom: "3%",
-                                            containLabel: !0
-                                        },
-                                        xAxis: {
-                                            splitArea: {
-                                                show: !1
-                                            },
-                                            splitLine: {
-                                                show: !1,
-                                                lineStyle: {
-                                                    color: [P("0x3fe")],
-                                                    width: 1,
-                                                    type: P("0x3ff")
-                                                }
-                                            },
-                                            type: P("0x400"),
-                                            boundaryGap: !1,
-                                            data: this[P("0x440")][P("0x3ee")],
-                                            name: P("0x448"),
-                                            nameTextStyle: {
-                                                color: "#ccc",
-                                                fontWeight: P("0x403")
-                                            },
-                                            axisLine: {
-                                                lineStyle: {
-                                                    color: "rgba(0.0, 128, 255, 0.6)",
-                                                    width: 4
-                                                }
-                                            },
-                                            axisLabel: {
-                                                color: P("0x3f9"),
-                                                fontWeight: P("0x403")
-                                            }
-                                        },
-                                        yAxis: {
-                                            splitArea: {
-                                                show: !1
-                                            },
-                                            splitLine: {
-                                                show: !0,
-                                                lineStyle: {
-                                                    color: [P("0x3fe")],
-                                                    width: 1,
-                                                    type: P("0x404")
-                                                }
-                                            },
-                                            type: P("0x3"),
-                                            name: "楂樺害(PX)",
-                                            nameTextStyle: {
-                                                color: P("0x3f9"),
-                                                fontWeight: "bolder"
-                                            },
-                                            axisLine: {
-                                                lineStyle: {
-                                                    color: "rgba(0.0, 128, 255, 0.6)",
-                                                    width: 4
-                                                }
-                                            },
-                                            axisLabel: {
-                                                color: P("0x3f9"),
-                                                fontWeight: "bolder"
-                                            }
-                                        },
-                                        series: [{
-                                            type: P("0x449"),
-                                            data: this[P("0x440")][P("0x3ed")],
-                                            areaStyle: {
-                                                color: P("0x406")
-                                            }
-                                        }]
-                                    };
-                                return i[P("0x407")](r),
-                                    this[P("0x41a")] = t,
-                                    this.myChart = i
-                            }
-                        }
-                        ,
-                        r[P("0x5")][P("0x418")] = function () {
-                            this.myChart && (this[P("0x419")][P("0x192")](),
-                                this[P("0x419")] = null)
-                        }
-                        ,
-                        r[P("0x5")][P("0x192")] = function () {
-                            this[P("0x418")](),
-                                this[P("0x43d")] && (this[P("0x194")][P("0x17f")](this[P("0x43d")]),
-                                    this[P("0x43d")] = void 0),
-                                this[P("0x43e")] && (this[P("0x194")][P("0x17f")](this.skyLineVolume),
-                                    this.skyLineVolume = void 0),
-                                this[P("0x440")] = void 0,
-                                this[P("0x441")] = void 0,
-                                this[P("0x445")] = void 0,
-                                this[P("0x446")] = void 0,
-                                this[P("0x441")] = void 0
-                        }
-                }(window[P("0xfd")]),
-                ((B = window.Cesium)[P("0x451")] = function (e) {
-                    this[P("0x13b")] = e[P("0x13b")],
-                        this.scene = this[P("0x13b")][P("0x10f")],
-                        this[P("0x48")] = this[P("0x10f")][P("0x48")],
-                        this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
-                        this._samplingPoints = e[P("0x452")],
-                        this[P("0x453")] = e[P("0x44f")],
-                        this._bottomMaterial = e.bottomMaterial,
-                        this[P("0x454")] = B[P("0x102")](e.interNumber, 20),
-                        this[P("0x455")] = B[P("0x102")](e[P("0x456")], -500),
-                        this[P("0x453")] = B.defaultValue(e[P("0x44f")], new (B[P("0x457")])({
-                            evenColor: B[P("0x16a")][P("0x2d5")][P("0x16c")](1)
-                        })),
-                        this._bottomMaterial = B.defaultValue(e[P("0x450")], new (B[P("0x457")])({
-                            evenColor: B[P("0x16a")][P("0x338")].withAlpha(1)
-                        })),
-                        this[P("0x458")] = [],
-                        !this[P("0x459")] || this[P("0x459")].length <= 2 || (function (e, t) {
-                            !function (e) {
-                                var t, i, r, n, o, a, s;
-                                e[P("0x0")] < 3 || (i = (t = e)[0],
-                                    r = t[1],
-                                    n = t[2],
-                                    o = B[P("0x11")][P("0x95")](r, i, new (B[P("0x11")])),
-                                    a = B[P("0x11")].subtract(n, i, new B.Cartesian3),
-                                    s = B[P("0x11")][P("0x99")](o, a, new B.Cartesian3),
-                                    0 <= B[P("0x11")][P("0x92")](i, s) || e[P("0x1e3")]())
-                            }(e);
-                            for (var i = e[P("0x0")], r = [], n = 0; n < i; ++n) {
-                                var o = (n + 1) % i
-                                    , a = B[P("0x11")][P("0x6d")](e[n], e[o], new (B[P("0x11")]));
-                                a = B[P("0x11")][P("0x6c")](a, .5, a);
-                                var s = B[P("0x11")].normalize(a, new (B[P("0x11")]))
-                                    , x = B[P("0x11")][P("0x95")](e[o], a, new (B[P("0x11")]));
-                                x = B[P("0x11")][P("0x8d")](x, x);
-                                var l = B[P("0x11")].cross(x, s, new (B[P("0x11")]));
-                                l = B[P("0x11")][P("0x8d")](l, l);
-                                var c = new (B[P("0x1c")])(l, 0)
-                                    , u = B[P("0x1c")][P("0x44a")](c, a);
-                                r.push(new (B[P("0x368")])(l, u))
-                            }
-                            t.scene[P("0xa3")][P("0x365")] = new (B[P("0x36a")])({
-                                planes: r,
-                                edgeWidth: 2,
-                                edgeColor: B[P("0x16a")][P("0x2cf")]
-                            })
-                        }(this[P("0x459")], this[P("0x13b")]),
-                            function (e) {
-                                for (var t = e[P("0x44b")], i = e[P("0x44c")], r = e[P("0x44d")], n = e[P("0x44e")], o = e[P("0x44f")], a = e[P("0x450")], s = e.entitys, x = [], l = 0; l < r.length; l++) {
-                                    var c = n[P("0x10f")].globe[P("0xef")][P("0xd6")](r[l]);
-                                    if (c.height = 0,
-                                        x[P("0x17c")](c),
-                                        l == r.length - 1)
-                                        for (var u = 1; u <= t; u++) {
-                                            var h = B.Cartesian3[P("0x308")](r[l], r[0], u / t, new B.Cartesian3);
-                                            (f = B[P("0x13")][P("0x175")](h))[P("0x8b")] = 0,
-                                                x.push(f)
-                                        }
-                                    else
-                                        for (u = 1; u <= t; u++) {
-                                            var f;
-                                            h = B[P("0x11")][P("0x308")](r[l], r[l + 1], u / t, new (B[P("0x11")])),
-                                                (f = B[P("0x13")][P("0x175")](h))[P("0x8b")] = 0,
-                                                x[P("0x17c")](f)
-                                        }
-                                }
-                                for (l = 0; l < x[P("0x0")]; l++) {
-                                    var d = n.scene[P("0xa3")].getHeight(x[l]);
-                                    x[l][P("0x8b")] = d
-                                }
-                                var g = [];
-                                for (l = 0; l < x.length; l++) {
-                                    var p = (l + 1) % x.length
-                                        , m = [];
-                                    m[P("0x17c")](B[P("0x23")].toDegrees(x[l][P("0x112")])),
-                                        m[P("0x17c")](B[P("0x23")][P("0x113")](x[l][P("0x114")])),
-                                        m.push(x[l][P("0x8b")]),
-                                        m.push(B[P("0x23")][P("0x113")](x[p][P("0x112")])),
-                                        m.push(B[P("0x23")][P("0x113")](x[p].latitude)),
-                                        m.push(x[p][P("0x8b")]),
-                                        m[P("0x17c")](B.Math[P("0x113")](x[p][P("0x112")])),
-                                        m.push(B[P("0x23")][P("0x113")](x[p][P("0x114")])),
-                                        m[P("0x17c")](x[p][P("0x8b")] + i),
-                                        m[P("0x17c")](B[P("0x23")].toDegrees(x[l][P("0x112")])),
-                                        m[P("0x17c")](B[P("0x23")].toDegrees(x[l].latitude)),
-                                        m[P("0x17c")](x[l][P("0x8b")] + i),
-                                        g[P("0x17c")](B[P("0x23")][P("0x113")](x[l][P("0x112")])),
-                                        g[P("0x17c")](B[P("0x23")][P("0x113")](x[l][P("0x114")])),
-                                        g[P("0x17c")](x[l][P("0x8b")] + i);
-                                    var b = n[P("0x194")][P("0x6d")]({
-                                        polygon: {
-                                            hierarchy: B[P("0x11")].fromDegreesArrayHeights(m),
-                                            material: o,
-                                            perPositionHeight: !0
-                                        }
-                                    });
-                                    s[P("0x17c")](b)
-                                }
-                                var v = n[P("0x194")][P("0x6d")]({
-                                    polygon: {
-                                        hierarchy: B[P("0x11")].fromDegreesArrayHeights(g),
-                                        material: a,
-                                        perPositionHeight: !0
-                                    }
-                                });
-                                s.push(v)
-                            }({
-                                arrPoints: this[P("0x459")],
-                                earth: this[P("0x13b")],
-                                holeDepth: this[P("0x455")],
-                                interNumber: this[P("0x454")],
-                                sideMaterial: this._sideMaterial,
-                                bottomMaterial: this._bottomMaterial,
-                                entitys: this[P("0x458")]
-                            }))
+                    return this
+                },
+                CLASS_NAME: "GeoGlobe.Geometry.LineString"
+            }),
+            GeoGlobe.Geometry.LineString.createCurveLine = function(e) {
+                for (var t = [], i = 0; i < e.length - 1; i++) {
+                    var r = GeoGlobe.Geometry.LineString.getCurveCoordinatesByTwoPoints(e[i], e[i + 1]);
+                    r && r.length > 0 && (t = t.concat(r))
                 }
-                ).prototype[P("0xf4")] = function () {
-                    for (var e = 0; e < this[P("0x458")].length; e++)
-                        this[P("0x13b")].entities.remove(this[P("0x458")][e]);
-                    this[P("0x458")][P("0x0")] = 0,
-                        this.viewer[P("0x10f")][P("0xa3")][P("0x365")].destroy()
+                return new GeoGlobe.Geometry.LineString(t)
+            }
+            ,
+            GeoGlobe.Geometry.LineString.getCurveCoordinatesByTwoPoints = function(e, t) {
+                if (!(e && t && e instanceof GeoGlobe.Geometry.Point && t instanceof GeoGlobe.Geometry.Point))
+                    return null;
+                var i = function(e) {
+                    return 1 - 2 * e + e * e
                 }
-                ,
-                function (e) {
-                    e[P("0x102")];
-                    var t = e.GeoTerrainExcavate = function (t, i) {
-                        this[P("0x13b")] = t[P("0x13b")],
-                            this[P("0x10f")] = this[P("0x13b")].scene,
-                            this[P("0x48")] = this[P("0x10f")].canvas,
-                            this[P("0x194")] = this[P("0x13b")].entities,
-                            this[P("0x45a")] = i,
-                            this.depth = e.defaultValue(t[P("0x456")], -500),
-                            this[P("0x453")] = t[P("0x44f")],
-                            this[P("0x45b")] = t.bottomMaterial,
-                            this._outPoints = [],
-                            this._arrayVertex = [],
-                            this[P("0x304")] = void 0,
-                            this[P("0x45c")] = void 0,
-                            this[P("0x45d")] = 0,
-                            this[P("0x45e")] = void 0,
-                            this[P("0x13b")][P("0x10f")][P("0xa3")].depthTestAgainstTerrain = !0
+                  , r = function(e) {
+                    return 2 * e - 2 * e * e
+                }
+                  , n = function(e) {
+                    return e * e
+                };
+                curveCoordinates = [];
+                var o, a, s, x, l, c, u = 0, h = 0;
+                if (void 0 !== t) {
+                    var f = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.y)
+                      , d = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t.y)
+                      , g = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.x)
+                      , p = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t.x);
+                    for (p > g && _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(p - g) > 180 && g < 0 && (g = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(360 + g)),
+                    g > p && _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(g - p) > 180 && p < 0 && (p = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(360 + p)),
+                    c = 0,
+                    d == f ? (o = 0,
+                    a = g - p) : p == g ? (o = Math.PI / 2,
+                    a = f - d) : (o = Math.atan((d - f) / (p - g)),
+                    a = (d - f) / Math.sin(o)),
+                    0 == c && (c = o + Math.PI / 5),
+                    l = (s = a / 2) * Math.cos(c) + g,
+                    x = s * Math.sin(c) + f,
+                    u = 0; u < 31; u++)
+                        curveCoordinates.push(new GeoGlobe.Geometry.Point(g * i(h) + l * r(h) + p * n(h),f * i(h) + x * r(h) + d * n(h))),
+                        h += 1 / 30;
+                    return curveCoordinates
+                }
+                "undefined" != typeof curveCoordinates && (curveCoordinates = [])
+            }
+            ,
+            GeoGlobe.Geometry.LinearRing = GeoGlobe.Class4OL(GeoGlobe.Geometry.LineString, {
+                componentTypes: ["GeoGlobe.Geometry.Point"],
+                addComponent: function(e, t) {
+                    var i = !1
+                      , r = this.components.pop();
+                    null == t && e.equals(r) || (i = GeoGlobe.Geometry.Collection.prototype.addComponent.apply(this, arguments));
+                    var n = this.components[0];
+                    return GeoGlobe.Geometry.Collection.prototype.addComponent.apply(this, [n]),
+                    i
+                },
+                removeComponent: function(e) {
+                    var t = this.components && this.components.length > 3;
+                    if (t) {
+                        this.components.pop(),
+                        GeoGlobe.Geometry.Collection.prototype.removeComponent.apply(this, arguments);
+                        var i = this.components[0];
+                        GeoGlobe.Geometry.Collection.prototype.addComponent.apply(this, [i])
                     }
-                        ;
-                    t[P("0x5")][P("0x198")] = function () {
-                        if (this.clear(),
-                            !this.handler) {
-                            this[P("0x16f")] = new e.ScreenSpaceEventHandler(this[P("0x48")]),
-                                this[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x171");
-                            var t = this;
-                            this.handler[P("0x160")]((function (i) {
-                                var r = t[P("0x13b")][P("0x7e")].getPickRay(i.position)
-                                    , n = t.viewer[P("0x10f")].globe[P("0xa4")](r, t.viewer[P("0x10f")]);
-                                t[P("0x45f")][P("0x17c")](n);
-                                var o = e.Cartographic[P("0x175")](n);
-                                t[P("0x460")][P("0x17c")](e[P("0x23")].toDegrees(o[P("0x112")])),
-                                    t[P("0x460")][P("0x17c")](e[P("0x23")][P("0x113")](o.latitude)),
-                                    t[P("0x460")][P("0x17c")](o[P("0x8b")]),
-                                    null == t._polylineCollection && (t[P("0x304")] = t[P("0x13b")][P("0x10f")][P("0x17d")][P("0x6d")](new e.PolylineCollection),
-                                        t._polylineCollection[P("0x176")] = "draw_polyline",
-                                        t[P("0x45c")] = t[P("0x304")][P("0x6d")]({
-                                            polyline: {}
-                                        }),
-                                        t[P("0x45c")][P("0x19a")] = 2,
-                                        t[P("0x45c")][P("0x19b")] = !1,
-                                        t[P("0x45c")][P("0x19c")].uniforms[P("0x169")] = {
-                                            red: 1,
-                                            green: 0,
-                                            blue: 0,
-                                            alpha: 1
-                                        }),
-                                    t[P("0x45c")][P("0x19f")] = t[P("0x45f")],
-                                    t[P("0x45d")]++
-                            }
-                            ), e[P("0x161")][P("0x17e")]),
-                                this[P("0x16f")][P("0x160")]((function (e) {
-                                    if (null != t[P("0x304")]) {
-                                        var i = t[P("0x13b")][P("0x7e")][P("0x86")](e.endPosition)
-                                            , r = t.viewer[P("0x10f")][P("0xa3")][P("0xa4")](i, t[P("0x13b")].scene);
-                                        t[P("0x45f")][P("0x0")] > t[P("0x45d")] && t[P("0x45f")][P("0x25c")](),
-                                            t._arrayVertex[P("0x17c")](r),
-                                            t[P("0x45c")].positions = t[P("0x45f")]
-                                    }
+                    return t
+                },
+                move: function(e, t) {
+                    for (var i = 0, r = this.components.length; i < r - 1; i++)
+                        this.components[i].move(e, t)
+                },
+                rotate: function(e, t) {
+                    for (var i = 0, r = this.components.length; i < r - 1; ++i)
+                        this.components[i].rotate(e, t)
+                },
+                resize: function(e, t, i) {
+                    for (var r = 0, n = this.components.length; r < n - 1; ++r)
+                        this.components[r].resize(e, t, i);
+                    return this
+                },
+                transform: function(e, t) {
+                    if (e && t) {
+                        for (var i = 0, r = this.components.length; i < r - 1; i++)
+                            this.components[i].transform(e, t);
+                        this.bounds = null
+                    }
+                    return this
+                },
+                getCentroid: function() {
+                    if (this.components) {
+                        var e = this.components.length;
+                        if (e > 0 && e <= 2)
+                            return this.components[0].clone();
+                        if (e > 2) {
+                            var t = 0
+                              , i = 0
+                              , r = this.components[0].x
+                              , n = this.components[0].y
+                              , o = -1 * this.getArea();
+                            if (0 != o) {
+                                for (var a = 0; a < e - 1; a++) {
+                                    var s = this.components[a]
+                                      , x = this.components[a + 1];
+                                    t += (s.x + x.x - 2 * r) * ((s.x - r) * (x.y - n) - (x.x - r) * (s.y - n)),
+                                    i += (s.y + x.y - 2 * n) * ((s.x - r) * (x.y - n) - (x.x - r) * (s.y - n))
                                 }
-                                ), e.ScreenSpaceEventType.MOUSE_MOVE),
-                                this.handler.setInputAction((function (i) {
-                                    if (null != t._polylineCollection) {
-                                        var r = t[P("0x13b")][P("0x7e")][P("0x86")](i.position)
-                                            , n = t[P("0x13b")][P("0x10f")][P("0xa3")][P("0xa4")](r, t[P("0x13b")].scene)
-                                            , o = e[P("0x13")].fromCartesian(n);
-                                        t[P("0x460")][P("0x17c")](e.Math[P("0x113")](o.longitude)),
-                                            t[P("0x460")][P("0x17c")](e.Math[P("0x113")](o.latitude)),
-                                            t._outPoints.push(o[P("0x8b")]),
-                                            t[P("0x304")][P("0x17f")](t[P("0x45c")]),
-                                            t.viewer.scene[P("0x17d")][P("0x17f")](t[P("0x304")]),
-                                            t.handler.destroy(),
-                                            t.handler = void 0,
-                                            t._polylineCollection = void 0,
-                                            t[P("0x45c")] = void 0,
-                                            t[P("0x45d")] = 0,
-                                            t.viewer[P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                            t._excavationRegion = new e.GeoExcavationRegion({
-                                                viewer: t[P("0x13b")],
-                                                samplingPoints: t[P("0x45f")],
-                                                depth: t[P("0x456")],
-                                                sideMaterial: t._sideMaterial,
-                                                bottomMaterial: t._bottomMaterial,
-                                                interNumber: 10
-                                            }),
-                                            t[P("0x45a")](t[P("0x460")])
-                                    }
-                                }
-                                ), e[P("0x161")][P("0x189")])
-                        }
-                    }
-                        ,
-                        t[P("0x5")].clear = function () {
-                            this[P("0x45e")] && (this[P("0x460")][P("0x0")] = 0,
-                                this._arrayVertex[P("0x0")] = 0,
-                                this[P("0x45e")][P("0xf4")](),
-                                this[P("0x45e")] = void 0)
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x102")];
-                    (e[P("0x461")] = function (e, i) {
-                        e = t(e, t[P("0x128")]),
-                            this.viewer = e.viewer,
-                            this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
-                            this[P("0x48")] = this[P("0x10f")][P("0x48")],
-                            this.camera = this.scene[P("0x7e")],
-                            this[P("0x17d")] = this[P("0x10f")].primitives,
-                            this[P("0x191")] = i || null,
-                            this.contourUniforms = {},
-                            this[P("0x462")] = {}
-                    }
-                    ).prototype[P("0x463")] = function (o) {
-                        var a = !1;
-                        if (o && o[P("0x464")]) {
-                            a = t(o[P("0x464")][P("0x3b6")], !1);
-                            var s = t(o[P("0x464")][P("0x19a")], 2)
-                                , x = t(o.contour[P("0x465")], 150)
-                                , l = t(o[P("0x464")][P("0x169")], e[P("0x16a")].RED[P("0x6e")]())
-                        }
-                        var c = "none";
-                        if (o && o[P("0x466")] && (c = o[P("0x466")],
-                            -1 == ["elevation", P("0x467"), P("0x468"), P("0x2b4")][P("0x2d3")](c)))
-                            return alert("杈撳叆鍊煎彲閫塭levation,slope,aspect,none涓殑涓�涓紒"),
-                                !1;
-                        var u, h = -414, f = 8777;
-                        return o && o.minHeight && (h = o[P("0x3ea")]),
-                            o && o[P("0x3eb")] && (f = o.maxHeight),
-                            a ? (c === P("0x469") ? (u = new e.Material({
-                                fabric: {
-                                    type: P("0x485"),
-                                    materials: {
-                                        contourMaterial: {
-                                            type: P("0x471")
-                                        },
-                                        elevationRampMaterial: {
-                                            type: P("0x472")
-                                        }
-                                    },
-                                    components: {
-                                        diffuse: "contourMaterial.alpha == 0.0 ? elevationRampMaterial.diffuse : contourMaterial.diffuse",
-                                        alpha: P("0x486")
-                                    }
-                                },
-                                translucent: !1
-                            }),
-                                this[P("0x462")] = u[P("0x46a")][P("0x46b")][P("0x19d")],
-                                this[P("0x462")][P("0x46c")] = h,
-                                this[P("0x462")][P("0x46d")] = f,
-                                this.contourUniforms = u[P("0x46a")][P("0x46e")].uniforms) : c === P("0x467") ? (u = new (e[P("0x212")])({
-                                    fabric: {
-                                        type: P("0x487"),
-                                        materials: {
-                                            contourMaterial: {
-                                                type: P("0x471")
-                                            },
-                                            slopeRampMaterial: {
-                                                type: P("0x473")
-                                            }
-                                        },
-                                        components: {
-                                            diffuse: "contourMaterial.alpha == 0.0 ? slopeRampMaterial.diffuse : contourMaterial.diffuse",
-                                            alpha: P("0x488")
-                                        }
-                                    },
-                                    translucent: !0
-                                }),
-                                    this[P("0x462")] = u[P("0x46a")][P("0x46f")].uniforms,
-                                    this[P("0x470")] = u[P("0x46a")][P("0x46e")][P("0x19d")]) : c === P("0x468") ? (u = new (e[P("0x212")])({
-                                        fabric: {
-                                            type: P("0x489"),
-                                            materials: {
-                                                contourMaterial: {
-                                                    type: P("0x471")
-                                                },
-                                                aspectRampMaterial: {
-                                                    type: P("0x474")
-                                                }
-                                            },
-                                            components: {
-                                                diffuse: "contourMaterial.alpha == 0.0 ? aspectRampMaterial.diffuse : contourMaterial.diffuse",
-                                                alpha: P("0x48a")
-                                            }
-                                        },
-                                        translucent: !1
-                                    }),
-                                        this[P("0x462")] = u[P("0x46a")].aspectRampMaterial[P("0x19d")],
-                                        this[P("0x470")] = u.materials[P("0x46e")][P("0x19d")]) : (u = e[P("0x212")][P("0x213")](P("0x471")),
-                                            this[P("0x470")] = u[P("0x19d")]),
-                                this.contourUniforms.width = s,
-                                this[P("0x470")][P("0x465")] = x,
-                                this.contourUniforms.color = l) : c === P("0x469") ? (u = e.Material[P("0x213")](P("0x472")),
-                                    this.shadingUniforms = u.uniforms,
-                                    this[P("0x462")].minimumHeight = h,
-                                    this[P("0x462")].maximumHeight = f) : c === P("0x467") ? (u = e.Material[P("0x213")](P("0x473")),
-                                        this[P("0x462")] = u[P("0x19d")]) : c === P("0x468") && (u = e[P("0x212")][P("0x213")](P("0x474")),
-                                            this[P("0x462")] = u.uniforms),
-                            c !== P("0x2b4") && (this.shadingUniforms[P("0x475")] = function (e) {
-                                var t = document[P("0x15c")](P("0x48"));
-                                t[P("0x19a")] = 100,
-                                    t[P("0x8b")] = 1;
-                                var o, a = t[P("0x476")]("2d");
-                                e === P("0x469") ? o = i : e === P("0x467") ? o = r : "aspect" === e && (o = n);
-                                var s = a[P("0x477")](0, 0, 100, 0);
-                                return 7 == o[P("0x0")] ? (s.addColorStop(o[0], P("0x478")),
-                                    s[P("0x479")](o[1], P("0x47a")),
-                                    s[P("0x479")](o[2], "#D33B7D"),
-                                    s[P("0x479")](o[3], "#D33038"),
-                                    s[P("0x479")](o[4], "#FF9742"),
-                                    s[P("0x479")](o[5], "#ffd700"),
-                                    s[P("0x479")](o[6], P("0x47b"))) : (s[P("0x479")](o[0], P("0x47c")),
-                                        s[P("0x479")](o[1], "#599668"),
-                                        s.addColorStop(o[2], P("0x47d")),
-                                        s[P("0x479")](o[3], "#fafcb4"),
-                                        s.addColorStop(o[4], P("0x47e")),
-                                        s.addColorStop(o[5], P("0x47f")),
-                                        s[P("0x479")](o[6], P("0x480")),
-                                        s[P("0x479")](o[7], P("0x481")),
-                                        s[P("0x479")](o[8], P("0x482")),
-                                        s[P("0x479")](o[9], P("0x483")),
-                                        s[P("0x479")](o[10], "#420202")),
-                                    a[P("0x484")] = s,
-                                    a.fillRect(0, 0, 100, 1),
-                                    t
-                            }(c)),
-                            this[P("0x10f")][P("0xa3")][P("0x19c")] = u,
-                            !0
-                    }
-                        ;
-                    var i = [0, .045, .1, .15, .37, .54, 1]
-                        , r = [0, .1, .2, .3, .4, .5, .6, .7, .8, .9, 1]
-                        , n = [0, .2, .4, .6, .8, .9, 1]
-                }(window.Cesium),
-                function (e) {
-                    var t = e.GeoTilesetFlatten = function (t) {
-                        t = e[P("0x102")](t, e[P("0x102")][P("0x128")]),
-                            this[P("0x48b")] = !1,
-                            this[P("0x48c")] = !1,
-                            this[P("0x48d")] = [],
-                            this[P("0x48e")] = e[P("0x102")](t[P("0x48e")], !0),
-                            this.show = e.defaultValue(t[P("0x221")], !0),
-                            this[P("0xef")] = e.defaultValue(t[P("0xef")], e[P("0x16")].WGS84)
-                    }
-                        ;
-                    function i(t) {
-                        var i = t.content._model;
-                        e.defined(i) && e[P("0x14")](i.platSlot) && delete i[P("0x48f")]
-                    }
-                    function r(t) {
-                        var i = t[P("0x490")]._model;
-                        if (e.defined(i)) {
-                            var r = i[P("0x48f")];
-                            if (!e[P("0x14")](r))
-                                throw new e.DeveloperError("storing of model vertex buffers is fail.")
-                        }
-                    }
-                    t.prototype[P("0x491")] = function (t) {
-                        if (!e[P("0x14")](t))
-                            throw new (e[P("0x15")])("parameter tileset is required.");
-                        if (e[P("0x14")](this[P("0x492")]))
-                            throw new (e[P("0x15")])(P("0x493"));
-                        this[P("0x492")] = t,
-                            (this._tileset[P("0x494")] = this)[P("0x48c")] = !0,
-                            this[P("0x492")].tileUnload[P("0x130")](i),
-                            this[P("0x492")][P("0x495")].addEventListener(r)
-                    }
-                        ,
-                        t.prototype[P("0x496")] = function (e) {
-                            this.show != e && (this[P("0x48c")] = !0),
-                                this[P("0x221")] = e
-                        }
-                        ,
-                        t[P("0x5")][P("0x497")] = function (e) {
-                            return this[P("0x221")]
-                        }
-                        ,
-                        t[P("0x5")][P("0x498")] = function () {
-                            return this[P("0x48c")]
-                        }
-                        ,
-                        t[P("0x5")][P("0x499")] = function () {
-                            this[P("0x48c")] = !1
-                        }
-                        ,
-                        t[P("0x5")][P("0x49a")] = function (t) {
-                            var i = this;
-                            if (void 0 !== t && t instanceof Array) {
-                                var r = t.length;
-                                if (!(r < 3)) {
-                                    for (var n = [], o = i[P("0x48e")], a = 0; a < r; a++) {
-                                        var s = t[a];
-                                        o ? void 0 !== s[P("0x8b")] ? n[P("0x17c")](e.Cartesian3.fromRadians(s[P("0x112")], s[P("0x114")], s[P("0x8b")], i[P("0xef")])) : n.push(e[P("0x11")][P("0x6e")](s, new (e[P("0x11")]))) : void 0 !== s[P("0x8b")] ? n.push(e[P("0x13")].clone(s, new (e[P("0x13")]))) : n[P("0x17c")](e.Cartographic[P("0x175")](s, i.ellipsoid, new (e[P("0x13")])))
-                                    }
-                                    if (i.isCartesian3Point) {
-                                        if (!n[0].equals(n[r - 1])) {
-                                            var x = e[P("0x11")][P("0x6e")](n[0], new e.Cartesian3);
-                                            n[P("0x17c")](x)
-                                        }
-                                    } else
-                                        e[P("0x13")].equals(n[0], n[r - 1]) || (x = e[P("0x13")][P("0x6e")](n[0], new (e[P("0x13")])),
-                                            n[P("0x17c")](x));
-                                    var l = {};
-                                    l[P("0x49b")] = n,
-                                        l[P("0x49c")] = !0,
-                                        i[P("0x48d")][P("0x17c")](l);
-                                    var c = i[P("0x48d")][P("0x0")] - 1;
-                                    return i.dirty = !0,
-                                        i.initPlatBodyDebug(),
-                                        this._ready = !0,
-                                        c
-                                }
-                            }
-                        }
-                        ,
-                        t.prototype[P("0x49d")] = function (t) {
-                            if (void 0 !== t && "number" == typeof t && t < this[P("0x48d")][P("0x0")]) {
-                                var i = this.polys[t];
-                                if (void 0 === i)
-                                    return;
-                                var r = i[P("0x49b")];
-                                if (void 0 === r)
-                                    return;
-                                for (var n = [], o = 0; o < r[P("0x0")]; o++) {
-                                    var a = e[P("0x11")][P("0x6e")](r[o], new (e[P("0x11")]));
-                                    n.push(a)
-                                }
-                                return n
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x49e")] = function (e) {
-                            void 0 !== e && w()(e) === P("0x49f") && e < this.polys[P("0x0")] && (delete this[P("0x48d")][e],
-                                this[P("0x48c")] = !0)
-                        }
-                        ,
-                        t[P("0x5")].showPlatArea = function (e, t) {
-                            void 0 !== e && w()(e) === P("0x49f") && e < this.polys[P("0x0")] && (this.polys[e][P("0x49c")] = t,
-                                this[P("0x48c")] = !0)
-                        }
-                        ,
-                        t[P("0x5")].initRegionMatrixes = function (t) {
-                            var i = t
-                                , r = i[P("0x4a0")].content[P("0x4a1")];
-                            if (e[P("0x14")](i[P("0x4a2")][P("0x4a3")]) && !(i[P("0x4a2")][P("0x4a3")].length < 1)) {
-                                var n = r[P("0x4a4")]._orientedBoundingBox[P("0x4a5")]
-                                    , o = r[P("0x4a4")]._orientedBoundingBox[P("0x11a")]
-                                    , a = {};
-                                if (a[P("0x4a6")] = this[P("0x4a7")](n),
-                                    a[P("0x4a8")] = this[P("0x4a9")](a.matOrg),
-                                    e.defined(a[P("0x4a8")]) && (a[P("0x4aa")] = e.Transforms[P("0xbf")](o, this[P("0xef")], new (e[P("0x1b")])),
-                                        a.matPrjI = this.invertMatrix(a[P("0x4aa")]),
-                                        e[P("0x14")](a[P("0x4ab")])))
-                                    return a[P("0x4ac")] = e[P("0x1b")].clone(i[P("0x4a2")].rootNodes[0][P("0x4ad")], new e.Matrix4),
-                                        a
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x4ae")] = function (t) {
-                            var i = t
-                                , r = i._pickObject[P("0x490")][P("0x4a1")];
-                            if (e[P("0x14")](i[P("0x4a2")][P("0x4a3")]) && !(i[P("0x4a2")][P("0x4a3")].length < 1)) {
-                                var n = r[P("0x4a4")]._orientedBoundingBox[P("0x11a")]
-                                    , o = {};
-                                if (o[P("0x4aa")] = e[P("0x1f")][P("0xbf")](n, this[P("0xef")], new (e[P("0x1b")])),
-                                    o[P("0x4ab")] = this[P("0x4a9")](o[P("0x4aa")]),
-                                    e[P("0x14")](o[P("0x4ab")]) && (o[P("0x4ac")] = e.Matrix4[P("0x6e")](i._runtime[P("0x4a3")][0][P("0x4ad")], new (e[P("0x1b")])),
-                                        o.modelMatrixI = this[P("0x4a9")](o.modelMatrix),
-                                        e[P("0x14")](o[P("0x4af")])))
-                                    return o
-                            }
-                        }
-                        ,
-                        t[P("0x5")].toPlatRegionModel = function (t, i) {
-                            var r = i
-                                , n = r[P("0x48f")][P("0x4b0")]
-                                , o = n[P("0x0")]
-                                , a = this[P("0x4b1")](r);
-                            if (e[P("0x14")](a)) {
-                                this[P("0x4b2")](r);
-                                for (var s = 0; s < o; s++) {
-                                    var x = n[s];
-                                    if (void 0 !== x && 1 != x[P("0x496")]) {
-                                        x.showPlat = !0;
-                                        for (var l = x[P("0x4b3")][P("0x1d5")](0), c = new Float32Array(l[P("0x4b3")], l[P("0x4b4")], l[P("0x0")] / Float32Array[P("0x4b5")]), u = 0, h = [], f = [], d = 0; d < c[P("0x0")]; d += 3) {
-                                            var g = new e.Cartesian3(c[d], c[d + 1], c[d + 2]);
-                                            f.push(g),
-                                                (p = e[P("0x1b")][P("0xd4")](a.matOrgI, g, new (e[P("0x11")]))).z < u && (u = p.z),
-                                                h[P("0x17c")](p)
-                                        }
-                                        for (d = 0; d < h[P("0x0")]; d++) {
-                                            var p = h[d];
-                                            g = f[d],
-                                                g = e[P("0x1b")][P("0xd4")](a.modelMatrix, g, new (e[P("0x11")])),
-                                                g = e[P("0x1b")][P("0xd4")](a[P("0x4ab")], g, new (e[P("0x11")])),
-                                                this[P("0x4b6")](r, g) && (p.z = u),
-                                                p = e.Matrix4.multiplyByPoint(a.matOrg, p, new (e[P("0x11")])),
-                                                c[3 * d] = p.x,
-                                                c[3 * d + 1] = p.y,
-                                                c[3 * d + 2] = p.z
-                                        }
-                                        this[P("0x4b7")](r, l, s, t)
-                                    }
-                                }
-                                r.platSlot[P("0x4b8")] = void 0
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x4b9")] = function (t, i) {
-                            var r = this
-                                , n = i
-                                , o = n[P("0x48f")][P("0x4b0")]
-                                , a = o[P("0x0")]
-                                , s = r.initBoxMatrixes(n);
-                            if (e.defined(s)) {
-                                var x = {};
-                                r[P("0x4b2")](n);
-                                for (var l = 0; l < a; l++) {
-                                    var c = o[l];
-                                    if (!c[P("0x496")] || r.isPlatDirty()) {
-                                        c[P("0x496")] = !0;
-                                        for (var u = c[P("0x4b3")].slice(0), h = new Float32Array(u[P("0x4b3")], u[P("0x4b4")], u[P("0x0")] / Float32Array.BYTES_PER_ELEMENT), f = 0; f < h[P("0x0")]; f += 3) {
-                                            var d = new (e[P("0x11")])(h[f], h[f + 1], h[f + 2]);
-                                            d = e[P("0x11")].clone(d);
-                                            var g = e[P("0x1b")][P("0xd4")](s[P("0x4ac")], d, new e.Cartesian3);
-                                            x.pt = g,
-                                                d = e.Matrix4[P("0xd4")](s[P("0x4ab")], g, new (e[P("0x11")])),
-                                                r[P("0x4b6")](n, d, x) && (g = e[P("0x1b")].multiplyByPoint(s[P("0x4af")], x.pt, new (e[P("0x11")])),
-                                                    h[f] = g.x,
-                                                    h[f + 1] = g.y,
-                                                    h[f + 2] = g.z)
-                                        }
-                                        r[P("0x4b7")](n, u, l, t)
-                                    }
-                                }
-                                n[P("0x48f")].platPolys = void 0
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x4ba")] = function (t, i) {
-                            var r = i[P("0x4a0")][P("0x490")]._tile[P("0x4bb")][P("0x4bc")][P("0x4bd")];
-                            e[P("0x14")](r) ? this[P("0x4be")](t, i) : this.toPlatBoxModel(t, i)
-                        }
-                        ,
-                        t[P("0x5")].toUnplatModel = function (e, t) {
-                            for (var i = t, r = i[P("0x48f")][P("0x4b0")], n = r[P("0x0")], o = 0; o < n; o++) {
-                                var a = r[o];
-                                if (void 0 !== a && 0 != a[P("0x496")]) {
-                                    a[P("0x496")] = !1;
-                                    var s = a[P("0x4b3")][P("0x1d5")](0);
-                                    this[P("0x4b7")](i, s, o, e)
-                                }
-                            }
-                            i[P("0x48f")][P("0x4b8")] = void 0
-                        }
-                        ,
-                        t[P("0x5")][P("0x4bf")] = function (e, t) {
-                            var i = t;
-                            if (this[P("0x48b")] && void 0 !== i.platSlot && void 0 !== i.platSlot[P("0x4b0")] && !(i.platSlot.buffers[P("0x0")] < 1)) {
-                                var r = this[P("0x4c0")](i);
-                                (r || i[P("0x48f")][P("0x4c1")]) && (i.platSlot[P("0x4c1")] = !0,
-                                    r ? this[P("0x4ba")](e, t) : this[P("0x4c2")](e, t))
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x4c0")] = function (e) {
-                            var t = e
-                                , i = this[P("0x48d")]
-                                , r = i.length;
-                            if (r < 1)
-                                return !1;
-                            for (var n = 0; n < r; n++) {
-                                var o = i[n];
-                                if (void 0 !== o && void 0 !== o.platPickRegion && this.hitPlatTestByRegion(t, o[P("0x4c3")]))
-                                    return !0
-                            }
-                            return !1
-                        }
-                        ,
-                        t.prototype[P("0x4c4")] = function () {
-                            var t = this
-                                , i = t.ellipsoid;
-                            if (t.isCartesian3Point) {
-                                if (void 0 === (s = t.polys))
-                                    return;
-                                if (void 0 === (x = s[P("0x0")]) || x < 1)
-                                    return;
-                                if (!t.dirty)
-                                    return;
-                                for (var r = 0; r < x; r++)
-                                    if (void 0 !== (l = s[r]) && !e[P("0x14")](l[P("0x4c3")])) {
-                                        if (void 0 === (d = l.platPickPoints))
-                                            return;
-                                        if (void 0 === (g = d.length) || g < 1)
-                                            return;
-                                        for (var n = 0; n < g; n++) {
-                                            var o = e[P("0x11")][P("0x6e")](d[n], new (e[P("0x11")]))
-                                                , a = e[P("0x13")].fromCartesian(o, i);
-                                            0 != n ? (u > a[P("0x112")] ? u = a[P("0x112")] : c < a[P("0x112")] && (c = a[P("0x112")]),
-                                                h > a[P("0x114")] ? h = a.latitude : f < a[P("0x114")] && (f = a[P("0x114")])) : (c = u = a[P("0x112")],
-                                                    h = f = a[P("0x114")])
-                                        }
-                                        l[P("0x4c3")] = {
-                                            west: u,
-                                            south: h,
-                                            east: c,
-                                            north: f
-                                        }
-                                    }
+                                var l = r + t / (6 * o)
+                                  , c = n + i / (6 * o)
                             } else {
-                                var s, x;
-                                if (void 0 === (s = t[P("0x48d")]))
-                                    return;
-                                if (void 0 === (x = s[P("0x0")]) || x < 1)
-                                    return;
-                                if (!t.dirty)
-                                    return;
-                                for (r = 0; r < x; r++) {
-                                    var l;
-                                    if (void 0 !== (l = s[r]) && !e[P("0x14")](l[P("0x4c3")])) {
-                                        var c, u, h, f, d, g;
-                                        if (void 0 === (d = l.platPickPoints))
-                                            return;
-                                        if (void 0 === (g = d[P("0x0")]) || g < 1)
-                                            return;
-                                        for (c = u = d[0].longitude,
-                                            h = f = d[0][P("0x114")],
-                                            n = 1; n < g; n++)
-                                            u > (o = e.Cartographic.clone(d[n], new (e[P("0x13")])))[P("0x112")] ? u = o[P("0x112")] : c < o.longitude && (c = o[P("0x112")]),
-                                                h > o[P("0x114")] ? h = o[P("0x114")] : f < o[P("0x114")] && (f = o[P("0x114")]);
-                                        l.platPickRegion = {
-                                            west: u,
-                                            south: h,
-                                            east: c,
-                                            north: f
-                                        }
-                                    }
+                                for (a = 0; a < e - 1; a++)
+                                    t += this.components[a].x,
+                                    i += this.components[a].y;
+                                l = t / (e - 1),
+                                c = i / (e - 1)
+                            }
+                            return new GeoGlobe.Geometry.Point(l,c)
+                        }
+                        return null
+                    }
+                },
+                getArea: function() {
+                    var e = 0;
+                    if (this.components && this.components.length > 2) {
+                        for (var t = 0, i = 0, r = this.components.length; i < r - 1; i++) {
+                            var n = this.components[i]
+                              , o = this.components[i + 1];
+                            t += (n.x + o.x) * (o.y - n.y)
+                        }
+                        e = -t / 2
+                    }
+                    return e
+                },
+                getGeodesicArea: function(e) {
+                    var t = this;
+                    if (e) {
+                        var i = new GeoGlobe.SpatialReference("EPSG:4326");
+                        i.equals(e) || (t = this.clone().transform(e, i))
+                    }
+                    var r = 0
+                      , n = t.components && t.components.length;
+                    if (n > 2) {
+                        for (var o, a, s = 0; s < n - 1; s++)
+                            o = t.components[s],
+                            a = t.components[s + 1],
+                            r += GeoGlobe.Util.rad(a.x - o.x) * (2 + Math.sin(GeoGlobe.Util.rad(o.y)) + Math.sin(GeoGlobe.Util.rad(a.y)));
+                        r = 6378137 * r * 6378137 / 2
+                    }
+                    return r
+                },
+                containsPoint: function(e) {
+                    for (var t, i, r, n, o, a, s, x, l, c = GeoGlobe.Number.limitSigDigs, u = c(e.x, 14), h = c(e.y, 14), f = this.components.length - 1, d = 0, g = 0; g < f; ++g)
+                        if (r = c((t = this.components[g]).x, 14),
+                        n = c(t.y, 14),
+                        o = c((i = this.components[g + 1]).x, 14),
+                        n != (a = c(i.y, 14))) {
+                            if ((s = c(((x = o) - r) / ((l = a) - n) * (h - l) + x, 14)) == u && (n < a && h >= n && h <= a || n > a && h <= n && h >= a)) {
+                                d = -1;
+                                break
+                            }
+                            s <= u || r != o && (s < Math.min(r, o) || s > Math.max(r, o)) || (n < a && h >= n && h < a || n > a && h < n && h >= a) && ++d
+                        } else if (h == n && (r <= o && u >= r && u <= o || r >= o && u <= r && u >= o)) {
+                            d = -1;
+                            break
+                        }
+                    return -1 == d ? 1 : !!(1 & d)
+                },
+                intersects: function(e) {
+                    var t = !1;
+                    if ("GeoGlobe.Geometry.Point" == e.CLASS_NAME)
+                        t = this.containsPoint(e);
+                    else if ("GeoGlobe.Geometry.LineString" == e.CLASS_NAME)
+                        t = e.intersects(this);
+                    else if ("GeoGlobe.Geometry.LinearRing" == e.CLASS_NAME)
+                        t = GeoGlobe.Geometry.LineString.prototype.intersects.apply(this, [e]);
+                    else
+                        for (var i = 0, r = e.components.length; i < r && !(t = e.components[i].intersects(this)); ++i)
+                            ;
+                    return t
+                },
+                getVertices: function(e) {
+                    return !0 === e ? [] : this.components.slice(0, this.components.length - 1)
+                },
+                CLASS_NAME: "GeoGlobe.Geometry.LinearRing"
+            }),
+            GeoGlobe.Geometry.Polygon = GeoGlobe.Class4OL(GeoGlobe.Geometry.Collection, {
+                componentTypes: ["GeoGlobe.Geometry.LinearRing"],
+                getArea: function() {
+                    var e = 0;
+                    if (this.components && this.components.length > 0) {
+                        e += Math.abs(this.components[0].getArea());
+                        for (var t = 1, i = this.components.length; t < i; t++)
+                            e -= Math.abs(this.components[t].getArea())
+                    }
+                    return e
+                },
+                getGeodesicArea: function(e) {
+                    var t = 0;
+                    if (this.components && this.components.length > 0) {
+                        t += Math.abs(this.components[0].getGeodesicArea(e));
+                        for (var i = 1, r = this.components.length; i < r; i++)
+                            t -= Math.abs(this.components[i].getGeodesicArea(e))
+                    }
+                    return t
+                },
+                containsPoint: function(e) {
+                    var t = this.components.length
+                      , i = !1;
+                    if (t > 0 && 1 !== (i = this.components[0].containsPoint(e)) && i && t > 1)
+                        for (var r, n = 1; n < t; ++n)
+                            if (r = this.components[n].containsPoint(e)) {
+                                i = 1 === r && 1;
+                                break
+                            }
+                    return i
+                },
+                intersects: function(e) {
+                    var t, i, r = !1;
+                    if ("GeoGlobe.Geometry.Point" == e.CLASS_NAME)
+                        r = this.containsPoint(e);
+                    else if ("GeoGlobe.Geometry.LineString" == e.CLASS_NAME || "GeoGlobe.Geometry.LinearRing" == e.CLASS_NAME) {
+                        for (t = 0,
+                        i = this.components.length; t < i && !(r = e.intersects(this.components[t])); ++t)
+                            ;
+                        if (!r)
+                            for (t = 0,
+                            i = e.components.length; t < i && !(r = this.containsPoint(e.components[t])); ++t)
+                                ;
+                    } else
+                        for (t = 0,
+                        i = e.components.length; t < i && !(r = this.intersects(e.components[t])); ++t)
+                            ;
+                    if (!r && "GeoGlobe.Geometry.Polygon" == e.CLASS_NAME) {
+                        var n = this.components[0];
+                        for (t = 0,
+                        i = n.components.length; t < i && !(r = e.containsPoint(n.components[t])); ++t)
+                            ;
+                    }
+                    return r
+                },
+                distanceTo: function(e, t) {
+                    return t && !1 === t.edge && this.intersects(e) ? 0 : GeoGlobe.Geometry.Collection.prototype.distanceTo.apply(this, [e, t])
+                },
+                CLASS_NAME: "GeoGlobe.Geometry.Polygon"
+            }),
+            GeoGlobe.Geometry.Polygon.createRegularPolygon = function(e, t, i, r) {
+                var n, o, a, s = Math.PI * (1 / i - .5);
+                r && (s += r / 180 * Math.PI);
+                for (var x = [], l = 0; l < i; ++l)
+                    n = s + 2 * l * Math.PI / i,
+                    o = e.x + t * Math.cos(n),
+                    a = e.y + t * Math.sin(n),
+                    x.push(new GeoGlobe.Geometry.Point(o,a));
+                var c = new GeoGlobe.Geometry.LinearRing(x);
+                return new GeoGlobe.Geometry.Polygon([c])
+            }
+            ,
+            GeoGlobe.Geometry.MultiLineString = GeoGlobe.Class4OL(GeoGlobe.Geometry.Collection, {
+                componentTypes: ["GeoGlobe.Geometry.LineString"],
+                split: function(e, t) {
+                    for (var i, r, n, o, a, s = null, x = t && t.mutual, l = [], c = [e], u = 0, h = this.components.length; u < h; ++u) {
+                        r = this.components[u],
+                        o = !1;
+                        for (var f = 0; f < c.length; ++f)
+                            if (i = r.split(c[f], t)) {
+                                if (x) {
+                                    for (var d = 0, g = (n = i[0]).length; d < g; ++d)
+                                        0 === d && l.length ? l[l.length - 1].addComponent(n[d]) : l.push(new GeoGlobe.Geometry.MultiLineString([n[d]]));
+                                    o = !0,
+                                    i = i[1]
+                                }
+                                if (i.length) {
+                                    i.unshift(f, 1),
+                                    Array.prototype.splice.apply(c, i);
+                                    break
                                 }
                             }
-                        }
-                        ,
-                        t.prototype.createTileRegion = function (t) {
-                            var i = t[P("0x4bb")][P("0x4bc")];
-                            if (e[P("0x14")](i)) {
-                                if (void 0 !== i[P("0x4bd")]) {
-                                    var r = i.region;
-                                    if (!e.defined(r))
-                                        return;
-                                    return {
-                                        west: r[0],
-                                        south: r[1],
-                                        east: r[2],
-                                        north: r[3]
-                                    }
+                        o || (l.length ? l[l.length - 1].addComponent(r.clone()) : l = [new GeoGlobe.Geometry.MultiLineString(r.clone())])
+                    }
+                    return l && l.length > 1 ? o = !0 : l = [],
+                    c && c.length > 1 ? a = !0 : c = [],
+                    (o || a) && (s = x ? [l, c] : c),
+                    s
+                },
+                splitWith: function(e, t) {
+                    var i, r, n, o, a, s, x, l = null, c = t && t.mutual;
+                    if (e instanceof GeoGlobe.Geometry.LineString) {
+                        x = [],
+                        s = [e];
+                        for (var u = 0, h = this.components.length; u < h; ++u) {
+                            a = !1,
+                            r = this.components[u];
+                            for (var f = 0; f < s.length; ++f)
+                                if (i = s[f].split(r, t)) {
+                                    c && ((n = i[0]).length && (n.unshift(f, 1),
+                                    Array.prototype.splice.apply(s, n),
+                                    f += n.length - 2),
+                                    0 === (i = i[1]).length && (i = [r.clone()]));
+                                    for (var d = 0, g = i.length; d < g; ++d)
+                                        0 === d && x.length ? x[x.length - 1].addComponent(i[d]) : x.push(new GeoGlobe.Geometry.MultiLineString([i[d]]));
+                                    a = !0
                                 }
-                                if (i.box) {
-                                    if (!e[P("0x14")](t[P("0x4a4")]))
-                                        return;
-                                    var n = t[P("0x4a4")]._orientedBoundingBox;
-                                    if (!e[P("0x14")](n))
-                                        return;
-                                    var o, a = e[P("0x11")].add, s = e[P("0x11")][P("0x95")], x = [];
-                                    for (o = 0; o < 3; o++) {
-                                        var l = new (e[P("0x11")])(n[P("0x4a5")][3 * o], n[P("0x4a5")][3 * o + 1], n[P("0x4a5")][3 * o + 2])
-                                            , c = [];
-                                        c[P("0x17c")]({
-                                            f: a,
-                                            a: l
-                                        }),
-                                            c[P("0x17c")]({
-                                                f: s,
-                                                a: l
-                                            }),
-                                            x[P("0x17c")](c)
-                                    }
-                                    var u, h, f, d, g, p, m = this[P("0xef")], b = n[P("0x11a")], v = [], C = x[0], y = x[1], _ = x[2];
-                                    for (o = 0; o < C[P("0x0")]; o++)
-                                        for (var A = C[o], I = e[P("0x11")].clone(b, new (e[P("0x11")])), w = A.f(I, A.a, new e.Cartesian3), G = 0; G < y.length; G++)
-                                            for (var E = y[G], S = E.f(w, E.a, new e.Cartesian3), T = 0; T < _.length; T++) {
-                                                var M = _[T]
-                                                    , N = M.f(S, M.a, new e.Cartesian3);
-                                                v[P("0x17c")](N)
-                                            }
-                                    for (u = h = v[0].x,
-                                        f = d = v[0].y,
-                                        g = p = v[0].z,
-                                        o = 1; o < v.length; o++) {
-                                        var L = v[o];
-                                        u > L.x ? u = L.x : h < L.x && (h = L.x),
-                                            f > L.y ? f = L.y : d < L.y && (d = L.y),
-                                            g > L.z ? g = L.z : p < L.z && (p = L.z)
-                                    }
-                                    var R, O, F, D, U = [];
-                                    for (U[P("0x17c")](e.Cartographic[P("0x175")](new (e[P("0x11")])(u, f, g), m, new (e[P("0x13")]))),
-                                        U.push(e[P("0x13")].fromCartesian(new (e[P("0x11")])(h, d, p), m, new (e[P("0x13")]))),
-                                        o = 0; o < U[P("0x0")]; o++) {
-                                        var k = U[o];
-                                        0 != o ? (R > k[P("0x112")] ? R = k[P("0x112")] : O < k[P("0x112")] && (O = k[P("0x112")]),
-                                            D > k[P("0x114")] ? D = k[P("0x114")] : F < k[P("0x114")] && (F = k[P("0x114")])) : (R = O = k.longitude,
-                                                F = D = k[P("0x114")])
-                                    }
-                                    return {
-                                        west: R,
-                                        south: D,
-                                        east: O,
-                                        north: F
-                                    }
-                                }
-                            }
+                            a || (x.length ? x[x.length - 1].addComponent(r.clone()) : x = [new GeoGlobe.Geometry.MultiLineString([r.clone()])])
                         }
-                        ,
-                        t[P("0x5")].hitPlatTestByRegion = function (t, i) {
-                            return !!e.defined(i)
+                    } else
+                        l = e.split(this);
+                    return s && s.length > 1 ? o = !0 : s = [],
+                    x && x.length > 1 ? a = !0 : x = [],
+                    (o || a) && (l = c ? [s, x] : x),
+                    l
+                },
+                CLASS_NAME: "GeoGlobe.Geometry.MultiLineString"
+            }),
+            GeoGlobe.Geometry.MultiPolygon = GeoGlobe.Class4OL(GeoGlobe.Geometry.Collection, {
+                componentTypes: ["GeoGlobe.Geometry.Polygon"],
+                CLASS_NAME: "GeoGlobe.Geometry.MultiPolygon"
+            }),
+            GeoGlobe.State = {
+                UNKNOWN: "Unknown",
+                INSERT: "Insert",
+                UPDATE: "Update",
+                DELETE: "Delete"
+            },
+            GeoGlobe.Feature = GeoGlobe.Class4OL({
+                id: null,
+                fid: null,
+                lonlat: null,
+                geometry: null,
+                attributes: null,
+                data: null,
+                bounds: null,
+                state: null,
+                url: null,
+                modified: null,
+                initialize: function(e, t) {
+                    this.data = null != t ? t : {},
+                    this.id = GeoGlobe.Util.createUniqueID(this.CLASS_NAME + "_"),
+                    this.lonlat = null,
+                    this.geometry = e || null,
+                    this.state = null,
+                    this.attributes = {},
+                    t && (this.attributes = GeoGlobe.Util.extend(this.attributes, t))
+                },
+                destroy: function() {
+                    this.geometry = null,
+                    this.modified = null,
+                    this.id = null,
+                    this.lonlat = null,
+                    this.data = null
+                },
+                clone: function() {
+                    return new GeoGlobe.Feature(this.geometry ? this.geometry.clone() : null,this.attributes)
+                },
+                createMarker: function() {
+                    return null
+                },
+                destroyMarker: function() {},
+                createPopup: function() {
+                    return null
+                },
+                atPoint: function(e, t, i) {
+                    var r = !1;
+                    return this.geometry && (r = this.geometry.atPoint(e, t, i)),
+                    r
+                },
+                destroyPopup: function() {},
+                toState: function(e) {
+                    if (e == GeoGlobe.State.UPDATE)
+                        switch (this.state) {
+                        case GeoGlobe.State.UNKNOWN:
+                        case GeoGlobe.State.DELETE:
+                            this.state = e;
+                            break;
+                        case GeoGlobe.State.UPDATE:
+                        case GeoGlobe.State.INSERT:
                         }
-                        ,
-                        t.prototype.initializePlatPoly = function (e) {
-                            this.isCartesian3Point ? this.initializeCartesianPlatPoly(e) : this[P("0x4c7")](e)
+                    else if (e == GeoGlobe.State.INSERT)
+                        switch (this.state) {
+                        case GeoGlobe.State.UNKNOWN:
+                            break;
+                        default:
+                            this.state = e
                         }
-                        ,
-                        t.prototype[P("0x4c8")] = function (t) {
-                            var i = this
-                                , r = t
-                                , n = r[P("0x48f")];
-                            if (e[P("0x14")](n[P("0x4b8")])) {
-                                if (!i[P("0x498")]())
-                                    return;
-                                delete n.platPolys
-                            }
-                            var o, a = i.ellipsoid, s = i.polys;
-                            if (e[P("0x14")](r[P("0x4a2")][P("0x4a3")]) && (o = r._runtime[P("0x4a3")][0][P("0x4ad")]),
-                                e[P("0x14")](o)) {
-                                var x = i[P("0x4a9")](o);
-                                if (e.defined(x)) {
-                                    n.platPolys = [];
-                                    var l, c, u = n.platPolys;
-                                    for (c = 0; c < s[P("0x0")]; c++) {
-                                        var h = s[c];
-                                        if (e[P("0x14")](h)) {
-                                            var f, d, g, p, m = h[P("0x49b")], b = new (e[P("0x11")]), v = [];
-                                            for (l = 1; l < m[P("0x0")]; l++) {
-                                                var C = m[l];
-                                                b = e[P("0x11")][P("0x6d")](b, C, new e.Cartesian3);
-                                                var y = e[P("0x1b")][P("0xd4")](x, C, new (e[P("0x11")]));
-                                                v[P("0x17c")](y),
-                                                    e[P("0x14")](f) ? (f > y.x ? f = y.x : g < y.x && (g = y.x),
-                                                        d > y.y ? d = y.y : p < y.y && (p = y.y)) : (f = g = y.x,
-                                                            d = p = y.y)
-                                            }
-                                            b = e.Cartesian3[P("0x4c9")](b, v[P("0x0")], new (e[P("0x11")]));
-                                            var _ = {
-                                                pts: v,
-                                                minX: f,
-                                                minY: d,
-                                                maxX: g,
-                                                maxY: p,
-                                                compressPlane: i[P("0x4ca")](a, b),
-                                                show: h[P("0x49c")]
-                                            };
-                                            u[P("0x17c")](_)
-                                        }
-                                    }
-                                }
-                            }
+                    else if (e == GeoGlobe.State.DELETE)
+                        switch (this.state) {
+                        case GeoGlobe.State.INSERT:
+                        case GeoGlobe.State.DELETE:
+                            break;
+                        case GeoGlobe.State.UNKNOWN:
+                        case GeoGlobe.State.UPDATE:
+                            this.state = e
                         }
-                        ,
-                        t[P("0x5")].initializeCartographicPlatPoly = function (t) {
-                            var i = this
-                                , r = t
-                                , n = r[P("0x4a0")][P("0x490")][P("0x4a1")]
-                                , o = r[P("0x48f")];
-                            if (e[P("0x14")](o[P("0x4b8")])) {
-                                if (!i[P("0x498")]())
-                                    return;
-                                o[P("0x4b8")] = void 0
-                            }
-                            var a, s = i[P("0xef")], x = i[P("0x48d")];
-                            if (e[P("0x14")](n._boundingVolume) && e[P("0x14")](n[P("0x4a4")][P("0x4cb")]) && (a = n[P("0x4a4")][P("0x4cb")][P("0x11a")]),
-                                e[P("0x14")](a)) {
-                                var l, c = e[P("0x1f")][P("0xbf")](a, s, new (e[P("0x1b")])), u = i.invertMatrix(c);
-                                if (e[P("0x14")](u) && (e[P("0x14")](r[P("0x4a2")]) && e.defined(r[P("0x4a2")][P("0x4a3")]) && 0 < r[P("0x4a2")][P("0x4a3")][P("0x0")] && e[P("0x14")](r[P("0x4a2")][P("0x4a3")][0]) && (l = r[P("0x4a2")][P("0x4a3")][0][P("0x4ad")]),
-                                    e[P("0x14")](l))) {
-                                    var h = i[P("0x4a9")](l);
-                                    if (e[P("0x14")](h)) {
-                                        o[P("0x4b8")] = [];
-                                        var f, d, g = o.platPolys;
-                                        for (d = 0; d < x[P("0x0")]; d++) {
-                                            var p = x[d];
-                                            if (e[P("0x14")](p)) {
-                                                var m = p[P("0x49b")];
-                                                if (e.defined(m) && !(m[P("0x0")] < 1)) {
-                                                    var b, v, C, y, _ = new (e[P("0x11")]), A = [];
-                                                    for (f = 0; f < m[P("0x0")]; f++) {
-                                                        var I, w = m[f];
-                                                        if (i[P("0x48e")])
-                                                            I = e[P("0x11")][P("0x6e")](w, new (e[P("0x11")])),
-                                                                _ = e[P("0x11")][P("0x6d")](_, I, new (e[P("0x11")])),
-                                                                I = e[P("0x1b")][P("0xd4")](h, I, new (e[P("0x11")]));
-                                                        else {
-                                                            I = e.Cartographic[P("0x6e")](w, new e.Cartographic);
-                                                            var G = e[P("0x11")][P("0x3d0")](I[P("0x112")], I[P("0x114")], 0, s);
-                                                            _ = e.Cartesian3[P("0x6d")](_, G, new e.Cartesian3),
-                                                                I = e[P("0x1b")].multiplyByPoint(u, G, new (e[P("0x11")]))
-                                                        }
-                                                        A[P("0x17c")](I),
-                                                            e[P("0x14")](b) ? (b > I.x ? b = I.x : C < I.x && (C = I.x),
-                                                                v > I.y ? v = I.y : y < I.y && (y = I.y)) : (b = C = I.x,
-                                                                    v = y = I.y)
-                                                    }
-                                                    _ = e[P("0x11")][P("0x4c9")](_, A.length, new (e[P("0x11")]));
-                                                    var E = {
-                                                        pts: A,
-                                                        minX: b,
-                                                        minY: v,
-                                                        maxX: C,
-                                                        maxY: y,
-                                                        compressPlane: i.initCompressPlane(s, _)
-                                                    };
-                                                    g[P("0x17c")](E)
-                                                }
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x4ca")] = function (t, i) {
-                            var r = e[P("0x11")][P("0x6e")](i, new (e[P("0x11")]))
-                                , n = e[P("0x13")][P("0x175")](r, t, new e.Cartographic)
-                                , o = e[P("0x11")].fromRadians(n[P("0x112")], n.latitude, 0, t);
-                            if (!r[P("0x84")](o))
-                                return e[P("0x1c")][P("0xb9")](r, e[P("0x11")][P("0x8d")](e.Cartesian3[P("0x95")](r, o, new (e[P("0x11")])), new (e[P("0x11")])))
-                        }
-                        ,
-                        t[P("0x5")].isPlatPointNoResult = function (t, i) {
-                            for (var r = t[P("0x48f")][P("0x4b8")], n = e[P("0x11")][P("0x6e")](i, new (e[P("0x11")])), o = 0; o < r.length; o++) {
-                                var a = r[o];
-                                if (e.defined(a) && this.isInsidedPoint(a, n))
-                                    return !0
-                            }
-                            return !1
-                        }
-                        ,
-                        t[P("0x5")][P("0x4cc")] = function (t, i, r) {
-                            for (var n = t.platSlot[P("0x4b8")], o = e[P("0x11")][P("0x6e")](i, new (e[P("0x11")])), a = e[P("0x11")][P("0x6e")](r.pt, new (e[P("0x11")])), s = !1, x = 0; x < n[P("0x0")]; x++) {
-                                var l = n[x];
-                                if (e.defined(l) && this.isInsidedPoint(l, o)) {
-                                    var c = this[P("0x4cd")](l[P("0x4ce")], a);
-                                    e[P("0x14")](c) && (a = c),
-                                        s = !0
-                                }
-                            }
-                            return s && (r.pt = a),
-                                s
-                        }
-                        ,
-                        t[P("0x5")][P("0x4b6")] = function (t, i, r) {
-                            return e[P("0x14")](r) ? this[P("0x4cc")](t, i, r) : this[P("0x4cf")](t, i)
-                        }
-                        ,
-                        t[P("0x5")][P("0x4cd")] = function (t, i) {
-                            if (e.defined(t) && e[P("0x14")](i) && e.defined(t[P("0x4d0")])) {
-                                var r = e[P("0x11")].clone(t[P("0x4d0")], new (e[P("0x11")]))
-                                    , n = e.Cartesian3[P("0x6e")](i, new (e[P("0x11")]))
-                                    , o = new (e[P("0x1e")])(n, r)
-                                    , a = e[P("0x18")][P("0xba")](o, t);
-                                if (e[P("0x14")](a))
-                                    return n;
-                                var s = e[P("0x11")][P("0xc8")](r, new (e[P("0x11")]))
-                                    , x = new e.Ray(n, s)
-                                    , l = e[P("0x18")][P("0xba")](x, t);
-                                if (!e[P("0x14")](l))
-                                    return n;
-                                var c = e.Cartesian3.distance(l, n);
-                                return e[P("0x11")].add(n, e.Cartesian3[P("0x6c")](s, c, new (e[P("0x11")])), new (e[P("0x11")]))
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x4d1")] = function (t, i) {
-                            var r = this;
-                            if (!e[P("0x14")](t))
+                    else
+                        e == GeoGlobe.State.UNKNOWN && (this.state = e)
+                },
+                CLASS_NAME: "GeoGlobe.Feature"
+            }),
+            GeoGlobe.Feature.getBoundsByFeatures = function(e) {
+                for (var t = e.length, i = new Array(t), r = 0; r < t; ++r)
+                    i[r] = e[r].geometry;
+                var n = new GeoGlobe.Geometry.Collection(i);
+                return n.calculateBounds(),
+                n.bounds
+            }
+            ,
+            GeoGlobe.Feature.fromGeoJson = function(e) {
+                if (GeoGlobe.Format && GeoGlobe.Format.GeoJSON) {
+                    format = new GeoGlobe.Format.GeoJSON;
+                    var t = format.read(e)
+                }
+                return t
+            }
+            ,
+            GeoGlobe.Filter = GeoGlobe.Class4OL({
+                initialize: function(e) {
+                    GeoGlobe.Util.extend(this, e)
+                },
+                destroy: function() {},
+                evaluate: function(e) {
+                    return !0
+                },
+                clone: function() {
+                    return null
+                },
+                toString: function() {
+                    return GeoGlobe.Format && GeoGlobe.Format.CQL ? GeoGlobe.Format.CQL.prototype.write(this) : Object.prototype.toString.call(this)
+                },
+                CLASS_NAME: "GeoGlobe.Filter"
+            }),
+            GeoGlobe.Filter.FeatureId = GeoGlobe.Class4OL(GeoGlobe.Filter, {
+                fids: null,
+                type: "FID",
+                initialize: function(e) {
+                    this.fids = [],
+                    GeoGlobe.Filter.prototype.initialize.apply(this, [e])
+                },
+                evaluate: function(e) {
+                    for (var t = 0, i = this.fids.length; t < i; t++)
+                        if ((e.fid || e.id) == this.fids[t])
+                            return !0;
+                    return !1
+                },
+                clone: function() {
+                    var e = new GeoGlobe.Filter.FeatureId;
+                    return GeoGlobe.Util.extend(e, this),
+                    e.fids = this.fids.slice(),
+                    e
+                },
+                CLASS_NAME: "GeoGlobe.Filter.FeatureId"
+            }),
+            GeoGlobe.Filter.Logical = GeoGlobe.Class4OL(GeoGlobe.Filter, {
+                filters: null,
+                type: null,
+                initialize: function(e) {
+                    this.filters = [],
+                    GeoGlobe.Filter.prototype.initialize.apply(this, [e])
+                },
+                destroy: function() {
+                    this.filters = null,
+                    GeoGlobe.Filter.prototype.destroy.apply(this)
+                },
+                evaluate: function(e) {
+                    var t, i;
+                    switch (this.type) {
+                    case GeoGlobe.Filter.Logical.AND:
+                        for (t = 0,
+                        i = this.filters.length; t < i; t++)
+                            if (0 == this.filters[t].evaluate(e))
                                 return !1;
-                            if (!e.defined(t[P("0x221")]) || !t[P("0x221")])
-                                return !1;
-                            if (!e.defined(i))
-                                return !1;
-                            var n, o, a = i.x, s = i.y;
-                            if (a < t.minX || a > t.maxX || s < t[P("0x4d2")] || s > t.maxY)
-                                return !1;
-                            var x, l, c, u, h, f, d = {
-                                z: !1,
-                                b: !1,
-                                t: !1
-                            }, g = t.pts, p = g.length;
-                            for (n = 0,
-                                o = p - 1; n < p; o = n++) {
-                                if (x = g[n],
-                                    l = g[o],
-                                    c = x.x,
-                                    u = x.y,
-                                    h = l.x,
-                                    f = l.y,
-                                    r.isEqualFloat(f, u)) {
-                                    if (r[P("0x4d3")](s, u)) {
-                                        if (r[P("0x4d3")](a, c))
-                                            return !0;
-                                        if (r.isEqualFloat(a, h))
-                                            return !0;
-                                        if (a < c == h < a)
-                                            return !0
-                                    }
-                                } else if (r[P("0x4d3")](s, u)) {
-                                    if (r[P("0x4d3")](a, c))
-                                        return !0;
-                                    c < a && (f < s ? d.b = !d.b : d.t = !d.t)
-                                } else if (r[P("0x4d3")](s, f)) {
-                                    if (r[P("0x4d3")](a, h))
-                                        return !0;
-                                    h < a && (u < s ? d.b = !d.b : d.t = !d.t)
-                                }
-                                if (s < u != s < f) {
-                                    var m = (h - c) / (f - u);
-                                    if (m *= s - u,
-                                        m += c,
-                                        r[P("0x4d3")](a, m))
-                                        return !0;
-                                    a < m && (d.z = !d.z)
-                                }
-                            }
-                            return d.t == d.b ? d.t ? !d.z : d.z : void 0
-                        }
-                        ,
-                        t[P("0x5")][P("0x4d3")] = function (t, i, r) {
-                            if (e.defined(r) || (r = 1e-8),
-                                !e[P("0x14")](t))
-                                return !1;
-                            if (!e[P("0x14")](i))
-                                return !1;
-                            var n = t - i;
-                            return (n = Math.abs(n)) < r
-                        }
-                        ,
-                        t.prototype.replaceCommandVertexBuffer = function (t, i, r, n) {
-                            var o = t;
-                            if (e.defined(i) && e[P("0x14")](r) && w()(r) === P("0x49f") && e[P("0x14")](n) && e[P("0x14")](n[P("0x3cc")])) {
-                                var a = o[P("0x4d4")];
-                                if (e[P("0x14")](a) && !(a.length <= r)) {
-                                    var s = e.Buffer.createVertexBuffer({
-                                        context: n[P("0x3cc")],
-                                        typedArray: i,
-                                        usage: e[P("0x4d5")][P("0x4d6")]
-                                    });
-                                    if (e[P("0x14")](s)) {
-                                        var x = a[r];
-                                        if (e[P("0x14")](x)) {
-                                            var l = x[P("0x4d7")];
-                                            if (e[P("0x14")](l)) {
-                                                var c = l[P("0x4d8")];
-                                                if (e[P("0x14")](c)) {
-                                                    var u = c[P("0x4d9")];
-                                                    if (e[P("0x14")](u) && 0 < u[P("0x0")]) {
-                                                        var h = u[0];
-                                                        if (!e[P("0x14")](h))
-                                                            return;
-                                                        var f = h[P("0x4da")];
-                                                        e[P("0x14")](f) && !f[P("0xf3")]() && f[P("0x4db")] && f[P("0xf4")](),
-                                                            h.vertexBuffer = s;
-                                                        var d = c[P("0x4dc")];
-                                                        e.defined(d) && (n.context[P("0x4dd")](c[P("0x4dc")]),
-                                                            c[P("0x4dc")] = void 0)
-                                                    }
-                                                }
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                        ,
-                        t[P("0x5")].storeVertexBuffer = function (t) {
-                            if (e[P("0x14")](t)) {
-                                var i = t;
-                                if (!e.defined(i[P("0x48f")])) {
-                                    var r = i[P("0x4a0")];
-                                    if (e[P("0x14")](r)) {
-                                        var n = r.content;
-                                        if (e[P("0x14")](n)) {
-                                            var o = n[P("0x492")];
-                                            if (e[P("0x14")](o) && e[P("0x14")](o[P("0x494")])) {
-                                                var a = i._loadResources;
-                                                if (e[P("0x14")](a)) {
-                                                    var s = i[P("0x4de")][P("0x4df")];
-                                                    if (e.defined(s)) {
-                                                        var x = s.accessors;
-                                                        if (e[P("0x14")](x)) {
-                                                            var l = s[P("0x4e0")];
-                                                            if (e[P("0x14")](l)) {
-                                                                var c = s.meshes;
-                                                                if (e.defined(c)) {
-                                                                    i[P("0x48f")] = {},
-                                                                        i[P("0x48f")][P("0x4b0")] = [],
-                                                                        i[P("0x48f")][P("0x4c1")] = !1;
-                                                                    for (var u = 0; u < c[P("0x0")]; u++) {
-                                                                        var h = c[u];
-                                                                        if (e[P("0x14")](h)) {
-                                                                            var f = h[P("0x17d")];
-                                                                            if (e[P("0x14")](f))
-                                                                                for (var d = 0; d < f[P("0x0")]; d++) {
-                                                                                    var g = f[d];
-                                                                                    if (e[P("0x14")](g)) {
-                                                                                        var p = g[P("0x18f")];
-                                                                                        if (e[P("0x14")](p))
-                                                                                            for (var m in p)
-                                                                                                if ("POSITION" === m) {
-                                                                                                    var b = l[x[p[m]].bufferView]
-                                                                                                        , v = a[P("0x4e1")](b)
-                                                                                                        , C = v[P("0x1d5")](0, v[P("0x0")]);
-                                                                                                    i.platSlot[P("0x4b0")][P("0x17c")]({
-                                                                                                        buffer: C,
-                                                                                                        showPlat: !1
-                                                                                                    })
-                                                                                                }
-                                                                                    }
-                                                                                }
-                                                                        }
-                                                                    }
-                                                                }
-                                                            }
-                                                        }
-                                                    }
-                                                }
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x4a9")] = function (t) {
-                            var i = void 0;
-                            try {
-                                i = e[P("0x1b")][P("0x4e2")](t, new (e[P("0x1b")]))
-                            } catch (t) { }
-                            return i
-                        }
-                        ,
-                        t[P("0x5")].createMatrix = function (t) {
-                            if (e.defined(t)) {
-                                var i = new (e[P("0x1b")]);
-                                return e[P("0x1b")][P("0x4e3")](i, 0, new (e[P("0x12")])(t[0].x, t[0].y, t[0].z, 0), i),
-                                    e[P("0x1b")][P("0x4e3")](i, 1, new (e[P("0x12")])(t[1].x, t[1].y, t[1].z, 0), i),
-                                    e[P("0x1b")][P("0x4e3")](i, 2, new e.Cartesian4(t[2].x, t[2].y, t[2].z, 0), i),
-                                    e.Matrix4.setColumn(i, 3, new (e[P("0x12")])(0, 0, 0, 1), i),
-                                    i
-                            }
-                        }
-                        ,
-                        t.prototype[P("0x4a7")] = function (t) {
-                            if (e[P("0x14")](t)) {
-                                for (var i = [], r = 0; r < 3; r++)
-                                    i.push(this[P("0x4e4")](t[3 * r], t[3 * r + 1], t[3 * r + 2]));
-                                return this[P("0x4e5")](i)
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x4e4")] = function (t, i, r) {
-                            return e[P("0x11")][P("0x8d")](new (e[P("0x11")])(t, i, r), new (e[P("0x11")]))
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = P("0x4e6")
-                        , i = P("0x4e7")
-                        , r = e[P("0x4e8")] = function (t, i) {
-                            this.viewer = t[P("0x13b")],
-                                this[P("0x4e9")] = e[P("0x102")](t.pointLightHeight, .2),
-                                this[P("0x4ea")] = e[P("0x102")](t[P("0x4ea")], 100),
-                                this[P("0x4eb")] = e.defaultValue(t.boundingSphereSlicePartitions, 80),
-                                this[P("0x4ec")] = e[P("0x102")](t.boundingSphereSubdivisions, 100),
-                                this.scene = this[P("0x13b")][P("0x10f")],
-                                this.canvas = this[P("0x10f")][P("0x48")],
-                                this[P("0x17d")] = this[P("0x10f")].primitives,
-                                this[P("0x191")] = i || null,
-                                b()(e.VERSION) < 1.5 ? console[P("0x391")](P("0x3b0") + e.VERSION + P("0x4ed")) : (this.pointLightPosition = void 0,
-                                    this[P("0x3ca")] = void 0)
-                        }
-                        ;
-                    function n(t, i, r) {
-                        var n = t[P("0x10f")][P("0x174")](i);
-                        if (n) {
-                            var o = e[P("0x13")][P("0x175")](n);
-                            if (o[P("0x8b")] < 0) {
-                                t.scene[P("0xa3")][P("0x32a")] = !0,
-                                    t[P("0x13b")][P("0x3d3")] = e[P("0x3d4")].CAST_ONLY;
-                                var a = t[P("0x10f")][P("0x7e")][P("0x86")](i)
-                                    , s = t[P("0x10f")][P("0xa3")].pick(a, t.scene);
-                                o = e[P("0x13")][P("0x175")](s)
-                            }
-                            r = r || 0;
-                            var x = e[P("0x11")][P("0x3d0")](o[P("0x112")], o[P("0x114")], o.height + r)
-                                , l = e[P("0x13")][P("0x175")](x);
-                            return [e[P("0x23")][P("0x113")](l[P("0x112")]), e[P("0x23")][P("0x113")](l[P("0x114")]), l[P("0x8b")]]
-                        }
+                        return !0;
+                    case GeoGlobe.Filter.Logical.OR:
+                        for (t = 0,
+                        i = this.filters.length; t < i; t++)
+                            if (1 == this.filters[t].evaluate(e))
+                                return !0;
+                        return !1;
+                    case GeoGlobe.Filter.Logical.NOT:
+                        return !this.filters[0].evaluate(e)
                     }
-                    function o(t, i, r, n) {
-                        var o = t[P("0x6d")](new (e[P("0x1a5")]));
-                        return o.add({
-                            text: i,
-                            font: P("0x1a0"),
-                            showBackground: !0,
-                            position: r,
-                            pixelOffset: new (e[P("0x10")])(10, -30)
-                        }),
-                            o[P("0x176")] = n,
-                            o
+                },
+                clone: function() {
+                    for (var e = [], t = 0, i = this.filters.length; t < i; ++t)
+                        e.push(this.filters[t].clone());
+                    return new GeoGlobe.Filter.Logical({
+                        type: this.type,
+                        filters: e
+                    })
+                },
+                CLASS_NAME: "GeoGlobe.Filter.Logical"
+            }),
+            GeoGlobe.Filter.Logical.AND = "&&",
+            GeoGlobe.Filter.Logical.OR = "||",
+            GeoGlobe.Filter.Logical.NOT = "!",
+            GeoGlobe.Filter.Comparison = GeoGlobe.Class4OL(GeoGlobe.Filter, {
+                type: null,
+                property: null,
+                value: null,
+                matchCase: !0,
+                lowerBoundary: null,
+                upperBoundary: null,
+                initialize: function(e) {
+                    GeoGlobe.Filter.prototype.initialize.apply(this, [e]),
+                    this.type === GeoGlobe.Filter.Comparison.LIKE && void 0 === e.matchCase && (this.matchCase = null)
+                },
+                evaluate: function(e) {
+                    e instanceof GeoGlobe.Feature && (e = e.attributes);
+                    var t, i = !1, r = e[this.property];
+                    if (void 0 === r)
+                        return !1;
+                    switch (this.type) {
+                    case GeoGlobe.Filter.Comparison.EQUAL_TO:
+                        t = this.value,
+                        i = this.matchCase || "string" != typeof r || "string" != typeof t ? r == t : r.toUpperCase() == t.toUpperCase();
+                        break;
+                    case GeoGlobe.Filter.Comparison.NOT_EQUAL_TO:
+                        t = this.value,
+                        i = this.matchCase || "string" != typeof r || "string" != typeof t ? r != t : r.toUpperCase() != t.toUpperCase();
+                        break;
+                    case GeoGlobe.Filter.Comparison.LESS_THAN:
+                        i = r < this.value;
+                        break;
+                    case GeoGlobe.Filter.Comparison.GREATER_THAN:
+                        i = r > this.value;
+                        break;
+                    case GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO:
+                        i = r <= this.value;
+                        break;
+                    case GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO:
+                        i = r >= this.value;
+                        break;
+                    case GeoGlobe.Filter.Comparison.BETWEEN:
+                        i = r >= this.lowerBoundary && r <= this.upperBoundary;
+                        break;
+                    case GeoGlobe.Filter.Comparison.LIKE:
+                        i = new RegExp(this.value,"gi").test(r);
+                        break;
+                    case GeoGlobe.Filter.Comparison.IS_NULL:
+                        i = null === r
                     }
-                    function a(e, t, i) {
-                        for (var r = 0; r < e[P("0x0")]; r++)
-                            e[P("0x176")] == i && (e.get(r)[P("0x8c")] = t)
+                    return i
+                },
+                value2regex: function(e, t, i) {
+                    if ("." == e)
+                        throw new Error("'.' is an unsupported wildCard character for GeoGlobe.Filter.Comparison");
+                    return e = e || "*",
+                    t = t || ".",
+                    i = i || "!",
+                    this.value = this.value.replace(new RegExp("\\" + i + "(.|$)","g"), "\\$1"),
+                    this.value = this.value.replace(new RegExp("\\" + t,"g"), "."),
+                    this.value = this.value.replace(new RegExp("\\" + e,"g"), ".*"),
+                    this.value = this.value.replace(new RegExp("\\\\.\\*","g"), "\\" + e),
+                    this.value = this.value.replace(new RegExp("\\\\\\.","g"), "\\" + t),
+                    this.value
+                },
+                regex2value: function() {
+                    var e = this.value;
+                    return (e = (e = (e = (e = e.replace(/!/g, "!!")).replace(/(\\)?\\\./g, (function(e, t) {
+                        return t ? e : "!."
                     }
-                    function s(e, t) {
-                        x(e, t)
+                    ))).replace(/(\\)?\\\*/g, (function(e, t) {
+                        return t ? e : "!*"
                     }
-                    function x(e, t) {
-                        for (var i = 0; i < t[P("0x0")]; i++)
-                            t.get(i)[P("0x176")] == e && (t[P("0x17f")](t[P("0x187")](i)),
-                                i--)
+                    ))).replace(/\\\\/g, "\\")).replace(/\.\*/g, "*")
+                },
+                clone: function() {
+                    return GeoGlobe.Util.extend(new GeoGlobe.Filter.Comparison, this)
+                },
+                CLASS_NAME: "GeoGlobe.Filter.Comparison"
+            }),
+            GeoGlobe.Filter.Comparison.EQUAL_TO = "==",
+            GeoGlobe.Filter.Comparison.NOT_EQUAL_TO = "!=",
+            GeoGlobe.Filter.Comparison.LESS_THAN = "<",
+            GeoGlobe.Filter.Comparison.GREATER_THAN = ">",
+            GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO = "<=",
+            GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO = ">=",
+            GeoGlobe.Filter.Comparison.BETWEEN = "..",
+            GeoGlobe.Filter.Comparison.LIKE = "~",
+            GeoGlobe.Filter.Comparison.IS_NULL = "NULL",
+            GeoGlobe.Filter.Spatial = GeoGlobe.Class4OL(GeoGlobe.Filter, {
+                type: null,
+                property: null,
+                value: null,
+                distance: null,
+                distanceUnits: null,
+                evaluate: function(e) {
+                    var t = !1;
+                    switch (this.type) {
+                    case GeoGlobe.Filter.Spatial.BBOX:
+                    case GeoGlobe.Filter.Spatial.INTERSECTS:
+                        if (e.geometry) {
+                            var i = this.value;
+                            "GeoGlobe.LngLatBounds" == this.value.CLASS_NAME && (i = this.value.toGeometry()),
+                            e.geometry.intersects(i) && (t = !0)
+                        }
+                        break;
+                    default:
+                        throw new Error("evaluate is not implemented for this filter type.")
                     }
-                    r.prototype[P("0x198")] = function () {
-                        this[P("0x192")](),
-                            this.canvas[P("0x150")][P("0x170")] = P("0x171");
-                        var i = null
-                            , r = null
-                            , x = !0
-                            , l = null
-                            , c = null
-                            , u = this;
-                        this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
-                            this[P("0x16f")][P("0x160")]((function (r) {
-                                x ? (l = n(u, r.position, u[P("0x4e9")]),
-                                    c = e[P("0x11")][P("0x1a1")](l[0], l[1], l[2]),
-                                    s(t, u[P("0x17d")]),
-                                    x = !1,
-                                    u[P("0x3b2")] = x) : (u[P("0x10f")][P("0x3b3")][P("0x4ee")] = !0,
-                                        u[P("0x48")].style[P("0x170")] = P("0x18c"),
-                                        u[P("0x16f")] && !u[P("0x16f")][P("0xf3")]() && u[P("0x16f")][P("0xf4")](),
-                                        s(t, u[P("0x17d")]),
-                                        x = !0,
-                                        u.firstLeftClick = x),
-                                    i = null
-                            }
-                            ), e.ScreenSpaceEventType[P("0x17e")]),
-                            this[P("0x16f")][P("0x160")]((function (s) {
-                                if (u.tipPosition = u[P("0x10f")][P("0x174")](s[P("0x64")]),
-                                    u.tipPosition && (x && (i ? a(i, u[P("0x3c2")], t) : i = o(u.primitives, P("0x4ef"), u[P("0x3c2")], t)),
-                                        !x)) {
-                                    i ? a(i, u[P("0x3c2")], t) : i = o(u[P("0x17d")], P("0x4f0"), u.tipPosition, t);
-                                    var l = n(u, s[P("0x64")])
-                                        , h = e[P("0x11")][P("0x1a1")](l[0], l[1], l[2]);
-                                    r = e[P("0x11")][P("0x8e")](c, h),
-                                        u[P("0x3c8")](c, r),
-                                        u[P("0x3c9")] = c,
-                                        u[P("0x3ca")] = r,
-                                        u[P("0x3b2")] = x
-                                }
-                            }
-                            ), e[P("0x161")][P("0x163")])
+                    return t
+                },
+                clone: function() {
+                    var e = GeoGlobe.Util.applyDefaults({
+                        value: this.value && this.value.clone && this.value.clone()
+                    }, this);
+                    return new GeoGlobe.Filter.Spatial(e)
+                },
+                CLASS_NAME: "GeoGlobe.Filter.Spatial"
+            }),
+            GeoGlobe.Filter.Spatial.BBOX = "BBOX",
+            GeoGlobe.Filter.Spatial.INTERSECTS = "INTERSECTS",
+            GeoGlobe.Filter.Spatial.DWITHIN = "DWITHIN",
+            GeoGlobe.Filter.Spatial.WITHIN = "WITHIN",
+            GeoGlobe.Filter.Spatial.CONTAINS = "CONTAINS",
+            GeoGlobe.Filter.Function = GeoGlobe.Class4OL(GeoGlobe.Filter, {
+                name: null,
+                params: null,
+                CLASS_NAME: "GeoGlobe.Filter.Function"
+            }),
+            GeoGlobe.Protocol = GeoGlobe.Class4OL({
+                format: null,
+                options: null,
+                autoDestroy: !0,
+                defaultFilter: null,
+                initialize: function(e) {
+                    e = e || {},
+                    GeoGlobe.Util.extend(this, e),
+                    this.options = e
+                },
+                mergeWithDefaultFilter: function(e) {
+                    return e && this.defaultFilter ? new GeoGlobe.Filter.Logical({
+                        type: GeoGlobe.Filter.Logical.AND,
+                        filters: [this.defaultFilter, e]
+                    }) : e || this.defaultFilter || void 0
+                },
+                destroy: function() {
+                    this.options = null,
+                    this.format = null
+                },
+                read: function(e) {
+                    (e = e || {}).filter = this.mergeWithDefaultFilter(e.filter)
+                },
+                create: function() {},
+                update: function() {},
+                delete: function() {},
+                commit: function() {},
+                abort: function(e) {},
+                createCallback: function(e, t, i) {
+                    return GeoGlobe.Function.bind((function() {
+                        e.apply(this, [t, i])
                     }
-                        ,
-                        r[P("0x5")][P("0x3c8")] = function (t, r) {
-                            if (t && r) {
-                                var n = new (e[P("0x3cb")])(this[P("0x10f")]);
-                                n[P("0x8c")] = t,
-                                    x(i, this.primitives);
-                                var o, a = this[P("0x17d")][P("0x6d")](new (e[P("0x1a4")]));
-                                a[P("0x176")] = i,
-                                    a[P("0x6d")]({
-                                        position: t,
-                                        color: e[P("0x16a")][P("0x2d5")],
-                                        pixelSize: 5
-                                    }),
-                                    o = {
-                                        context: this[P("0x10f")][P("0x3cc")],
-                                        lightCamera: n,
-                                        isPointLight: !0
-                                    },
-                                    this[P("0x10f")][P("0x3b3")].destroy(),
-                                    this[P("0x10f")][P("0x3b3")] = new (e[P("0x4f1")])(o);
-                                var s = this.scene[P("0x3b3")];
-                                s[P("0x364")] = !0,
-                                    s[P("0x4f2")] = !0,
-                                    s[P("0x4ee")] = !0,
-                                    s[P("0x3cd")] = 1024,
-                                    s[P("0x3ce")] = r,
-                                    s[P("0x4f3")].stackPartitions = this.boundingSphereStackPartitions,
-                                    s[P("0x4f3")][P("0x4f4")] = this[P("0x4eb")],
-                                    s[P("0x4f3")][P("0x4f5")] = this.boundingSphereSubdivisions
-                            }
-                        }
-                        ,
-                        r[P("0x5")][P("0x192")] = function () {
-                            this.scene[P("0x3b3")][P("0x364")] = !1,
-                                this[P("0x10f")].shadowMap[P("0x4ee")] = void 0,
-                                this.canvas.style[P("0x170")] = P("0x18c"),
-                                this[P("0x16f")] && !this.handler[P("0xf3")]() && this.handler[P("0xf4")](),
-                                s(t, this.primitives),
-                                x(i, this[P("0x17d")])
-                        }
-                        ,
-                        r[P("0x5")][P("0xf4")] = function () {
-                            this.clear(),
-                                this[P("0x13b")] = void 0,
-                                this[P("0x4e9")] = void 0,
-                                this[P("0x10f")] = void 0,
-                                this[P("0x48")] = void 0,
-                                this.primitives = void 0,
-                                this[P("0x191")] = void 0
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = P("0x4f6")
-                        , i = P("0x4f7")
-                        , r = e[P("0x4f8")] = function (t, i) {
-                            this.viewer = t.viewer,
-                                this[P("0x4f9")] = e[P("0x102")](t[P("0x4f9")], 1),
-                                this[P("0x10f")] = this.viewer[P("0x10f")],
-                                this[P("0x7e")] = this.viewer.camera,
-                                this[P("0x48")] = this[P("0x10f")][P("0x48")],
-                                this.primitives = this.scene[P("0x17d")],
-                                this[P("0x191")] = i || null,
-                                this[P("0x4fa")] = 0,
-                                this[P("0x4fb")] = [],
-                                null == this.scene.expandShadowMapList && (this[P("0x10f")][P("0x4fc")] = []),
-                                b()(e[P("0x373")]) < 1.5 ? console.error(P("0x3b0") + e[P("0x373")] + ",鍙鍩熷垎鏋愭殏涓嶆敮鎸佽鐗堟湰锛岃鏇存崲鑷�1.50浠ヤ笂鐨勭増鏈�!") : (this[P("0x4fd")] = void 0,
-                                    this[P("0x4fe")] = void 0,
-                                    this[P("0x4ff")] = void 0,
-                                    this[P("0x500")] = void 0,
-                                    this[P("0x501")] = void 0)
-                        }
-                        ;
-                    function n(t, i, r) {
-                        var n = t[P("0x10f")].pickPosition(i);
-                        if (n) {
-                            var o = e[P("0x13")].fromCartesian(n);
-                            if (o[P("0x8b")] < 0) {
-                                t.scene[P("0xa3")][P("0x32a")] = !0,
-                                    t[P("0x13b")][P("0x3d3")] = e.ShadowMode[P("0x3d5")];
-                                var a = t[P("0x7e")].getPickRay(i)
-                                    , s = t.scene[P("0xa3")].pick(a, t[P("0x10f")]);
-                                o = e[P("0x13")][P("0x175")](s)
-                            }
-                            r = r || 0;
-                            var x = e[P("0x11")][P("0x3d0")](o[P("0x112")], o[P("0x114")], o[P("0x8b")] + r)
-                                , l = e[P("0x13")].fromCartesian(x);
-                            return [e[P("0x23")].toDegrees(l[P("0x112")]), e[P("0x23")][P("0x113")](l[P("0x114")]), l[P("0x8b")]]
-                        }
-                    }
-                    function o(t, i, r, n) {
-                        var o = t.add(new (e[P("0x1a5")]));
-                        return o[P("0x6d")]({
-                            text: i,
-                            font: P("0x1a0"),
-                            showBackground: !0,
-                            position: r,
-                            pixelOffset: new (e[P("0x10")])(10, -10)
-                        }),
-                            o[P("0x176")] = n,
-                            o
-                    }
-                    function a(e, t, i) {
-                        for (var r = 0; r < e[P("0x0")]; r++)
-                            e[P("0x176")] == i && (e[P("0x187")](r).position = t)
-                    }
-                    function s(e, t) {
-                        !function (e, t) {
-                            for (var i = 0; i < t.length; i++)
-                                t[P("0x187")](i)[P("0x176")] == e && (t[P("0x17f")](t[P("0x187")](i)),
-                                    i--)
-                        }(e, t)
-                    }
-                    function x(e, t) {
-                        for (var i = 0; i < t[P("0x0")]; i++)
-                            t[P("0x187")](i).id == e && (t[P("0x17f")](t[P("0x187")](i)),
-                                i--)
-                    }
-                    r[P("0x5")].activate = function () {
-                        var i = null
-                            , r = this[P("0x4fb")][P("0x0")];
-                        this[P("0x4fb")][r] = new (e[P("0x3cb")])(this.scene),
-                            this[P("0x10f")][P("0x3b3")].enabled = !1;
-                        var x = null
-                            , l = null
-                            , c = null;
-                        this[P("0x16f")] && !this.handler[P("0xf3")]() && this[P("0x16f")].destroy(),
-                            this[P("0x48")][P("0x150")][P("0x170")] = "crosshair";
-                        var u = this
-                            , h = !0
-                            , f = null
-                            , d = null;
-                        this.handler = new (e[P("0x15f")])(this.canvas),
-                            this[P("0x16f")][P("0x160")]((function (e) {
-                                h ? (f = n(u, e[P("0x8c")], u[P("0x4f9")]),
-                                    h = !1,
-                                    u.firstLeftClick = h,
-                                    s(t, u[P("0x17d")]),
-                                    i = null) : (u[P("0x16f")] && !u.handler[P("0xf3")]() && u[P("0x16f")][P("0xf4")](),
-                                        h = !0,
-                                        u[P("0x3b2")] = h,
-                                        u.canvas[P("0x150")][P("0x170")] = "default",
-                                        s(t, u[P("0x17d")]),
-                                        i = null,
-                                        u[P("0x4fa")]++)
-                            }
-                            ), e[P("0x161")][P("0x17e")]),
-                            this[P("0x16f")][P("0x160")]((function (r) {
-                                if (u[P("0x3c2")] = u[P("0x10f")][P("0x174")](r.endPosition),
-                                    u[P("0x3c2")] && (h && (i ? a(i, u[P("0x3c2")], t) : i = o(u[P("0x17d")], P("0x502"), u[P("0x3c2")], t)),
-                                        !h)) {
-                                    i ? a(i, u.tipPosition, t) : i = o(u[P("0x17d")], P("0x503"), u.tipPosition, t),
-                                        d = n(u, r.endPosition),
-                                        x = turf[P("0x11b")](turf[P("0x2ec")]([f[0], f[1]]), turf[P("0x2ec")]([d[0], d[1]]));
-                                    var s = turf.distance(turf.point([f[0], f[1]]), turf[P("0x2ec")]([d[0], d[1]]))
-                                        , g = d[2] - f[2];
-                                    l = e[P("0x23")][P("0x113")](Math.atan(g / (1e3 * s)));
-                                    var p = e[P("0x11")][P("0x1a1")](f[0], f[1], f[2])
-                                        , m = e[P("0x11")][P("0x1a1")](d[0], d[1], d[2]);
-                                    c = e[P("0x11")][P("0x8e")](p, m),
-                                        u[P("0x504")]({
-                                            observePtCoordinate: f,
-                                            frustumLength: c,
-                                            frustumHead: x,
-                                            frustumPitch: l,
-                                            frustumField: 30
-                                        }),
-                                        u[P("0x4fd")] = f,
-                                        u.realTimeHeading = x,
-                                        u[P("0x4ff")] = l,
-                                        u.realTimeDistance = c,
-                                        u[P("0x501")] = 30,
-                                        u[P("0x3b2")] = h
-                                }
-                            }
-                            ), e.ScreenSpaceEventType[P("0x163")])
-                    }
-                        ,
-                        r[P("0x5")][P("0x504")] = function (t) {
-                            var r = t[P("0x505")]
-                                , n = t[P("0x506")]
-                                , o = t.frustumHead
-                                , a = t.frustumPitch
-                                , s = t[P("0x507")];
-                            if (null != r && null != n && null != o && null != a && null != s) {
-                                var l = e[P("0x11")][P("0x1a1")](r[0], r[1], r[2])
-                                    , c = e[P("0x23")][P("0x119")](o)
-                                    , u = e.Math.toRadians(a)
-                                    , h = this[P("0x4fb")].length
-                                    , f = i + (h - 1)
-                                    , d = this[P("0x10f")][P("0x4fc")][P("0x0")];
-                                d > this[P("0x4fa")] && this[P("0x10f")][P("0x4fc")][P("0x259")](d - 1, 1);
-                                var g, p = this[P("0x4fb")][h - 1];
-                                p.frustum = new e.PerspectiveFrustum({
-                                    fov: e[P("0x23")][P("0x119")](s),
-                                    aspectRatio: 1.6,
-                                    near: 1,
-                                    far: n
-                                }),
-                                    g = {
-                                        context: this[P("0x10f")][P("0x3cc")],
-                                        lightCamera: p,
-                                        cascadesEnabled: !1,
-                                        darkness: .5,
-                                        isPointLight: !1
-                                    },
-                                    this[P("0x10f")][P("0x4fc")].push(new e.ShadowMap(g));
-                                var m = this[P("0x10f")].expandShadowMapList[this[P("0x10f")].expandShadowMapList.length - 1];
-                                m[P("0x508")][P("0x3cf")] = 0,
-                                    m[P("0x364")] = !0,
-                                    m.size = 2048,
-                                    m[P("0x509")] = !0,
-                                    p[P("0x50a")](l, new (e[P("0xa9")])(c, u, 1e-21)),
-                                    x(f, this[P("0x17d")]),
-                                    this.primitives.add(new e.DebugCameraPrimitive({
-                                        camera: p,
-                                        color: e[P("0x16a")][P("0x50b")](1, 1, 1, 1),
-                                        id: f
-                                    }))
-                            }
-                        }
-                        ,
-                        r[P("0x5")][P("0x192")] = function () {
-                            this[P("0x10f")][P("0x3b3")][P("0x509")] = void 0;
-                            for (var e = this[P("0x4fb")].length, r = 0; r < e; r++)
-                                x(i + r, this[P("0x17d")]);
-                            s(t, this[P("0x17d")]),
-                                this._spotLightCameraList[P("0x0")] = 0,
-                                this[P("0x10f")][P("0x4fc")][P("0x0")] = 0
-                        }
-                        ,
-                        r[P("0x5")][P("0xf4")] = function () {
-                            this.scene[P("0x3b3")][P("0x509")] = void 0,
-                                this[P("0x16f")] && !this[P("0x16f")][P("0xf3")]() && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x10f")].shadowMap[P("0x364")] = !1,
-                                this[P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
-                                this.clear(),
-                                this.viewer = void 0,
-                                this[P("0x4f9")] = void 0,
-                                this[P("0x10f")] = void 0,
-                                this[P("0x7e")] = void 0,
-                                this[P("0x48")] = void 0,
-                                this[P("0x17d")] = void 0,
-                                this[P("0xef")] = void 0,
-                                this[P("0x191")] = void 0
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = P("0x50c")
-                        , i = P("0x50d")
-                        , r = P("0x50e")
-                        , n = P("0x50f")
-                        , o = P("0x510")
-                        , a = e.GeoVolumeCalculate = function (e, t) {
-                            this[P("0x13b")] = e[P("0x13b")],
-                                this[P("0x10f")] = this[P("0x13b")].scene,
-                                this.canvas = this[P("0x10f")].canvas,
-                                this[P("0x7e")] = this[P("0x10f")][P("0x7e")],
-                                this[P("0x17d")] = this.scene[P("0x17d")],
-                                this.designElevation = e.designElevation ? e[P("0x511")] : 4e3,
-                                this[P("0x328")] = e[P("0x328")] ? e[P("0x328")] : 500,
-                                this.callback = t || null
-                        }
-                        ;
-                    function s(e, t) {
-                        for (var i = 0, r = 0; r < t[P("0x0")]; r++)
-                            if (t[r] == e && i++,
-                                2 == i)
-                                return !0
-                    }
-                    function x(e, t, i, r, n, o, a) {
-                        var s = {}
-                            , x = turf[P("0x2d4")]([[e[P("0x180")][P("0x2ed")][0][i[0]], t[0], t[1], e.geometry[P("0x2ed")][0][i[0]]]])
-                            , l = turf[P("0x2d9")](x)
-                            , c = a - r
-                            , u = 1 / 3 * l * c
-                            , h = turf.polygon([[e.geometry[P("0x2ed")][0][i[1]], t[0], t[1], e.geometry[P("0x2ed")][0][i[1]]]])
-                            , f = turf[P("0x2d9")](h)
-                            , d = a - n
-                            , g = turf[P("0x2d4")]([[e[P("0x180")][P("0x2ed")][0][i[1]], e[P("0x180")][P("0x2ed")][0][i[2]], t[0], t[1], e[P("0x180")][P("0x2ed")][0][i[1]]]])
-                            , p = turf.area(g)
-                            , m = turf[P("0x2d4")]([[e.geometry.coordinates[0][i[1]], e[P("0x180")][P("0x2ed")][0][i[2]], t[1], t[0], e.geometry[P("0x2ed")][0][i[1]]]])
-                            , b = turf[P("0x2d9")](m)
-                            , v = b < p ? p : b
-                            , C = 1 / 3 * f * d + 1 / 3 * (v - f) * (d + (a - o));
-                        return 0 <= c ? (s.fillVolume = u,
-                            s[P("0x34d")] = l,
-                            s[P("0x34a")] = C,
-                            s[P("0x34b")] = v) : (s[P("0x34c")] = C,
-                                s.fillArea = v,
-                                s[P("0x34a")] = u,
-                                s[P("0x34b")] = l),
-                            s
-                    }
-                    function l(t, i, r, n, o, a, s, x, l) {
-                        var c = {}
-                            , u = Math[P("0x78")](t / (t - i))
-                            , h = new (e[P("0x11")])(0, 0, 0)
-                            , f = e.Cartesian3[P("0x3d0")](r[P("0x180")].coordinates[0][n][0], r.geometry[P("0x2ed")][0][o][1], x)
-                            , d = e.Cartesian3.fromRadians(r.geometry[P("0x2ed")][0][o][0], r[P("0x180")][P("0x2ed")][0][o][1], l)
-                            , g = e[P("0x13")][P("0x175")](e[P("0x11")].lerp(f, d, u, h));
-                        return c.intersection = [g[P("0x112")], g[P("0x114")]],
-                            c[P("0x349")] = [a, s],
-                            c
-                    }
-                    function c(t, r) {
-                        return t.add({
-                            name: i,
-                            position: r,
-                            label: {
-                                text: P("0x51b"),
-                                font: P("0x51c"),
-                                showBackground: !0,
-                                pixeloffset: new (e[P("0x10")])(0, 20)
-                            }
-                        })
-                    }
-                    function u(e, t) {
-                        for (var i = 0; i < t.values[P("0x0")]; i++)
-                            t[P("0x190")][i][P("0x176")] == e && (t[P("0x17f")](t.values[i]),
-                                i--)
-                    }
-                    a[P("0x5")][P("0x198")] = function () {
-                        this.canvas[P("0x150")][P("0x170")] = P("0x171");
-                        var a = 0
-                            , s = this
-                            , x = []
-                            , l = []
-                            , h = []
-                            , f = []
-                            , d = [];
-                        this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
-                            this[P("0x16f")][P("0x160")]((function (i) {
-                                var r = s[P("0x7e")][P("0x86")](i[P("0x8c")])
-                                    , n = s.scene[P("0xa3")][P("0xa4")](r, s[P("0x10f")]);
-                                l[P("0x17c")](n);
-                                var o = e[P("0x13")][P("0x175")](n)
-                                    , c = e.Math[P("0x113")](o[P("0x112")])
-                                    , u = e.Math[P("0x113")](o[P("0x114")])
-                                    , g = o[P("0x8b")];
-                                h[P("0x17c")](c, u, g),
-                                    f[P("0x17c")](c, u, s[P("0x511")]),
-                                    x = a ? (d[a - 1][P("0x2eb")][P("0x19f")][P("0x512")]()[P("0x513")](),
-                                        [d[0][P("0x2eb")][P("0x19f")][P("0x512")]()[1], n, d[a - 1][P("0x2eb")][P("0x19f")][P("0x512")]()[0]]) : [n, n, n],
-                                    s[P("0x514")] = s[P("0x13b")].entities.add({
-                                        name: t,
-                                        polyline: {
-                                            positions: x,
-                                            clampToGround: !0,
-                                            width: 5,
-                                            material: new e.PolylineOutlineMaterialProperty({
-                                                color: e[P("0x16a")].ORANGE,
-                                                outlineWidth: 2,
-                                                outlineColor: e[P("0x16a")][P("0x43b")]
-                                            })
-                                        }
-                                    }),
-                                    d.push(s[P("0x514")]),
-                                    a++
-                            }
-                            ), e.ScreenSpaceEventType.LEFT_CLICK),
-                            this.handler.setInputAction((function (e) {
-                                if (x[P("0x0")]) {
-                                    var t = s[P("0x7e")].getPickRay(e[P("0x64")])
-                                        , i = s.scene[P("0xa3")][P("0xa4")](t, s[P("0x10f")]);
-                                    x[P("0x259")](x.length - 2, 1, i),
-                                        d[a - 1][P("0x2eb")][P("0x19f")] = x,
-                                        s[P("0x378")] ? s.labelEntity.position = i : s[P("0x378")] = c(s[P("0x13b")][P("0x194")], i)
-                                } else
-                                    s[P("0x378")] ? s.labelEntity.position = i : s[P("0x378")] = c(s[P("0x13b")][P("0x194")], i)
-                            }
-                            ), e[P("0x161")][P("0x163")]),
-                            this[P("0x16f")][P("0x160")]((function (a) {
-                                var x = s.camera[P("0x86")](a[P("0x8c")])
-                                    , c = s.scene[P("0xa3")][P("0xa4")](x, s.scene);
-                                l.push(c);
-                                var d = e[P("0x13")][P("0x175")](c)
-                                    , g = e.Math[P("0x113")](d[P("0x112")])
-                                    , p = e.Math[P("0x113")](d[P("0x114")])
-                                    , m = d.height;
-                                h.push(g, p, m),
-                                    f.push(g, p, s[P("0x511")]),
-                                    s[P("0x16f")].destroy(),
-                                    s[P("0x48")].style[P("0x170")] = P("0x18c"),
-                                    s[P("0x378")] && u(i, s[P("0x13b")][P("0x194")]),
-                                    s[P("0x514")] && u(t, s[P("0x13b")][P("0x194")]),
-                                    s.VOLUME = s[P("0x515")](s.scene, h, s[P("0x511")], s[P("0x328")]),
-                                    s[P("0x191")](s[P("0x516")]),
-                                    s[P("0x517")] = s.viewer[P("0x194")][P("0x6d")]({
-                                        name: n,
-                                        polygon: {
-                                            hierarchy: {
-                                                positions: e[P("0x11")][P("0x19e")](f)
-                                            },
-                                            material: e[P("0x16a")].BLUE.withAlpha(.8),
-                                            perPositionHeight: !0
-                                        }
-                                    }),
-                                    s.polygonEntity = s.viewer[P("0x194")][P("0x6d")]({
-                                        name: r,
-                                        polygon: {
-                                            hierarchy: {
-                                                positions: l
-                                            },
-                                            material: e.Color[P("0x310")][P("0x16c")](.5)
-                                        }
-                                    }),
-                                    s.designPolygonEntity_coral = s[P("0x13b")][P("0x194")].add({
-                                        name: o,
-                                        polygon: {
-                                            hierarchy: {
-                                                positions: e[P("0x11")].fromDegreesArrayHeights(f)
-                                            },
-                                            material: e.Color[P("0x518")].withAlpha(.5),
-                                            perPositionHeight: !0,
-                                            outline: !0,
-                                            outlineColor: e[P("0x16a")][P("0x2d5")][P("0x16c")](1),
-                                            extrudedHeight: 0,
-                                            closeTop: !0,
-                                            closeBottom: !1
-                                        }
-                                    })
-                            }
-                            ), e[P("0x161")][P("0x189")])
-                    }
-                        ,
-                        a.prototype[P("0x515")] = function (t, i, r, n) {
-                            for (var o, a = {
-                                features: []
-                            }, c = t.globe.ellipsoid, u = [], h = e[P("0x11")][P("0x19e")](i), f = 0; f < h.length; f++) {
-                                var d = e[P("0x23")][P("0x113")](c[P("0xd6")](h[f]).longitude)
-                                    , g = e[P("0x23")][P("0x113")](c[P("0xd6")](h[f])[P("0x114")]);
-                                u[P("0x17c")]([d, g])
-                            }
-                            u[P("0x17c")]([e.Math[P("0x113")](c.cartesianToCartographic(h[0])[P("0x112")]), e[P("0x23")][P("0x113")](c[P("0xd6")](h[0])[P("0x114")])]);
-                            var p = turf[P("0x33e")](u)
-                                , m = turf.bbox(p)
-                                , b = turf.randomPoint(2 * n, {
-                                    bbox: m
-                                })
-                                , v = turf.polygon([u]);
-                            for (f = 0; f < b[P("0x33a")][P("0x0")]; f++) {
-                                var y = turf[P("0x2ec")](b.features[f][P("0x180")][P("0x2ed")]);
-                                turf.booleanPointInPolygon(y, v) || (b[P("0x33a")][P("0x259")](f, 1),
-                                    f--)
-                            }
-                            var _ = []
-                                , A = h[P("0x1c6")](h[0]);
-                            for (f = 0; f < A[P("0x0")] - 1; f++)
-                                for (var I = 1; I < Math.ceil(n / 10); I++) {
-                                    var w = new (e[P("0x11")])(0, 0, 0);
-                                    w = e[P("0x11")][P("0x308")](A[f], A[f + 1], I * (1 / Math[P("0x342")](n / 10)), w),
-                                        _[P("0x17c")](w)
-                                }
-                            h = h[P("0x1c6")](_);
-                            var G = []
-                                , E = [];
-                            for (f = 0; f < h[P("0x0")]; f++) {
-                                var S = c.cartesianToCartographic(h[f])[P("0x112")]
-                                    , T = c[P("0xd6")](h[f]).latitude;
-                                G[P("0x17c")](new e.Cartographic(S, T)),
-                                    E[P("0x17c")]([S, T])
-                            }
-                            for (f = 0; f < b.features[P("0x0")]; f++) {
-                                var M = e[P("0x23")].toRadians(b.features[f][P("0x180")].coordinates[0])
-                                    , N = e[P("0x23")][P("0x119")](b.features[f].geometry[P("0x2ed")][1]);
-                                G[P("0x17c")](new (e[P("0x13")])(M, N))
-                            }
-                            return t.sampleHeightMostDetailed(G).then((function (e) {
-                                a[P("0x165")] = P("0x343");
-                                for (var t = 0; t < e[P("0x0")]; t++)
-                                    a[P("0x33a")][P("0x17c")]({
-                                        type: P("0x344"),
-                                        geometry: {
-                                            coordinates: [e[t][P("0x112")], e[t][P("0x114")]],
-                                            type: P("0x345")
-                                        },
-                                        properties: {
-                                            z: e[t].height
-                                        }
-                                    });
-                                o = turf.tin(a, "z");
-                                var i = 0
-                                    , n = 0
-                                    , c = 0
-                                    , u = 0
-                                    , h = r;
-                                for (t = 0; t < o[P("0x33a")][P("0x0")]; t++) {
-                                    var f = o[P("0x33a")][t].properties.a - h
-                                        , d = o[P("0x33a")][t][P("0x33d")].b - h
-                                        , g = o[P("0x33a")][t][P("0x33d")].c - h
-                                        , p = []
-                                        , m = [];
-                                    if (f * d < 0 || f * g < 0 || d * g < 0) {
-                                        if (f * d < 0) {
-                                            var b = l(f, d, o[P("0x33a")][t], 0, 1, "a", "b", o[P("0x33a")][t][P("0x33d")].a, o[P("0x33a")][t][P("0x33d")].b);
-                                            p[P("0x17c")](b[P("0x348")]),
-                                                m[P("0x17c")](b[P("0x349")][0], b[P("0x349")][1])
-                                        }
-                                        var v;
-                                        f * g < 0 && (b = l(f, g, o[P("0x33a")][t], 0, 2, "a", "c", o.features[t][P("0x33d")].a, o[P("0x33a")][t][P("0x33d")].c),
-                                            p[P("0x17c")](b[P("0x348")]),
-                                            m[P("0x17c")](b[P("0x349")][0], b[P("0x349")][1])),
-                                            d * g < 0 && (b = l(d, g, o[P("0x33a")][t], 1, 2, "b", "c", o[P("0x33a")][t][P("0x33d")].b, o[P("0x33a")][t][P("0x33d")].c),
-                                                p[P("0x17c")](b[P("0x348")]),
-                                                m[P("0x17c")](b.vertexSerial[0], b[P("0x349")][1])),
-                                            s("a", m) && (n += (v = x(o[P("0x33a")][t], p, [0, 1, 2], o[P("0x33a")][t][P("0x33d")].a, o.features[t][P("0x33d")].b, o[P("0x33a")][t].properties.c, h)).fillVolume,
-                                                u += v[P("0x34d")],
-                                                i += v[P("0x34a")],
-                                                c += v.excavationArea),
-                                            s("b", m) && (n += (v = x(o.features[t], p, [1, 0, 2], o.features[t][P("0x33d")].b, o.features[t][P("0x33d")].a, o[P("0x33a")][t][P("0x33d")].c, h))[P("0x34c")],
-                                                u += v.fillArea,
-                                                i += v.excavationVolume,
-                                                c += v[P("0x34b")]),
-                                            s("c", m) && (n += (v = x(o[P("0x33a")][t], p, [2, 0, 1], o[P("0x33a")][t][P("0x33d")].c, o.features[t].properties.a, o[P("0x33a")][t][P("0x33d")].b, h))[P("0x34c")],
-                                                u += v[P("0x34d")],
-                                                i += v.excavationVolume,
-                                                c += v[P("0x34b")])
-                                    } else {
-                                        var y = turf[P("0x2d4")]([o[P("0x33a")][t][P("0x180")][P("0x2ed")][0]])
-                                            , _ = turf[P("0x2d9")](y)
-                                            , A = 1 / 3 * [h - o[P("0x33a")][t][P("0x33d")].a + (h - o[P("0x33a")][t][P("0x33d")].b) + (h - o.features[t][P("0x33d")].c)];
-                                        0 <= A ? (n += _ * A,
-                                            u += _) : (i += _ * A,
-                                                c += _)
-                                    }
-                                }
-                                var I = {
-                                    fillVolume: Number(n[P("0x2af")](3)),
-                                    excavationVolume: Number(Math.abs(i)[P("0x2af")](3)),
-                                    totalVolume: Number(n[P("0x2af")](3)) + Number(Math[P("0x78")](i)[P("0x2af")](3)),
-                                    fillArea: Number(u[P("0x2af")](3)),
-                                    excavationArea: Number(c[P("0x2af")](3)),
-                                    totalArea: Number(u[P("0x2af")](3)) + Number(c[P("0x2af")](3))
-                                };
-                                return new C.a((function (e) {
-                                    e(I)
-                                }
-                                ))
-                            }
-                            ))
-                        }
-                        ,
-                        a[P("0x5")].clear = function () {
-                            this[P("0x48")][P("0x150")][P("0x170")] = "default",
-                                this[P("0x16f")] && !this[P("0x16f")][P("0xf3")]() && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x514")] && u(t, this[P("0x13b")][P("0x194")]),
-                                this.labelEntity && u(i, this[P("0x13b")][P("0x194")]),
-                                this[P("0x519")] && u(r, this[P("0x13b")].entities),
-                                this[P("0x517")] && u(n, this[P("0x13b")][P("0x194")]),
-                                this[P("0x51a")] && u(o, this.viewer[P("0x194")]),
-                                this[P("0x514")] = void 0,
-                                this[P("0x378")] = void 0
-                        }
-                        ,
-                        a[P("0x5")][P("0xf4")] = function () {
-                            this[P("0x192")](),
-                                this[P("0x13b")] = void 0,
-                                this.scene = void 0,
-                                this[P("0x48")] = void 0,
-                                this.camera = void 0,
-                                this[P("0x17d")] = void 0,
-                                this[P("0x511")] = void 0,
-                                this[P("0x328")] = void 0,
-                                this[P("0x191")] = void 0
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x51d")] = function (t, i, r) {
-                        this[P("0x13b")] = t.viewer,
-                            this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
-                            this.globe = this[P("0x13b")][P("0x10f")].globe,
-                            this[P("0x440")] = t[P("0x440")] ? t[P("0x440")] : {},
-                            this.classificationPrimitiveCollection = new (e[P("0x51e")]),
-                            this[P("0x10f")].primitives[P("0x6d")](this.classificationPrimitiveCollection),
-                            this.callback_click = i || function () { }
-                            ,
-                            this.callback_move = r || function () { }
-                            ,
-                            this[P("0x221")] = void 0 === t.show || t.show,
-                            this[P("0x3dd")] = t[P("0x3dd")] ? t[P("0x3dd")] : e[P("0x16a")][P("0x51f")][P("0x16c")](.3),
-                            this.highlightColor_click = t[P("0x520")] ? t[P("0x520")] : e[P("0x16a")].YELLOW.withAlpha(.3),
-                            this[P("0x521")] = t[P("0x521")] ? t.highlightColor_move : e[P("0x16a")][P("0x2cf")][P("0x16c")](.2),
-                            this[P("0x522")] = null,
-                            this[P("0x523")] = null,
-                            this._INTERSECTED_FLOOR3 = null,
-                            this.handler = new e.ScreenSpaceEventHandler(this[P("0x13b")][P("0x48")])
-                    }
-                        ;
-                    e[P("0xf")](t[P("0x5")], {
-                        show: {
-                            set: function (e) {
-                                this._show = e,
-                                    this[P("0x524")][P("0x221")] = e
-                            },
-                            get: function () {
-                                return this[P("0x49c")]
-                            }
-                        }
-                    }),
-                        t[P("0x5")][P("0x525")] = function () {
-                            var t = this;
-                            if (this[P("0x192")](),
-                                this[P("0x522")] = null,
-                                this[P("0x523")] = null,
-                                this[P("0x526")] = null,
-                                this[P("0x524")][P("0x221")] = this[P("0x49c")],
-                                t[P("0x440")] && t.data[P("0x180")]) {
-                                var i = 0;
-                                if (t[P("0x440")][P("0x33d")].baseHeight)
-                                    i = t.data[P("0x33d")][P("0x527")];
-                                else if (t.scene[P("0x528")]) {
-                                    var r = t[P("0x440")][P("0x180")].coordinates[0][0]
-                                        , n = new (e[P("0x13")])(e[P("0x23")][P("0x119")](r[0]), e[P("0x23")][P("0x119")](r[1]));
-                                    i = t[P("0x10f")][P("0x529")](n)
-                                } else
-                                    (i = t[P("0xa3")][P("0xed")]({
-                                        longitude: e[P("0x23")][P("0x119")](t[P("0x440")][P("0x180")][P("0x2ed")][0][0][0]),
-                                        latitude: e.Math.toRadians(t[P("0x440")][P("0x180")][P("0x2ed")][0][0][1])
-                                    })) || console.error(P("0x52a"));
-                                if (!i)
-                                    return void console.warn(P("0x52b"));
-                                for (var o = t[P("0x440")][P("0x33d")][P("0x52c")], a = [], s = 0; s < t[P("0x440")][P("0x180")][P("0x2ed")][0][P("0x0")]; s++)
-                                    a[P("0x17c")](t.data[P("0x180")][P("0x2ed")][0][s][0]),
-                                        a[P("0x17c")](t[P("0x440")].geometry[P("0x2ed")][0][s][1]);
-                                for (var x = 0, l = 0; l < o[P("0x0")]; l++) {
-                                    var c = i + x
-                                        , u = c + o[l]
-                                        , h = new e.GeometryInstance({
-                                            geometry: e[P("0x1af")][P("0x231")]({
-                                                positions: e[P("0x11")][P("0x1da")](a),
-                                                height: c,
-                                                extrudedHeight: u,
-                                                vertexFormat: e[P("0x1b0")][P("0x1b1")]
-                                            }),
-                                            attributes: {
-                                                color: e[P("0x184")][P("0x1b2")](this[P("0x3dd")])
-                                            },
-                                            id: {
-                                                tag: P("0x52d"),
-                                                description: t[P("0x440")],
-                                                level: l + 1
-                                            }
-                                        })
-                                        , f = new (e[P("0x35b")])({
-                                            geometryInstances: h,
-                                            classificationType: e[P("0x17a")][P("0x17b")]
-                                        });
-                                    this[P("0x524")][P("0x6d")](f),
-                                        x += o[l]
-                                }
-                            }
-                        }
-                        ,
-                        t[P("0x5")].activate = function () {
-                            var t = this;
-                            t[P("0x16f")][P("0x160")]((function (i) {
-                                var r = t[P("0x10f")].pick(i[P("0x8c")]);
-                                if (r && r.id && r.id[P("0x2cc")] == P("0x52d")) {
-                                    if (t[P("0x52e")](r),
-                                        t[P("0x522")] && t._INTERSECTED_FLOOR != r && (t._INTERSECTED_FLOOR.primitive.getGeometryInstanceAttributes(t._INTERSECTED_FLOOR.id)[P("0x169")] = e.ColorGeometryInstanceAttribute.toValue(t[P("0x3dd")])),
-                                        t[P("0x522")] = r,
-                                        t[P("0x526")]) {
-                                        var n = t._INTERSECTED_FLOOR3[P("0x52f")][P("0x530")][0].id
-                                            , o = t[P("0x526")].getGeometryInstanceAttributes(n);
-                                        o[P("0x169")][P("0x531")]() == e[P("0x184")][P("0x356")](t[P("0x520")]).toString() && (o[P("0x169")] = e[P("0x184")][P("0x356")](t[P("0x3dd")]))
-                                    }
-                                    var a = t[P("0x522")].primitive[P("0x354")](t[P("0x522")].id);
-                                    if (a.color.toString() == e[P("0x184")][P("0x356")](t[P("0x520")]).toString())
-                                        return;
-                                    a[P("0x169")] = e.ColorGeometryInstanceAttribute[P("0x356")](t[P("0x520")])
-                                }
-                            }
-                            ), e[P("0x161")][P("0x17e")]),
-                                t[P("0x16f")][P("0x160")]((function (i) {
-                                    var r = t[P("0x10f")].pick(i[P("0x64")]);
-                                    if (r && r.id && r.id[P("0x2cc")] == P("0x52d")) {
-                                        if (t[P("0x532")](r),
-                                            t[P("0x523")] && t[P("0x523")] != r && (t._INTERSECTED_FLOOR2[P("0x182")][P("0x354")](t[P("0x523")].id).color = e.ColorGeometryInstanceAttribute[P("0x356")](t[P("0x3dd")])),
-                                            t[P("0x523")] = r,
-                                            t[P("0x522")]) {
-                                            var n = t[P("0x522")].primitive.getGeometryInstanceAttributes(t[P("0x522")].id);
-                                            n[P("0x169")][P("0x531")]() == e[P("0x184")].toValue(t[P("0x3dd")])[P("0x531")]() && (n.color = e[P("0x184")][P("0x356")](t[P("0x520")]))
-                                        }
-                                        var o = t._INTERSECTED_FLOOR2.primitive[P("0x354")](t[P("0x523")].id);
-                                        if (o.color[P("0x531")]() == e[P("0x184")][P("0x356")](t[P("0x521")])[P("0x531")]())
-                                            return;
-                                        o[P("0x169")] = e.ColorGeometryInstanceAttribute.toValue(t[P("0x521")])
-                                    }
-                                }
-                                ), e[P("0x161")][P("0x163")])
-                        }
-                        ,
-                        t[P("0x5")][P("0x533")] = function (t) {
-                            var i = null;
-                            if (this[P("0x440")] && this.data[P("0x180")] && this[P("0x49c")] && (i = this[P("0x524")][P("0x187")](t - 1))) {
-                                if (this[P("0x526")] && this._INTERSECTED_FLOOR3 != i) {
-                                    var r = this[P("0x526")][P("0x52f")][P("0x530")][0].id;
-                                    this[P("0x526")][P("0x354")](r)[P("0x169")] = e[P("0x184")][P("0x356")](this.fillColor)
-                                }
-                                this._INTERSECTED_FLOOR3 = i;
-                                var n = this._INTERSECTED_FLOOR3[P("0x52f")][P("0x530")][0].id;
-                                this._INTERSECTED_FLOOR3.getGeometryInstanceAttributes(n).color = e.ColorGeometryInstanceAttribute[P("0x356")](this[P("0x520")])
-                            }
-                            return i
-                        }
-                        ,
-                        t[P("0x5")].clear = function () {
-                            this[P("0x524")][P("0xf5")]()
-                        }
-                        ,
-                        t.prototype[P("0x534")] = function () {
-                            this[P("0x16f")][P("0x535")](e[P("0x161")][P("0x163")]),
-                                this[P("0x16f")].removeInputAction(e[P("0x161")][P("0x17e")])
-                        }
-                        ,
-                        t[P("0x5")].destroy = function () {
-                            this[P("0x192")](),
-                                this[P("0x524")].destroy(),
-                                this[P("0x524")] = void 0,
-                                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
-                                this[P("0x13b")] = void 0,
-                                this.data = void 0,
-                                this[P("0x3dd")] = void 0,
-                                this[P("0x520")] = void 0,
-                                this[P("0x521")] = void 0,
-                                this[P("0x522")] = void 0,
-                                this[P("0x523")] = void 0,
-                                this[P("0x526")] = void 0
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x536")] = function (t) {
-                        this[P("0x13b")] = t[P("0x13b")],
-                            this[P("0x10f")] = this.viewer[P("0x10f")],
-                            this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
-                            this[P("0x7f")] = e[P("0x23")][P("0x113")](this[P("0x7e")][P("0x7f")]),
-                            this._heading = this[P("0x7e")][P("0x7f")],
-                            this[P("0x80")] = e[P("0x23")][P("0x113")](this.camera.pitch),
-                            this[P("0x537")] = this.camera.pitch,
-                            this[P("0x81")] = e[P("0x23")][P("0x113")](this.camera[P("0x81")]),
-                            this[P("0x538")] = this[P("0x7e")][P("0x81")],
-                            this[P("0x539")] = t[P("0x539")],
-                            this[P("0x8e")] = 0,
-                            this[P("0x53a")] = 100,
-                            this[P("0x11a")] = [e[P("0x23")][P("0x113")](this[P("0x7e")][P("0x53b")][P("0x112")]), e.Math[P("0x113")](this[P("0x7e")][P("0x53b")].latitude), this[P("0x7e")][P("0x53b")][P("0x8b")]],
-                            this.height = this[P("0x7e")][P("0x53b")][P("0x8b")],
-                            this[P("0x53c")] = !!e[P("0x14")](t[P("0x53c")]) && t[P("0x53c")],
-                            this[P("0x53d")] = 0,
-                            this.deltaRadians = e[P("0x23")][P("0x119")](1),
-                            this.deltaDistance = 0,
-                            this[P("0x53e")](),
-                            this[P("0x10f")][P("0x53f")][P("0x130")](this[P("0x540")], this)
-                    }
-                        ;
-                    t[P("0x5")][P("0x540")] = function (t, i) {
-                        this.isFlying && (this.camera[P("0x9c")]({
-                            destination: e[P("0x11")][P("0x1a1")](this.center[0], this[P("0x11a")][1], this[P("0x11a")][2] + this[P("0x53d")]),
-                            orientation: {
-                                heading: this[P("0x541")] += e[P("0x23")][P("0x119")](this[P("0x539")]),
-                                pitch: this[P("0x537")],
-                                roll: this[P("0x538")]
-                            }
-                        }),
-                            this[P("0x7e")][P("0x11c")](this[P("0x53a")] + this[P("0x542")]),
-                            this[P("0x7f")] = e[P("0x23")][P("0x113")](this[P("0x7e")][P("0x7f")]),
-                            this[P("0x80")] = e[P("0x23")].toDegrees(this[P("0x7e")].pitch),
-                            this[P("0x81")] = e[P("0x23")].toDegrees(this.camera[P("0x81")]),
-                            this[P("0x8b")] = (this[P("0x11a")][2] + this.deltaHeight)[P("0x2af")](2),
-                            this.distance = (this._distance + this[P("0x542")])[P("0x2af")](2))
-                    }
-                        ,
-                        t[P("0x5")][P("0x543")] = function (t, i) {
-                            if (e[P("0x14")](t) && e[P("0x14")](i)) {
-                                this[P("0x53c")] = !0,
-                                    this[P("0x11a")] = i,
-                                    this[P("0x53a")] = t,
-                                    this.deltaDistance = 0,
-                                    this[P("0x53d")] = 0,
-                                    this[P("0x541")] = this[P("0x7e")][P("0x7f")],
-                                    this._pitch = this[P("0x7e")][P("0x80")],
-                                    this[P("0x538")] = this.camera[P("0x81")];
-                                for (var r = !1, n = 0; n < this[P("0x10f")][P("0x545")][P("0x2b8")].length; n++)
-                                    if (this.scene._preRender._listeners[n] === this[P("0x540")]) {
-                                        r = !0;
-                                        break
-                                    }
-                                r || this[P("0x10f")][P("0x53f")][P("0x130")](this[P("0x540")], this)
-                            } else
-                                console[P("0x2e2")](P("0x544"))
-                        }
-                        ,
-                        t[P("0x5")][P("0x546")] = function () {
-                            this[P("0x53c")] = !1
-                        }
-                        ,
-                        t[P("0x5")][P("0x547")] = function () {
-                            this[P("0x53c")] = !0
-                        }
-                        ,
-                        t[P("0x5")].stop = function () {
-                            this.scene.preRender[P("0x548")](this[P("0x540")], this)
-                        }
-                        ,
-                        t.prototype[P("0xf4")] = function () {
-                            this[P("0x10f")][P("0x53f")][P("0x548")](this[P("0x540")], this),
-                                this[P("0x13b")] = void 0,
-                                this.scene = void 0,
-                                this[P("0x7e")] = void 0,
-                                e[P("0x22b")](this)
-                        }
-                        ,
-                        t.prototype[P("0x53e")] = function () {
-                            var t = this;
-                            document.addEventListener(P("0x549"), (function (i) {
-                                if (t.viewer)
-                                    switch (i.keyCode) {
-                                        case 40:
-                                            i[P("0x54a")] ? t[P("0x53d")] -= 10 : (t[P("0x537")] -= t[P("0x54b")],
-                                                t[P("0x537")] < -e[P("0x23")].TWO_PI && (t[P("0x537")] += e.Math[P("0xab")]));
-                                            break;
-                                        case 38:
-                                            i[P("0x54a")] ? t.deltaHeight += 10 : (t[P("0x537")] += t[P("0x54b")],
-                                                t[P("0x537")] > -e[P("0x23")][P("0xab")] && (t[P("0x537")] -= e[P("0x23")].TWO_PI));
-                                            break;
-                                        case 39:
-                                            i[P("0x54a")] ? (t[P("0x538")] += t[P("0x54b")],
-                                                t[P("0x538")] > e[P("0x23")][P("0xab")] && (t._roll -= e[P("0x23")][P("0xab")])) : t[P("0x542")] -= 50;
-                                            break;
-                                        case 37:
-                                            i[P("0x54a")] ? (t[P("0x538")] -= t[P("0x54b")],
-                                                t[P("0x538")] < e.Math[P("0xab")] && (t[P("0x538")] += e[P("0x23")][P("0xab")])) : t[P("0x542")] += 50
-                                    }
-                            }
-                            ))
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x54c")] = function (t) {
-                        this[P("0x13b")] = t.viewer,
-                            this[P("0x54d")] = t[P("0x54d")],
-                            this[P("0x80")] = t[P("0x80")],
-                            this[P("0x81")] = t[P("0x81")],
-                            this.height = t[P("0x8b")],
-                            this[P("0x539")] = t[P("0x539")],
-                            this.lon = t.lon,
-                            this.lat = t[P("0x54e")],
-                            this[P("0x54f")] = t.planePrimitive,
-                            this.hpRoll = t[P("0x550")],
-                            this[P("0x551")] = t[P("0x551")],
-                            this.isFlying = t.isFlying,
-                            this[P("0x8c")] = t[P("0x8c")],
-                            this[P("0x552")] = t.fixedFrameTransform,
-                            this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
-                            this.camera = this.viewer[P("0x7e")],
-                            this[P("0x553")] = new (e[P("0x554")]),
-                            this[P("0x555")] = new (e[P("0x11")]),
-                            this.center = new e.Cartesian3,
-                            this[P("0x556")] = new (e[P("0xa9")]),
-                            this.deltaRadians = e[P("0x23")][P("0x119")](3),
-                            this.init(),
-                            this[P("0x53e")]()
-                    }
-                        ;
-                    t[P("0x5")].init = function () {
-                        var t = this
-                            , i = this[P("0x10f")][P("0x24f")]
-                            , r = 0;
-                        this[P("0x54f")][P("0x557")][P("0x333")]((function (n) {
-                            n[P("0x558")].addAll({
-                                speedup: .5,
-                                loop: e[P("0x559")][P("0x55a")]
-                            }),
-                                r = 2 * Math[P("0xee")](n[P("0x55b")][P("0x181")], t[P("0x7e")].frustum.near),
-                                i[P("0x30")] = .5 * r,
-                                e[P("0x1b")][P("0xd4")](n.modelMatrix, n[P("0x55b")][P("0x11a")], t[P("0x11a")]);
-                            var o = e[P("0x23")][P("0x119")](230)
-                                , a = e[P("0x23")][P("0x119")](-20);
-                            t[P("0x556")][P("0x7f")] = o,
-                                t[P("0x556")][P("0x80")] = a,
-                                t[P("0x556")][P("0x55c")] = 50 * r,
-                                t.camera[P("0x50a")](t.center, t[P("0x556")])
-                        }
-                        )),
-                            viewer[P("0x194")].add({
-                                position: this.pathPosition,
-                                name: "path",
-                                path: {
-                                    show: !0,
-                                    leadTime: 0,
-                                    trailTime: 60,
-                                    width: 2,
-                                    resolution: 1,
-                                    material: new (e[P("0x55d")])({
-                                        glowPower: .3,
-                                        color: e.Color[P("0x55e")]
-                                    })
-                                }
-                            })
-                    }
-                        ,
-                        t[P("0x5")][P("0x104")] = function () {
-                            if (this[P("0x53c")]) {
-                                this[P("0x54d")] = e[P("0x23")].toDegrees(this.hpRoll[P("0x7f")])[P("0x2af")](1),
-                                    this.pitch = e[P("0x23")][P("0x113")](this.hpRoll[P("0x80")])[P("0x2af")](1),
-                                    this.roll = e[P("0x23")][P("0x113")](this[P("0x550")][P("0x81")])[P("0x2af")](1),
-                                    this.speed = this.speed,
-                                    this[P("0x555")] = e[P("0x11")][P("0x6c")](e[P("0x11")][P("0xb8")], this[P("0x539")] / 10, this[P("0x555")]);
-                                var t = e[P("0x1b")][P("0xd4")](this[P("0x54f")][P("0x4ac")], this[P("0x555")], this.position);
-                                this[P("0x553")][P("0x55f")](e[P("0x560")][P("0x561")](), t),
-                                    e[P("0x1f")][P("0x562")](t, this[P("0x550")], e[P("0x16")][P("0x110")], this[P("0x552")], this[P("0x54f")][P("0x4ac")]);
-                                var i = e[P("0x13")][P("0x175")](t);
-                                this[P("0x563")] = e.Math[P("0x113")](i[P("0x112")]),
-                                    this[P("0x54e")] = e[P("0x23")][P("0x113")](i[P("0x114")]),
-                                    this.height = i[P("0x8b")],
-                                    this.fromBehind && (e.Matrix4[P("0xd4")](this[P("0x54f")][P("0x4ac")], this[P("0x54f")][P("0x55b")].center, this[P("0x11a")]),
-                                        this[P("0x556")][P("0x7f")] = this[P("0x550")].heading,
-                                        this[P("0x556")][P("0x80")] = this[P("0x550")][P("0x80")],
-                                        this[P("0x7e")][P("0x50a")](this[P("0x11a")], this[P("0x556")]))
-                            }
-                        }
-                        ,
-                        t[P("0x5")].play = function () {
-                            this[P("0x13b")].scene[P("0x564")][P("0x130")](this[P("0x104")], this)
-                        }
-                        ,
-                        t[P("0x5")][P("0x546")] = function () {
-                            this[P("0x13b")].scene[P("0x564")][P("0x548")](this[P("0x104")], this)
-                        }
-                        ,
-                        t[P("0x5")][P("0x547")] = function () {
-                            0 != this[P("0x13b")][P("0x194")][P("0x430")][P("0x0")] ? (this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this),
-                                this[P("0x13b")][P("0x10f")].postRender.addEventListener(this[P("0x104")], this)) : this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this)
-                        }
-                        ,
-                        t.prototype.stop = function () {
-                            this.viewer[P("0x10f")][P("0x564")].removeEventListener(this[P("0x104")], this),
-                                this[P("0x13b")].entities[P("0xf5")](),
-                                this[P("0x10f")][P("0x17d")][P("0xf5")](),
-                                document[P("0x548")](P("0x549"), this[P("0x565")])
-                        }
-                        ,
-                        t[P("0x5")][P("0x53e")] = function () {
-                            var t = this;
-                            document.addEventListener("keydown", (function (i) {
-                                switch (i[P("0x566")]) {
-                                    case 40:
-                                        i[P("0x54a")] ? t[P("0x539")] = Math.max(--t.speed, 1) : (t[P("0x550")].pitch -= t[P("0x54b")],
-                                            t.hpRoll[P("0x80")] < -e[P("0x23")][P("0xab")] && (t[P("0x550")][P("0x80")] += e[P("0x23")][P("0xab")]));
-                                        break;
-                                    case 38:
-                                        i.shiftKey ? t[P("0x539")] = Math[P("0x7d")](++t[P("0x539")], 100) : (t[P("0x550")][P("0x80")] += t.deltaRadians,
-                                            t[P("0x550")][P("0x80")] > e.Math[P("0xab")] && (t[P("0x550")][P("0x80")] -= e[P("0x23")][P("0xab")]));
-                                        break;
-                                    case 39:
-                                        i.shiftKey ? (t[P("0x550")][P("0x81")] += t[P("0x54b")],
-                                            t[P("0x550")].roll > e[P("0x23")][P("0xab")] && (t[P("0x550")][P("0x81")] -= e[P("0x23")].TWO_PI)) : (t[P("0x550")][P("0x7f")] += t.deltaRadians,
-                                                t[P("0x550")][P("0x7f")] > e[P("0x23")].TWO_PI && (t.hpRoll[P("0x7f")] -= e[P("0x23")][P("0xab")]));
-                                        break;
-                                    case 37:
-                                        i[P("0x54a")] ? (t.hpRoll.roll -= t[P("0x54b")],
-                                            t.hpRoll.roll < 0 && (t[P("0x550")][P("0x81")] += e[P("0x23")][P("0xab")])) : (t[P("0x550")][P("0x7f")] -= t[P("0x54b")],
-                                                t[P("0x550")][P("0x7f")] < 0 && (t.hpRoll[P("0x7f")] += e[P("0x23")].TWO_PI))
-                                }
-                            }
-                            ))
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = e[P("0x567")] = function (t) {
-                        this[P("0x13b")] = t[P("0x13b")],
-                            this[P("0x568")] = t[P("0x568")],
-                            this[P("0x569")] = t.pointArray,
-                            this[P("0xe2")] = t[P("0xe2")],
-                            this[P("0x56a")] = t[P("0xe4")],
-                            this[P("0x539")] = t[P("0x539")],
-                            this.deltaHeight = e[P("0x102")](t[P("0x53d")], 10),
-                            this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
-                            this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
-                            this[P("0x56b")] = new (e[P("0x11")])(0, 0, 0),
-                            this[P("0x56c")] = [],
-                            this[P("0x565")] = null,
-                            this[P("0x2ec")] = [],
-                            this.bearing = [],
-                            this[P("0x56d")] = [],
-                            this[P("0x56e")] = [],
-                            this[P("0x56f")] = 0,
-                            this.VerticalRadians = 0,
-                            this.i = 0,
-                            this[P("0x53e")]()
-                    }
-                        ;
-                    t[P("0x5")][P("0x3f7")] = function () {
-                        for (var t = 0; t < this[P("0x569")][P("0x0")]; t++)
-                            this[P("0x2ec")][P("0x17c")](turf[P("0x2ec")](this[P("0x569")][t]));
-                        for (var i = 0; i < this[P("0x2ec")][P("0x0")] - 1; i++)
-                            this[P("0x11b")].push(turf[P("0x11b")](this[P("0x2ec")][i], this[P("0x2ec")][i + 1]));
-                        for (t = 0; t < this[P("0x11b")][P("0x0")]; t++)
-                            this.initialHeading[P("0x17c")](e.Math[P("0x119")](this[P("0x11b")][t]));
-                        for (var r = 0; r < this[P("0x11b")][P("0x0")] - 1; r++)
-                            this[P("0x11b")][r + 1] - this[P("0x11b")][r] < -180 ? (this[P("0x56d")][P("0x17c")](e[P("0x23")].toRadians(this[P("0x11b")][r + 1] - this.bearing[r] + 360)),
-                                this[P("0x56e")].push(e[P("0x23")][P("0x119")](this.bearing[r + 1] - this.bearing[r] + 360))) : 180 < this.bearing[r + 1] - this.bearing[r] ? (this.differentBearing[P("0x17c")](e[P("0x23")].toRadians(this[P("0x11b")][r + 1] - this[P("0x11b")][r] - 360)),
-                                    this.reduceBearing[P("0x17c")](e[P("0x23")][P("0x119")](Math[P("0x78")](this[P("0x11b")][r + 1] - this[P("0x11b")][r] - 360)))) : (this.differentBearing[P("0x17c")](e.Math[P("0x119")](this[P("0x11b")][r + 1] - this[P("0x11b")][r])),
-                                        this.reduceBearing[P("0x17c")](e[P("0x23")].toRadians(Math[P("0x78")](this.bearing[r + 1] - this[P("0x11b")][r]))))
-                    }
-                        ,
-                        t[P("0x5")][P("0x570")] = function () {
-                            this.viewer[P("0x571")][P("0x572")] = this[P("0xe2")].clone(),
-                                this.viewer[P("0x571")][P("0x573")] = this[P("0x56a")].clone(),
-                                this[P("0x13b")][P("0x571")].currentTime = this[P("0xe2")][P("0x6e")](),
-                                this[P("0x13b")].clock[P("0x574")] = e.ClockRange[P("0x575")]
-                        }
-                        ,
-                        t[P("0x5")][P("0x576")] = function (t) {
-                            for (var i = new (e[P("0x554")]), r = 0; r < t[P("0x0")]; r++) {
-                                var n = e[P("0x560")][P("0x577")](this.start, r, new (e[P("0x560")]))
-                                    , o = e[P("0x11")][P("0x3d0")](Number(t[r][0]), Number(t[r][1]), Number(t[r][2]));
-                                i[P("0x55f")](n, o),
-                                    this[P("0x13b")][P("0x194")][P("0x6d")]({
-                                        position: o,
-                                        point: {
-                                            pixelSize: 2,
-                                            color: e.Color[P("0x578")],
-                                            outlineColor: e[P("0x16a")][P("0x2d5")],
-                                            outlineWidth: 2
-                                        }
-                                    })
-                            }
-                            return i
-                        }
-                        ,
-                        t[P("0x5")][P("0x104")] = function () {
-                            if (this[P("0x568")]) {
-                                var t = this[P("0x576")](this.cartographicArray)
-                                    , i = this[P("0x13b")][P("0x194")][P("0x6d")]({
-                                        availability: new e.TimeIntervalCollection([new (e[P("0x579")])({
-                                            start: this[P("0xe2")],
-                                            stop: this[P("0x56a")]
-                                        })]),
-                                        position: t
-                                    });
-                                this[P("0x56b")] = i[P("0x8c")][P("0x512")](this[P("0x13b")][P("0x571")][P("0x57a")]);
-                                var r = this[P("0x10f")][P("0xa3")][P("0xef")];
-                                if (null == this[P("0x56b")])
-                                    this[P("0x13b")][P("0x571")][P("0x57b")] = 0,
-                                        document[P("0x548")]("keydown", this.keydownOption),
-                                        this[P("0x13b")][P("0x10f")].postRender[P("0x548")](this[P("0x104")]);
-                                else {
-                                    var n = r[P("0xd6")](this[P("0x56b")])
-                                        , o = Math.floor(1e5 * e[P("0x23")][P("0x113")](n[P("0x114")])) / 1e5
-                                        , a = Math[P("0x3e8")](1e5 * e[P("0x23")].toDegrees(n[P("0x112")])) / 1e5
-                                        , s = (Math[P("0x3e8")](1e5 * n[P("0x8b")]),
-                                            1e3 * turf[P("0x8e")](turf[P("0x2ec")](this[P("0x569")][this.i + 1]), turf[P("0x2ec")]([a, o, 0])))
-                                        , x = turf.distance(turf[P("0x2ec")](this.pointArray[this.i]), turf[P("0x2ec")](this[P("0x569")][this.i + 1]));
-                                    s <= 1 * (50 + this[P("0x53d")]) / 10 ? (this[P("0x7e")].setView({
-                                        destination: e[P("0x11")][P("0x1a1")](e[P("0x23")][P("0x113")](this.cartographicArray[this.i + 1][0]), e[P("0x23")][P("0x113")](this[P("0x568")][this.i + 1][1]), 50 + this[P("0x53d")]),
-                                        orientation: {
-                                            heading: this.initialHeading[this.i] + this.HorizontalRadian,
-                                            pitch: e[P("0x23")].toRadians(0) + this[P("0x57c")],
-                                            roll: 0
-                                        }
-                                    }),
-                                        this[P("0x13b")][P("0x571")][P("0x57b")] = 0,
-                                        this.i < this.reduceBearing[P("0x0")] ? this[P("0x56e")][this.i] < 1e-5 ? (this[P("0x56f")] = 0,
-                                            this.i += 1,
-                                            this[P("0x13b")][P("0x571")][P("0x57b")] = this[P("0x539")]) : (this[P("0x56f")] += this[P("0x56d")][this.i] / 200,
-                                                this[P("0x56e")][this.i] -= Math[P("0x78")](this[P("0x56d")][this.i] / 200)) : (this[P("0x13b")][P("0x571")][P("0x57b")] = 0,
-                                                    document[P("0x548")]("keydown", this[P("0x565")]),
-                                                    this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this))) : (this[P("0x7e")].setView({
-                                                        destination: e[P("0x11")].fromDegrees(e[P("0x23")].toDegrees(n[P("0x112")]), e[P("0x23")][P("0x113")](n[P("0x114")]), 50 + this[P("0x53d")]),
-                                                        orientation: {
-                                                            heading: this[P("0x56c")][this.i],
-                                                            pitch: e[P("0x23")][P("0x119")](0) + this[P("0x57c")],
-                                                            roll: 0
-                                                        }
-                                                    }),
-                                                        this[P("0x13b")][P("0x571")][P("0x57b")] = 1 < x ? this[P("0x539")] * (1 / x) : this[P("0x539")] * (1 - x))
-                                }
-                            }
-                        }
-                        ,
-                        t.prototype.play = function () {
-                            this[P("0x570")](),
-                                this.init(),
-                                this[P("0x10f")][P("0x564")][P("0x130")](this.animation, this)
-                        }
-                        ,
-                        t[P("0x5")].pause = function () {
-                            this[P("0x10f")].postRender[P("0x548")](this[P("0x104")], this)
-                        }
-                        ,
-                        t[P("0x5")].continue = function () {
-                            this.scene[P("0x564")][P("0x548")](this[P("0x104")], this),
-                                this[P("0x10f")][P("0x564")][P("0x130")](this[P("0x104")], this)
-                        }
-                        ,
-                        t[P("0x5")][P("0xe4")] = function () {
-                            this.scene.postRender.removeEventListener(this[P("0x104")], this),
-                                this[P("0x13b")][P("0x194")][P("0xf5")](),
-                                document[P("0x548")]("keydown", this.keydownOption),
-                                this[P("0x13b")] = null,
-                                this[P("0x568")] = null,
-                                this[P("0x569")] = null,
-                                this[P("0xe2")] = null,
-                                this[P("0x56a")] = null,
-                                this.speed = null,
-                                this.scene = null,
-                                this[P("0x7e")] = null,
-                                this[P("0x56b")] = new (e[P("0x11")])(0, 0, 0),
-                                this[P("0x56c")] = [],
-                                this[P("0x565")] = null,
-                                this.point = [],
-                                this[P("0x11b")] = [],
-                                this[P("0x56d")] = [],
-                                this[P("0x56e")] = [],
-                                this[P("0x53d")] = e[P("0x102")](this[P("0x53d")], 10),
-                                this[P("0x56f")] = 0,
-                                this[P("0x57c")] = 0,
-                                this.i = 0
-                        }
-                        ,
-                        t.prototype.reset = function (t) {
-                            this.viewer && (this[P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this),
-                                this.cartesian3 = new (e[P("0x11")])(0, 0, 0),
-                                this[P("0x56c")] = [],
-                                this.keydownOption = null,
-                                this[P("0x2ec")] = [],
-                                this[P("0x11b")] = [],
-                                this[P("0x56d")] = [],
-                                this[P("0x56e")] = [],
-                                this.deltaHeight = e[P("0x102")](this.deltaHeight, 10),
-                                this.HorizontalRadian = 0,
-                                this[P("0x57c")] = 0,
-                                this.i = 0,
-                                this[P("0x543")]())
-                        }
-                        ,
-                        t.prototype[P("0x53e")] = function () {
-                            var e = this;
-                            this[P("0x565")] = function (t) {
-                                switch (t[P("0x566")]) {
-                                    case 40:
-                                        t[P("0x54a")] ? --e[P("0x53d")] : e[P("0x57c")] -= .01;
-                                        break;
-                                    case 38:
-                                        t.shiftKey ? e[P("0x53d")] += 1 : e[P("0x57c")] += .01
-                                }
-                            }
-                                ,
-                                document[P("0x130")](P("0x549"), this[P("0x565")])
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = e[P("0x57d")] = function (e) {
-                        this[P("0x13b")] = e.viewer,
-                            this[P("0x569")] = e.pointArray,
-                            this[P("0x57e")] = [],
-                            this[P("0x57f")] = turf[P("0x2ec")](this[P("0x569")][0]),
-                            this[P("0x580")] = turf[P("0x2ec")](this[P("0x569")][1]),
-                            this[P("0x581")] = turf[P("0x2ec")](this.pointArray[2]),
-                            this[P("0x582")] = turf[P("0x11b")](this[P("0x57f")], this[P("0x580")]),
-                            this[P("0x583")] = turf[P("0x11b")](this.point2, this[P("0x581")]),
-                            this.drawMarker(),
-                            this[P("0x3f7")]()
-                    }
-                        ;
-                    t[P("0x5")].animation = function () {
-                        var t = this.viewer[P("0x10f")][P("0xa3")][P("0xef")]
-                            , i = this[P("0x13b")].camera[P("0x8c")]
-                            , r = t[P("0xd6")](i)
-                            , n = Math[P("0x3e8")](1e5 * e[P("0x23")].toDegrees(r.latitude)) / 1e5
-                            , o = Math[P("0x3e8")](1e5 * e.Math[P("0x113")](r.longitude)) / 1e5;
-                        o == this[P("0x569")][1][0] && n == this[P("0x569")][1][1] ? (this[P("0x57e")][P("0x17c")](e[P("0x23")].toDegrees(this[P("0x13b")].camera[P("0x7f")])),
-                            1e-12 <= this[P("0x583")] - e[P("0x23")].toDegrees(this.viewer[P("0x7e")].heading) ? (this[P("0x13b")][P("0x7e")][P("0x584")](0),
-                                this.viewer[P("0x7e")][P("0x585")](e[P("0x23")][P("0x119")]((this[P("0x583")] - this[P("0x57e")][0]) / 200))) : (this[P("0x57e")] = [],
-                                    this[P("0x13b")][P("0x7e")][P("0x9c")]({
-                                        destination: e.Cartesian3[P("0x1a1")](this[P("0x569")][1][0], this[P("0x569")][1][1], this[P("0x569")][1][2]),
-                                        orientation: {
-                                            heading: e.Math[P("0x119")](this[P("0x583")]),
-                                            pitch: e[P("0x23")][P("0x119")](0)
-                                        }
-                                    }),
-                                    this.viewer[P("0x7e")][P("0x584")](this.viewer[P("0x571")][P("0x57b")]))) : -1e-5 < o - this[P("0x569")][2][0] && -1e-5 < n - this[P("0x569")][2][1] ? this[P("0x13b")][P("0x7e")][P("0x584")](0) : this[P("0x13b")][P("0x7e")].moveForward(this[P("0x13b")][P("0x571")][P("0x57b")])
-                    }
-                        ,
-                        t[P("0x5")][P("0x3f7")] = function () {
-                            this.viewer[P("0x7e")].setView({
-                                destination: e.Cartesian3[P("0x1a1")](this[P("0x569")][0][0], this[P("0x569")][0][1], this[P("0x569")][0][2]),
-                                orientation: {
-                                    heading: e[P("0x23")].toRadians(this.bearing1),
-                                    pitch: e.Math[P("0x119")](0)
-                                }
-                            })
-                        }
-                        ,
-                        t.prototype.drawMarker = function () {
-                            this[P("0x13b")].entities.add({
-                                position: e[P("0x11")][P("0x1a1")](this[P("0x569")][1][0], this[P("0x569")][1][1]),
-                                point: {
-                                    pixelSize: 2,
-                                    color: e[P("0x16a")][P("0x578")],
-                                    outlineColor: e[P("0x16a")][P("0x2d5")],
-                                    outlineWidth: 2
-                                }
-                            }),
-                                this[P("0x13b")][P("0x194")][P("0x6d")]({
-                                    position: e.Cartesian3.fromDegrees(this[P("0x569")][2][0], this[P("0x569")][2][1]),
-                                    point: {
-                                        pixelSize: 2,
-                                        color: e[P("0x16a")][P("0x578")],
-                                        outlineColor: e[P("0x16a")].RED,
-                                        outlineWidth: 2
-                                    }
-                                })
-                        }
-                        ,
-                        t[P("0x5")].play = function () {
-                            0 == this[P("0x13b")][P("0x194")][P("0x430")][P("0x0")] && this.drawMarker(),
-                                this[P("0x13b")][P("0x10f")].postRender[P("0x548")](this.animation, this),
-                                this[P("0x13b")].camera[P("0x9c")]({
-                                    destination: e[P("0x11")][P("0x1a1")](this[P("0x569")][0][0], this[P("0x569")][0][1], this[P("0x569")][0][2]),
-                                    orientation: {
-                                        heading: e[P("0x23")].toRadians(this[P("0x582")]),
-                                        pitch: e.Math.toRadians(0)
-                                    }
-                                }),
-                                this[P("0x13b")].scene[P("0x564")][P("0x130")](this.animation, this)
-                        }
-                        ,
-                        t.prototype[P("0x546")] = function () {
-                            this.viewer.scene[P("0x564")].removeEventListener(this[P("0x104")], this)
-                        }
-                        ,
-                        t.prototype[P("0x547")] = function () {
-                            0 != this[P("0x13b")][P("0x194")]._entities[P("0x0")] ? (this[P("0x13b")][P("0x10f")][P("0x564")].removeEventListener(this[P("0x104")], this),
-                                this[P("0x13b")][P("0x10f")][P("0x564")].addEventListener(this.animation, this)) : this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this)
-                        }
-                        ,
-                        t[P("0x5")].stop = function () {
-                            this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this),
-                                this.viewer[P("0x194")].removeAll(),
-                                this[P("0x3f7")]()
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x586")] = function (t) {
-                        if (t[P("0x13b")] && t[P("0x587")] && t[P("0x588")] && t[P("0x0")] && t.position) {
-                            this[P("0x589")] = e[P("0x102")](t[P("0x58a")], 1),
-                                this[P("0x58b")] = e[P("0x102")](t[P("0x58c")], new (e[P("0x16a")])(.5, .8, 1, 1)),
-                                this[P("0x58d")] = e.defaultValue(t[P("0x58e")], 0),
-                                this[P("0x58f")] = e.defaultValue(t[P("0x590")], 0),
-                                this._rotationZPerFrame = e[P("0x102")](t[P("0x591")], 0),
-                                this[P("0x592")] = e[P("0x102")](t.instanceName, "GeoCirclePipe"),
-                                this._startRadian = e.defaultValue(t.startRadian, 0),
-                                this._endRadian = e[P("0x102")](t[P("0x593")], 2 * Math.PI),
-                                this[P("0x594")] = !1,
-                                t.image ? (this._useImage = !0,
-                                    this[P("0x595")] = t[P("0x475")]) : (this._useImage = !1,
-                                        this[P("0x596")] = e[P("0x102")](t[P("0x169")], new e.Color(1, 0, 0, 1))),
-                                this[P("0x13c")] = t[P("0x13b")],
-                                this[P("0x306")] = this[P("0x13c")][P("0x10f")][P("0x17d")],
-                                t[P("0x8c")][P("0x0")] <= 2 && (t[P("0x8c")][2] = 0);
-                            var r, n, o = e[P("0x11")][P("0x1a1")](t[P("0x8c")][0], t[P("0x8c")][1], t[P("0x8c")][2]);
-                            n = this._useImage ? i(t.image, this[P("0x58b")]) : (r = this[P("0x596")],
-                                new (e[P("0x212")])({
-                                    fabric: {
-                                        type: "Color",
-                                        uniforms: {
-                                            color: r,
-                                            transparent: !0
-                                        }
-                                    }
-                                }));
-                            var a = e.Matrix4[P("0x597")](e.Transforms[P("0xbf")](o), new (e[P("0x11")])(0, 0, 0), new (e[P("0x1b")]))
-                                , s = new (e[P("0x598")])({
-                                    length: t[P("0x0")],
-                                    topRadius: t[P("0x587")],
-                                    bottomRadius: t[P("0x588")],
-                                    startRadian: this[P("0x599")],
-                                    endRadian: this[P("0x59a")]
-                                })
-                                , x = new (e[P("0x179")])({
-                                    geometry: s,
-                                    modelMatrix: a,
-                                    id: this[P("0x592")]
-                                })
-                                , l = new (e[P("0x226")])({
-                                    geometryInstances: x,
-                                    appearance: new (e[P("0x59b")])({
-                                        material: n,
-                                        renderState: {
-                                            depthTest: {
-                                                enabled: !1
-                                            }
-                                        }
-                                    })
-                                });
-                            l[P("0x59c")] = !0,
-                                this._primitives[P("0x6d")](l),
-                                this._circlePipePrimitive = l,
-                                this._viewer.clock[P("0x59d")][P("0x130")](this[P("0x59e")], this)
-                        }
-                    }
-                        ;
-                    function i(t, i) {
-                        return new e.Material({
-                            fabric: {
-                                type: P("0x5a5"),
-                                uniforms: {
-                                    image: t,
-                                    color: i,
-                                    transparent: !0
-                                }
-                            }
-                        })
-                    }
-                    t[P("0x5")][P("0x59e")] = function (t) {
-                        if (this[P("0x59f")]) {
-                            var i = this[P("0x59f")][P("0x4ac")]
-                                , r = e[P("0x1b")].getTranslation(i, new e.Cartesian3);
-                            if (0 != r.x || 0 != r.y || 0 != r.z) {
-                                var n = e.Matrix3[P("0x5a0")](e[P("0x23")].toRadians(this._rotationXPerFrame))
-                                    , o = e[P("0x1a")][P("0x5a1")](e.Math[P("0x119")](this[P("0x58f")]))
-                                    , a = e[P("0x1a")][P("0x5a2")](e[P("0x23")][P("0x119")](this[P("0x5a3")]));
-                                e[P("0x1b")].multiplyByMatrix3(i, n, i),
-                                    e[P("0x1b")].multiplyByMatrix3(i, o, i),
-                                    e[P("0x1b")][P("0x5a4")](i, a, i)
-                            }
-                        }
-                    }
-                        ,
-                        t.prototype[P("0xf4")] = function () {
-                            this[P("0x13c")][P("0x571")][P("0x59d")].removeEventListener(this[P("0x59e")]),
-                                this._primitives[P("0x17f")](this[P("0x59f")])
-                        }
-                        ,
-                        e[P("0xf")](t.prototype, {
-                            rotationXPerFrame: {
-                                get: function () {
-                                    return this[P("0x58d")]
-                                },
-                                set: function (e) {
-                                    this._rotationXPerFrame = e
-                                }
-                            },
-                            rotationYPerFrame: {
-                                get: function () {
-                                    return this[P("0x590")]
-                                },
-                                set: function (e) {
-                                    this[P("0x58f")] = e
-                                }
-                            },
-                            rotationZPerFrame: {
-                                get: function () {
-                                    return this[P("0x5a3")]
-                                },
-                                set: function (e) {
-                                    this._rotationZPerFrame = e
-                                }
-                            },
-                            image: {
-                                get: function () {
-                                    return this[P("0x595")]
-                                },
-                                set: function (e) {
-                                    this[P("0x595")] = e,
-                                        this[P("0x59f")][P("0x16d")][P("0x19c")] = i(e, this[P("0x58b")])
-                                }
-                            },
-                            imageColor: {
-                                get: function () {
-                                    return this[P("0x58b")]
-                                },
-                                set: function (e) {
-                                    this._imageColor = e,
-                                        this._circlePipePrimitive[P("0x16d")][P("0x19c")] = i(this[P("0x595")], e)
-                                }
-                            },
-                            instanceName: {
-                                get: function () {
-                                    return this[P("0x592")]
-                                }
-                            }
-                        })
-                }(window.Cesium),
-                function (e) {
-                    var t = e.GeoCirclePipeCollection = function (t) {
-                        if (t[P("0x13b")] && t[P("0x587")] && t[P("0x588")] && t[P("0x0")] && t.position && t[P("0x5a6")] && !(t[P("0x5a6")] <= 0)) {
-                            this._circlePipeCollection = [],
-                                this[P("0x58b")] = e[P("0x102")](t[P("0x58c")], new (e[P("0x16a")])(.5, .8, 1, 1)),
-                                this[P("0x13c")] = t.viewer,
-                                this._onMouseEnter = t[P("0x5a7")],
-                                this._onMouseLeave = t[P("0x5a8")],
-                                this[P("0x5a9")] = t[P("0x5aa")],
-                                this[P("0x5ab")] = void 0,
-                                this._rotationXPerFrame = e[P("0x102")](t[P("0x58e")], 0),
-                                this[P("0x58f")] = e[P("0x102")](t[P("0x590")], 0),
-                                this[P("0x5a3")] = e.defaultValue(t[P("0x591")], 0),
-                                this[P("0x5ac")] = new e.ScreenSpaceEventHandler(this[P("0x13c")][P("0x10f")][P("0x48")]),
-                                this[P("0x5ad")] = new (e[P("0x15f")])(this[P("0x13c")][P("0x10f")].canvas);
-                            for (var r = 2 * Math.PI, n = t[P("0x5a6")], o = r / n, a = 0; a < n; a++) {
-                                var s = a * o
-                                    , x = (a + 1) * o
-                                    , l = new e.GeoCirclePipe({
-                                        viewer: t[P("0x13b")],
-                                        topRadius: t.topRadius,
-                                        bottomRadius: t[P("0x588")],
-                                        length: t[P("0x0")],
-                                        image: t[P("0x5ae")][a],
-                                        imageColor: this[P("0x58b")],
-                                        position: t[P("0x8c")],
-                                        rotationZPerFrame: this[P("0x5a3")],
-                                        rotationXPerFrame: this._rotationXPerFrame,
-                                        rotationYPerFrame: this[P("0x58f")],
-                                        instanceName: t[P("0x5af")][a],
-                                        startRadian: s,
-                                        endRadian: x
-                                    });
-                                this[P("0x5b0")][P("0x17c")](l)
-                            }
-                            var c = this;
-                            this[P("0x5ad")].setInputAction((function (e) {
-                                if (c._onMouseLeftClick) {
-                                    var t = c[P("0x13c")][P("0x10f")][P("0xa4")](e[P("0x8c")]);
-                                    if (t) {
-                                        var r = i(t.id, c._circlePipeCollection);
-                                        c[P("0x5a9")](r)
-                                    }
-                                }
-                            }
-                            ), e[P("0x161")][P("0x17e")]),
-                                this[P("0x5ac")].setInputAction((function (e) {
-                                    if (c[P("0x5b1")] || c[P("0x5b2")]) {
-                                        var t = c[P("0x13c")].scene[P("0xa4")](e[P("0x64")]);
-                                        if (t) {
-                                            var r = i(t.id, c[P("0x5b0")]);
-                                            r ? (c[P("0x5b1")] && (c[P("0x5ab")] && (c[P("0x5b2")](c._previousEnter),
-                                                c[P("0x5ab")] = void 0),
-                                                c[P("0x5b1")](r)),
-                                                c[P("0x5ab")] = r) : (c[P("0x5ab")] && c[P("0x5b2")] && c[P("0x5b2")](c[P("0x5ab")]),
-                                                    c._previousEnter = void 0)
-                                        }
-                                    }
-                                }
-                                ), e[P("0x161")][P("0x163")])
-                        }
-                    }
-                        ;
-                    function i(e, t) {
-                        for (var i = 0; i < t[P("0x0")]; i++) {
-                            var r = t[i];
-                            if (r[P("0x5b3")] == e)
-                                return r
-                        }
-                    }
-                    t[P("0x5")][P("0xf4")] = function () {
-                        for (var e = 0; e < this[P("0x5b0")][P("0x0")]; e++)
-                            this[P("0x5b0")][e][P("0xf4")]();
-                        this[P("0x5b0")][P("0x0")] = 0,
-                            this[P("0x5ac")][P("0xf4")](),
-                            this[P("0x5ad")][P("0xf4")](),
-                            this[P("0x5ac")] = void 0,
-                            this[P("0x5ad")] = void 0
-                    }
-                        ,
-                        e[P("0xf")](t[P("0x5")], {
-                            rotationXPerFrame: {
-                                get: function () {
-                                    return this[P("0x58d")]
-                                },
-                                set: function (e) {
-                                    this[P("0x58d")] = e;
-                                    for (var t = 0; t < this[P("0x5b0")][P("0x0")]; t++)
-                                        this[P("0x5b0")][t].rotationXPerFrame = e
-                                }
-                            },
-                            rotationYPerFrame: {
-                                get: function () {
-                                    return this[P("0x590")]
-                                },
-                                set: function (e) {
-                                    this[P("0x58f")] = e;
-                                    for (var t = 0; t < this[P("0x5b0")][P("0x0")]; t++)
-                                        this[P("0x5b0")][t][P("0x590")] = e
-                                }
-                            },
-                            rotationZPerFrame: {
-                                get: function () {
-                                    return this[P("0x5a3")]
-                                },
-                                set: function (e) {
-                                    this._rotationZPerFrame = e;
-                                    for (var t = 0; t < this[P("0x5b0")].length; t++)
-                                        this[P("0x5b0")][t].rotationZPerFrame = e
-                                }
-                            }
-                        })
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e.GeoCylinderApertureSpreadEffect = function (t) {
-                        t = t || {};
-                        var i = e[P("0x13")][P("0x1a1")].apply(this, t[P("0x11a")]);
-                        this[P("0x5b4")] = e[P("0x11")].fromRadians(i[P("0x112")], i[P("0x114")], i[P("0x8b")]),
-                            this._maxRadius = t[P("0x181")],
-                            this._height = t.height,
-                            this[P("0x5b5")] = null,
-                            this[P("0x5b6")] = null,
-                            this[P("0x5b7")] = !1,
-                            this[P("0x5b8")] = null,
-                            this[P("0x4a4")] = null,
-                            this._color = t[P("0x169")] ? t[P("0x169")][P("0x6e")]() : new e.Color(.5, .8, 1, 1),
-                            this[P("0x5b9")] = t[P("0x539")] ? t[P("0x539")] : 1,
-                            this[P("0x5b9")] *= 4,
-                            this[P("0x5ba")] = !t.actived || t[P("0x5bb")],
-                            this._time = 0,
-                            this[P("0x5bc")] = 0,
-                            this._life = this[P("0x5bd")] / this[P("0x5b9")],
-                            this[P("0x5be")] = 2 * this[P("0x217")] / this[P("0x5bf")],
-                            this._modelTransform = null,
-                            this[P("0x5c0")] = t.metallicFactor ? t[P("0x5c1")] : .115,
-                            this[P("0x5c2")] = t[P("0x5c3")] ? t.roughnessFactor : .918,
-                            this[P("0x5c4")] = t[P("0x5c5")] ? t[P("0x5c5")][P("0x6e")]() : new (e[P("0x11")])(.6, .6, .6),
-                            this[P("0x5c6")]()
-                    }
-                        ;
-                    e[P("0xf")](t[P("0x5")], {
-                        actived: {
-                            get: function () {
-                                return this[P("0x5ba")]
-                            },
-                            set: function (e) {
-                                this[P("0x5ba")] = e
-                            }
-                        }
-                    }),
-                        t[P("0x5")][P("0x5c6")] = function () {
-                            this[P("0x5c7")] = e[P("0x1f")][P("0xbf")](this[P("0x5b4")])
-                        }
-                        ,
-                        t[P("0x5")][P("0xd2")] = function (e) {
-                            if (this._actived && (this[P("0x5c8")](),
-                                this._fetchGeometry(e),
-                                this[P("0x5c9")](e),
-                                this[P("0x5b5")] && this[P("0x5b8")])) {
-                                var t = e[P("0x5ca")];
-                                t[P("0x17c")](this[P("0x5b5")]),
-                                    t[P("0x17c")](this[P("0x5b6")])
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0xf4")] = function () {
-                            this[P("0x5ba")] = !1,
-                                this._va && (this[P("0x5b8")][P("0xf4")](),
-                                    this[P("0x5b8")] = null),
-                                this[P("0x5b5")] && (this[P("0x5b5")][P("0x5cb")] = null,
-                                    this[P("0x5b5")][P("0x5cc")] && (this._drawCommandAlpha[P("0x5cc")][P("0xf4")](),
-                                        this[P("0x5b5")][P("0x5cc")] = null),
-                                    this._drawCommandAlpha.owner = null,
-                                    this[P("0x5b5")] = null),
-                                this._drawCommandOpaque && (this[P("0x5b6")][P("0x5cb")] = null,
-                                    this[P("0x5b6")].shaderProgram && (this._drawCommandOpaque[P("0x5cc")].destroy(),
-                                        this[P("0x5b6")][P("0x5cc")] = null),
-                                    this[P("0x5b6")][P("0x5cd")] = null,
-                                    this._drawCommandOpaque = null)
-                        }
-                        ,
-                        t[P("0x5")]._fetchGeometry = function (e) {
-                            this[P("0x5ce")](e)
-                        }
-                        ,
-                        t[P("0x5")][P("0x5c8")] = function () {
-                            this[P("0x5cf")] >= this[P("0x5bf")] && (this[P("0x5cf")] = 0);
-                            var t = e[P("0x5d0")]() / 1e3;
-                            0 < this[P("0x5bc")] ? (this._time += t - this[P("0x5bc")],
-                                this[P("0x5bc")] = t,
-                                this[P("0x5cf")] > this[P("0x5bf")] && (this[P("0x5cf")] = this._life)) : this[P("0x5bc")] = t
-                        }
-                        ,
-                        t[P("0x5")][P("0x5c9")] = function (e) {
-                            this[P("0x5d1")](e),
-                                this[P("0x5d2")](e)
-                        }
-                        ,
-                        t.prototype[P("0x5d1")] = function (t) {
-                            var s = t.context
-                                , x = this;
-                            if (!this[P("0x5b5")]) {
-                                var l = this[P("0x5b5")] = new (e[P("0x5d3")]);
-                                l[P("0x5d4")] = e.Pass.TRANSLUCENT,
-                                    l[P("0x5cd")] = this,
-                                    l[P("0x4ac")] = this[P("0x5c7")],
-                                    l[P("0x5d5")] = e[P("0x5d6")][P("0x5d7")]({
-                                        cull: {
-                                            enabled: !1
-                                        },
-                                        depthTest: {
-                                            enabled: !0,
-                                            func: e[P("0x5d8")][P("0x5d9")]
-                                        },
-                                        depthMask: !1,
-                                        blending: e[P("0x5da")][P("0x5db")]
-                                    }),
-                                    l[P("0x5cc")] = e[P("0x5dc")][P("0x5d7")]({
-                                        context: s,
-                                        defines: [P("0x5dd")],
-                                        vertexShaderSource: o,
-                                        fragmentShaderSource: a,
-                                        attributeLocations: {
-                                            aPoint: 0,
-                                            aNormal: 1,
-                                            aT: 2
-                                        }
-                                    }),
-                                    l[P("0x5de")] = {
-                                        u_color: function () {
-                                            return x[P("0x596")]
-                                        },
-                                        u_metallicFactor: function () {
-                                            return x[P("0x5c0")]
-                                        },
-                                        u_roughnessFactor: function () {
-                                            return x[P("0x5c2")]
-                                        },
-                                        u_emissiveFactor: function () {
-                                            return x[P("0x5c4")]
-                                        },
-                                        u_normalMatrix: function () {
-                                            return e[P("0x1b")][P("0x5df")](t[P("0x7e")][P("0x5e0")], x[P("0x5c7")], i),
-                                                e[P("0x1b")][P("0x4e2")](i, r),
-                                                e[P("0x1b")][P("0x5e1")] ? e[P("0x1b")][P("0x5e1")](r, n) : e.Matrix4[P("0x5e2")] ? e.Matrix4[P("0x5e2")](r, n) : (n[0] = r[0],
-                                                    n[1] = r[1],
-                                                    n[2] = r[2],
-                                                    n[3] = r[4],
-                                                    n[4] = r[5],
-                                                    n[5] = r[6],
-                                                    n[6] = r[8],
-                                                    n[7] = r[9],
-                                                    n[8] = r[10]),
-                                                e[P("0x1a")][P("0x5e3")](n, n)
-                                        }
-                                    }
-                            }
-                            this[P("0x5b5")][P("0x5cb")] = this[P("0x5b8")],
-                                this[P("0x5b5")].boundingVolume = this[P("0x4a4")]
-                        }
-                        ;
-                    var i = new (e[P("0x1b")])
-                        , r = new (e[P("0x1b")])
-                        , n = new (e[P("0x1a")]);
-                    t[P("0x5")][P("0x5d2")] = function (t) {
-                        var a = t.context
-                            , x = this;
-                        if (!this[P("0x5b6")]) {
-                            var l = this._drawCommandOpaque = new (e[P("0x5d3")]);
-                            l[P("0x5d4")] = e[P("0x5e4")][P("0x5e5")],
-                                l[P("0x5cd")] = this,
-                                l.modelMatrix = this._modelTransform,
-                                l.renderState = e[P("0x5d6")][P("0x5d7")]({
-                                    cull: {
-                                        enabled: !1
-                                    },
-                                    depthTest: {
-                                        enabled: !0,
-                                        func: e[P("0x5d8")].LEQUAL
-                                    },
-                                    depthMask: !1
-                                }),
-                                l[P("0x5cc")] = e[P("0x5dc")][P("0x5d7")]({
-                                    context: a,
-                                    defines: ["HDR"],
-                                    vertexShaderSource: o,
-                                    fragmentShaderSource: s,
-                                    attributeLocations: {
-                                        aPoint: 0,
-                                        aNormal: 1,
-                                        aT: 2
-                                    }
-                                }),
-                                l[P("0x5de")] = {
-                                    u_color: function () {
-                                        return x._color
-                                    },
-                                    u_metallicFactor: function () {
-                                        return x[P("0x5c0")]
-                                    },
-                                    u_roughnessFactor: function () {
-                                        return x._roughnessFactor
-                                    },
-                                    u_emissiveFactor: function () {
-                                        return x._emissiveFactor
-                                    },
-                                    u_normalMatrix: function () {
-                                        return e[P("0x1b")][P("0x5df")](t[P("0x7e")][P("0x5e0")], x[P("0x5c7")], i),
-                                            e[P("0x1b")][P("0x4e2")](i, r),
-                                            e.Matrix4[P("0x5e1")] ? e.Matrix4[P("0x5e1")](r, n) : e.Matrix4[P("0x5e2")] ? e[P("0x1b")][P("0x5e2")](r, n) : (n[0] = r[0],
-                                                n[1] = r[1],
-                                                n[2] = r[2],
-                                                n[3] = r[4],
-                                                n[4] = r[5],
-                                                n[5] = r[6],
-                                                n[6] = r[8],
-                                                n[7] = r[9],
-                                                n[8] = r[10]),
-                                            e[P("0x1a")][P("0x5e3")](n, n)
-                                    }
-                                }
-                        }
-                        this[P("0x5b6")][P("0x5cb")] = this._va,
-                            this[P("0x5b6")][P("0x4bc")] = this[P("0x4a4")]
-                    }
-                        ,
-                        t[P("0x5")]._updateVA = function (t) {
-                            this[P("0x5b8")] && (this._va[P("0xf4")](),
-                                this[P("0x5b8")] = null);
-                            var i = e[P("0x23")][P("0xab")]
-                                , r = this[P("0x5cf")] * this[P("0x5b9")];
-                            if (!(r < 1e-5)) {
-                                var n = 0;
-                                if (this[P("0x5cf")] / this[P("0x5bf")] < .5)
-                                    n = this[P("0x5be")] * this[P("0x5cf")];
-                                else {
-                                    var o = this._life - this[P("0x5cf")];
-                                    n = this[P("0x5be")] * o
-                                }
-                                var a = this[P("0x5e6")](r);
-                                if (!(n < 1e-5)) {
-                                    for (var s, x, l, c, u = t.context, h = i / a, f = 2 * a, d = 3 * f, g = e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 3 * f), p = e.ComponentDatatype.createTypedArray(e[P("0x5e8")][P("0x5e9")], 3 * f), m = e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")][P("0x5e9")], f), b = e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")].UNSIGNED_SHORT, d), v = 0, C = 0, y = 0, _ = 0, A = 0; A < a; A++)
-                                        s = A * h,
-                                            x = r * Math.cos(s),
-                                            l = r * Math.sin(s),
-                                            c = 0,
-                                            g[v++] = x,
-                                            g[v++] = l,
-                                            g[v++] = c,
-                                            p[C++] = x,
-                                            p[C++] = l,
-                                            p[C++] = 0,
-                                            m[y++] = 0,
-                                            c = n,
-                                            g[v++] = x,
-                                            g[v++] = l,
-                                            g[v++] = c,
-                                            p[C++] = x,
-                                            p[C++] = l,
-                                            p[C++] = 0,
-                                            b[_++] = 2 * A,
-                                            b[_++] = (A + 1) % a * 2,
-                                            b[_++] = 2 * A + 1,
-                                            b[_++] = 2 * A + 1,
-                                            b[_++] = (A + 1) % a * 2,
-                                            b[_++] = (A + 1) % a * 2 + 1,
-                                            m[y++] = 1;
-                                    var I = e[P("0x5ea")][P("0x5eb")]({
-                                        context: u,
-                                        typedArray: g,
-                                        usage: e.BufferUsage[P("0x4d6")]
-                                    })
-                                        , w = [];
-                                    w[P("0x17c")]({
-                                        index: 0,
-                                        vertexBuffer: I,
-                                        componentsPerAttribute: 3,
-                                        componentDatatype: e.ComponentDatatype[P("0x5e9")],
-                                        offsetInBytes: 0,
-                                        strideInBytes: 12,
-                                        normalize: !1
-                                    });
-                                    var G = e[P("0x5ea")].createVertexBuffer({
-                                        context: u,
-                                        typedArray: p,
-                                        usage: e[P("0x4d5")][P("0x4d6")]
-                                    });
-                                    w[P("0x17c")]({
-                                        index: 1,
-                                        vertexBuffer: G,
-                                        componentsPerAttribute: 3,
-                                        componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                        offsetInBytes: 0,
-                                        strideInBytes: 12,
-                                        normalize: !1
-                                    });
-                                    var E = e[P("0x5ea")][P("0x5eb")]({
-                                        context: u,
-                                        typedArray: m,
-                                        usage: e[P("0x4d5")][P("0x4d6")]
-                                    });
-                                    w.push({
-                                        index: 2,
-                                        vertexBuffer: E,
-                                        componentsPerAttribute: 1,
-                                        componentDatatype: e[P("0x5e8")].FLOAT,
-                                        offsetInBytes: 0,
-                                        strideInBytes: 4,
-                                        normalize: !1
-                                    });
-                                    var S = e[P("0x5ea")][P("0x5ec")]({
-                                        context: u,
-                                        typedArray: b,
-                                        usage: e.BufferUsage.STATIC_DRAW,
-                                        indexDatatype: e.IndexDatatype[P("0x5ed")]
-                                    });
-                                    this._va = new (e[P("0x5ee")])({
-                                        context: u,
-                                        attributes: w,
-                                        indexBuffer: S
-                                    }),
-                                        this[P("0x5ef")](r, n)
-                                }
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x5e6")] = function (t) {
-                            var i = 10 < t ? 1 / t : .1
-                                , r = 2 * Math[P("0x97")](i);
-                            return Math[P("0x5f0")](e.Math[P("0xab")] / r)
-                        }
-                        ,
-                        t.prototype[P("0x5ef")] = function (t, i) {
-                            var r = Math[P("0xca")](t * t + i + i);
-                            this[P("0x4a4")] = new (e[P("0x5f1")])(e[P("0x11")].ZERO, r + 1),
-                                e[P("0x5f1")].transform(this[P("0x4a4")], this._modelTransform, this._boundingVolume)
-                        }
-                        ;
-                    var o = P("0x5f2") + P("0x5f3") + P("0x5f4") + P("0x5f5") + P("0x5f6") + P("0x5f7") + P("0x5f8") + P("0x5f9") + P("0x5fa") + P("0x5fb") + "   gl_Position = czm_modelViewProjection * vec4(aPoint, 1.0);\n   v_t = aT;\n}"
-                        , a = P("0x5fc") + P("0x5fd") + P("0x5fe") + P("0x5ff") + P("0x5f6") + P("0x5f7") + P("0x5f8") + P("0x600") + P("0x601") + "{\n" + P("0x602") + "}\n" + P("0x603") + "{\n    float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;\n" + P("0x604") + "}\n" + P("0x605") + "{\n" + P("0x606") + "}\n" + P("0x607") + "{\n" + P("0x608") + P("0x609") + P("0x60a") + "}\n" + P("0x60b") + "{\n" + P("0x60c") + "}\n" + P("0x60d") + "{\n" + P("0x60e") + P("0x60f") + P("0x610") + "    return linearIn;\n" + P("0x611") + "}\n" + P("0x5f9") + "   vec3 n = normalize(v_normalEC);\n" + P("0x612") + P("0x613") + P("0x614") + P("0x615") + P("0x616") + P("0x617") + P("0x614") + P("0x618") + P("0x619") + P("0x614") + P("0x61a") + P("0x61b") + P("0x61c") + "   vec3 v = -normalize(v_positionEC);\n" + P("0x61d") + "   vec3 l = normalize(czm_sunDirectionEC);\n" + P("0x61e") + P("0x61f") + "   float NdotV = abs(dot(n, v)) + 0.001;\n" + P("0x620") + "   float LdotH = clamp(dot(l, h), 0.0, 1.0);\n" + P("0x621") + P("0x622") + P("0x623") + "   vec3 specularColor = mix(f0, baseColor, metalness);\n" + P("0x624") + P("0x625") + P("0x626") + P("0x627") + "   vec3 F = fresnelSchlick2(r0, r90, VdotH);\n" + P("0x628") + P("0x629") + P("0x62a") + P("0x62b") + P("0x62c") + P("0x62d") + P("0x62e") + P("0x62f") + "}"
-                        , s = "uniform vec4 u_color;\nuniform float u_metallicFactor;\n" + P("0x5fe") + "uniform vec3 u_emissiveFactor;\n" + P("0x5f6") + P("0x5f7") + "varying float v_t;\n" + P("0x600") + "vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) \n{\n" + P("0x602") + "}\n" + P("0x603") + "{\n" + P("0x630") + "    return NdotV / (NdotV * (1.0 - k) + k);\n}\nfloat smithVisibilityGGX(float roughness, float NdotL, float NdotV) \n{\n" + P("0x606") + "}\n" + P("0x607") + "{\n    float roughnessSquared = roughness * roughness;\n" + P("0x609") + P("0x60a") + "}\n" + P("0x60b") + "{\n" + P("0x60c") + "}\n" + P("0x60d") + "{\n" + P("0x60e") + "    return pow(linearIn, vec3(1.0/2.2));\n#else \n" + P("0x631") + "#endif \n}\n" + P("0x5f9") + P("0x632") + P("0x633") + P("0x612") + P("0x613") + P("0x614") + P("0x615") + P("0x634") + P("0x61a") + P("0x61b") + P("0x61c") + P("0x635") + P("0x61d") + P("0x636") + P("0x61e") + "   float NdotL = clamp(dot(n, l), 0.001, 1.0);\n   float NdotV = abs(dot(n, v)) + 0.001;\n" + P("0x620") + P("0x637") + P("0x621") + P("0x622") + P("0x623") + P("0x638") + P("0x624") + P("0x625") + "   vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));\n" + P("0x627") + P("0x639") + P("0x628") + P("0x629") + "   vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor);\n   vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV);\n" + P("0x62c") + "   color += u_emissiveFactor;\n   color = LINEARtoSRGB(color);\n" + P("0x62f") + "}"
-                }(window[P("0xfd")]),
-                function (e) {
-                    function t(t) {
-                        if (t = e[P("0x102")](t, e[P("0x102")].EMPTY_OBJECT),
-                            !e[P("0x14")](t.viewer))
-                            throw new DeveloperError(P("0x63a"));
-                        if (this[P("0x13c")] = t[P("0x13b")],
-                            !e.defined(t[P("0x11a")]))
-                            throw new DeveloperError("center is required.");
-                        this[P("0x5b4")] = e[P("0x102")](t.center, []);
-                        var i = e[P("0x102")](this[P("0x5b4")][2], e.GeoDynamicCircle[P("0x63b")]);
-                        this[P("0x217")] = i,
-                            this[P("0x63c")] = e[P("0x102")](t[P("0x181")], e[P("0x63d")].DEFAULT_RADIUS),
-                            this[P("0x596")] = e[P("0x102")](t[P("0x169")], e[P("0x63d")].DEFAULT_COLOR);
-                        var r = this[P("0x5b4")][0]
-                            , n = this[P("0x5b4")][1]
-                            , o = e[P("0x102")](this._radius, 0)
-                            , a = this[P("0x596")];
-                        this[P("0x63e")] = e[P("0x102")](t[P("0x63f")], e[P("0x63d")][P("0x640")]),
-                            this[P("0x641")] = null,
-                            this[P("0x642")] = null,
-                            this[P("0x643")](r, n, i, o, a),
-                            this._isShow = e[P("0x102")](t[P("0x644")], !0),
-                            this[P("0x645")](this[P("0x646")])
-                    }
-                    t.prototype[P("0xf4")] = function () {
-                        if (this[P("0x13c")]) {
-                            var e = this[P("0x13c")].entities;
-                            e[P("0x17f")](this[P("0x641")]),
-                                e[P("0x17f")](this._waveEllipse)
-                        }
-                    }
-                        ,
-                        t[P("0x5")].setShow = function (t) {
-                            this._isShow = e.defaultValue(t, !0),
-                                this[P("0x641")][P("0x221")] = t,
-                                this[P("0x642")][P("0x221")] = t
-                        }
-                        ,
-                        t[P("0x5")][P("0x647")] = function (t) {
-                            this._color = e[P("0x102")](t, e.GeoDynamicCircle[P("0x648")]),
-                                this._bottomEllipse[P("0x649")][P("0x19c")][P("0x169")] = this[P("0x596")],
-                                this[P("0x642")][P("0x649")][P("0x19c")][P("0x169")] = this[P("0x596")]
-                        }
-                        ,
-                        t[P("0x5")][P("0x64a")] = function () {
-                            return this[P("0x596")]
-                        }
-                        ,
-                        t[P("0x5")][P("0x64b")] = function (t) {
-                            this[P("0x63c")] = e[P("0x102")](t, e[P("0x63d")][P("0x64c")]),
-                                this._bottomEllipse[P("0x649")][P("0x64d")] = this[P("0x63c")],
-                                this._bottomEllipse[P("0x649")][P("0x64d")] = this[P("0x63c")],
-                                this._waveEllipse[P("0x649")][P("0x64d")] = this[P("0x63c")],
-                                this[P("0x642")][P("0x649")][P("0x64d")] = this._radius
-                        }
-                        ,
-                        t.prototype[P("0x64e")] = function () {
-                            return this[P("0x63c")]
-                        }
-                        ,
-                        t.prototype[P("0x64f")] = function (t) {
-                            if (!e.defined(t))
-                                throw new DeveloperError(P("0x650"));
-                            this[P("0x641")][P("0x8c")] = position,
-                                this._waveEllipse[P("0x8c")] = position,
-                                this[P("0x5b4")] = position
-                        }
-                        ,
-                        t[P("0x5")][P("0x643")] = function (t, i, r, n, o) {
-                            var a = this[P("0x13c")]
-                                , s = e[P("0x23")][P("0x119")](30)
-                                , x = 0;
-                            if (!this[P("0x641")]) {
-                                var l = a[P("0x194")][P("0x6d")]({
-                                    position: e[P("0x11")][P("0x1a1")](t, i, r),
-                                    ellipse: {
-                                        classificationType: this._classificationType,
-                                        semiMinorAxis: n,
-                                        semiMajorAxis: n,
-                                        material: new (e[P("0x651")])({
-                                            color: o,
-                                            image: function () {
-                                                var e = document.createElement(P("0x48"));
-                                                e.width = 512,
-                                                    e[P("0x8b")] = 512;
-                                                var t = e.getContext("2d")
-                                                    , i = t.createRadialGradient(256, 256, 0, 256, 256, 256);
-                                                return i.addColorStop(.1, P("0x653")),
-                                                    i.addColorStop(.2, P("0x654")),
-                                                    i[P("0x479")](.3, P("0x655")),
-                                                    i[P("0x479")](.5, "rgba(255, 255, 255, 0.0)"),
-                                                    i[P("0x479")](.9, P("0x656")),
-                                                    i.addColorStop(1, P("0x653")),
-                                                    t[P("0x657")](0, 0, 512, 512),
-                                                    t[P("0x658")](),
-                                                    t[P("0x659")](256, 256, 256, 0, 2 * Math.PI, !0),
-                                                    t[P("0x484")] = i,
-                                                    t.fill(),
-                                                    t[P("0x65a")](),
-                                                    e
-                                            }(),
-                                            transparent: !0
-                                        })
-                                    }
-                                });
-                                this[P("0x641")] = l
-                            }
-                            if (!this._waveEllipse) {
-                                var c = a[P("0x194")][P("0x6d")]({
-                                    position: e[P("0x11")].fromDegrees(t, i, r),
-                                    name: "Wave ellipse on surface",
-                                    ellipse: {
-                                        classificationType: this[P("0x63e")],
-                                        semiMinorAxis: new e.CallbackProperty(h, !1),
-                                        semiMajorAxis: new (e[P("0x652")])(h, !1),
-                                        rotation: new (e[P("0x652")])(u, !1),
-                                        stRotation: new (e[P("0x652")])(u, !1),
-                                        material: new (e[P("0x651")])({
-                                            color: o,
-                                            image: function () {
-                                                var e = document.createElement("canvas");
-                                                e[P("0x19a")] = 512,
-                                                    e[P("0x8b")] = 512;
-                                                var t = e[P("0x476")]("2d");
-                                                return t[P("0x657")](0, 0, 512, 512),
-                                                    t[P("0x65b")] = P("0x65c"),
-                                                    t[P("0x65d")]([80, 80]),
-                                                    t[P("0x197")] = 30,
-                                                    t[P("0x659")](256, 256, 241, 0, 2 * Math.PI, !0),
-                                                    t[P("0x65e")](),
-                                                    e
-                                            }(),
-                                            transparent: !0
-                                        })
-                                    }
-                                });
-                                this[P("0x642")] = c
-                            }
-                            function u() {
-                                return s += .05
-                            }
-                            function h() {
-                                return n <= (x += .01 * n) && (x = 0),
-                                    x
-                            }
-                        }
-                        ,
-                        e.GeoDynamicCircle = t,
-                        e.GeoDynamicCircle.DEFAULT_HEIGHT = 0,
-                        e[P("0x63d")][P("0x640")] = e.ClassificationType[P("0x17b")],
-                        e[P("0x63d")][P("0x64c")] = 25e3,
-                        e.GeoDynamicCircle[P("0x648")] = e.Color[P("0x2cf")]
-                }(window[P("0xfd")]),
-                function (e) {
-                    function t(t) {
-                        if (t = e[P("0x102")](t, e[P("0x102")][P("0x128")]),
-                            !e[P("0x14")](t[P("0x13b")]))
-                            throw new DeveloperError("viewer is required.");
-                        if (this._viewer = t[P("0x13b")],
-                            !e[P("0x14")](t[P("0x11a")]))
-                            throw new DeveloperError(P("0x65f"));
-                        this._center = e[P("0x102")](t[P("0x11a")], []);
-                        var i = this[P("0x217")] = e[P("0x102")](this._center[2], e.GeoDynamicCylinder[P("0x63b")])
-                            , r = this[P("0x660")] = e[P("0x102")](t[P("0x0")], e[P("0x661")][P("0x662")])
-                            , n = this[P("0x663")] = e[P("0x102")](t[P("0x587")], e[P("0x661")][P("0x64c")])
-                            , o = this[P("0x664")] = e[P("0x102")](t[P("0x588")], e[P("0x661")][P("0x64c")])
-                            , a = this._particlesColor = e[P("0x102")](t[P("0x665")], e[P("0x661")][P("0x666")])
-                            , s = this[P("0x667")] = e[P("0x102")](t[P("0x668")], e.GeoDynamicCylinder.DEFAULT_CYLINDER_COLOR);
-                        this._particlesImageUrl = t[P("0x669")];
-                        var x = this[P("0x5b4")][0]
-                            , l = this[P("0x5b4")][1];
-                        this[P("0x66a")] = null,
-                            this._particlesPrimitive = null,
-                            this[P("0x66b")](x, l, i, n, o, r, a, s)
-                    }
-                    t[P("0x5")][P("0xf4")] = function () {
-                        if (this[P("0x13c")]) {
-                            var e = this[P("0x13c")][P("0x10f")].primitives;
-                            e[P("0x17f")](this[P("0x66a")]),
-                                e[P("0x17f")](this[P("0x66c")])
-                        }
-                    }
-                        ,
-                        t[P("0x5")][P("0x66b")] = function (t, i, r, n, o, a, s, x) {
-                            var l = this._viewer
-                                , c = new (e[P("0x598")])({
-                                    length: a,
-                                    topRadius: n,
-                                    bottomRadius: o
-                                })
-                                , u = P("0x66d") + x[P("0x66e")] + ", " + x[P("0x66f")] + ", " + x[P("0x670")] + ", " + x[P("0x671")] + P("0x672")
-                                , h = new (e[P("0x212")])({
-                                    translucent: !1,
-                                    fabric: {
-                                        type: "Color"
-                                    }
-                                })
-                                , f = new (e[P("0x59b")])({
-                                    fragmentShaderSource: u,
-                                    translucent: !0,
-                                    closed: !0,
-                                    material: h
-                                })
-                                , d = new (e[P("0x226")])({
-                                    geometryInstances: new (e[P("0x179")])({
-                                        geometry: c,
-                                        modelMatrix: e[P("0x1b")][P("0x597")](e[P("0x1f")][P("0xbf")](e[P("0x11")][P("0x1a1")](t, i)), new (e[P("0x11")])(0, 0, r), new e.Matrix4),
-                                        id: P("0x673"),
-                                        attributes: {
-                                            color: e[P("0x184")].fromColor(x)
-                                        }
-                                    }),
-                                    appearance: f
-                                });
-                            if (l[P("0x10f")][P("0x17d")][P("0x6d")](d),
-                                this[P("0x66a")] = d,
-                                this[P("0x674")]) {
-                                var g = new (e[P("0x598")])({
-                                    length: a,
-                                    topRadius: 1.6 * n,
-                                    bottomRadius: 1.6 * o
-                                })
-                                    , p = new (e[P("0x212")])({
-                                        fabric: {
-                                            type: P("0x5a5"),
-                                            uniforms: {
-                                                image: this[P("0x674")],
-                                                color: s,
-                                                transparent: !0
-                                            }
-                                        }
-                                    })
-                                    , m = (u = P("0x675") + s[P("0x66e")] + ", " + s[P("0x66f")] + ", " + s[P("0x670")] + ", " + s.alpha + P("0x676"),
-                                        P("0x677"))
-                                    , b = new (e[P("0x59b")])({
-                                        fragmentShaderSource: u,
-                                        vertexShaderSource: m,
-                                        material: p
-                                    })
-                                    , v = new e.Primitive({
-                                        geometryInstances: new (e[P("0x179")])({
-                                            geometry: g,
-                                            modelMatrix: e[P("0x1b")][P("0x597")](e[P("0x1f")][P("0xbf")](e[P("0x11")][P("0x1a1")](t, i)), new e.Cartesian3(0, 0, r), new e.Matrix4),
-                                            id: P("0xef"),
-                                            attributes: {
-                                                color: e[P("0x184")].fromColor(s)
-                                            }
-                                        }),
-                                        appearance: b
-                                    });
-                                this[P("0x66c")] = l.scene[P("0x17d")].add(v)
-                            }
-                        }
-                        ,
-                        e[P("0x661")] = t,
-                        e[P("0x661")][P("0x63b")] = 0,
-                        e[P("0x661")][P("0x662")] = 1e6,
-                        e[P("0x661")][P("0x64c")] = 25e3,
-                        e[P("0x661")][P("0x666")] = e[P("0x16a")].WHITE,
-                        e[P("0x661")][P("0x678")] = e[P("0x16a")][P("0x679")]
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x67a")] = function (t, i) {
-                        return this[P("0x13b")] = t[P("0x13b")],
-                            this[P("0x67b")] = t[P("0x67b")],
-                            this.dataOptions = t.dataOptions,
-                            this.defaults = {
-                                minCanvasSize: 700,
-                                maxCanvasSize: 2e3,
-                                useEntities: !0,
-                                radiusFactor: 60,
-                                spacingFactor: 1.5,
-                                maxOpacity: .8,
-                                minOpacity: .1,
-                                blur: .85,
-                                gradient: {
-                                    .3: "blue",
-                                    .65: "yellow",
-                                    .8: P("0x67c"),
-                                    .95: P("0x66e")
-                                }
-                            },
-                            this[P("0x67b")][P("0x67d")] = e.defaultValue(this.heatmapOptions[P("0x67d")], this[P("0x67e")][P("0x67d")]),
-                            this[P("0x67b")][P("0x67f")] = e[P("0x102")](this[P("0x67b")][P("0x67f")], this[P("0x67e")][P("0x67f")]),
-                            this[P("0x67b")][P("0x680")] = e.defaultValue(this[P("0x67b")][P("0x680")], this[P("0x67e")][P("0x680")]),
-                            this[P("0x67b")][P("0x681")] = e.defaultValue(this[P("0x67b")][P("0x681")], this[P("0x67e")].minOpacity),
-                            this[P("0x67b")].blur = e.defaultValue(this[P("0x67b")].blur, this[P("0x67e")].blur),
-                            this
-                    }
-                        ;
-                    t.prototype[P("0x682")] = function (e) {
-                        if (e && e[P("0x33a")] && 0 < e[P("0x33a")][P("0x0")] && e[P("0x33a")][0][P("0x180")] && e[P("0x33a")][0][P("0x180")][P("0x2ed")]) {
-                            for (var t = {
-                                west: e[P("0x33a")][0][P("0x180")][P("0x2ed")][0],
-                                south: e.features[0][P("0x180")][P("0x2ed")][1],
-                                east: e[P("0x33a")][0][P("0x180")][P("0x2ed")][0],
-                                north: e[P("0x33a")][0][P("0x180")].coordinates[1]
-                            }, i = 0; i < e[P("0x33a")][P("0x0")]; i++) {
-                                var r = e[P("0x33a")][i][P("0x180")].coordinates[0]
-                                    , n = e[P("0x33a")][i][P("0x180")][P("0x2ed")][1];
-                                t[P("0x2a9")] = r > t.west ? t.west : r,
-                                    t[P("0x2aa")] = r > t[P("0x2aa")] ? r : t[P("0x2aa")],
-                                    t[P("0x2ab")] = n > t[P("0x2ab")] ? t[P("0x2ab")] : n,
-                                    t[P("0x2ac")] = n > t[P("0x2ac")] ? n : t[P("0x2ac")]
-                            }
-                            return t
-                        }
-                        return !1
-                    }
-                        ,
-                        t[P("0x5")][P("0x683")] = function (e, t, i) {
-                            var r = document[P("0x15c")](P("0x15d"));
-                            return i && r.setAttribute("id", i),
-                                r[P("0x21b")]("style", P("0x684") + e + P("0x685") + t + "px; margin: 0px; display: none;"),
-                                document[P("0x686")][P("0x167")](r),
-                                r
-                        }
-                        ,
-                        t[P("0x5")][P("0x687")] = function (t) {
-                            var i = t._heatmap[P("0x688")]()
-                                , r = new (e[P("0x10c")])({
-                                    url: i,
-                                    rectangle: t[P("0x689")]
-                                });
-                            return r[P("0x68a")] = new (e[P("0x68b")])({
-                                rectangleSouthwestInMeters: new (e[P("0x10")])(t[P("0x68c")][P("0x2a9")], t[P("0x68c")][P("0x2ab")]),
-                                rectangleNortheastInMeters: new (e[P("0x10")])(t[P("0x68c")][P("0x2aa")], t._mbounds[P("0x2ac")])
-                            }),
-                                r
-                        }
-                        ,
-                        t.prototype[P("0x68d")] = function (e) {
-                            for (var t = "", i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", r = 0; r < (e || 8); r++)
-                                t += i[P("0x68e")](Math[P("0x3e8")](Math[P("0x266")]() * i[P("0x0")]));
-                            return t
-                        }
-                        ;
-                    var i = new (e[P("0x68f")]);
-                    t[P("0x5")][P("0x690")] = function (t) {
-                        var r = i[P("0x5a")](e.Cartographic[P("0x1a1")](t.x, t.y));
-                        return {
-                            x: r.x,
-                            y: r.y
-                        }
-                    }
-                        ,
-                        t[P("0x5")][P("0x691")] = function (t) {
-                            var r = i.project(e[P("0x13")][P("0x1a1")](t[P("0x2a9")], t[P("0x2ab")]))
-                                , n = i[P("0x5a")](e[P("0x13")][P("0x1a1")](t[P("0x2aa")], t.north));
-                            return {
-                                north: n.y,
-                                east: n.x,
-                                south: r.y,
-                                west: r.x
-                            }
-                        }
-                        ,
-                        t.prototype[P("0x692")] = function (t) {
-                            var r = i[P("0xbe")](new (e[P("0x11")])(t.x, t.y));
-                            return {
-                                x: r[P("0x112")],
-                                y: r[P("0x114")]
-                            }
-                        }
-                        ,
-                        t.prototype[P("0x693")] = function (t) {
-                            var r = i[P("0xbe")](new e.Cartesian3(t[P("0x2a9")], t[P("0x2ab")]))
-                                , n = i[P("0xbe")](new (e[P("0x11")])(t[P("0x2aa")], t.north));
-                            return {
-                                north: this[P("0x694")](n.latitude),
-                                east: this.rad2deg(n[P("0x112")]),
-                                south: this[P("0x694")](r[P("0x114")]),
-                                west: this[P("0x694")](r[P("0x112")])
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x695")] = function (e) {
-                            return e * (Math.PI / 180)
-                        }
-                        ,
-                        t.prototype[P("0x694")] = function (e) {
-                            return e / (Math.PI / 180)
-                        }
-                        ,
-                        t[P("0x5")].wgs84PointToHeatmapPoint = function (e) {
-                            return this.mercatorPointToHeatmapPoint(this[P("0x690")](e))
-                        }
-                        ,
-                        t[P("0x5")][P("0x696")] = function (e) {
-                            var t = {};
-                            return t.x = Math[P("0x5f0")]((e.x - this[P("0x697")]) / this[P("0x698")] + this._spacing),
-                                t.y = Math.round((e.y - this._yoffset) / this[P("0x698")] + this[P("0x699")]),
-                                t.y = this.height - t.y,
-                                t
-                        }
-                        ,
-                        t[P("0x5")]._setWidthAndHeight = function (e) {
-                            this[P("0x19a")] = 0 < e[P("0x2aa")] && e.west < 0 ? e[P("0x2aa")] + Math[P("0x78")](e.west) : Math[P("0x78")](e.east - e[P("0x2a9")]),
-                                this[P("0x8b")] = 0 < e.north && e[P("0x2ab")] < 0 ? e[P("0x2ac")] + Math.abs(e[P("0x2ab")]) : Math[P("0x78")](e[P("0x2ac")] - e[P("0x2ab")]),
-                                this[P("0x698")] = 1,
-                                this.width > this[P("0x8b")] && this[P("0x19a")] > this[P("0x67e")][P("0x69a")] ? (this._factor = this[P("0x19a")] / this.defaults[P("0x69a")],
-                                    this[P("0x8b")] / this[P("0x698")] < this.defaults[P("0x69b")] && (this[P("0x698")] = this[P("0x8b")] / this[P("0x67e")][P("0x69b")])) : this.height > this[P("0x19a")] && this[P("0x8b")] > this[P("0x67e")][P("0x69a")] ? (this[P("0x698")] = this[P("0x8b")] / this[P("0x67e")][P("0x69a")],
-                                        this[P("0x19a")] / this._factor < this[P("0x67e")][P("0x69b")] && (this[P("0x698")] = this[P("0x19a")] / this.defaults[P("0x69b")])) : this[P("0x19a")] < this.height && this[P("0x19a")] < this.defaults[P("0x69b")] ? (this[P("0x698")] = this[P("0x19a")] / this.defaults[P("0x69b")],
-                                            this[P("0x8b")] / this._factor > this[P("0x67e")][P("0x69a")] && (this[P("0x698")] = this[P("0x8b")] / this.defaults[P("0x69a")])) : this.height < this[P("0x19a")] && this[P("0x8b")] < this[P("0x67e")][P("0x69b")] && (this[P("0x698")] = this[P("0x8b")] / this.defaults[P("0x69b")],
-                                                this[P("0x19a")] / this[P("0x698")] > this.defaults[P("0x69a")] && (this[P("0x698")] = this[P("0x19a")] / this[P("0x67e")][P("0x69a")])),
-                                this[P("0x19a")] = this[P("0x19a")] / this[P("0x698")],
-                                this.height = this[P("0x8b")] / this[P("0x698")]
-                        }
-                        ,
-                        t[P("0x5")][P("0x69c")] = function (t, i, r) {
-                            if (this._id = this[P("0x68d")](),
-                                this[P("0x69d")] = this._computeBounds(r),
-                                this[P("0x68c")] = this[P("0x691")](this[P("0x69d")]),
-                                this[P("0x69e")](this[P("0x68c")]),
-                                this[P("0x67b")][P("0x181")] = Math.round(this.heatmapOptions.radius ? this[P("0x67b")].radius : this[P("0x19a")] > this[P("0x8b")] ? this[P("0x19a")] / this[P("0x67e")][P("0x69f")] : this.height / this[P("0x67e")].radiusFactor),
-                                this[P("0x699")] = this[P("0x67b")][P("0x181")] * this[P("0x67e")].spacingFactor,
-                                this[P("0x697")] = this[P("0x68c")].west,
-                                this[P("0x6a0")] = this[P("0x68c")][P("0x2ab")],
-                                this[P("0x19a")] = Math.round(this[P("0x19a")] + 2 * this[P("0x699")]),
-                                this[P("0x8b")] = Math[P("0x5f0")](this[P("0x8b")] + 2 * this[P("0x699")]),
-                                this[P("0x68c")][P("0x2a9")] -= this[P("0x699")] * this[P("0x698")],
-                                this[P("0x68c")][P("0x2aa")] += this[P("0x699")] * this[P("0x698")],
-                                this._mbounds[P("0x2ab")] -= this._spacing * this._factor,
-                                this[P("0x68c")].north += this[P("0x699")] * this[P("0x698")],
-                                this.bounds = this[P("0x693")](this._mbounds),
-                                this[P("0x689")] = e[P("0x26b")].fromDegrees(this[P("0x6a1")][P("0x2a9")], this[P("0x6a1")][P("0x2ab")], this[P("0x6a1")].east, this[P("0x6a1")].north),
-                                this[P("0x6a2")] ? (this[P("0x224")] && this[P("0x6a2")].setAttribute("id", this[P("0x224")]),
-                                    this._container.setAttribute("style", P("0x684") + this[P("0x19a")] + P("0x685") + this[P("0x8b")] + P("0x6a3"))) : this[P("0x6a2")] = this[P("0x683")](this[P("0x19a")], this[P("0x8b")], this[P("0x224")]),
-                                this.heatmapOptions[P("0x131")] = this[P("0x6a2")],
-                                this._heatmap ? this._heatmap[P("0x6a4")]() : this[P("0x6a5")] = h337[P("0xa")](this[P("0x67b")]),
-                                this._container[P("0x12f")][0].setAttribute("id", this[P("0x224")] + P("0x6a6")),
-                                r && 0 < r[P("0x33a")][P("0x0")] && null !== t && !1 !== t && null !== i && !1 !== i) {
-                                for (var n = [], o = 0; o < r[P("0x33a")][P("0x0")]; o++) {
-                                    var a = {};
-                                    a.x = r[P("0x33a")][o].geometry.coordinates[0],
-                                        a.y = r[P("0x33a")][o][P("0x180")][P("0x2ed")][1],
-                                        a[P("0x3")] = r.features[o][P("0x33d")].z,
-                                        n[P("0x17c")](a)
-                                }
-                                for (var s = [], x = 0; x < n[P("0x0")]; x++) {
-                                    var l = n[x]
-                                        , c = this[P("0x6a7")](l);
-                                    !l[P("0x3")] && 0 !== l[P("0x3")] || (c.value = l.value),
-                                        s[P("0x17c")](c)
-                                }
-                                return this[P("0x6a5")].setData({
-                                    min: t,
-                                    max: i,
-                                    data: s
-                                }),
-                                    this.updateLayer(),
-                                    !0
-                            }
-                            return !1
-                        }
-                        ,
-                        t[P("0x5")].show = function (e) {
-                            this[P("0x6a8")] && (this[P("0x6a8")].show = e)
-                        }
-                        ,
-                        t[P("0x5")][P("0x17f")] = function () {
-                            this[P("0x6a8")] && (this[P("0x13b")].scene[P("0x6a9")][P("0x17f")](this[P("0x6a8")]),
-                                this.viewer.entities[P("0x17f")](this[P("0x6a8")]))
-                        }
-                        ,
-                        t[P("0x5")][P("0x6aa")] = function () {
-                            if (this[P("0x67b")].useEntities && this[P("0x13b")][P("0x194")]) {
-                                this[P("0x6a8")] && this[P("0x13b")][P("0x194")].remove(this[P("0x6a8")]);
-                                var t = new (e[P("0x651")])({
-                                    image: this[P("0x6a5")][P("0x6ab")].canvas
-                                });
-                                e[P("0x373")] >= P("0x6ac") ? t[P("0x6ad")] = !0 : "1.16" <= e[P("0x373")] && (t[P("0x671")] = .99),
-                                    this[P("0x6a8")] = this[P("0x13b")][P("0x194")][P("0x6d")]({
-                                        show: !0,
-                                        rectangle: {
-                                            coordinates: this[P("0x689")],
-                                            material: t
-                                        }
-                                    })
-                            } else
-                                this._layer && this.viewer[P("0x10f")][P("0x6a9")].remove(this[P("0x6a8")]),
-                                    this[P("0x6a8")] = this[P("0x13b")][P("0x10f")].imageryLayers[P("0x6ae")](this._getImageryProvider(this))
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    function t(t) {
-                        if (t = e[P("0x102")](t, e[P("0x102")].EMPTY_OBJECT),
-                            !e.defined(t[P("0x13b")]))
-                            throw new DeveloperError(P("0x63a"));
-                        if (this[P("0x13c")] = t[P("0x13b")],
-                            !e[P("0x14")](t.center))
-                            throw new DeveloperError(P("0x65f"));
-                        if (!e[P("0x14")](t[P("0x6af")]))
-                            throw new DeveloperError(P("0x6b0"));
-                        this[P("0x5b4")] = e[P("0x102")](t[P("0x11a")], []),
-                            this[P("0x6b1")] = t.url;
-                        var i = e[P("0x102")](this[P("0x5b4")][2], e.GeoImageCircle.DEFAULT_HEIGHT);
-                        this[P("0x217")] = i,
-                            this._radius = e.defaultValue(t[P("0x181")], e[P("0x6b2")][P("0x64c")]),
-                            this[P("0x596")] = e[P("0x102")](t[P("0x169")], e[P("0x6b2")][P("0x648")]);
-                        var r = this[P("0x5b4")][0]
-                            , n = this._center[1]
-                            , o = e[P("0x102")](this[P("0x63c")], 0)
-                            , a = this._color
-                            , s = this[P("0x6b1")];
-                        this._ellipse = null,
-                            this[P("0x63e")] = e[P("0x102")](t.classificationType, e[P("0x6b2")][P("0x640")]),
-                            this._createImageCircle(r, n, i, o, s, a),
-                            this[P("0x646")] = e[P("0x102")](t.isShow, !0),
-                            this[P("0x645")](this._isShow)
-                    }
-                    t[P("0x5")][P("0xf4")] = function () {
-                        this._viewer && this._viewer[P("0x194")][P("0x17f")](this[P("0x6b3")])
-                    }
-                        ,
-                        t[P("0x5")].setShow = function (t) {
-                            this[P("0x646")] = e[P("0x102")](t, !0),
-                                this[P("0x6b3")][P("0x221")] = t
-                        }
-                        ,
-                        t[P("0x5")].setColor = function (t) {
-                            this[P("0x596")] = e[P("0x102")](t, e[P("0x6b2")][P("0x648")]),
-                                this[P("0x6b3")][P("0x649")][P("0x19c")][P("0x169")] = this[P("0x596")]
-                        }
-                        ,
-                        t[P("0x5")][P("0x64a")] = function () {
-                            return this[P("0x596")]
-                        }
-                        ,
-                        t[P("0x5")][P("0x64b")] = function (t) {
-                            this[P("0x63c")] = e[P("0x102")](t, e[P("0x6b2")][P("0x64c")]),
-                                this[P("0x6b3")][P("0x649")][P("0x64d")] = this._radius,
-                                this[P("0x6b3")].ellipse[P("0x64d")] = this._radius
-                        }
-                        ,
-                        t[P("0x5")].getRadius = function () {
-                            return this[P("0x63c")]
-                        }
-                        ,
-                        t[P("0x5")].setCenter = function (t) {
-                            if (!e.defined(t))
-                                throw new DeveloperError(P("0x650"));
-                            this[P("0x6b3")].position = position,
-                                this[P("0x5b4")] = position
-                        }
-                        ,
-                        t[P("0x5")][P("0x6b4")] = function (t, i, r, n, o, a) {
-                            var s = this[P("0x13c")]
-                                , x = e[P("0x23")][P("0x119")](30);
-                            if (!this[P("0x6b3")]) {
-                                var l = s[P("0x194")].add({
-                                    position: e[P("0x11")][P("0x1a1")](t, i, r),
-                                    ellipse: {
-                                        classificationType: this._classificationType,
-                                        semiMinorAxis: n,
-                                        semiMajorAxis: n,
-                                        rotation: new (e[P("0x652")])(c, !1),
-                                        stRotation: new (e[P("0x652")])(c, !1),
-                                        material: new (e[P("0x651")])({
-                                            color: a,
-                                            image: o,
-                                            transparent: !0
-                                        })
-                                    }
-                                });
-                                this._ellipse = l
-                            }
-                            function c() {
-                                return x += .05
-                            }
-                        }
-                        ,
-                        e.GeoImageCircle = t,
-                        e.GeoImageCircle[P("0x63b")] = 0,
-                        e[P("0x6b2")][P("0x640")] = e[P("0x17a")][P("0x6b5")],
-                        e.GeoImageCircle[P("0x64c")] = 25e3,
-                        e[P("0x6b2")][P("0x648")] = e[P("0x16a")].WHITE
-                }(window.Cesium),
-                function (e) {
-                    function t() {
-                        this[P("0x6b6")] = null,
-                            this[P("0x5ba")] = !1,
-                            this._speed = 0,
-                            this[P("0x6b7")] = null,
-                            this[P("0x6b8")] = 1,
-                            this[P("0x5bf")] = 0,
-                            this[P("0x5cf")] = 0,
-                            this._mode = 0
-                    }
-                    t[P("0x5")][P("0x69")] = function () {
-                        this[P("0x5ba")] = !0,
-                            this[P("0x5cf")] = 0
-                    }
-                        ,
-                        t[P("0x5")][P("0xd2")] = function (e) {
-                            this._actived && (this[P("0x5cf")] += e,
-                                this[P("0x5cf")] > this[P("0x5bf")] && (this[P("0x5ba")] = !1))
-                        }
-                        ,
-                        e[P("0xf")](t.prototype, {
-                            position: {
-                                get: function () {
-                                    return this[P("0x6b6")]
-                                },
-                                set: function (e) {
-                                    e && (this._position = e[P("0x6e")](this[P("0x6b6")]))
-                                }
-                            },
-                            direction: {
-                                get: function () {
-                                    return this[P("0x6b7")]
-                                },
-                                set: function (e) {
-                                    e && (this._direction = e.clone(this[P("0x6b7")]))
-                                }
-                            },
-                            actived: {
-                                get: function () {
-                                    return this[P("0x5ba")]
-                                }
-                            },
-                            speed: {
-                                get: function () {
-                                    return this._speed
-                                },
-                                set: function (e) {
-                                    this._speed = e
-                                }
-                            },
-                            baseScale: {
-                                get: function () {
-                                    return this[P("0x6b8")]
-                                },
-                                set: function (e) {
-                                    this._baseScale = e
-                                }
-                            },
-                            life: {
-                                get: function () {
-                                    return this[P("0x5bf")]
-                                },
-                                set: function (e) {
-                                    this[P("0x5bf")] = e
-                                }
-                            },
-                            time: {
-                                get: function () {
-                                    return this[P("0x5cf")]
-                                }
-                            },
-                            mode: {
-                                get: function () {
-                                    return this[P("0x6b9")]
-                                },
-                                set: function (e) {
-                                    this._mode = e
-                                }
-                            }
+                    ), this)
+                },
+                CLASS_NAME: "GeoGlobe.Protocol"
+            }),
+            GeoGlobe.Protocol.Response = GeoGlobe.Class4OL({
+                code: null,
+                requestType: null,
+                last: !0,
+                features: null,
+                data: null,
+                reqFeatures: null,
+                priv: null,
+                error: null,
+                initialize: function(e) {
+                    GeoGlobe.Util.extend(this, e)
+                },
+                success: function() {
+                    return this.code > 0
+                },
+                CLASS_NAME: "GeoGlobe.Protocol.Response"
+            }),
+            GeoGlobe.Protocol.Response.SUCCESS = 1,
+            GeoGlobe.Protocol.Response.FAILURE = 0,
+            GeoGlobe.Protocol.HTTP = GeoGlobe.Class4OL(GeoGlobe.Protocol, {
+                url: null,
+                headers: null,
+                params: null,
+                callback: null,
+                scope: null,
+                readWithPOST: !1,
+                updateWithPOST: !1,
+                deleteWithPOST: !1,
+                wildcarded: !1,
+                srsInBBOX: !1,
+                initialize: function(e) {
+                    if (e = e || {},
+                    this.params = {},
+                    this.headers = {},
+                    GeoGlobe.Protocol.prototype.initialize.apply(this, arguments),
+                    !this.filterToParams && GeoGlobe.Format.QueryStringFilter) {
+                        var t = new GeoGlobe.Format.QueryStringFilter({
+                            wildcarded: this.wildcarded,
+                            srsInBBOX: this.srsInBBOX
                         });
-                    var i = new (e[P("0x11")])
-                        , r = e.GeoLineFireEffect = function (t) {
-                            t = t || {},
-                                this[P("0x6b1")] = t.url ? e[P("0x6ba")](t[P("0x6af")]) : null,
-                                this[P("0x6bb")] = t[P("0x6bc")] ? e[P("0x6ba")](t[P("0x6bc")]) : null,
-                                this._explode = t.explode ? t[P("0x6bd")] : 0,
-                                this[P("0x6be")] = [],
-                                this._scene = t[P("0x13b")][P("0x10f")],
-                                this._clock = t.viewer[P("0x571")];
-                            var i = t[P("0xfc")] ? t[P("0xfc")] : 1;
-                            this[P("0x6bf")] = 2 * i,
-                                this[P("0x6c0")] = .1 * i,
-                                this[P("0x6c1")] = 1 * i,
-                                this._startColor = new (e[P("0x16a")])(1, 1, 1, 1),
-                                this[P("0x6c2")] = new (e[P("0x16a")])(.8, 0, 0, .01),
-                                t.smoking && (this._endColor[P("0x66e")] = 1 - t[P("0x6c3")]);
-                            var r = t[P("0x6c4")] ? t.life : 1;
-                            this[P("0x6c5")] = .5 * r,
-                                this[P("0x6c6")] = 2 * r;
-                            var n = t[P("0x539")] ? t[P("0x539")] : 1;
-                            if (this[P("0x6c7")] = 7 * n,
-                                this[P("0x6c8")] = 20 * n,
-                                this[P("0x6c9")] = t[P("0x1a9")] ? t.count : 0,
-                                this[P("0x63c")] = t.radius ? t[P("0x181")] : 1,
-                                this[P("0x6ca")] = t[P("0x6cb")] ? t[P("0x6cb")] : 4,
-                                this._fires = [],
-                                this[P("0x6cc")] = null,
-                                this[P("0x6cd")] = null,
-                                this[P("0x6ce")] = null,
-                                this[P("0x6cf")] = null,
-                                this._directionsArray = null,
-                                this[P("0x6d0")] = null,
-                                this[P("0x5b7")] = !0,
-                                this[P("0x6d1")] = 0,
-                                this[P("0x5cf")] = 0,
-                                this[P("0x6d2")](),
-                                this[P("0x6d3")](this[P("0x6c9")]),
-                                t[P("0x19f")] && t[P("0x19f")][P("0x0")])
-                                for (var o = t[P("0x19f")], a = 0; a < o[P("0x0")]; a++)
-                                    this[P("0x6d4")](o[a])
+                        this.filterToParams = function(e, i) {
+                            return t.write(e, i)
                         }
-                        ;
-                    e[P("0xf")](r[P("0x5")], {
-                        explode: {
-                            get: function () {
-                                return this[P("0x6d5")]
-                            },
-                            set: function (e) {
-                                this[P("0x6d5")] = e
-                            }
-                        },
-                        scale: {
-                            get: function () {
-                                return this._imageSize
-                            },
-                            set: function (e) {
-                                this[P("0x6bf")] = 2 * e,
-                                    this[P("0x6c0")] = .1 * e,
-                                    this[P("0x6c1")] = 1 * e
-                            }
-                        },
-                        life: {
-                            get: function () {
-                                return this[P("0x6c6")] / 2
-                            },
-                            set: function (e) {
-                                this[P("0x6c5")] = .5 * e,
-                                    this[P("0x6c6")] = 2 * e
-                            }
-                        },
-                        speed: {
-                            get: function () {
-                                return this[P("0x6c8")] / 20
-                            },
-                            set: function (e) {
-                                this._minSpeed = 7 * e,
-                                    this[P("0x6c8")] = 20 * e
-                            }
-                        },
-                        radius: {
-                            get: function () {
-                                return this[P("0x63c")]
-                            },
-                            set: function (e) {
-                                this._radius = e
-                            }
-                        },
-                        grow: {
-                            get: function () {
-                                return this[P("0x6ca")]
-                            },
-                            set: function (e) {
-                                this[P("0x6ca")] = e
-                            }
-                        },
-                        pntsCount: {
-                            get: function () {
-                                return this[P("0x6be")][P("0x0")]
-                            }
-                        },
-                        smoking: {
-                            get: function () {
-                                return 1 - this[P("0x6c2")][P("0x66e")]
-                            },
-                            set: function (e) {
-                                this[P("0x6c2")][P("0x66e")] = 1 - e
-                            }
-                        }
+                    }
+                },
+                destroy: function() {
+                    this.params = null,
+                    this.headers = null,
+                    GeoGlobe.Protocol.prototype.destroy.apply(this)
+                },
+                read: function(e) {
+                    GeoGlobe.Protocol.prototype.read.apply(this, arguments),
+                    (e = e || {}).params = GeoGlobe.Util.applyDefaults(e.params, this.options.params),
+                    (e = GeoGlobe.Util.applyDefaults(e, this.options)).filter && this.filterToParams && (e.params = this.filterToParams(e.filter, e.params));
+                    var t = void 0 !== e.readWithPOST ? e.readWithPOST : this.readWithPOST
+                      , i = new GeoGlobe.Protocol.Response({
+                        requestType: "read"
+                    });
+                    if (t) {
+                        var r = e.headers || {};
+                        r["Content-Type"] = "application/x-www-form-urlencoded",
+                        i.priv = GeoGlobe.Request.POST({
+                            url: e.url,
+                            callback: this.createCallback(this.handleRead, i, e),
+                            data: GeoGlobe.Util.getParameterString(e.params),
+                            headers: r
+                        })
+                    } else
+                        i.priv = GeoGlobe.Request.GET({
+                            url: e.url,
+                            callback: this.createCallback(this.handleRead, i, e),
+                            params: e.params,
+                            headers: e.headers
+                        });
+                    return i
+                },
+                handleRead: function(e, t) {
+                    this.handleResponse(e, t)
+                },
+                create: function(e, t) {
+                    t = GeoGlobe.Util.applyDefaults(t, this.options);
+                    var i = new GeoGlobe.Protocol.Response({
+                        reqFeatures: e,
+                        requestType: "create"
+                    });
+                    return i.priv = GeoGlobe.Request.POST({
+                        url: t.url,
+                        callback: this.createCallback(this.handleCreate, i, t),
+                        headers: t.headers,
+                        data: this.format.write(e)
                     }),
-                        r.prototype[P("0x6d4")] = function (t) {
-                            if (void 0 !== t) {
-                                t = e[P("0x13")][P("0x1a1")][P("0x346")](this, t),
-                                    t = e[P("0x11")][P("0x3d0")](t[P("0x112")], t[P("0x114")], t.height);
-                                var r = 10
-                                    , n = this._positions[P("0x0")];
-                                if (0 < n) {
-                                    var o = this._positions[n - 1];
-                                    i = e[P("0x11")].subtract(t, o, i),
-                                        r = e.Cartesian3.magnitude(i)
-                                }
-                                r < .5 || (this[P("0x6be")][P("0x17c")](t.clone()),
-                                    this._growFires(this[P("0x6ca")], r))
-                            }
-                        }
-                        ,
-                        r[P("0x5")][P("0xf4")] = function () {
-                            this[P("0x42")] = null,
-                                this._clock = null,
-                                this[P("0x6ce")] && (this[P("0x6ce")][P("0x5cb")] && (this[P("0x6ce")][P("0x5cb")][P("0xf4")](),
-                                    this._drawCommand.vertexArray = null),
-                                    this[P("0x6ce")][P("0x5cc")] && (this[P("0x6ce")][P("0x5cc")][P("0xf4")](),
-                                        this._drawCommand.shaderProgram = null),
-                                    this[P("0x6ce")][P("0x6d6")] = null,
-                                    this[P("0x6ce")] = null),
-                                this[P("0x6cc")] && (this._texture_0[P("0xf4")](),
-                                    this._texture_0 = null),
-                                this[P("0x6cd")] && (this._texture_1.destroy(),
-                                    this[P("0x6cd")] = null),
-                                this[P("0x6d7")][P("0x0")] = 0,
-                                this._positions[P("0x0")] = 0,
-                                this[P("0x6cf")] = null,
-                                this[P("0x6d8")] = null,
-                                this[P("0x6d0")] = null
-                        }
-                        ,
-                        r.prototype._loadTexture = function () {
-                            var t = this
-                                , i = t[P("0x42")][P("0x6d9")][P("0x3cc")];
-                            this._url && e[P("0x6da")].fetchImage(this[P("0x6b1")]).then((function (r) {
-                                t._texture_0 = new (e[P("0x6db")])({
-                                    context: i,
-                                    source: r
-                                }, (function (e) { }
-                                ))
-                            }
-                            )),
-                                this[P("0x6bb")] && e.Resource[P("0x6dc")](this[P("0x6bb")])[P("0x333")]((function (r) {
-                                    t[P("0x6cd")] = new (e[P("0x6db")])({
-                                        context: i,
-                                        source: r
-                                    }, (function (e) { }
-                                    ))
-                                }
-                                ))
-                        }
-                        ,
-                        r.prototype[P("0x6dd")] = function () {
-                            var t = this[P("0x6be")][P("0x0")];
-                            if (t < 1)
-                                return null;
-                            if (t < 2)
-                                return this[P("0x6be")][0].clone(i),
-                                    i.x += e[P("0x23")].randomBetween(0, 1) * this[P("0x63c")],
-                                    i.y += e.Math[P("0x6de")](0, 1) * this[P("0x63c")],
-                                    i.z += e[P("0x23")][P("0x6de")](0, 1) * this[P("0x63c")],
-                                    i;
-                            var r = e[P("0x23")].randomBetween(0, t - 1);
-                            r = Math.floor(r);
-                            var n = this[P("0x6be")][r]
-                                , o = this[P("0x6be")][r + 1]
-                                , a = e.Math.randomBetween(0, 1);
-                            return i = e.Cartesian3[P("0x308")](n, o, a, i)
-                        }
-                        ,
-                        r[P("0x5")][P("0x6d3")] = function (e) {
-                            if (e && !(e < 1))
-                                for (var i = 0; i < e; i++) {
-                                    var r = new t;
-                                    this._fires[P("0x17c")](r)
-                                }
-                        }
-                        ,
-                        r[P("0x5")][P("0x6df")] = function (e, i) {
-                            e = Math[P("0x5f0")](e * i),
-                                this[P("0x6c9")] += e;
-                            for (var r = 0; r < e; r++) {
-                                var n = new t;
-                                this[P("0x6d7")][P("0x17c")](n)
-                            }
-                        }
-                        ,
-                        r[P("0x5")]._initFire = function (t) {
-                            return t.position = this._emissionPosition(),
-                                t.position && (t[P("0x93")] = e[P("0x11")][P("0x8d")](t[P("0x8c")], new e.Cartesian3)),
-                                t[P("0x539")] = e[P("0x23")][P("0x6de")](this[P("0x6c7")], this[P("0x6c8")]),
-                                t[P("0x6c4")] = e[P("0x23")][P("0x6de")](this[P("0x6c5")], this._maxLife),
-                                t.baseScale = e[P("0x23")][P("0x6de")](.5, 5),
-                                (t[P("0xd3")] = 0) < this._explode && e[P("0x23")][P("0x6de")](0, 1) > 1 - this._explode && (t[P("0xd3")] = 1,
-                                    t[P("0x6e0")] *= 1.2,
-                                    t[P("0x6c4")] *= .2,
-                                    t[P("0x539")] *= 2),
-                                null != t.position
-                        }
-                        ,
-                        r[P("0x5")][P("0x6e1")] = function (e) {
-                            e.update(this[P("0x5cf")]),
-                                e.actived || this[P("0x6e2")](e) && e[P("0x69")]()
-                        }
-                        ,
-                        r.prototype[P("0x5c8")] = function (t) {
-                            var i;
-                            if (i = this[P("0x6e3")][P("0x6e4")] ? t.time[P("0x6e5")] : e[P("0x5d0")]() / 1e3,
-                                0 == this[P("0x6d1")])
-                                this[P("0x6d1")] = i;
-                            else {
-                                var r = i - this[P("0x6d1")];
-                                r > this[P("0x6c6")] && (r = this[P("0x6c6")]),
-                                    this[P("0x5cf")] = r,
-                                    this[P("0x6d1")] = i
-                            }
-                        }
-                        ,
-                        r[P("0x5")].update = function (e) {
-                            this[P("0x5c8")](e);
-                            var t = this[P("0x6c9")];
-                            if (!(t < 1 || t != this[P("0x6d7")][P("0x0")] || this[P("0x6be")][P("0x0")] < 1) && this[P("0x6cc")]) {
-                                if (this[P("0x5b7")]) {
-                                    for (var i = 0; i < t; i++) {
-                                        var r = this[P("0x6d7")][i];
-                                        this[P("0x6e1")](r)
-                                    }
-                                    this[P("0x6e6")](e),
-                                        this._needUpdate = !1
-                                } else
-                                    this[P("0x5b7")] = !0;
-                                this[P("0x6e7")]() && e.commandList[P("0x17c")](this[P("0x6ce")])
-                            }
-                        }
-                        ,
-                        r[P("0x5")][P("0x6e8")] = function (e) {
-                            this[P("0x6e7")]() && e[P("0x5ca")].push(this[P("0x6ce")])
-                        }
-                        ,
-                        r[P("0x5")]._updateCommand = function (t) {
-                            var i = this[P("0x6ce")];
-                            i || ((i = this[P("0x6ce")] = new (e[P("0x5d3")])).pass = e[P("0x5e4")].TRANSLUCENT,
-                                i.owner = this,
-                                i[P("0x1a9")] = 6),
-                                i[P("0x6e9")] = this[P("0x6c9")],
-                                this._updateCommandVA(t, i),
-                                this[P("0x6ea")](t, i),
-                                this[P("0x6eb")](t, i),
-                                this[P("0x6ec")](t, i),
-                                this[P("0x6ed")](t, i),
-                                this._updateCommandModelMatrix(t, i)
-                        }
-                        ,
-                        r[P("0x5")][P("0x6e7")] = function () {
-                            var e = this[P("0x6ce")];
-                            return !!(e && e[P("0x5cb")] && e.boundingVolume && e[P("0x5cc")] && e.uniformMap && e.renderState)
-                        }
-                        ;
-                    var n = {
-                        aPlane: 0
+                    i
+                },
+                handleCreate: function(e, t) {
+                    this.handleResponse(e, t)
+                },
+                update: function(e, t) {
+                    var i = (t = t || {}).url || e.url || this.options.url + "/" + e.fid;
+                    t = GeoGlobe.Util.applyDefaults(t, this.options);
+                    var r = new GeoGlobe.Protocol.Response({
+                        reqFeatures: e,
+                        requestType: "update"
+                    })
+                      , n = this.updateWithPOST ? "POST" : "PUT";
+                    return r.priv = GeoGlobe.Request[n]({
+                        url: i,
+                        callback: this.createCallback(this.handleUpdate, r, t),
+                        headers: t.headers,
+                        data: this.format.write(e)
+                    }),
+                    r
+                },
+                handleUpdate: function(e, t) {
+                    this.handleResponse(e, t)
+                },
+                delete: function(e, t) {
+                    var i = (t = t || {}).url || e.url || this.options.url + "/" + e.fid;
+                    t = GeoGlobe.Util.applyDefaults(t, this.options);
+                    var r = new GeoGlobe.Protocol.Response({
+                        reqFeatures: e,
+                        requestType: "delete"
+                    })
+                      , n = this.deleteWithPOST ? "POST" : "DELETE"
+                      , o = {
+                        url: i,
+                        callback: this.createCallback(this.handleDelete, r, t),
+                        headers: t.headers
                     };
-                    n[P("0x6ee")] = 1,
-                        n[P("0x6ef")] = 2,
-                        n[P("0x6f0")] = 3,
-                        n.aTexcoord = 4,
-                        r[P("0x5")][P("0x6f1")] = function (t, i) {
-                            var r = this[P("0x6c9")]
-                                , o = t[P("0x3cc")];
-                            this[P("0x6cf")] || (this[P("0x6cf")] = e[P("0x5e8")][P("0x5e7")](e.ComponentDatatype[P("0x5e9")], 3 * r));
-                            var a = this[P("0x6cf")];
-                            this[P("0x6d8")] || (this[P("0x6d8")] = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 4 * r));
-                            var s = this._directionsArray;
-                            this._speedScaleLifeTimesArray || (this[P("0x6d0")] = e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 4 * r));
-                            for (var x = this._speedScaleLifeTimesArray, l = 0; l < r; l++) {
-                                var c = this[P("0x6d7")][l]
-                                    , u = c[P("0x8c")];
-                                a[3 * l] = u.x,
-                                    a[3 * l + 1] = u.y,
-                                    a[3 * l + 2] = u.z;
-                                var h = c.direction;
-                                s[4 * l] = h.x,
-                                    s[4 * l + 1] = h.y,
-                                    s[4 * l + 2] = h.z,
-                                    s[4 * l + 3] = c[P("0xd3")],
-                                    x[4 * l] = c[P("0x539")],
-                                    x[4 * l + 1] = c[P("0x6e0")],
-                                    x[4 * l + 2] = c[P("0x6c4")],
-                                    x[4 * l + 3] = c[P("0x6f2")]
-                            }
-                            var f = e[P("0x5ea")][P("0x5eb")]({
-                                context: o,
-                                typedArray: new Float32Array([-1, 0, 1, 0, .5, 2, -.5, 2]),
-                                usage: e[P("0x4d5")][P("0x4d6")]
-                            })
-                                , d = e.Buffer[P("0x5eb")]({
-                                    context: o,
-                                    typedArray: a,
-                                    usage: e[P("0x4d5")][P("0x4d6")]
-                                })
-                                , g = e[P("0x5ea")][P("0x5eb")]({
-                                    context: o,
-                                    typedArray: s,
-                                    usage: e[P("0x4d5")].STATIC_DRAW
-                                })
-                                , p = e.Buffer[P("0x5eb")]({
-                                    context: o,
-                                    typedArray: x,
-                                    usage: e[P("0x4d5")][P("0x4d6")]
-                                })
-                                , m = e[P("0x5ea")][P("0x5eb")]({
-                                    context: o,
-                                    typedArray: new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]),
-                                    usage: e[P("0x4d5")].STATIC_DRAW
-                                })
-                                , b = e[P("0x5ea")][P("0x5ec")]({
-                                    context: o,
-                                    typedArray: new Uint16Array([0, 1, 2, 0, 2, 3]),
-                                    usage: e[P("0x4d5")][P("0x4d6")],
-                                    indexDatatype: e.IndexDatatype[P("0x5ed")]
-                                })
-                                , v = [];
-                            v.push({
-                                index: n[P("0x6ee")],
-                                vertexBuffer: d,
-                                componentsPerAttribute: 3,
-                                componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                offsetInBytes: 0,
-                                strideInBytes: 12,
-                                normalize: !1,
-                                instanceDivisor: 1
-                            }),
-                                v[P("0x17c")]({
-                                    index: n.aDirection,
-                                    vertexBuffer: g,
-                                    componentsPerAttribute: 4,
-                                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                    offsetInBytes: 0,
-                                    strideInBytes: 16,
-                                    normalize: !1,
-                                    instanceDivisor: 1
-                                }),
-                                v[P("0x17c")]({
-                                    index: n[P("0x6f0")],
-                                    vertexBuffer: p,
-                                    componentsPerAttribute: 4,
-                                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                    offsetInBytes: 0,
-                                    strideInBytes: 16,
-                                    normalize: !1,
-                                    instanceDivisor: 1
-                                }),
-                                v[P("0x17c")]({
-                                    index: n[P("0x6f3")],
-                                    vertexBuffer: m,
-                                    componentsPerAttribute: 2,
-                                    componentDatatype: e.ComponentDatatype[P("0x5e9")],
-                                    offsetInBytes: 0,
-                                    strideInBytes: 8,
-                                    normalize: !1
-                                }),
-                                v.push({
-                                    index: n[P("0x6f4")],
-                                    vertexBuffer: f,
-                                    componentsPerAttribute: 2,
-                                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                    offsetInBytes: 0,
-                                    strideInBytes: 8,
-                                    normalize: !1
-                                });
-                            var C = new (e[P("0x5ee")])({
-                                context: o,
-                                attributes: v,
-                                indexBuffer: b
-                            });
-                            i[P("0x5cb")] && i[P("0x5cb")][P("0xf4")](),
-                                i[P("0x5cb")] = C
-                        }
-                        ,
-                        r[P("0x5")][P("0x6ea")] = function (t, i) {
-                            var r = this._positions[P("0x0")];
-                            if (!(r < 1))
-                                if (r < 2)
-                                    i[P("0x4bc")] = new (e[P("0x5f1")])(this[P("0x6be")][0].clone(), this[P("0x63c")]);
-                                else {
-                                    for (var n = new (e[P("0x5f1")])(this[P("0x6be")][0][P("0x6e")](), this._radius), o = 1; o < r; o++)
-                                        n = e[P("0x5f1")].expand(n, this[P("0x6be")][o], n);
-                                    i[P("0x4bc")] = n
-                                }
-                        }
-                        ,
-                        r[P("0x5")][P("0x6eb")] = function (t, i) {
-                            if (!i[P("0x5cc")]) {
-                                var r = t[P("0x3cc")];
-                                i[P("0x5cc")] = e[P("0x5dc")][P("0x5d7")]({
-                                    context: r,
-                                    vertexShaderSource: o,
-                                    fragmentShaderSource: a,
-                                    attributeLocations: n
-                                })
-                            }
-                        }
-                        ,
-                        r.prototype[P("0x6ec")] = function (e, t) {
-                            var i = t[P("0x5de")] = {};
-                            if (!i || !i._ready) {
-                                var r = this;
-                                i[P("0x48b")] = !0,
-                                    i[P("0x6f5")] = function () {
-                                        return r[P("0x6bf")]
-                                    }
-                                    ,
-                                    i[P("0x6f6")] = function () {
-                                        return r[P("0x6c0")]
-                                    }
-                                    ,
-                                    i[P("0x6f7")] = function () {
-                                        return r[P("0x6c1")]
-                                    }
-                                    ,
-                                    i.u_startColor = function () {
-                                        return r._startColor
-                                    }
-                                    ,
-                                    i[P("0x6f8")] = function () {
-                                        return r[P("0x6c2")]
-                                    }
-                                    ,
-                                    i[P("0x6f9")] = function () {
-                                        return r._texture_0
-                                    }
-                                    ,
-                                    i[P("0x6fa")] = function () {
-                                        return r[P("0x6cd")] ? r._texture_1 : r[P("0x6cc")]
-                                    }
-                            }
-                        }
-                        ,
-                        r.prototype[P("0x6ed")] = function (t, i) {
-                            i.renderState || (i[P("0x5d5")] = e[P("0x5d6")][P("0x5d7")]({
-                                cull: {
-                                    enabled: !1
-                                },
-                                depthTest: {
-                                    enabled: !0,
-                                    func: e[P("0x5d8")].LEQUAL
-                                },
-                                depthMask: !1,
-                                blending: e[P("0x5da")][P("0x5db")]
-                            }))
-                        }
-                        ,
-                        r[P("0x5")][P("0x6fb")] = function (t, i) {
-                            i[P("0x4ac")] || (i.modelMatrix = e[P("0x1b")].IDENTITY)
-                        }
-                        ;
-                    var o = P("0x6fc") + "attribute vec3 aPosition;\n" + P("0x6fd") + P("0x6fe") + P("0x6ff") + "uniform vec4 u_startColor;\nuniform vec4 u_endColor;\nuniform float u_startScale;\n" + P("0x700") + "uniform float u_imageSize;\n" + P("0x701") + P("0x702") + "varying float v_texIndex;\n" + P("0x703") + P("0x704") + "   v += position;\n" + P("0x705") + P("0x706") + P("0x707") + "}\n" + P("0x708") + "{\n" + P("0x709") + P("0x70a") + P("0x70b") + "   float time = aSpeedScaleLifeTime.w;\n   float t = time / life;\n" + P("0x70c") + "   vec4 positionEC = computePosition(aPosition, aPlane, aDirection.xyz, u_imageSize, baseScale, speed, time);\n" + P("0x70d") + "   v_texcoord_0.xy = aTexcoord;\n" + P("0x70e") + P("0x70f") + P("0x710") + P("0x614") + P("0x711") + P("0x712") + P("0x614") + "   else{\n" + P("0x713") + P("0x614") + "   if (t > 0.618){\n" + P("0x714") + P("0x614") + "   else{\n" + P("0x715") + "   }\n}"
-                        , a = P("0x701") + P("0x702") + "varying float v_texIndex;\n" + P("0x716") + P("0x717") + P("0x708") + "{\n" + P("0x718") + P("0x719") + P("0x71a") + "       if (v_texIndex == 1.0){\n" + P("0x71b") + "       }\n       else{\n" + P("0x71c") + P("0x71d") + P("0x614") + P("0x71e") + "       if (v_texIndex == 1.0){\n" + P("0x71b") + P("0x71d") + "       else{\n" + P("0x71c") + P("0x71d") + P("0x71f") + P("0x614") + P("0x720") + P("0x721") + P("0x614") + P("0x722") + "       float mc = max(max(color.r, color.g), color.b);\n" + P("0x723") + P("0x614") + "   else{\n" + P("0x724") + "           color.a = 0.0;\n       }\n" + P("0x614") + "   color = czm_gammaCorrect(color);\n" + P("0x725") + P("0x726") + P("0x727") + P("0x728") + "}"
-                }(window[P("0xfd")]),
-                function (e) {
-                    function t() {
-                        this[P("0x6b6")] = null,
-                            this[P("0x5ba")] = !1,
-                            this[P("0x5b9")] = 0,
-                            this[P("0x6b7")] = null,
-                            this[P("0x6b8")] = 1,
-                            this._life = 0,
-                            this[P("0x5cf")] = 0,
-                            this[P("0x6b9")] = 0,
-                            this._alphaFact = 0,
-                            this._normalFact = 1
+                    return this.deleteWithPOST && (o.data = this.format.write(e)),
+                    r.priv = GeoGlobe.Request[n](o),
+                    r
+                },
+                handleDelete: function(e, t) {
+                    this.handleResponse(e, t)
+                },
+                handleResponse: function(e, t) {
+                    var i = e.priv;
+                    t.callback && (i.status >= 200 && i.status < 300 ? ("delete" != e.requestType && (e.features = this.parseFeatures(i)),
+                    e.code = GeoGlobe.Protocol.Response.SUCCESS) : e.code = GeoGlobe.Protocol.Response.FAILURE,
+                    t.callback.call(t.scope, e))
+                },
+                parseFeatures: function(e) {
+                    var t = e.responseXML;
+                    return t && t.documentElement || (t = e.responseText),
+                    !t || t.length <= 0 ? null : this.format.read(t)
+                },
+                commit: function(e, t) {
+                    t = GeoGlobe.Util.applyDefaults(t, this.options);
+                    var i = []
+                      , r = 0
+                      , n = {};
+                    n[GeoGlobe.State.INSERT] = [],
+                    n[GeoGlobe.State.UPDATE] = [],
+                    n[GeoGlobe.State.DELETE] = [];
+                    for (var o, a, s = [], x = 0, l = e.length; x < l; ++x)
+                        (a = n[(o = e[x]).state]) && (a.push(o),
+                        s.push(o));
+                    var c = (n[GeoGlobe.State.INSERT].length > 0 ? 1 : 0) + n[GeoGlobe.State.UPDATE].length + n[GeoGlobe.State.DELETE].length
+                      , u = !0
+                      , h = new GeoGlobe.Protocol.Response({
+                        reqFeatures: s
+                    });
+                    function f(e) {
+                        this.callUserCallback(e, t),
+                        u = u && e.success(),
+                        ++r >= c && t.callback && (h.code = u ? GeoGlobe.Protocol.Response.SUCCESS : GeoGlobe.Protocol.Response.FAILURE,
+                        t.callback.apply(t.scope, [h]))
                     }
-                    t[P("0x5")].active = function () {
-                        this._actived = !0,
-                            this[P("0x5cf")] = 0
+                    var d = n[GeoGlobe.State.INSERT];
+                    for (d.length > 0 && i.push(this.create(d, GeoGlobe.Util.applyDefaults({
+                        callback: function(e) {
+                            for (var t = e.features ? e.features.length : 0, i = new Array(t), r = 0; r < t; ++r)
+                                i[r] = e.features[r].fid;
+                            h.insertIds = i,
+                            f.apply(this, [e])
+                        },
+                        scope: this
+                    }, t.create))),
+                    x = (d = n[GeoGlobe.State.UPDATE]).length - 1; x >= 0; --x)
+                        i.push(this.update(d[x], GeoGlobe.Util.applyDefaults({
+                            callback: f,
+                            scope: this
+                        }, t.update)));
+                    for (x = (d = n[GeoGlobe.State.DELETE]).length - 1; x >= 0; --x)
+                        i.push(this.delete(d[x], GeoGlobe.Util.applyDefaults({
+                            callback: f,
+                            scope: this
+                        }, t.delete)));
+                    return i
+                },
+                abort: function(e) {
+                    e && e.priv.abort()
+                },
+                callUserCallback: function(e, t) {
+                    var i = t[e.requestType];
+                    i && i.callback && i.callback.call(i.scope, e)
+                },
+                CLASS_NAME: "GeoGlobe.Protocol.HTTP"
+            }),
+            GeoGlobe.Protocol.WFS = function(e) {
+                e = GeoGlobe.Util.applyDefaults(e, GeoGlobe.Protocol.WFS.DEFAULTS);
+                var t = GeoGlobe.Protocol.WFS["v" + e.version.replace(/\./g, "_")];
+                if (!t)
+                    throw "Unsupported WFS version: " + e.version;
+                return new t(e)
+            }
+            ,
+            GeoGlobe.Protocol.WFS.DEFAULTS = {
+                version: "1.0.0"
+            },
+            GeoGlobe.Protocol.WFS.v1 = GeoGlobe.Class4OL(GeoGlobe.Protocol, {
+                version: null,
+                srsName: "EPSG:4326",
+                featureType: null,
+                featureNS: null,
+                geometryName: "the_geom",
+                schema: null,
+                featurePrefix: "feature",
+                formatOptions: null,
+                readFormat: null,
+                readOptions: null,
+                initialize: function(e) {
+                    GeoGlobe.Protocol.prototype.initialize.apply(this, [e]),
+                    e.format || (this.format = GeoGlobe.Format.WFST(GeoGlobe.Util.extend({
+                        version: this.version,
+                        featureType: this.featureType,
+                        featureNS: this.featureNS,
+                        featurePrefix: this.featurePrefix,
+                        geometryName: this.geometryName,
+                        srsName: this.srsName,
+                        schema: this.schema
+                    }, this.formatOptions))),
+                    !e.geometryName && _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.format.version) > 1 && this.setGeometryName(null)
+                },
+                destroy: function() {
+                    this.options && !this.options.format && this.format.destroy(),
+                    this.format = null,
+                    GeoGlobe.Protocol.prototype.destroy.apply(this)
+                },
+                read: function(e) {
+                    GeoGlobe.Protocol.prototype.read.apply(this, arguments),
+                    e = GeoGlobe.Util.extend({}, e),
+                    GeoGlobe.Util.applyDefaults(e, this.options || {});
+                    var t = new GeoGlobe.Protocol.Response({
+                        requestType: "read"
+                    })
+                      , i = GeoGlobe.Format.XML.prototype.write.apply(this.format, [this.format.writeNode("wfs:GetFeature", e)]);
+                    return t.priv = GeoGlobe.Request.POST({
+                        url: e.url,
+                        callback: this.createCallback(this.handleRead, t, e),
+                        params: e.params,
+                        headers: e.headers,
+                        data: i
+                    }),
+                    t
+                },
+                setFeatureType: function(e) {
+                    this.featureType = e,
+                    this.format.featureType = e
+                },
+                setGeometryName: function(e) {
+                    this.geometryName = e,
+                    this.format.geometryName = e
+                },
+                handleRead: function(e, t) {
+                    if (t = GeoGlobe.Util.extend({}, t),
+                    GeoGlobe.Util.applyDefaults(t, this.options),
+                    t.callback) {
+                        var i = e.priv;
+                        if (i.status >= 200 && i.status < 300) {
+                            var r = this.parseResponse(i, t.readOptions);
+                            r && !1 !== r.success ? (t.readOptions && "object" == t.readOptions.output ? GeoGlobe.Util.extend(e, r) : e.features = r,
+                            e.code = GeoGlobe.Protocol.Response.SUCCESS) : (e.code = GeoGlobe.Protocol.Response.FAILURE,
+                            e.error = r)
+                        } else
+                            e.code = GeoGlobe.Protocol.Response.FAILURE;
+                        t.callback.call(t.scope, e)
                     }
-                        ;
-                    var i = new (e[P("0x11")])
-                        , r = new e.Cartesian3;
-                    t.prototype[P("0xd2")] = function (t) {
-                        if (this[P("0x5ba")])
-                            if (this[P("0x5cf")] += t,
-                                this[P("0x5cf")] > this[P("0x5bf")])
-                                this[P("0x5ba")] = !1;
-                            else {
-                                var n = e[P("0x11")].normalize(this._position, i)
-                                    , o = e[P("0x11")][P("0x6c")](this[P("0x6b7")], this[P("0x729")], r);
-                                e.Cartesian3[P("0x6d")](n, o, n),
-                                    e.Cartesian3[P("0x8d")](n, this[P("0x6b7")]),
-                                    e.Cartesian3[P("0x6c")](this[P("0x6b7")], t * this[P("0x5b9")], n),
-                                    e[P("0x11")][P("0x6d")](this._position, n, this._position),
-                                    .025 < this._speed && (this[P("0x5b9")] -= .025)
-                            }
+                },
+                parseResponse: function(e, t) {
+                    var i = e.responseXML;
+                    if (i && i.documentElement || (i = e.responseText),
+                    !i || i.length <= 0)
+                        return null;
+                    var r = null;
+                    try {
+                        r = null !== this.readFormat ? this.readFormat.read(i) : this.format.read(i, t)
+                    } catch (e) {
+                        var n = "绋嬪簭杩愯寮傚父锛�" + e.name + "锛�" + e.message;
+                        alert(n)
                     }
-                        ,
-                        e[P("0xf")](t[P("0x5")], {
-                            position: {
-                                get: function () {
-                                    return this._position
-                                },
-                                set: function (e) {
-                                    e && (this[P("0x6b6")] = e[P("0x6e")](this[P("0x6b6")]))
-                                }
-                            },
-                            direction: {
-                                get: function () {
-                                    return this[P("0x6b7")]
-                                },
-                                set: function (e) {
-                                    e && (this._direction = e.clone(this[P("0x6b7")]))
-                                }
-                            },
-                            actived: {
-                                get: function () {
-                                    return this[P("0x5ba")]
-                                }
-                            },
-                            speed: {
-                                get: function () {
-                                    return this._speed
-                                },
-                                set: function (e) {
-                                    this._speed = e
-                                }
-                            },
-                            baseScale: {
-                                get: function () {
-                                    return this[P("0x6b8")]
-                                },
-                                set: function (e) {
-                                    this[P("0x6b8")] = e
-                                }
-                            },
-                            life: {
-                                get: function () {
-                                    return this[P("0x5bf")]
-                                },
-                                set: function (e) {
-                                    this[P("0x5bf")] = e
-                                }
-                            },
-                            time: {
-                                get: function () {
-                                    return this[P("0x5cf")]
-                                }
-                            },
-                            mode: {
-                                get: function () {
-                                    return this._mode
-                                },
-                                set: function (e) {
-                                    this._mode = e
-                                }
-                            },
-                            alphaFact: {
-                                get: function () {
-                                    return this._alphaFact
-                                },
-                                set: function (e) {
-                                    this[P("0x72a")] = e
-                                }
-                            },
-                            normalFact: {
-                                get: function () {
-                                    return this[P("0x729")]
-                                },
-                                set: function (e) {
-                                    this._normalFact = e
-                                }
-                            }
-                        });
-                    var n = new (e[P("0x11")])
-                        , o = e[P("0x72b")] = function (t) {
-                            if (t = t || {},
-                                this[P("0x6b1")] = t[P("0x6af")] ? e[P("0x6ba")](t[P("0x6af")]) : null,
-                                this[P("0x6be")] = [],
-                                this[P("0x42")] = t.viewer[P("0x10f")],
-                                this._clock = t.viewer.clock,
-                                this[P("0xfc")] = t[P("0xfc")] ? t.scale : 1,
-                                this[P("0x72c")] = new (e[P("0x16a")]),
-                                this._endColor = new (e[P("0x16a")]),
-                                this[P("0x72d")] = t.density ? t.density : .5,
-                                this[P("0x6c4")] = t.life ? t.life : 1,
-                                this[P("0x539")] = t[P("0x539")] ? t.speed : 1,
-                                this[P("0x72e")] = t.normalFactor ? t[P("0x72e")] : 1,
-                                this[P("0x6c9")] = t[P("0x1a9")] ? t.count : 600,
-                                this[P("0x63c")] = t[P("0x181")] ? t.radius : .5,
-                                this[P("0x6ca")] = t[P("0x6cb")] ? t.grow : 60,
-                                this[P("0x72f")] = [],
-                                this[P("0x6cc")] = null,
-                                this._drawCommandAlpha = null,
-                                this._drawCommandOpaque = null,
-                                this._pointsArray = null,
-                                this._directionsArray = null,
-                                this[P("0x6d0")] = null,
-                                this._needUpdate = !0,
-                                this[P("0x730")] = 0,
-                                this._preTime = 0,
-                                this[P("0x5cf")] = 0,
-                                this[P("0x731")] = .075,
-                                this[P("0x6d2")](),
-                                this._initSmokes(this[P("0x6c9")]),
-                                t.positions && t[P("0x19f")].length)
-                                for (var i = t[P("0x19f")], r = i[P("0x0")], n = 0; n < r; n++)
-                                    this[P("0x6d4")](i[n])
+                    if (!this.featureNS) {
+                        var o = this.readFormat || this.format;
+                        this.featureNS = o.featureNS,
+                        o.autoConfig = !1,
+                        this.geometryName || this.setGeometryName(o.geometryName)
+                    }
+                    return r
+                },
+                commit: function(e, t) {
+                    t = GeoGlobe.Util.extend({}, t),
+                    GeoGlobe.Util.applyDefaults(t, this.options);
+                    var i = new GeoGlobe.Protocol.Response({
+                        requestType: "commit",
+                        reqFeatures: e
+                    });
+                    return i.priv = GeoGlobe.Request.POST({
+                        url: t.url,
+                        headers: t.headers,
+                        data: this.format.write(e, t),
+                        callback: this.createCallback(this.handleCommit, i, t)
+                    }),
+                    i
+                },
+                handleCommit: function(e, t) {
+                    if (t.callback) {
+                        var i = e.priv
+                          , r = i.responseXML;
+                        r && r.documentElement || (r = i.responseText);
+                        var n = this.format.read(r) || {};
+                        e.insertIds = n.insertIds || [],
+                        n.success ? e.code = GeoGlobe.Protocol.Response.SUCCESS : (e.code = GeoGlobe.Protocol.Response.FAILURE,
+                        e.error = n),
+                        t.callback.call(t.scope, e)
+                    }
+                },
+                filterDelete: function(e, t) {
+                    t = GeoGlobe.Util.extend({}, t),
+                    GeoGlobe.Util.applyDefaults(t, this.options),
+                    new GeoGlobe.Protocol.Response({
+                        requestType: "commit"
+                    });
+                    var i = this.format.createElementNSPlus("wfs:Transaction", {
+                        attributes: {
+                            service: "WFS",
+                            version: this.version
                         }
-                        ;
-                    e[P("0xf")](o.prototype, {
-                        scale: {
-                            get: function () {
-                                return this[P("0x6c1")]
-                            },
-                            set: function (e) {
-                                this[P("0x6bf")] = .7 * e,
-                                    this._endScale = 1.6 * e,
-                                    this[P("0x6c1")] = 1 * e
-                            }
-                        },
-                        life: {
-                            get: function () {
-                                return this[P("0x6c6")] / 4
-                            },
-                            set: function (e) {
-                                this[P("0x6c5")] = 2.5 * e,
-                                    this._maxLife = 4 * e
-                            }
-                        },
-                        speed: {
-                            get: function () {
-                                return this[P("0x6c8")] / 6
-                            },
-                            set: function (e) {
-                                this[P("0x6c7")] = 1.5 * e,
-                                    this[P("0x6c8")] = 6 * e
-                            }
-                        },
-                        radius: {
-                            get: function () {
-                                return this[P("0x63c")]
-                            },
-                            set: function (e) {
-                                this[P("0x63c")] = e
-                            }
-                        },
-                        grow: {
-                            get: function () {
-                                return this[P("0x6ca")]
-                            },
-                            set: function (e) {
-                                this._grow = e
-                            }
-                        },
-                        pntsCount: {
-                            get: function () {
-                                return this[P("0x6be")][P("0x0")]
-                            }
-                        },
-                        density: {
-                            get: function () {
-                                return 1 - this[P("0x6c2")].red
-                            },
-                            set: function (e) {
-                                e = 1 - e,
-                                    this._endColor[P("0x66e")] = e,
-                                    this[P("0x6c2")].green = e,
-                                    this[P("0x6c2")].blue = e,
-                                    this[P("0x6c2")][P("0x671")] = .715,
-                                    this._startColor[P("0x66e")] = Math[P("0x7d")](1, e + .3),
-                                    this[P("0x72c")][P("0x66f")] = Math.min(1, e + .3),
-                                    this[P("0x72c")][P("0x670")] = Math[P("0x7d")](1, e + .3),
-                                    this[P("0x72c")][P("0x671")] = 1
-                            }
-                        },
-                        normalFactor: {
-                            get: function () {
-                                this[P("0x732")]
-                            },
-                            set: function (e) {
-                                this[P("0x733")] = 5 * e,
-                                    this[P("0x732")] = 16 * e
-                            }
+                    })
+                      , r = this.format.createElementNSPlus("wfs:Delete", {
+                        attributes: {
+                            typeName: (t.featureNS ? this.featurePrefix + ":" : "") + t.featureType
                         }
                     });
-                    var a = new (e[P("0x11")]);
-                    o.prototype.addPosition = function (t) {
-                        if (void 0 !== t) {
-                            t = e[P("0x13")].fromDegrees.apply(this, t),
-                                t = e[P("0x11")][P("0x3d0")](t[P("0x112")], t.latitude, t.height, void 0, a);
-                            var i = 10
-                                , r = this[P("0x6be")][P("0x0")];
-                            if (0 < r) {
-                                var o = this[P("0x6be")][r - 1];
-                                n = e[P("0x11")][P("0x95")](t, o, n),
-                                    i = e.Cartesian3[P("0x96")](n)
-                            }
-                            i < .5 || (this[P("0x6be")][P("0x17c")](t[P("0x6e")]()),
-                                this[P("0x734")](this[P("0x6ca")], i))
-                        }
-                    }
+                    t.featureNS && r.setAttribute("xmlns:" + this.featurePrefix, t.featureNS);
+                    var n = this.format.writeNode("ogc:Filter", e);
+                    r.appendChild(n),
+                    i.appendChild(r);
+                    var o = GeoGlobe.Format.XML.prototype.write.apply(this.format, [i]);
+                    return GeoGlobe.Request.POST({
+                        url: this.url,
+                        callback: t.callback || function() {}
                         ,
-                        o[P("0x5")][P("0xf4")] = function () {
-                            this[P("0x42")] = null,
-                                this._clock = null,
-                                this._drawCommandAlpha && (this._drawCommandAlpha[P("0x5cb")] && (this._drawCommandAlpha[P("0x5cb")][P("0xf4")](),
-                                    this[P("0x5b5")][P("0x5cb")] = null),
-                                    this[P("0x5b5")][P("0x5cc")] && (this[P("0x5b5")][P("0x5cc")][P("0xf4")](),
-                                        this[P("0x5b5")][P("0x5cc")] = null),
-                                    this._drawCommandAlpha[P("0x6d6")] = null,
-                                    this[P("0x5b5")] = null),
-                                this[P("0x5b6")] && (this[P("0x5b6")].vertexArray && (this._drawCommandOpaque.vertexArray[P("0xf4")](),
-                                    this[P("0x5b6")][P("0x5cb")] = null),
-                                    this[P("0x5b6")].shaderProgram && (this._drawCommandOpaque[P("0x5cc")][P("0xf4")](),
-                                        this[P("0x5b6")][P("0x5cc")] = null),
-                                    this._drawCommandOpaque[P("0x6d6")] = null,
-                                    this[P("0x5b6")] = null),
-                                this[P("0x6cc")] && (this[P("0x6cc")].destroy(),
-                                    this._texture_0 = null),
-                                this._smokes[P("0x0")] = 0,
-                                this[P("0x6be")][P("0x0")] = 0,
-                                this._pointsArray = null,
-                                this[P("0x6d8")] = null,
-                                this[P("0x6d0")] = null
-                        }
-                        ,
-                        o[P("0x5")][P("0x6d2")] = function () {
-                            var t = this
-                                , i = t[P("0x42")][P("0x6d9")].context;
-                            t[P("0x6b1")] && (t[P("0x6cc")] && (t[P("0x6cc")][P("0xf4")](),
-                                t[P("0x6cc")] = null),
-                                e[P("0x6da")][P("0x6dc")](t[P("0x6b1")])[P("0x333")]((function (r) {
-                                    t[P("0x6cc")] = new (e[P("0x6db")])({
-                                        context: i,
-                                        source: r
-                                    }, (function (e) { }
-                                    ))
-                                }
-                                )))
-                        }
-                        ,
-                        o[P("0x5")]._emissionPosition = function () {
-                            var t = this[P("0x6be")][P("0x0")];
-                            if (t < 1)
-                                return null;
-                            if (t < 2)
-                                return this[P("0x6be")][0][P("0x6e")](n),
-                                    n.x += e[P("0x23")][P("0x6de")](0, 1) * this[P("0x63c")],
-                                    n.y += e[P("0x23")][P("0x6de")](0, 1) * this[P("0x63c")],
-                                    n.z += e[P("0x23")].randomBetween(0, 1) * this[P("0x63c")],
-                                    n;
-                            var i = e.Math[P("0x6de")](0, t - 1);
-                            i = Math.floor(i);
-                            var r = this[P("0x6be")][i]
-                                , o = this[P("0x6be")][i + 1]
-                                , a = e[P("0x23")][P("0x6de")](0, 1);
-                            return n = e.Cartesian3.lerp(r, o, a, n)
-                        }
-                        ,
-                        o[P("0x5")][P("0x735")] = function (e) {
-                            if (e && !(e < 1))
-                                for (var i = 0; i < e; i++) {
-                                    var r = new t;
-                                    this[P("0x72f")][P("0x17c")](r)
-                                }
-                        }
-                        ,
-                        o[P("0x5")]._growSmokes = function (e, i) {
-                            e = Math[P("0x5f0")](e * i),
-                                this[P("0x6c9")] += e;
-                            for (var r = 0; r < e; r++) {
-                                var n = new t;
-                                this[P("0x72f")].push(n)
-                            }
-                        }
-                        ;
-                    var s = new (e[P("0x11")])
-                        , x = new (e[P("0x1d")])
-                        , l = new (e[P("0x1b")])
-                        , c = new (e[P("0x1a")]);
-                    o[P("0x5")][P("0x736")] = function (t) {
-                        var i = this._emissionPosition();
-                        if (!i)
-                            return !1;
-                        if (t.position = i[P("0x6e")](t.position),
-                            t[P("0x8c")]) {
-                            t[P("0x93")] || (t[P("0x93")] = new (e[P("0x11")])),
-                                e[P("0x11")][P("0x8d")](t[P("0x8c")], t[P("0x93")]);
-                            var r = e.Math.randomBetween(.5, 1.570789)
-                                , n = e[P("0x23")].randomBetween(0, 6.28318)
-                                , o = e.Quaternion.fromAxisAngle(t[P("0x93")], n, x);
-                            if (t[P("0x93")][P("0x84")](e[P("0x11")].UNIT_X)) {
-                                var a = e[P("0x11")][P("0x99")](t.direction, e[P("0x11")][P("0xc3")], s);
-                                e[P("0x11")][P("0x8d")](a, a),
-                                    n = e[P("0x1d")][P("0xcc")](a, r, x)
-                            } else
-                                a = e.Cartesian3.cross(t[P("0x93")], e.Cartesian3[P("0xb8")], s),
-                                    e.Cartesian3.normalize(a, a),
-                                    n = e[P("0x1d")][P("0xcc")](a, r, x);
-                            var u = e.Quaternion[P("0x737")](o, n, o)
-                                , h = e.Matrix4[P("0x738")](e[P("0x1a")][P("0xcd")](u, c), void 0, l);
-                            e[P("0x1b")][P("0x739")](h, t[P("0x93")], t.direction),
-                                e[P("0x11")].normalize(t[P("0x93")], t[P("0x93")])
-                        }
-                        return t[P("0x539")] = e[P("0x23")][P("0x6de")](this[P("0x6c7")], this._maxSpeed),
-                            t[P("0x6c4")] = e[P("0x23")][P("0x6de")](this[P("0x6c5")], this._maxLife),
-                            t[P("0x6e0")] = e[P("0x23")][P("0x6de")](.5, 5),
-                            t[P("0xd3")] = 0,
-                            t[P("0x73a")] = e.Math[P("0x6de")](this[P("0x72c")].alpha, this[P("0x6c2")].alpha),
-                            t[P("0x73b")] = e.Math.randomBetween(this._minNormalFactor, this[P("0x732")]),
-                            null != t[P("0x8c")]
-                    }
-                        ,
-                        o[P("0x5")][P("0x73c")] = function (e) {
-                            e[P("0xd2")](this[P("0x5cf")]),
-                                e[P("0x5bb")] || this._initSmoke(e) && 0 < this[P("0x73d")] && (e[P("0x69")](),
-                                    --this[P("0x73d")])
-                        }
-                        ,
-                        o[P("0x5")][P("0x5c8")] = function (t) {
-                            var i;
-                            if (i = this._clock[P("0x6e4")] ? t[P("0x6f2")].secondsOfDay : e[P("0x5d0")]() / 1e3,
-                                0 == this[P("0x6d1")])
-                                this[P("0x6d1")] = i;
-                            else {
-                                var r = i - this[P("0x6d1")];
-                                r > this[P("0x6c6")] && (r = this[P("0x6c6")]),
-                                    this[P("0x5cf")] = r,
-                                    this._preTime = i
-                            }
-                        }
-                        ,
-                        o[P("0x5")][P("0xd2")] = function (e) {
-                            this[P("0x5c8")](e);
-                            var t = this._count;
-                            if (!(t < 1 || t != this[P("0x72f")][P("0x0")] || this[P("0x6be")][P("0x0")] < 1) && this[P("0x6cc")]) {
-                                if (this._needUpdate) {
-                                    this[P("0x73d")] = this._door * t;
-                                    for (var i = 0; i < t; i++) {
-                                        var r = this[P("0x72f")][i];
-                                        this._updateSmoke(r)
-                                    }
-                                    this[P("0x6e6")](e),
-                                        this[P("0x5b7")] = !1
-                                } else
-                                    this[P("0x5b7")] = !0;
-                                this._isCommandReady() && (e[P("0x5ca")][P("0x17c")](this._drawCommandAlpha),
-                                    e[P("0x5ca")][P("0x17c")](this._drawCommandOpaque))
-                            }
-                        }
-                        ,
-                        o[P("0x5")].updateNext = function (e) {
-                            this[P("0x6e7")]() && (e[P("0x5ca")].push(this[P("0x5b5")]),
-                                e[P("0x5ca")].push(this[P("0x5b6")]))
-                        }
-                        ,
-                        o.prototype[P("0x6e6")] = function (t) {
-                            var i = this[P("0x5b5")];
-                            i || ((i = this._drawCommandAlpha = new (e[P("0x5d3")]))[P("0x5d4")] = e[P("0x5e4")][P("0x73e")],
-                                i[P("0x5cd")] = this,
-                                i.count = 6),
-                                i.instanceCount = this[P("0x6c9")],
-                                this._updateCommandVA(t, i),
-                                this[P("0x6ea")](t, i),
-                                this[P("0x73f")](t, i),
-                                this[P("0x6ec")](t, i),
-                                this._updateCommandRenderStateAlpha(t, i),
-                                this[P("0x6fb")](t, i);
-                            var r = this[P("0x5b6")];
-                            r || ((r = this[P("0x5b6")] = new (e[P("0x5d3")]))[P("0x5d4")] = e[P("0x5e4")][P("0x5e5")],
-                                r[P("0x5cd")] = this,
-                                r.count = 6),
-                                r.instanceCount = this._count,
-                                this[P("0x740")](t, r),
-                                this[P("0x6ea")](t, r),
-                                this[P("0x741")](t, r),
-                                this[P("0x6ec")](t, r),
-                                this._updateCommandRenderStateOpaque(t, r),
-                                this[P("0x6fb")](t, r)
-                        }
-                        ,
-                        o[P("0x5")][P("0x6e7")] = function () {
-                            var e = this[P("0x5b5")];
-                            return !!(e && e[P("0x5cb")] && e[P("0x4bc")] && e[P("0x5cc")] && e[P("0x5de")] && e[P("0x5d5")])
-                        }
-                        ;
-                    var u = {
-                        aPlane: 0
-                    };
-                    u[P("0x6ee")] = 1,
-                        u[P("0x6ef")] = 2,
-                        u[P("0x6f0")] = 3,
-                        u[P("0x6f3")] = 4,
-                        o[P("0x5")][P("0x6f1")] = function (t, i) {
-                            var r = this._count
-                                , n = t[P("0x3cc")];
-                            this[P("0x6cf")] || (this[P("0x6cf")] = e[P("0x5e8")][P("0x5e7")](e.ComponentDatatype[P("0x5e9")], 4 * r));
-                            var o = this[P("0x6cf")];
-                            this[P("0x6d8")] || (this[P("0x6d8")] = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 4 * r));
-                            var a = this[P("0x6d8")];
-                            this[P("0x6d0")] || (this[P("0x6d0")] = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 4 * r));
-                            for (var s = this._speedScaleLifeTimesArray, x = 0; x < r; x++) {
-                                var l = this[P("0x72f")][x]
-                                    , c = l[P("0x8c")];
-                                o[4 * x] = c.x,
-                                    o[4 * x + 1] = c.y,
-                                    o[4 * x + 2] = c.z,
-                                    o[4 * x + 3] = l.alphaFact;
-                                var h = l.direction;
-                                a[4 * x] = h.x,
-                                    a[4 * x + 1] = h.y,
-                                    a[4 * x + 2] = h.z,
-                                    a[4 * x + 3] = l[P("0xd3")],
-                                    s[4 * x] = l.speed,
-                                    s[4 * x + 1] = l[P("0x6e0")],
-                                    s[4 * x + 2] = l[P("0x6c4")],
-                                    s[4 * x + 3] = l[P("0x6f2")]
-                            }
-                            var f = e[P("0x5ea")][P("0x5eb")]({
-                                context: n,
-                                typedArray: new Float32Array([-.5, 0, .5, 0, 1, 2, -1, 2]),
-                                usage: e.BufferUsage[P("0x4d6")]
-                            })
-                                , d = e[P("0x5ea")][P("0x5eb")]({
-                                    context: n,
-                                    typedArray: o,
-                                    usage: e.BufferUsage[P("0x4d6")]
-                                })
-                                , g = e[P("0x5ea")][P("0x5eb")]({
-                                    context: n,
-                                    typedArray: a,
-                                    usage: e.BufferUsage[P("0x4d6")]
-                                })
-                                , p = e[P("0x5ea")][P("0x5eb")]({
-                                    context: n,
-                                    typedArray: s,
-                                    usage: e.BufferUsage[P("0x4d6")]
-                                })
-                                , m = e[P("0x5ea")][P("0x5eb")]({
-                                    context: n,
-                                    typedArray: new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]),
-                                    usage: e[P("0x4d5")].STATIC_DRAW
-                                })
-                                , b = e[P("0x5ea")].createIndexBuffer({
-                                    context: n,
-                                    typedArray: new Uint16Array([0, 1, 2, 0, 2, 3]),
-                                    usage: e[P("0x4d5")].STATIC_DRAW,
-                                    indexDatatype: e[P("0x742")][P("0x5ed")]
-                                })
-                                , v = [];
-                            v.push({
-                                index: u[P("0x6ee")],
-                                vertexBuffer: d,
-                                componentsPerAttribute: 4,
-                                componentDatatype: e.ComponentDatatype[P("0x5e9")],
-                                offsetInBytes: 0,
-                                strideInBytes: 16,
-                                normalize: !1,
-                                instanceDivisor: 1
-                            }),
-                                v[P("0x17c")]({
-                                    index: u[P("0x6ef")],
-                                    vertexBuffer: g,
-                                    componentsPerAttribute: 4,
-                                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                    offsetInBytes: 0,
-                                    strideInBytes: 16,
-                                    normalize: !1,
-                                    instanceDivisor: 1
-                                }),
-                                v[P("0x17c")]({
-                                    index: u[P("0x6f0")],
-                                    vertexBuffer: p,
-                                    componentsPerAttribute: 4,
-                                    componentDatatype: e.ComponentDatatype[P("0x5e9")],
-                                    offsetInBytes: 0,
-                                    strideInBytes: 16,
-                                    normalize: !1,
-                                    instanceDivisor: 1
-                                }),
-                                v.push({
-                                    index: u[P("0x6f3")],
-                                    vertexBuffer: m,
-                                    componentsPerAttribute: 2,
-                                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                    offsetInBytes: 0,
-                                    strideInBytes: 8,
-                                    normalize: !1
-                                }),
-                                v[P("0x17c")]({
-                                    index: u[P("0x6f4")],
-                                    vertexBuffer: f,
-                                    componentsPerAttribute: 2,
-                                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                    offsetInBytes: 0,
-                                    strideInBytes: 8,
-                                    normalize: !1
-                                });
-                            var C = new (e[P("0x5ee")])({
-                                context: n,
-                                attributes: v,
-                                indexBuffer: b
-                            });
-                            i[P("0x5cb")] && i[P("0x5cb")][P("0xf4")](),
-                                i[P("0x5cb")] = C
-                        }
-                        ,
-                        o[P("0x5")][P("0x740")] = function (t, i) {
-                            this[P("0x6c9")];
-                            var r = t.context;
-                            if (this._pointsArray) {
-                                var n = this[P("0x6cf")]
-                                    , o = this._directionsArray
-                                    , a = this[P("0x6d0")]
-                                    , s = e[P("0x5ea")][P("0x5eb")]({
-                                        context: r,
-                                        typedArray: new Float32Array([-.5, 0, .5, 0, 1, 2, -1, 2]),
-                                        usage: e[P("0x4d5")][P("0x4d6")]
-                                    })
-                                    , x = e[P("0x5ea")].createVertexBuffer({
-                                        context: r,
-                                        typedArray: n,
-                                        usage: e[P("0x4d5")][P("0x4d6")]
-                                    })
-                                    , l = e[P("0x5ea")].createVertexBuffer({
-                                        context: r,
-                                        typedArray: o,
-                                        usage: e[P("0x4d5")].STATIC_DRAW
-                                    })
-                                    , c = e[P("0x5ea")][P("0x5eb")]({
-                                        context: r,
-                                        typedArray: a,
-                                        usage: e[P("0x4d5")][P("0x4d6")]
-                                    })
-                                    , h = e[P("0x5ea")][P("0x5eb")]({
-                                        context: r,
-                                        typedArray: new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]),
-                                        usage: e.BufferUsage[P("0x4d6")]
-                                    })
-                                    , f = e[P("0x5ea")][P("0x5ec")]({
-                                        context: r,
-                                        typedArray: new Uint16Array([0, 1, 2, 0, 2, 3]),
-                                        usage: e[P("0x4d5")].STATIC_DRAW,
-                                        indexDatatype: e[P("0x742")].UNSIGNED_SHORT
-                                    })
-                                    , d = [];
-                                d[P("0x17c")]({
-                                    index: u[P("0x6ee")],
-                                    vertexBuffer: x,
-                                    componentsPerAttribute: 4,
-                                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                    offsetInBytes: 0,
-                                    strideInBytes: 16,
-                                    normalize: !1,
-                                    instanceDivisor: 1
-                                }),
-                                    d[P("0x17c")]({
-                                        index: u.aDirection,
-                                        vertexBuffer: l,
-                                        componentsPerAttribute: 4,
-                                        componentDatatype: e.ComponentDatatype[P("0x5e9")],
-                                        offsetInBytes: 0,
-                                        strideInBytes: 16,
-                                        normalize: !1,
-                                        instanceDivisor: 1
-                                    }),
-                                    d.push({
-                                        index: u[P("0x6f0")],
-                                        vertexBuffer: c,
-                                        componentsPerAttribute: 4,
-                                        componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                        offsetInBytes: 0,
-                                        strideInBytes: 16,
-                                        normalize: !1,
-                                        instanceDivisor: 1
-                                    }),
-                                    d[P("0x17c")]({
-                                        index: u[P("0x6f3")],
-                                        vertexBuffer: h,
-                                        componentsPerAttribute: 2,
-                                        componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                        offsetInBytes: 0,
-                                        strideInBytes: 8,
-                                        normalize: !1
-                                    }),
-                                    d[P("0x17c")]({
-                                        index: u[P("0x6f4")],
-                                        vertexBuffer: s,
-                                        componentsPerAttribute: 2,
-                                        componentDatatype: e[P("0x5e8")].FLOAT,
-                                        offsetInBytes: 0,
-                                        strideInBytes: 8,
-                                        normalize: !1
-                                    });
-                                var g = new e.VertexArray({
-                                    context: r,
-                                    attributes: d,
-                                    indexBuffer: f
-                                });
-                                i.vertexArray && i[P("0x5cb")].destroy(),
-                                    i[P("0x5cb")] = g
-                            }
-                        }
-                        ;
-                    var h = new (e[P("0x5f1")]);
-                    o[P("0x5")][P("0x6ea")] = function (t, i) {
-                        var r = this._positions[P("0x0")];
-                        if (r < 1)
-                            i[P("0x4bc")] = null;
-                        else if (r < 2)
-                            h.center = this[P("0x6be")][0][P("0x6e")](h[P("0x11a")]),
-                                h[P("0x181")] = this[P("0x63c")] + this._maxSpeed * this[P("0x6c6")],
-                                i.boundingVolume = h;
-                        else {
-                            h[P("0x11a")] = this._positions[0][P("0x6e")](h[P("0x11a")]),
-                                h[P("0x181")] = this[P("0x63c")];
-                            for (var n = 1; n < r; n++)
-                                e[P("0x5f1")].expand(h, this[P("0x6be")][n], h);
-                            i.boundingVolume = h
-                        }
-                    }
-                        ,
-                        o[P("0x5")][P("0x73f")] = function (t, i) {
-                            if (!i[P("0x5cc")]) {
-                                var r = t[P("0x3cc")];
-                                i[P("0x5cc")] = e[P("0x5dc")][P("0x5d7")]({
-                                    context: r,
-                                    vertexShaderSource: f,
-                                    fragmentShaderSource: d,
-                                    attributeLocations: u
-                                })
-                            }
-                        }
-                        ,
-                        o[P("0x5")]._updateCommandShaderProgramOpaque = function (t, i) {
-                            if (!i[P("0x5cc")]) {
-                                var r = t[P("0x3cc")];
-                                i[P("0x5cc")] = e[P("0x5dc")].fromCache({
-                                    context: r,
-                                    vertexShaderSource: g,
-                                    fragmentShaderSource: p,
-                                    attributeLocations: u
-                                })
-                            }
-                        }
-                        ,
-                        o[P("0x5")][P("0x6ec")] = function (e, t) {
-                            var i = t[P("0x5de")] = {};
-                            if (!i || !i[P("0x48b")]) {
-                                var r = this;
-                                i._ready = !0,
-                                    i[P("0x6f5")] = function () {
-                                        return r._startScale
-                                    }
-                                    ,
-                                    i[P("0x6f6")] = function () {
-                                        return r._endScale
-                                    }
-                                    ,
-                                    i[P("0x6f7")] = function () {
-                                        return r[P("0x6c1")]
-                                    }
-                                    ,
-                                    i[P("0x743")] = function () {
-                                        return r[P("0x72c")]
-                                    }
-                                    ,
-                                    i.u_endColor = function () {
-                                        return r[P("0x6c2")]
-                                    }
-                                    ,
-                                    i[P("0x6f9")] = function () {
-                                        return r[P("0x6cc")]
-                                    }
-                            }
-                        }
-                        ,
-                        o[P("0x5")]._updateCommandRenderStateAlpha = function (t, i) {
-                            i[P("0x5d5")] || (i[P("0x5d5")] = e.RenderState[P("0x5d7")]({
-                                cull: {
-                                    enabled: !1
-                                },
-                                depthTest: {
-                                    enabled: !0,
-                                    func: e.WebGLConstants.LEQUAL
-                                },
-                                depthMask: !1,
-                                blending: e[P("0x5da")][P("0x5db")]
-                            }))
-                        }
-                        ,
-                        o.prototype._updateCommandRenderStateOpaque = function (t, i) {
-                            i[P("0x5d5")] || (i[P("0x5d5")] = e[P("0x5d6")][P("0x5d7")]({
-                                cull: {
-                                    enabled: !1
-                                },
-                                depthTest: {
-                                    enabled: !0,
-                                    func: e.WebGLConstants[P("0x5d9")]
-                                },
-                                depthMask: !0
-                            }))
-                        }
-                        ,
-                        o.prototype[P("0x6fb")] = function (t, i) {
-                            i[P("0x4ac")] || (i[P("0x4ac")] = e[P("0x1b")][P("0xae")])
-                        }
-                        ;
-                    var f = P("0x6fc") + P("0x744") + P("0x6fd") + "attribute vec4 aSpeedScaleLifeTime;\nattribute vec2 aTexcoord;\nuniform vec4 u_startColor;\n" + P("0x745") + "uniform float u_startScale;\n" + P("0x700") + P("0x746") + "varying vec3 v_texcoord_0;\nvarying vec4 v_colorFact;\n" + P("0x703") + P("0x747") + P("0x705") + P("0x748") + P("0x706") + P("0x707") + "}\nvoid main()\n{\n" + P("0x709") + P("0x70a") + P("0x70b") + P("0x749") + P("0x74a") + "   baseScale *= mix(u_startScale, u_endScale, t);\n" + P("0x74b") + P("0x70d") + P("0x74c") + P("0x74d") + "   v_colorFact = vec4(mix(u_startColor.rgb, u_endColor.rgb, aPosition.w * (u_startColor.a + u_endColor.a) / 2.0), aPosition.w);\n}"
-                        , d = P("0x701") + P("0x702") + P("0x716") + P("0x708") + "{\n" + P("0x719") + P("0x74e") + "   color = czm_gammaCorrect(color);\n" + P("0x74f") + P("0x726") + P("0x750") + "   gl_FragColor = color;\n}"
-                        , g = "attribute vec2 aPlane;\n" + P("0x744") + P("0x6fd") + P("0x6fe") + P("0x6ff") + P("0x751") + P("0x745") + P("0x752") + P("0x700") + "uniform float u_imageSize;\n" + P("0x701") + "varying vec4 v_colorFact;\n" + P("0x703") + P("0x747") + "   vec4 result = czm_modelView * vec4(v, 1.0);\n" + P("0x748") + P("0x706") + "   return result;\n}\n" + P("0x708") + "{\n" + P("0x709") + P("0x70a") + P("0x70b") + P("0x749") + P("0x74a") + P("0x70c") + P("0x74b") + P("0x70d") + P("0x74c") + "   v_texcoord_0.z = t;\n" + P("0x753") + "}"
-                        , p = P("0x701") + P("0x702") + P("0x716") + "void main()\n{\n" + P("0x754") + P("0x719") + P("0x74e") + P("0x755") + P("0x74f") + P("0x726") + "   if (color.a < 0.746){discard;}\n" + P("0x728") + "}"
-                }(window.Cesium),
-                function (e) {
-                    function t(t) {
-                        t = i(t, i[P("0x128")]),
-                            this[P("0x13b")] = t[P("0x13b")],
-                            this[P("0x756")] = t[P("0x756")],
-                            this[P("0x440")] = t.data,
-                            this.sampleMaxHeight = i(t[P("0x757")], 2e4),
-                            this.sampleMaxPoint = i(t[P("0x758")], 50),
-                            this.isParabola = i(t[P("0x759")], !0),
-                            this.autoToGround = i(t[P("0x75a")], !1),
-                            this._data = [],
-                            this[P("0x75b")] = r + "_" + e[P("0x75c")](),
-                            this._lines = [],
-                            this[P("0x69c")](this[P("0x440")]),
-                            this[P("0x75d")]()
-                    }
-                    t[P("0x5")][P("0x69c")] = function (t) {
-                        var i = this;
-                        this[P("0x75e")] = [];
-                        var r = this;
-                        t instanceof Array && t.forEach((function (t) {
-                            var n = e.Cartesian3[P("0x1a1")][P("0x346")](i, t[P("0x75f")][0])
-                                , o = e[P("0x11")][P("0x1a1")][P("0x346")](i, t[P("0x75f")][1])
-                                , a = [];
-                            r[P("0x759")] ? a = function (t, i, r, n) {
-                                var o = []
-                                    , a = e[P("0x13")].fromCartesian(t)
-                                    , s = e[P("0x13")].fromCartesian(i)
-                                    , x = 180 * a[P("0x112")] / Math.PI
-                                    , l = 180 * a[P("0x114")] / Math.PI
-                                    , c = 180 * s[P("0x112")] / Math.PI
-                                    , u = 180 * s[P("0x114")] / Math.PI
-                                    , h = Math[P("0xca")]((x - c) * (x - c) + (l - u) * (l - u)) * r
-                                    , f = e[P("0x11")].clone(t)
-                                    , d = e.Cartesian3[P("0x6e")](i)
-                                    , g = e[P("0x11")][P("0x8e")](f, e[P("0x11")][P("0x6f")])
-                                    , p = e[P("0x11")].distance(d, e[P("0x11")][P("0x6f")]);
-                                if (e[P("0x11")][P("0x8d")](f, f),
-                                    e[P("0x11")][P("0x8d")](d, d),
-                                    0 == e.Cartesian3[P("0x8e")](f, d))
-                                    return o;
-                                var m = e[P("0x11")][P("0xcb")](f, d);
-                                o.push(t);
-                                for (var b = 1; b < n - 1; b++) {
-                                    var v = 1 * b / (n - 1)
-                                        , C = 1 - v
-                                        , y = Math[P("0x98")](C * m) / Math[P("0x98")](m)
-                                        , _ = Math[P("0x98")](v * m) / Math.sin(m)
-                                        , A = e[P("0x11")][P("0x6c")](f, y, new (e[P("0x11")]))
-                                        , I = e[P("0x11")][P("0x6c")](d, _, new e.Cartesian3)
-                                        , w = e[P("0x11")][P("0x6d")](A, I, new (e[P("0x11")]))
-                                        , G = v * Math.PI
-                                        , E = g * C + p * v + Math[P("0x98")](G) * h;
-                                    w = e.Cartesian3[P("0x6c")](w, E, w),
-                                        o.push(w)
-                                }
-                                return o[P("0x17c")](i),
-                                    o
-                            }(n, o, r.sampleMaxHeight, r.sampleMaxPoint) : t.posititons[P("0x1e4")]((function (t) {
-                                a[P("0x17c")](e[P("0x11")].fromDegrees[P("0x346")](i, t))
-                            }
-                            )),
-                                r[P("0x75e")][P("0x17c")]({
-                                    posititons: a,
-                                    color: t[P("0x169")],
-                                    width: t[P("0x19a")],
-                                    duration: t.duration
-                                })
-                        }
-                        ))
-                    }
-                        ,
-                        t[P("0x5")][P("0x760")] = function () {
-                            return this[P("0x75e")]
-                        }
-                        ,
-                        t[P("0x5")][P("0x761")] = function () {
-                            var t = this._data
-                                , i = this[P("0x762")]
-                                , r = this[P("0x13b")].entities
-                                , o = this[P("0x75b")]
-                                , a = this;
-                            this._clearPolylines(),
-                                t instanceof Array && t.forEach((function (t) {
-                                    var s = new (e[P("0x18e")])({
-                                        name: o,
-                                        polyline: {
-                                            positions: t[P("0x75f")],
-                                            width: t[P("0x19a")],
-                                            clampToGround: !a[P("0x759")] && a.autoToGround,
-                                            material: new n({
-                                                color: t[P("0x169")],
-                                                width: t[P("0x19a")],
-                                                duration: t[P("0x763")],
-                                                playing: a[P("0x756")]
-                                            })
-                                        }
-                                    });
-                                    i.push(s),
-                                        r.add(s)
-                                }
-                                ))
-                        }
-                        ,
-                        t[P("0x5")].render = function () {
-                            this[P("0x761")]()
-                        }
-                        ,
-                        t[P("0x5")][P("0x764")] = function () {
-                            var e = this[P("0x762")]
-                                , t = this[P("0x13b")][P("0x194")];
-                            e.forEach((function (e) {
-                                t[P("0x17f")](e)
-                            }
-                            )),
-                                e[P("0x0")] = 0
-                        }
-                        ,
-                        t.prototype[P("0x543")] = function (e) {
-                            this[P("0x756")] = "boolean" == typeof e ? e : !this.playing;
-                            var t = this[P("0x762")];
-                            e = this.playing,
-                                t.forEach((function (t) {
-                                    t[P("0x2eb")][P("0x19c")][P("0x756")] = e
-                                }
-                                ))
-                        }
-                        ,
-                        t[P("0x5")].destroy = function () {
-                            this[P("0x764")](),
-                                this[P("0x75e")] = void 0,
-                                this._lines = void 0,
-                                this[P("0x75b")] = void 0,
-                                this.viewer = void 0,
-                                this[P("0x440")] = void 0,
-                                this[P("0x759")] = void 0,
-                                this.playing = void 0,
-                                this[P("0x757")] = void 0,
-                                this[P("0x758")] = void 0
-                        }
-                        ;
-                    var i = e[P("0x102")]
-                        , r = (e.defined,
-                            "GEOODLINE");
-                    function n(t) {
-                        this[P("0x765")] = new (e[P("0x766")]),
-                            this[P("0x596")] = void 0,
-                            this._colorSubscription = void 0,
-                            this.color = t[P("0x169")],
-                            this[P("0x19a")] = t[P("0x19a")],
-                            this[P("0x763")] = t.duration,
-                            this[P("0x756")] = t[P("0x756")],
-                            this._time = (new Date)[P("0x68")]()
-                    }
-                    e.defineProperties(n[P("0x5")], {
-                        isConstant: {
-                            get: function () {
-                                return !1
-                            }
-                        },
-                        definitionChanged: {
-                            get: function () {
-                                return this[P("0x765")]
-                            }
-                        },
-                        color: e[P("0x767")](P("0x169"))
+                        data: o
+                    })
+                },
+                abort: function(e) {
+                    e && e.priv.abort()
+                },
+                CLASS_NAME: "GeoGlobe.Protocol.WFS.v1"
+            }),
+            GeoGlobe.Protocol.WFS.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Protocol.WFS.v1, {
+                version: "1.0.0",
+                CLASS_NAME: "GeoGlobe.Protocol.WFS.v1_0_0"
+            }),
+            GeoGlobe.Protocol.WFS.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Protocol.WFS.v1, {
+                version: "1.1.0",
+                initialize: function(e) {
+                    GeoGlobe.Protocol.WFS.v1.prototype.initialize.apply(this, arguments),
+                    this.outputFormat && !this.readFormat && ("gml2" == this.outputFormat.toLowerCase() ? this.readFormat = new GeoGlobe.Format.GML.v2({
+                        featureType: this.featureType,
+                        featureNS: this.featureNS,
+                        geometryName: this.geometryName
+                    }) : "json" == this.outputFormat.toLowerCase() && (this.readFormat = new GeoGlobe.Format.GeoJSON))
+                },
+                CLASS_NAME: "GeoGlobe.Protocol.WFS.v1_1_0"
+            }),
+            GeoGlobe.Protocol.CSW = function(e) {
+                e = GeoGlobe.Util.applyDefaults(e, GeoGlobe.Protocol.CSW.DEFAULTS);
+                var t = GeoGlobe.Protocol.CSW["v" + e.version.replace(/\./g, "_")];
+                if (!t)
+                    throw "Unsupported CSW version: " + e.version;
+                return new t(e)
+            }
+            ,
+            GeoGlobe.Protocol.CSW.DEFAULTS = {
+                version: "2.0.2"
+            },
+            GeoGlobe.Protocol.CSW.v2_0_2 = GeoGlobe.Class4OL(GeoGlobe.Protocol, {
+                formatOptions: null,
+                initialize: function(e) {
+                    GeoGlobe.Protocol.prototype.initialize.apply(this, [e]),
+                    e.format || (this.format = new GeoGlobe.Format.CSWGetRecords.v2_0_2(GeoGlobe.Util.extend({}, this.formatOptions)))
+                },
+                destroy: function() {
+                    this.options && !this.options.format && this.format.destroy(),
+                    this.format = null,
+                    GeoGlobe.Protocol.prototype.destroy.apply(this)
+                },
+                read: function(e) {
+                    e = GeoGlobe.Util.extend({}, e),
+                    GeoGlobe.Util.applyDefaults(e, this.options || {});
+                    var t = new GeoGlobe.Protocol.Response({
+                        requestType: "read"
+                    })
+                      , i = this.format.write(e.params || e);
+                    return t.priv = GeoGlobe.Request.POST({
+                        url: e.url,
+                        callback: this.createCallback(this.handleRead, t, e),
+                        params: e.params,
+                        headers: e.headers,
+                        data: i
                     }),
-                        n[P("0x5")][P("0x768")] = function (e) {
-                            return r
-                        }
-                        ,
-                        n[P("0x5")][P("0x512")] = function (t, i) {
-                            return e[P("0x14")](i) || (i = {}),
-                                i[P("0x169")] = e.Property[P("0x769")](this._color, t, e[P("0x16a")][P("0x2cf")], i[P("0x169")]),
-                                i.totoalFrameCount = this[P("0x756")] ? 60 * this[P("0x763")] : 0,
-                                i
-                        }
-                        ,
-                        n[P("0x5")][P("0x84")] = function (e) {
-                            return this === e
-                        }
-                        ,
-                        delete e[P("0x212")][P("0x76a")]._materials[r],
-                        e.Material[P("0x76a")][P("0x76b")](r, {
-                            fabric: {
-                                type: r,
-                                uniforms: {
-                                    color: new (e[P("0x16a")])(1, 1, 0, 1),
-                                    totoalFrameCount: 450
-                                },
-                                source: "\n\t\tczm_material czm_getMaterial(czm_materialInput materialInput)\n\t\t{\n\t\t    czm_material material = czm_getDefaultMaterial(materialInput);\n\t\t    vec2 st = materialInput.st;\n\t\t    float t = mod(czm_frameNumber, totoalFrameCount) / totoalFrameCount; \n\t\t    t *= 1.03;\n\t\t    float alpha = smoothstep(t- 0.03, t, st.s) * step(-t, -st.s); \n\t\t    alpha += 0.1;\n\t\t    material.diffuse = color.rgb;\n\t\t    material.alpha = alpha;\n\t\t    return material;\n\t\t}\n    "
-                            },
-                            translucent: function () {
-                                return !0
-                            }
-                        }),
-                        e.GeoODLine = t
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x76c")] = function (t) {
-                        this[P("0x13c")] = t[P("0x13b")],
-                            this._actived = !!t[P("0x5bb")] && t[P("0x5bb")],
-                            this[P("0x76d")] = null,
-                            this[P("0x76e")] = null,
-                            this._viewMatrix = e[P("0x1b")][P("0xae")],
-                            this[P("0x76f")] = [],
-                            this._framebuffer = null,
-                            this[P("0x770")] = null,
-                            this[P("0x771")] = null,
-                            this._groundTexture = null,
-                            this._xPlane = null,
-                            this[P("0x772")] = null,
-                            this[P("0x773")] = null,
-                            this[P("0x774")] = null,
-                            this[P("0x5b7")] = !1,
-                            this[P("0x775")](t),
-                            this[P("0x776")](t),
-                            this._createFireEffect(t),
-                            this[P("0x777")](t),
-                            this[P("0x778")](t)
+                    t
+                },
+                handleRead: function(e, t) {
+                    if (t.callback) {
+                        var i = e.priv;
+                        i.status >= 200 && i.status < 300 ? (e.data = this.parseData(i),
+                        e.code = GeoGlobe.Protocol.Response.SUCCESS) : e.code = GeoGlobe.Protocol.Response.FAILURE,
+                        t.callback.call(t.scope, e)
                     }
-                        ;
-                    e[P("0xf")](t.prototype, {
-                        explode: {
-                            get: function () {
-                                return this[P("0x76d")] ? this._fireEffect[P("0x6bd")] : 0
-                            },
-                            set: function (e) {
-                                this[P("0x76d")] && (this[P("0x76d")].explode = e)
-                            }
-                        },
-                        scale: {
-                            get: function () {
-                                return this._fireEffect ? this._fireEffect.scale : 1
-                            },
-                            set: function (e) {
-                                this[P("0x76d")] && (this[P("0x76d")][P("0xfc")] = e)
-                            }
-                        },
-                        life: {
-                            get: function () {
-                                return this[P("0x76d")] ? this[P("0x76d")][P("0x6c4")] : 0
-                            },
-                            set: function (e) {
-                                this[P("0x76d")] && (this[P("0x76d")].life = e)
-                            }
-                        },
-                        speed: {
-                            get: function () {
-                                return this[P("0x76d")] ? this._fireEffect[P("0x539")] : 0
-                            },
-                            set: function (e) {
-                                this[P("0x76d")] && (this[P("0x76d")].speed = e)
-                            }
-                        },
-                        radius: {
-                            get: function () {
-                                return this[P("0x76d")] ? this[P("0x76d")][P("0x181")] : 0
-                            },
-                            set: function (e) {
-                                this[P("0x76d")] && (this[P("0x76d")][P("0x181")] = e)
-                            }
-                        },
-                        grow: {
-                            get: function () {
-                                return this[P("0x76d")] ? this[P("0x76d")][P("0x6cb")] : 0
-                            },
-                            set: function (e) {
-                                this[P("0x76d")] && (this[P("0x76d")][P("0x6cb")] = e)
-                            }
-                        },
-                        smoking: {
-                            get: function () {
-                                return this[P("0x76d")] ? this._fireEffect[P("0x6c3")] : 0
-                            },
-                            set: function (e) {
-                                this[P("0x76d")] && (this._fireEffect[P("0x6c3")] = e)
-                            }
-                        },
-                        actived: {
-                            get: function () {
-                                return this[P("0x5ba")]
-                            },
-                            set: function (e) {
-                                this[P("0x5ba")] = e
-                            }
+                },
+                parseData: function(e) {
+                    var t = e.responseXML;
+                    return t && t.documentElement || (t = e.responseText),
+                    !t || t.length <= 0 ? null : this.format.read(t)
+                },
+                CLASS_NAME: "GeoGlobe.Protocol.CSW.v2_0_2"
+            }),
+            GeoGlobe.Protocol.Script = GeoGlobe.Class4OL(GeoGlobe.Protocol, {
+                url: null,
+                params: null,
+                callback: null,
+                callbackTemplate: "GeoGlobe.Protocol.Script.registry.${id}",
+                callbackKey: "callback",
+                callbackPrefix: "",
+                scope: null,
+                format: null,
+                pendingRequests: null,
+                srsInBBOX: !1,
+                initialize: function(e) {
+                    if (e = e || {},
+                    this.params = {},
+                    this.pendingRequests = {},
+                    GeoGlobe.Protocol.prototype.initialize.apply(this, arguments),
+                    this.format || (this.format = new GeoGlobe.Format.GeoJSON),
+                    !this.filterToParams && GeoGlobe.Format.QueryStringFilter) {
+                        var t = new GeoGlobe.Format.QueryStringFilter({
+                            srsInBBOX: this.srsInBBOX
+                        });
+                        this.filterToParams = function(e, i) {
+                            return t.write(e, i)
                         }
-                    }),
-                        t.prototype[P("0xd2")] = function (e) {
-                            this[P("0x5ba")] ? (this[P("0x779")](e),
-                                this._postProcess && (this[P("0x77a")] = e[P("0x7e")][P("0x77b")],
-                                    this._groundTexture ? (this._postProcess[P("0x364")] = !0,
-                                        this[P("0x13c")][P("0x10f")][P("0x77c")][P("0xd1")](this[P("0x76e")]) || (this[P("0x13c")][P("0x10f")][P("0x77c")].add(this[P("0x76e")]),
-                                            this[P("0x76e")][P("0xd2")](e[P("0x3cc")], e[P("0x77d")]))) : this[P("0x76e")].enabled = !1)) : this._postProcess && (this[P("0x76e")][P("0x364")] = !1)
-                        }
-                        ,
-                        t.prototype[P("0x77e")] = function (t) {
-                            if (t && !this._fireEffect) {
-                                var i = t[P("0x19f")];
-                                if (i && void 0 !== i[P("0x0")] && !(i.length < 1)) {
-                                    var r = i[P("0x0")];
-                                    i[0][0] == i[r - 1][0] && i[0][1] == i[r - 1][1] && i[0][2] == i[r - 1][2] || i[P("0x17c")]([i[0][0], i[0][1], i[0][2]]),
-                                        t[P("0x6bd")] || (t[P("0x6bd")] = .21),
-                                        t[P("0x6c3")] || (t.smoking = .15),
-                                        t[P("0xfc")] || (t[P("0xfc")] = 1),
-                                        t[P("0x6c4")] || (t[P("0x6c4")] = 1.1),
-                                        t[P("0x539")] || (t[P("0x539")] = 1.7),
-                                        this[P("0x76d")] = new (e[P("0x77f")])(t)
-                                }
-                            }
-                        }
-                        ;
-                    var i = new (e[P("0x11")])
-                        , r = new (e[P("0x11")]);
-                    t[P("0x5")][P("0x780")] = function (t, n) {
-                        var o = e[P("0x11")][P("0x99")](n, t, i);
-                        e[P("0x11")][P("0x8d")](o, o);
-                        var a = e.Cartesian3[P("0x308")](t, n, .5, r);
-                        return new (e[P("0x12")])(o.x, o.y, o.z, -e[P("0x11")].dot(o, a))
                     }
-                        ,
-                        t[P("0x5")]._appendAreaPlanes = function (e, t, i, r) {
-                            e[P("0x17c")](this[P("0x780")](t, i)),
-                                e[P("0x17c")](this._computePlane(i, r)),
-                                e[P("0x17c")](this._computePlane(r, t))
-                        }
-                        ,
-                        t.prototype[P("0x781")] = function (t) {
-                            var i = this
-                                , r = t.context
-                                , n = r[P("0x782")]
-                                , o = r[P("0x783")];
-                            i[P("0x770")] && (i[P("0x770")].destroy(),
-                                i._depthAttachment = null),
-                                i[P("0x784")] && (i[P("0x784")].destroy(),
-                                    i._framebuffer = null);
-                            var a = new (e[P("0x6db")])({
-                                context: r,
-                                width: n,
-                                height: o,
-                                pixelFormat: e[P("0x785")][P("0x786")],
-                                pixelDatatype: e[P("0x787")][P("0x788")],
-                                sampler: new (e[P("0x789")])({
-                                    wrapS: e.TextureWrap[P("0x78a")],
-                                    wrapT: e[P("0x78b")][P("0x78a")],
-                                    minificationFilter: e[P("0x78c")][P("0x78d")],
-                                    magnificationFilter: e[P("0x78e")][P("0x78d")]
-                                })
-                            })
-                                , s = new (e[P("0x78f")])({
-                                    context: r,
-                                    depthStencilTexture: a,
-                                    destroyAttachments: !1
-                                });
-                            i._clearCommand || (i[P("0x771")] = new (e[P("0x790")])({
-                                depth: 1,
-                                color: new e.Color
-                            })),
-                                i[P("0x784")] = s,
-                                i[P("0x770")] = a
-                        }
-                        ,
-                        t[P("0x5")][P("0x791")] = function (t) {
-                            (t = t || {}).explode = t.explode ? .2 * t[P("0x6bd")] : .2,
-                                t.smoking = t[P("0x6c3")] ? .95 * t[P("0x6c3")] : .95,
-                                t[P("0x6c4")] = t[P("0x6c4")] ? 4.5 * t[P("0x6c4")] : 4.5,
-                                t[P("0xfc")] = t[P("0xfc")] ? t[P("0xfc")] : 1,
-                                t[P("0x181")] = t[P("0x181")] ? .5 * t[P("0x181")] : .5,
-                                t.speed = t[P("0x539")] ? .4 * t.speed : .4;
-                            var i = new (e[P("0x77f")])(t);
-                            this[P("0x76f")][P("0x17c")](i)
-                        }
-                        ,
-                        t.prototype[P("0x792")] = function (t) {
-                            var i = new (e[P("0x72b")])(t);
-                            this[P("0x76f")].push(i)
-                        }
-                        ,
-                        t[P("0x5")]._updateAssiged = function (e) {
-                            var t = this;
-                            this[P("0x76d")] && this[P("0x76d")][P("0xd2")](e);
-                            for (var i = t[P("0x76f")].length, r = 0; r < i; r++)
-                                t[P("0x76f")][r][P("0xd2")](e);
-                            if (t[P("0x784")] && t[P("0x784")][P("0x793")]._width == e[P("0x3cc")][P("0x782")] && t[P("0x784")][P("0x793")]._height == e.context[P("0x783")] || t._createAssignedFrameBuffer(e),
-                                t._framebuffer) {
-                                var n = e[P("0x3cc")]
-                                    , o = e[P("0x5ca")]
-                                    , a = e[P("0x5ca")] = [];
-                                for (a.push(t._clearCommand),
-                                    r = 0; r < i; r++)
-                                    t._assigned[r].updateNext(e);
-                                t[P("0x76d")][P("0x6e8")](e),
-                                    e[P("0x5ca")] = o;
-                                var s = t[P("0x13c")].scene[P("0x794")][P("0x795")]
-                                    , x = s[P("0x796")];
-                                if (s[P("0x796")] = t[P("0x784")],
-                                    0 < a[P("0x0")])
-                                    for (var l = 0; l < a.length; l++)
-                                        a[l][P("0x797")](n, s);
-                                s[P("0x796")] = x
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x778")] = function (t) {
-                            if (t && !this[P("0x76e")]) {
-                                var i = t[P("0x19f")];
-                                if (i) {
-                                    var r = i[P("0x0")];
-                                    if (r && !(r < 4)) {
-                                        var n = this;
-                                        r -= 2;
-                                        for (var o = [], a = e[P("0x13")][P("0x1a1")][P("0x346")](this, i[0]), s = e[P("0x11")][P("0x3d0")](a[P("0x112")], a.latitude, a[P("0x8b")]), x = 1; x < r && !(12 <= x); x++) {
-                                            a = e.Cartographic.fromDegrees[P("0x346")](this, i[x]);
-                                            var l = e[P("0x11")].fromRadians(a[P("0x112")], a[P("0x114")], a[P("0x8b")]);
-                                            a = e[P("0x13")].fromDegrees[P("0x346")](this, i[x + 1]);
-                                            var c = e.Cartesian3[P("0x3d0")](a[P("0x112")], a[P("0x114")], a[P("0x8b")]);
-                                            this._appendAreaPlanes(o, s, l, c)
-                                        }
-                                        var u = P("0x798") + P("0x799") + P("0x79a") + 12[P("0x531")]() + P("0x79b") + P("0x79c") + P("0x79d") + P("0x79e") + P("0x79f") + P("0x7a0") + P("0x7a1") + P("0x7a2") + P("0x7a3") + P("0x7a4") + P("0x7a5") + P("0x7a6") + "    vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0);\n" + P("0x7a7") + "    return posInCamera;\n}\n" + P("0x7a8") + P("0x7a9") + P("0x7aa") + P("0x7ab") + P("0x7ac") + P("0x7ad") + "}\n" + P("0x7ae") + "    float x = czm_planeDistance(u_xPlane, position) / u_xyRange.x;\n" + P("0x7af") + P("0x7b0") + "}\n" + P("0x5f9") + P("0x7b1") + P("0x7b2") + P("0x7b3") + P("0x7b4") + P("0x7b5") + "    }\n" + P("0x7b6") + "    if(assigned.r < 1.0){\n" + P("0x7b4") + P("0x7b5") + P("0x7b7") + P("0x7b8") + "    vec4 positionEC = toEye(v_textureCoordinates, depth);\n    vec4 position = u_nViewMatrix * positionEC;\n    position /= position.w;\n" + P("0x7b9") + P("0x7ba") + P("0x7bb") + P("0x7bc") + 12[P("0x531")]() + "; i += 3){\n" + P("0x7bd") + P("0x7be") + P("0x7bf") + P("0x7c0") + "        float d1 = czm_planeDistance(u_planes[i+1], position.xyz);\n" + P("0x7c1") + P("0x7c2") + P("0x7c3") + "           color += colorGround * vec4(0.5);\n" + P("0x7c4") + P("0x7bf") + P("0x7b7") + "    gl_FragColor = color;\n}";
-                                        this._postProcess = new (e[P("0x7c5")])({
-                                            fragmentShader: u,
-                                            uniforms: {
-                                                u_nViewMatrix: function () {
-                                                    return n[P("0x77a")]
-                                                },
-                                                u_planes: function () {
-                                                    return o
-                                                },
-                                                u_count: function () {
-                                                    return o[P("0x0")]
-                                                },
-                                                u_assignedTexture: function () {
-                                                    return n[P("0x770")]
-                                                },
-                                                u_groundTexture: function () {
-                                                    return n[P("0x7c6")]
-                                                },
-                                                u_xPlane: function () {
-                                                    return n[P("0x7c7")]
-                                                },
-                                                u_yPlane: function () {
-                                                    return n[P("0x772")]
-                                                },
-                                                u_zPlane: function () {
-                                                    return n[P("0x773")]
-                                                },
-                                                u_xyRange: function () {
-                                                    return n[P("0x774")]
-                                                }
-                                            }
-                                        }),
-                                            this._postProcess[P("0x364")] = !1
-                                    }
-                                }
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x775")] = function (t) {
-                            var i = t[P("0x19f")];
-                            if (i && void 0 !== i[P("0x0")] && !(i[P("0x0")] < 4)) {
-                                var r = e.Cartographic.fromDegrees.apply(this, i[0])
-                                    , n = e[P("0x11")][P("0x3d0")](r[P("0x112")], r[P("0x114")], r[P("0x8b")]);
-                                r = e[P("0x13")][P("0x1a1")][P("0x346")](this, i[1]);
-                                var o = e[P("0x11")][P("0x3d0")](r[P("0x112")], r[P("0x114")], r.height);
-                                r = e[P("0x13")][P("0x1a1")].apply(this, i[2]);
-                                var a = e[P("0x11")].fromRadians(r.longitude, r[P("0x114")], r[P("0x8b")])
-                                    , s = e[P("0x11")][P("0x95")](o, n, new (e[P("0x11")]))
-                                    , x = e[P("0x11")][P("0x95")](a, n, new e.Cartesian3)
-                                    , l = e[P("0x11")][P("0x99")](x, s, new e.Cartesian3);
-                                e[P("0x11")][P("0x92")](l, n) < 0 && i[P("0x1e3")]()
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x777")] = function (t) {
-                            var i = t[P("0x19f")];
-                            if (i && void 0 !== i[P("0x0")] && !(i[P("0x0")] < 4)) {
-                                var r = e[P("0x13")][P("0x1a1")][P("0x346")](this, i[0])
-                                    , n = e[P("0x11")][P("0x3d0")](r.longitude, r[P("0x114")], r[P("0x8b")]);
-                                r = e[P("0x13")][P("0x1a1")].apply(this, i[1]);
-                                var o = e[P("0x11")][P("0x3d0")](r[P("0x112")], r[P("0x114")], r[P("0x8b")]);
-                                r = e.Cartographic[P("0x1a1")].apply(this, i[2]);
-                                var a = e.Cartesian3[P("0x3d0")](r[P("0x112")], r[P("0x114")], r[P("0x8b")])
-                                    , s = e[P("0x11")].subtract(o, n, new e.Cartesian3)
-                                    , x = e.Cartesian3[P("0x95")](a, n, new e.Cartesian3)
-                                    , l = e.Cartesian3.magnitude(s)
-                                    , c = e.Cartesian3[P("0x96")](x);
-                                e[P("0x11")].normalize(s, s),
-                                    e.Cartesian3[P("0x8d")](x, x);
-                                var u = e.Cartesian3.cross(x, s, new e.Cartesian3);
-                                e[P("0x11")].normalize(u, u);
-                                var h = e.Cartesian3[P("0x92")](x, s) * l
-                                    , f = Math.max(l, h)
-                                    , d = e.Cartesian3[P("0x99")](s, u, new (e[P("0x11")]));
-                                e[P("0x11")][P("0x8d")](d, d);
-                                var g = e[P("0x11")][P("0x92")](x, d) * c;
-                                this[P("0x7c7")] = new e.Cartesian4(s.x, s.y, s.z, -e[P("0x11")][P("0x92")](s, n)),
-                                    this[P("0x772")] = new e.Cartesian4(d.x, d.y, d.z, -e[P("0x11")].dot(d, n)),
-                                    this[P("0x773")] = new (e[P("0x12")])(u.x, u.y, u.z, -e[P("0x11")][P("0x92")](u, n)),
-                                    this._xyRange = new (e[P("0x10")])(f, g)
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x776")] = function (t) {
-                            if (t[P("0x7c8")] && !this[P("0x7c6")]) {
-                                var i = this
-                                    , r = i[P("0x13c")].scene.frameState.context
-                                    , n = e[P("0x6ba")](t.urlGround);
-                                e.Resource.fetchImage(n)[P("0x333")]((function (t) {
-                                    i[P("0x7c6")] = new (e[P("0x6db")])({
-                                        context: r,
-                                        source: t,
-                                        sampler: new (e[P("0x789")])({
-                                            wrapS: e[P("0x78b")][P("0x55a")],
-                                            wrapT: e[P("0x78b")][P("0x55a")],
-                                            minificationFilter: e[P("0x78c")][P("0x78d")],
-                                            magnificationFilter: e[P("0x78e")][P("0x78d")]
-                                        })
-                                    }, (function (e) { }
-                                    ))
-                                }
-                                ))
-                            }
-                        }
-                        ,
-                        t.prototype.destroy = function () {
-                            this[P("0x76d")] && (this[P("0x76d")][P("0xf4")](),
-                                this[P("0x76d")] = null),
-                                this[P("0x76e")] && (this[P("0x76e")][P("0x364")] = !1,
-                                    this[P("0x13c")][P("0x10f")][P("0x77c")][P("0x17f")](this[P("0x76e")]),
-                                    this[P("0x76e")] = null),
-                                this[P("0x77a")] = null;
-                            for (var e = 0; e < this[P("0x76f")].length; e++)
-                                this[P("0x76f")][e][P("0xf4")](),
-                                    this._assigned[e] = null;
-                            this._assigned = null,
-                                this._framebuffer && (this[P("0x784")].destroy(),
-                                    this._framebuffer = null),
-                                this[P("0x770")] && (this[P("0x770")][P("0xf4")](),
-                                    this._depthAttachment = null),
-                                this[P("0x771")] = null,
-                                this[P("0x7c6")] = null,
-                                this[P("0x7c7")] = null,
-                                this._yPlane = null,
-                                this[P("0x773")] = null,
-                                this[P("0x774")] = null,
-                                this[P("0x13c")] = null
-                        }
-                }(window.Cesium);
-            var j, V = {};
-            if (function () {
-                function e(e, t, i, r, n) {
-                    var o = [P("0x7c9"), e, "(a,l,h,", r[P("0x7ca")](","), "){", n ? "" : "var i=", i ? P("0x7cb") : "h+1", P("0x7cc")];
-                    return n ? t[P("0x2d3")]("c") < 0 ? o.push(P("0x7cd")) : o[P("0x17c")](P("0x7ce")) : o[P("0x17c")](P("0x7cf"), t, P("0x7d0")),
-                        i ? o[P("0x17c")](P("0x7d1")) : o[P("0x17c")](P("0x7d2")),
-                        o[P("0x17c")]("}"),
-                        n ? o[P("0x17c")](P("0x7d3")) : o.push(P("0x7d4")),
-                        o[P("0x7ca")]("")
+                },
+                read: function(e) {
+                    GeoGlobe.Protocol.prototype.read.apply(this, arguments),
+                    (e = GeoGlobe.Util.applyDefaults(e, this.options)).params = GeoGlobe.Util.applyDefaults(e.params, this.options.params),
+                    e.filter && this.filterToParams && (e.params = this.filterToParams(e.filter, e.params));
+                    var t = new GeoGlobe.Protocol.Response({
+                        requestType: "read"
+                    })
+                      , i = this.createRequest(e.url, e.params, GeoGlobe.Function.bind((function(i) {
+                        t.data = i,
+                        this.handleRead(t, e)
+                    }
+                    ), this));
+                    return t.priv = i,
+                    t
+                },
+                createRequest: function(e, t, i) {
+                    var r = GeoGlobe.Protocol.Script.register(i)
+                      , n = GeoGlobe.String.format(this.callbackTemplate, {
+                        id: r
+                    });
+                    (t = GeoGlobe.Util.extend({}, t))[this.callbackKey] = this.callbackPrefix + n,
+                    e = GeoGlobe.Util.urlAppend(e, GeoGlobe.Util.getParameterString(t));
+                    var o = document.createElement("script");
+                    return o.type = "text/javascript",
+                    o.src = e,
+                    o.id = "GeoGlobe_Protocol_Script_" + r,
+                    this.pendingRequests[o.id] = o,
+                    document.getElementsByTagName("head")[0].appendChild(o),
+                    o
+                },
+                destroyRequest: function(e) {
+                    GeoGlobe.Protocol.Script.unregister(e.id.split("_").pop()),
+                    delete this.pendingRequests[e.id],
+                    e.parentNode && e.parentNode.removeChild(e)
+                },
+                handleRead: function(e, t) {
+                    this.handleResponse(e, t)
+                },
+                handleResponse: function(e, t) {
+                    t.callback && (e.data ? (e.features = this.parseFeatures(e.data),
+                    e.code = GeoGlobe.Protocol.Response.SUCCESS) : e.code = GeoGlobe.Protocol.Response.FAILURE,
+                    this.destroyRequest(e.priv),
+                    t.callback.call(t.scope, e))
+                },
+                parseFeatures: function(e) {
+                    return this.format.read(e)
+                },
+                abort: function(e) {
+                    if (e)
+                        this.destroyRequest(e.priv);
+                    else
+                        for (var t in this.pendingRequests)
+                            this.destroyRequest(this.pendingRequests[t])
+                },
+                destroy: function() {
+                    this.abort(),
+                    delete this.params,
+                    delete this.format,
+                    GeoGlobe.Protocol.prototype.destroy.apply(this)
+                },
+                CLASS_NAME: "GeoGlobe.Protocol.Script"
+            }),
+            function() {
+                var e = GeoGlobe.Protocol.Script
+                  , t = 0;
+                e.registry = {},
+                e.register = function(i) {
+                    var r = "c" + ++t;
+                    return e.registry[r] = function() {
+                        i.apply(this, arguments)
+                    }
+                    ,
+                    r
                 }
-                function t(t, i, r, n) {
-                    return new Function([e("A", "x" + t + "y", i, ["y"], n), e("P", P("0x7d5") + t + "0", i, ["y", "c"], n), P("0x7d6"), r, P("0x7d7"), r][P("0x7ca")](""))()
-                }
-                V["binary-search-bounds"] = {
-                    ge: t(">=", !1, "GE"),
-                    gt: t(">", !1, "GT"),
-                    lt: t("<", !0, "LT"),
-                    le: t("<=", !0, "LE"),
-                    eq: t("-", !0, "EQ", !0)
+                ,
+                e.unregister = function(t) {
+                    delete e.registry[t]
                 }
             }(),
-                function (e) {
-                    e[P("0x7d8")] = {};
-                    var t = e[P("0x7d9")];
-                    function i(e, t) {
-                        this[P("0x7da")] = e,
-                            this.edges = t
+            GeoGlobe.Format = GeoGlobe.Class4OL({
+                options: null,
+                externalProjection: null,
+                internalProjection: null,
+                data: null,
+                keepData: !1,
+                initialize: function(e) {
+                    GeoGlobe.Util.extend(this, e),
+                    this.options = e
+                },
+                destroy: function() {},
+                read: function(e) {
+                    throw new Error("Read not implemented.")
+                },
+                write: function(e) {
+                    throw new Error("Write not implemented.")
+                },
+                CLASS_NAME: "GeoGlobe.Format"
+            }),
+            GeoGlobe.Format.XML = GeoGlobe.Class4OL(GeoGlobe.Format, {
+                namespaces: null,
+                namespaceAlias: null,
+                defaultPrefix: null,
+                readers: {},
+                writers: {},
+                xmldom: null,
+                initialize: function(e) {
+                    for (var t in window.ActiveXObject && (this.xmldom = new ActiveXObject("Microsoft.XMLDOM")),
+                    GeoGlobe.Format.prototype.initialize.apply(this, [e]),
+                    this.namespaces = GeoGlobe.Util.extend({}, this.namespaces),
+                    this.namespaceAlias = {},
+                    this.namespaces)
+                        this.namespaceAlias[this.namespaces[t]] = t
+                },
+                destroy: function() {
+                    this.xmldom = null,
+                    GeoGlobe.Format.prototype.destroy.apply(this, arguments)
+                },
+                setNamespace: function(e, t) {
+                    this.namespaces[e] = t,
+                    this.namespaceAlias[t] = e
+                },
+                read: function(e) {
+                    var t = e.indexOf("<");
+                    t > 0 && (e = e.substring(t));
+                    var i = GeoGlobe.Util.Try(GeoGlobe.Function.bind((function() {
+                        var t;
+                        return (t = window.ActiveXObject && !this.xmldom ? new ActiveXObject("Microsoft.XMLDOM") : this.xmldom).loadXML(e),
+                        t
                     }
-                    var r, n = i[P("0x5")];
-                    function o(e, t, i) {
-                        for (var r = 1, n = e.length; r < n; r += 2)
-                            if (e[r - 1] === t && e[r] === i)
-                                return e[r - 1] = e[n - 2],
-                                    e[r] = e[n - 1],
-                                    void (e[P("0x0")] = n - 2)
+                    ), this), (function() {
+                        return (new DOMParser).parseFromString(e, "text/xml")
                     }
-                    function a(e, t) {
-                        return e[0] - t[0] || e[1] - t[1]
+                    ), (function() {
+                        var t = new XMLHttpRequest;
+                        return t.open("GET", "data:text/xml;charset=utf-8," + encodeURIComponent(e), !1),
+                        t.overrideMimeType && t.overrideMimeType("text/xml"),
+                        t.send(null),
+                        t.responseXML
                     }
-                    n.isConstraint = (r = [0, 0],
-                        function (e, i) {
-                            return r[0] = Math[P("0x7d")](e, i),
-                                r[1] = Math[P("0xee")](e, i),
-                                0 <= t.eq(this[P("0x7db")], r, a)
-                        }
-                    ),
-                        n[P("0x7dc")] = function (e, t, i) {
-                            var r = this[P("0x7da")];
-                            o(r[e], t, i),
-                                o(r[t], i, e),
-                                o(r[i], e, t)
-                        }
-                        ,
-                        n[P("0x7dd")] = function (e, t, i) {
-                            var r = this[P("0x7da")];
-                            r[e].push(t, i),
-                                r[t][P("0x17c")](i, e),
-                                r[i][P("0x17c")](e, t)
-                        }
-                        ,
-                        n.opposite = function (e, t) {
-                            for (var i = this[P("0x7da")][t], r = 1, n = i[P("0x0")]; r < n; r += 2)
-                                if (i[r] === e)
-                                    return i[r - 1];
-                            return -1
-                        }
-                        ,
-                        n[P("0x7de")] = function (e, t) {
-                            var i = this[P("0x7df")](e, t)
-                                , r = this[P("0x7df")](t, e);
-                            this[P("0x7dc")](e, t, i),
-                                this[P("0x7dc")](t, e, r),
-                                this[P("0x7dd")](e, r, i),
-                                this[P("0x7dd")](t, i, r)
-                        }
-                        ,
-                        n[P("0x7db")] = function () {
-                            for (var e = this[P("0x7da")], t = [], i = 0, r = e[P("0x0")]; i < r; ++i)
-                                for (var n = e[i], o = 0, a = n[P("0x0")]; o < a; o += 2)
-                                    t.push([n[o], n[o + 1]]);
-                            return t
-                        }
-                        ,
-                        n[P("0x7e0")] = function () {
-                            for (var e = this[P("0x7da")], t = [], i = 0, r = e.length; i < r; ++i)
-                                for (var n = e[i], o = 0, a = n[P("0x0")]; o < a; o += 2) {
-                                    var s = n[o]
-                                        , x = n[o + 1];
-                                    i < Math[P("0x7d")](s, x) && t.push([i, s, x])
-                                }
-                            return t
-                        }
-                        ,
-                        e[P("0x7d8")].createTriangulation = function (e, t) {
-                            for (var r = new Array(e), n = 0; n < e; ++n)
-                                r[n] = [];
-                            return new i(r, t)
-                        }
-                }(V),
-                function (e) {
-                    var t, i = e[P("0x1f2")] = {}, r = e[P("0x7d9")];
-                    function n(e, t, i, r, n, o, a) {
-                        this[P("0x7e0")] = e,
-                            this[P("0x7e1")] = t,
-                            this[P("0x7e2")] = r,
-                            this.constraint = i,
-                            this[P("0x69")] = n,
-                            this[P("0x7e3")] = o,
-                            this.boundary = a
-                    }
-                    function o(e, t) {
-                        return e[0] - t[0] || e[1] - t[1] || e[2] - t[2]
-                    }
-                    n[P("0x5")].locate = (t = [0, 0, 0],
-                        function (e, i, n) {
-                            var a = e
-                                , s = i
-                                , x = n;
-                            return i < n ? i < e && (a = i,
-                                s = n,
-                                x = e) : n < e && (a = n,
-                                    s = e,
-                                    x = i),
-                                a < 0 ? -1 : (t[0] = a,
-                                    t[1] = s,
-                                    t[2] = x,
-                                    r.eq(this.cells, t, o))
-                        }
-                    ),
-                        i.classifyFaces = function (e, t, i) {
-                            var r = function (e, t) {
-                                for (var i = e.cells(), r = i[P("0x0")], a = 0; a < r; ++a) {
-                                    var s = (m = i[a])[0]
-                                        , x = m[1]
-                                        , l = m[2];
-                                    x < l ? x < s && (m[0] = x,
-                                        m[1] = l,
-                                        m[2] = s) : l < s && (m[0] = l,
-                                            m[1] = s,
-                                            m[2] = x)
-                                }
-                                i[P("0x3d2")](o);
-                                var c = new Array(r);
-                                for (a = 0; a < c[P("0x0")]; ++a)
-                                    c[a] = 0;
-                                var u = []
-                                    , h = []
-                                    , f = new Array(3 * r)
-                                    , d = new Array(3 * r)
-                                    , g = null;
-                                t && (g = []);
-                                var p = new n(i, f, d, c, u, h, g);
-                                for (a = 0; a < r; ++a)
-                                    for (var m = i[a], b = 0; b < 3; ++b) {
-                                        s = m[b],
-                                            x = m[(b + 1) % 3];
-                                        var v = f[3 * a + b] = p[P("0x7e4")](x, s, e[P("0x7df")](x, s))
-                                            , C = d[3 * a + b] = e.isConstraint(s, x);
-                                        v < 0 && (C ? h.push(a) : (u[P("0x17c")](a),
-                                            c[a] = 1),
-                                            t && g[P("0x17c")]([x, s, -1]))
-                                    }
-                                return p
-                            }(e, i);
-                            if (0 === t)
-                                return i ? r.cells[P("0x1c6")](r[P("0x7e5")]) : r[P("0x7e0")];
-                            for (var a = 1, s = r[P("0x69")], x = r[P("0x7e3")], l = r[P("0x7e2")], c = r[P("0x7e0")], u = r[P("0x7e6")], h = r[P("0x7e1")]; 0 < s[P("0x0")] || 0 < x.length;) {
-                                for (; 0 < s[P("0x0")];) {
-                                    var f = s[P("0x25c")]();
-                                    if (l[f] !== -a) {
-                                        l[f] = a,
-                                            c[f];
-                                        for (var d = 0; d < 3; ++d) {
-                                            var g = h[3 * f + d];
-                                            0 <= g && 0 === l[g] && (u[3 * f + d] ? x[P("0x17c")](g) : (s[P("0x17c")](g),
-                                                l[g] = a))
-                                        }
-                                    }
-                                }
-                                var p = x;
-                                x = s,
-                                    s = p,
-                                    x[P("0x0")] = 0,
-                                    a = -a
-                            }
-                            var m = function (e, t, i) {
-                                for (var r = 0, n = 0; n < e[P("0x0")]; ++n)
-                                    t[n] === i && (e[r++] = e[n]);
-                                return e[P("0x0")] = r,
-                                    e
-                            }(c, l, t);
-                            return i ? m.concat(r[P("0x7e5")]) : m
-                        }
-                }(V),
-                function (e) {
-                    e[P("0x7e7")] = {},
-                        e["two-sum"].fastTwoSum = function (e, t, i) {
-                            var r = e + t
-                                , n = r - e
-                                , o = t - n
-                                , a = e - (r - n);
-                            return i ? (i[0] = a + o,
-                                i[1] = r,
-                                i) : [a + o, r]
-                        }
-                }(V),
-                function (e) {
-                    var t = +(Math[P("0x2ae")](2, 27) + 1);
-                    e["two-product"] = {},
-                        e["two-product"][P("0x7e8")] = function (e, i, r) {
-                            var n = e * i
-                                , o = t * e
-                                , a = o - (o - e)
-                                , s = e - a
-                                , x = t * i
-                                , l = x - (x - i)
-                                , c = i - l
-                                , u = s * c - (n - a * l - s * l - a * c);
-                            return r ? (r[0] = u,
-                                r[1] = n,
-                                r) : [u, n]
-                        }
-                }(V),
-                function (e) {
-                    var t = e["two-product"][P("0x7e8")]
-                        , i = e["two-sum"][P("0x7e9")];
-                    e["robust-scale"] = {},
-                        e["robust-scale"].scaleLinearExpansion = function (e, r) {
-                            var n = e[P("0x0")];
-                            if (1 === n) {
-                                var o = t(e[0], r);
-                                return o[0] ? o : [o[1]]
-                            }
-                            var a = new Array(2 * n)
-                                , s = [.1, .1]
-                                , x = [.1, .1]
-                                , l = 0;
-                            t(e[0], r, s),
-                                s[0] && (a[l++] = s[0]);
-                            for (var c = 1; c < n; ++c) {
-                                t(e[c], r, x);
-                                var u = s[1];
-                                i(u, x[0], s),
-                                    s[0] && (a[l++] = s[0]);
-                                var h = x[1]
-                                    , f = s[1]
-                                    , d = h + f
-                                    , g = f - (d - h);
-                                s[1] = d,
-                                    g && (a[l++] = g)
-                            }
-                            return s[1] && (a[l++] = s[1]),
-                                0 === l && (a[l++] = 0),
-                                a.length = l,
-                                a
-                        }
-                }(V),
-                function (e) {
-                    e[P("0x7ea")] = {},
-                        e[P("0x7ea")][P("0x7eb")] = function (e, t) {
-                            var i, r, n, o, a, s = 0 | e.length, x = 0 | t[P("0x0")];
-                            if (1 == s && 1 == x)
-                                return (a = (i = e[0]) - ((n = i + (r = -t[0])) - (o = n - i)) + (r - o)) ? [a, n] : [n];
-                            var l, c, u = new Array(s + x), h = 0, f = 0, d = 0, g = Math[P("0x78")], p = e[f], m = g(p), b = -t[d], v = g(b);
-                            m < v ? (c = p,
-                                (f += 1) < s && (m = g(p = e[f]))) : (c = b,
-                                    (d += 1) < x && (v = g(b = -t[d]))),
-                                f < s && m < v || x <= d ? (l = p,
-                                    (f += 1) < s && (m = g(p = e[f]))) : (l = b,
-                                        (d += 1) < x && (v = g(b = -t[d])));
-                            for (var C, y, _ = l + c, A = _ - l, I = c - A, w = I, G = _; f < s && d < x;)
-                                m < v ? (l = p,
-                                    (f += 1) < s && (m = g(p = e[f]))) : (l = b,
-                                        (d += 1) < x && (v = g(b = -t[d]))),
-                                    (I = (c = w) - (A = (_ = l + c) - l)) && (u[h++] = I),
-                                    w = G - ((C = G + _) - (y = C - G)) + (_ - y),
-                                    G = C;
-                            for (; f < s;)
-                                (I = (c = w) - (A = (_ = (l = p) + c) - l)) && (u[h++] = I),
-                                    w = G - ((C = G + _) - (y = C - G)) + (_ - y),
-                                    G = C,
-                                    (f += 1) < s && (p = e[f]);
-                            for (; d < x;)
-                                (I = (c = w) - (A = (_ = (l = b) + c) - l)) && (u[h++] = I),
-                                    w = G - ((C = G + _) - (y = C - G)) + (_ - y),
-                                    G = C,
-                                    (d += 1) < x && (b = -t[d]);
-                            return w && (u[h++] = w),
-                                G && (u[h++] = G),
-                                h || (u[h++] = 0),
-                                u[P("0x0")] = h,
-                                u
-                        }
-                }(V),
-                function (e) {
-                    e[P("0x7ec")] = {},
-                        e["robust-sum"][P("0x7ed")] = function (e, t) {
-                            var i, r, n, o, a, s = 0 | e[P("0x0")], x = 0 | t[P("0x0")];
-                            if (1 == s && 1 == x)
-                                return (a = (i = e[0]) - ((n = i + (r = t[0])) - (o = n - i)) + (r - o)) ? [a, n] : [n];
-                            var l, c, u = new Array(s + x), h = 0, f = 0, d = 0, g = Math[P("0x78")], p = e[f], m = g(p), b = t[d], v = g(b);
-                            m < v ? (c = p,
-                                (f += 1) < s && (m = g(p = e[f]))) : (c = b,
-                                    (d += 1) < x && (v = g(b = t[d]))),
-                                f < s && m < v || x <= d ? (l = p,
-                                    (f += 1) < s && (m = g(p = e[f]))) : (l = b,
-                                        (d += 1) < x && (v = g(b = t[d])));
-                            for (var C, y, _ = l + c, A = _ - l, I = c - A, w = I, G = _; f < s && d < x;)
-                                m < v ? (l = p,
-                                    (f += 1) < s && (m = g(p = e[f]))) : (l = b,
-                                        (d += 1) < x && (v = g(b = t[d]))),
-                                    (I = (c = w) - (A = (_ = l + c) - l)) && (u[h++] = I),
-                                    w = G - ((C = G + _) - (y = C - G)) + (_ - y),
-                                    G = C;
-                            for (; f < s;)
-                                (I = (c = w) - (A = (_ = (l = p) + c) - l)) && (u[h++] = I),
-                                    w = G - ((C = G + _) - (y = C - G)) + (_ - y),
-                                    G = C,
-                                    (f += 1) < s && (p = e[f]);
-                            for (; d < x;)
-                                (I = (c = w) - (A = (_ = (l = b) + c) - l)) && (u[h++] = I),
-                                    w = G - ((C = G + _) - (y = C - G)) + (_ - y),
-                                    G = C,
-                                    (d += 1) < x && (b = t[d]);
-                            return w && (u[h++] = w),
-                                G && (u[h++] = G),
-                                h || (u[h++] = 0),
-                                u[P("0x0")] = h,
-                                u
-                        }
-                }(V),
-                function (e) {
-                    var t = e[P("0x7ee")].twoProduct
-                        , i = e[P("0x7ec")][P("0x7ed")]
-                        , r = e["robust-subtract"][P("0x7eb")]
-                        , n = e[P("0x7ef")][P("0x7f0")];
-                    function o(e, t) {
-                        for (var i = new Array(e.length - 1), r = 1; r < e.length; ++r)
-                            for (var n = i[r - 1] = new Array(e[P("0x0")] - 1), o = 0, a = 0; o < e[P("0x0")]; ++o)
-                                o !== t && (n[a++] = e[r][o]);
-                        return i
-                    }
-                    function a(e) {
-                        if (1 === e[P("0x0")])
-                            return e[0];
-                        if (2 === e.length)
-                            return [P("0x7f1"), e[0], ",", e[1], ")"].join("");
-                        var t = e.length >> 1;
-                        return [P("0x7f1"), a(e[P("0x1d5")](0, t)), ",", a(e.slice(t)), ")"].join("")
-                    }
-                    function s(e, t) {
-                        if ("m" !== e[P("0x68e")](0))
-                            return s(t, e);
-                        if ("w" !== t[P("0x68e")](0))
-                            return [P("0x7f4"), e, ",", t, ")"][P("0x7ca")]("");
-                        var i = e[P("0x7f2")]("[");
-                        return ["w", t[P("0x7f3")](1), "m", i[0][P("0x7f3")](1)][P("0x7ca")]("")
-                    }
-                    function x(e) {
-                        if (2 === e[P("0x0")])
-                            return [["diff(", s(e[0][0], e[1][1]), ",", s(e[1][0], e[0][1]), ")"][P("0x7ca")]("")];
-                        for (var t = [], i = 0; i < e[P("0x0")]; ++i)
-                            t.push([P("0x7f5"), a(x(o(e, i))), ",", !0 & i ? "-" : "", e[0][i], ")"][P("0x7ca")](""));
-                        return t
-                    }
-                    function l(e, t) {
-                        for (var i = [], r = 0; r < t - 2; ++r)
-                            i[P("0x17c")]([P("0x7f6"), e, "[", r, "],m", e, "[", r, "])"].join(""));
-                        return a(i)
-                    }
-                    function c(e) {
-                        for (var s = [], c = [], u = function (e) {
-                            for (var t = new Array(e), i = 0; i < e; ++i) {
-                                t[i] = new Array(e);
-                                for (var r = 0; r < e; ++r)
-                                    t[i][r] = ["m", r, "[", e - i - 2, "]"].join("")
-                            }
-                            return t
-                        }(e), h = 0; h < e; ++h)
-                            u[0][h] = "1",
-                                u[e - 1][h] = "w" + h;
-                        for (h = 0; h < e; ++h)
-                            0 == (1 & h) ? s[P("0x17c")][P("0x346")](s, x(o(u, h))) : c[P("0x17c")][P("0x346")](c, x(o(u, h)));
-                        var f = a(s)
-                            , d = a(c)
-                            , g = "exactInSphere" + e
-                            , p = [];
-                        for (h = 0; h < e; ++h)
-                            p[P("0x17c")]("m" + h);
-                        var m = [P("0x7c9"), g, "(", p[P("0x7ca")](), "){"];
-                        for (h = 0; h < e; ++h) {
-                            m[P("0x17c")](P("0x7f7"), h, "=", l(h, e), ";");
-                            for (var b = 0; b < e; ++b)
-                                b !== h && m[P("0x17c")](P("0x7f7"), h, "m", b, P("0x7f8"), h, ",m", b, P("0x7f9"))
-                        }
-                        return m.push(P("0x7fa"), f, ",n=", d, ",d=diff(p,n);return d[d.length-1];}return ", g),
-                            new Function(P("0x7fb"), P("0x7fc"), "prod", P("0xfc"), m.join(""))(i, r, t, n)
-                    }
-                    var u = [function () {
-                        return 0
-                    }
-                        , function () {
-                            return 0
-                        }
-                        , function () {
-                            return 0
-                        }
-                    ];
-                    !function () {
-                        for (; u[P("0x0")] <= 6;)
-                            u[P("0x17c")](c(u[P("0x0")]));
-                        for (var t = [], i = [P("0x7fd")], r = 0; r <= 6; ++r)
-                            t[P("0x17c")]("a" + r),
-                                i.push("o" + r);
-                        var n = [P("0x7fe"), t[P("0x7ca")](), "){switch(arguments.length){case 0:case 1:return 0;"];
-                        for (r = 2; r <= 6; ++r)
-                            n[P("0x17c")]("case ", r, P("0x7ff"), r, "(", t[P("0x1d5")](0, r)[P("0x7ca")](), ");");
-                        n[P("0x17c")]("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere"),
-                            i[P("0x17c")](n[P("0x7ca")](""));
-                        var o = Function[P("0x346")](void 0, i)
-                            , a = e[P("0x800")] = o[P("0x346")](void 0, [function (e) {
-                                var t = u[e[P("0x0")]];
-                                return (t = t || (u[e.length] = c(e.length))).apply(void 0, e)
-                            }
-                            ][P("0x1c6")](u));
-                        for (r = 0; r <= 6; ++r)
-                            a[r] = u[r]
-                    }()
-                }(V),
-                function (e) {
-                    var t = e[P("0x801")] = {}
-                        , i = e["robust-in-sphere"][4];
-                    function r(e, t, r, n, o, a) {
-                        var s = t[P("0x7df")](n, o);
-                        if (!(s < 0)) {
-                            if (o < n) {
-                                var x = n;
-                                n = o,
-                                    o = x,
-                                    x = a,
-                                    a = s,
-                                    s = x
-                            }
-                            t[P("0x802")](n, o) || i(e[n], e[o], e[a], e[s]) < 0 && r[P("0x17c")](n, o)
-                        }
-                    }
-                    t.delaunayRefine = function (e, t) {
-                        for (var n = [], o = e.length, a = t[P("0x7da")], s = 0; s < o; ++s)
-                            for (var x = a[s], l = 1; l < x[P("0x0")]; l += 2)
-                                if (!((f = x[l]) < s || t.isConstraint(s, f))) {
-                                    for (var c = x[l - 1], u = -1, h = 1; h < x[P("0x0")]; h += 2)
-                                        if (x[h - 1] === f) {
-                                            u = x[h];
-                                            break
-                                        }
-                                    u < 0 || i(e[s], e[f], e[c], e[u]) < 0 && n[P("0x17c")](s, f)
-                                }
-                        for (; 0 < n[P("0x0")];) {
-                            for (var f = n[P("0x25c")](), d = (c = -1,
-                                u = -1,
-                                x = a[s = n[P("0x25c")]()],
-                                1); d < x.length; d += 2) {
-                                var g = x[d - 1]
-                                    , p = x[d];
-                                g === f ? u = p : p === f && (c = g)
-                            }
-                            c < 0 || u < 0 || 0 <= i(e[s], e[f], e[c], e[u]) || (t[P("0x7de")](s, f),
-                                r(e, t, n, c, s, u),
-                                r(e, t, n, s, u, c),
-                                r(e, t, n, u, f, c),
-                                r(e, t, n, f, c, u))
-                        }
-                    }
-                }(V),
-                function (e) {
-                    var t = e["two-product"][P("0x7e8")]
-                        , i = e[P("0x7ec")].linearExpansionSum
-                        , r = e["robust-scale"][P("0x7f0")]
-                        , n = e[P("0x7ea")][P("0x7eb")];
-                    function o(e, t) {
-                        for (var i = new Array(e.length - 1), r = 1; r < e.length; ++r)
-                            for (var n = i[r - 1] = new Array(e[P("0x0")] - 1), o = 0, a = 0; o < e[P("0x0")]; ++o)
-                                o !== t && (n[a++] = e[r][o]);
-                        return i
-                    }
-                    function a(e) {
-                        if (1 === e.length)
-                            return e[0];
-                        if (2 === e[P("0x0")])
-                            return [P("0x7f1"), e[0], ",", e[1], ")"][P("0x7ca")]("");
-                        var t = e[P("0x0")] >> 1;
-                        return [P("0x7f1"), a(e.slice(0, t)), ",", a(e.slice(t)), ")"].join("")
-                    }
-                    function s(e) {
-                        if (2 === e[P("0x0")])
-                            return [["sum(prod(", e[0][0], ",", e[1][1], P("0x803"), e[0][1], ",", e[1][0], "))"][P("0x7ca")]("")];
-                        for (var t = [], i = 0; i < e.length; ++i)
-                            t[P("0x17c")]([P("0x7f5"), a(s(o(e, i))), ",", 1 & i ? "-" : "", e[0][i], ")"][P("0x7ca")](""));
-                        return t
-                    }
-                    function x(e) {
-                        for (var x = [], l = [], c = function (e) {
-                            for (var t = new Array(e), i = 0; i < e; ++i) {
-                                t[i] = new Array(e);
-                                for (var r = 0; r < e; ++r)
-                                    t[i][r] = ["m", r, "[", e - i - 1, "]"].join("")
-                            }
-                            return t
-                        }(e), u = [], h = 0; h < e; ++h)
-                            0 == (1 & h) ? x[P("0x17c")].apply(x, s(o(c, h))) : l[P("0x17c")][P("0x346")](l, s(o(c, h))),
-                                u[P("0x17c")]("m" + h);
-                        var f = a(x)
-                            , d = a(l)
-                            , g = P("0x11e") + e + P("0x804")
-                            , p = ["function ", g, "(", u[P("0x7ca")](), P("0x805"), f, P("0x806"), d, P("0x807"), g][P("0x7ca")]("");
-                        return new Function(P("0x7fb"), P("0x808"), P("0xfc"), "sub", p)(i, t, r, n)
-                    }
-                    var l = x(3)
-                        , c = x(4)
-                        , u = [function () {
-                            return 0
-                        }
-                            , function () {
-                                return 0
-                            }
-                            , function (e, t) {
-                                return t[0] - e[0]
-                            }
-                            , function (e, t, i) {
-                                var r, n = (e[1] - i[1]) * (t[0] - i[0]), o = (e[0] - i[0]) * (t[1] - i[1]), a = n - o;
-                                if (0 < n) {
-                                    if (o <= 0)
-                                        return a;
-                                    r = n + o
-                                } else {
-                                    if (!(n < 0))
-                                        return a;
-                                    if (0 <= o)
-                                        return a;
-                                    r = -(n + o)
-                                }
-                                var s = 33306690738754716e-32 * r;
-                                return s <= a || a <= -s ? a : l(e, t, i)
-                            }
-                            , function (e, t, i, r) {
-                                var n = e[0] - r[0]
-                                    , o = t[0] - r[0]
-                                    , a = i[0] - r[0]
-                                    , s = e[1] - r[1]
-                                    , x = t[1] - r[1]
-                                    , l = i[1] - r[1]
-                                    , u = e[2] - r[2]
-                                    , h = t[2] - r[2]
-                                    , f = i[2] - r[2]
-                                    , d = o * l
-                                    , g = a * x
-                                    , p = a * s
-                                    , m = n * l
-                                    , b = n * x
-                                    , v = o * s
-                                    , C = u * (d - g) + h * (p - m) + f * (b - v)
-                                    , y = 7771561172376103e-31 * ((Math[P("0x78")](d) + Math[P("0x78")](g)) * Math[P("0x78")](u) + (Math[P("0x78")](p) + Math[P("0x78")](m)) * Math[P("0x78")](h) + (Math[P("0x78")](b) + Math[P("0x78")](v)) * Math[P("0x78")](f));
-                                return y < C || y < -C ? C : c(e, t, i, r)
-                            }
-                        ];
-                    !function () {
-                        for (; u.length <= 5;)
-                            u[P("0x17c")](x(u[P("0x0")]));
-                        for (var t = [], i = ["slow"], r = 0; r <= 5; ++r)
-                            t[P("0x17c")]("a" + r),
-                                i[P("0x17c")]("o" + r);
-                        var n = [P("0x809"), t[P("0x7ca")](), "){switch(arguments.length){case 0:case 1:return 0;"];
-                        for (r = 2; r <= 5; ++r)
-                            n[P("0x17c")](P("0x80a"), r, P("0x7ff"), r, "(", t[P("0x1d5")](0, r)[P("0x7ca")](), ");");
-                        n.push(P("0x80b")),
-                            i[P("0x17c")](n.join(""));
-                        var o = Function[P("0x346")](void 0, i)
-                            , a = e[P("0x80c")] = o[P("0x346")](void 0, [function (e) {
-                                var t = u[e.length];
-                                return (t = t || (u[e.length] = x(e[P("0x0")])))[P("0x346")](void 0, e)
-                            }
-                            ].concat(u));
-                        for (r = 0; r <= 5; ++r)
-                            a[r] = u[r]
-                    }()
-                }(V),
-                function (e) {
-                    var t = e[P("0x7d9")]
-                        , i = e[P("0x80c")][3];
-                    function r(e, t, i, r, n) {
-                        this.a = e,
-                            this.b = t,
-                            this[P("0x80e")] = i,
-                            this[P("0x80f")] = r,
-                            this.upperIds = n
-                    }
-                    function n(e, t, i, r) {
-                        this.a = e,
-                            this.b = t,
-                            this.type = i,
-                            this[P("0x80e")] = r
-                    }
-                    function o(e, t) {
-                        var r = e.a[0] - t.a[0] || e.a[1] - t.a[1] || e[P("0x165")] - t[P("0x165")];
-                        return r || (0 !== e[P("0x165")] && (r = i(e.a, e.b, t.b)) ? r : e[P("0x80e")] - t[P("0x80e")])
-                    }
-                    function a(e, t) {
-                        return i(e.a, e.b, t)
-                    }
-                    function s(e, r, n, o, s) {
-                        for (var x = t.lt(r, o, a), l = t.gt(r, o, a), c = x; c < l; ++c) {
-                            for (var u = r[c], h = u.lowerIds, f = h[P("0x0")]; 1 < f && 0 < i(n[h[f - 2]], n[h[f - 1]], o);)
-                                e[P("0x17c")]([h[f - 1], h[f - 2], s]),
-                                    --f;
-                            h[P("0x0")] = f,
-                                h[P("0x17c")](s);
-                            var d = u[P("0x810")];
-                            for (f = d[P("0x0")]; 1 < f && i(n[d[f - 2]], n[d[f - 1]], o) < 0;)
-                                e[P("0x17c")]([d[f - 2], d[f - 1], s]),
-                                    --f;
-                            d[P("0x0")] = f,
-                                d[P("0x17c")](s)
-                        }
-                    }
-                    function x(e, t) {
-                        var r;
-                        return (r = e.a[0] < t.a[0] ? i(e.a, e.b, t.a) : i(t.b, t.a, e.a)) ? r : (r = t.b[0] < e.b[0] ? i(e.a, e.b, t.b) : i(t.b, t.a, e.b)) || e.idx - t[P("0x80e")]
-                    }
-                    function l(e, i, r) {
-                        var n = r.a;
-                        r.a = r.b,
-                            r.b = n;
-                        var o = t.eq(e, r, x)
-                            , a = e[o];
-                        e[o - 1][P("0x810")] = a[P("0x810")],
-                            e.splice(o, 1)
-                    }
-                    (e[P("0x80d")] = {})[P("0x811")] = function (e, i) {
-                        for (var a = e[P("0x0")], c = i[P("0x0")], u = [], h = 0; h < a; ++h)
-                            u.push(new n(e[h], null, 0, h));
-                        for (h = 0; h < c; ++h) {
-                            var f = i[h]
-                                , d = e[f[0]]
-                                , g = e[f[1]];
-                            d[0] < g[0] ? u[P("0x17c")](new n(d, g, 2, h), new n(g, d, 1, h)) : d[0] > g[0] && u[P("0x17c")](new n(g, d, 2, h), new n(d, g, 1, h))
-                        }
-                        u[P("0x3d2")](o);
-                        for (var p, m, b, v, C, y, _ = u[0].a[0] - (1 + Math[P("0x78")](u[0].a[0])) * Math[P("0x2ae")](2, -52), A = [new r([_, 1], [_, 0], -1, [], [], [], [])], I = [], w = (h = 0,
-                            u.length); h < w; ++h) {
-                            var G = u[h]
-                                , E = G.type;
-                            0 === E ? s(I, A, e, G.a, G[P("0x80e")]) : 2 === E ? (m = G,
-                                v = void 0,
-                                y = (C = (v = (p = A)[b = t.le(p, m, x)])[P("0x810")])[C.length - 1],
-                                v[P("0x810")] = [y],
-                                p[P("0x259")](b + 1, 0, new r(m.a, m.b, m.idx, [y], C))) : l(A, 0, G)
-                        }
-                        return I
-                    }
-                }(V),
-                function (e) {
-                    var t = e[P("0x812")] = {}
-                        , i = e[P("0x80d")][P("0x811")]
-                        , r = e[P("0x7d8")].createTriangulation
-                        , n = e.delaunay[P("0x813")]
-                        , o = e[P("0x1f2")][P("0x814")];
-                    function a(e) {
-                        return [Math[P("0x7d")](e[0], e[1]), Math[P("0xee")](e[0], e[1])]
-                    }
-                    function s(e, t) {
-                        return e[0] - t[0] || e[1] - t[1]
-                    }
-                    function x(e, t, i) {
-                        return t in e ? e[t] : i
-                    }
-                    t.cdt2d = function (e, t, l) {
-                        t = d()(t) ? (l = l || {},
-                            t || []) : (l = t || {},
-                                []);
-                        var c = !!x(l, "delaunay", !0)
-                            , u = !!x(l, "interior", !0)
-                            , h = !!x(l, P("0x816"), !0)
-                            , f = !!x(l, P("0x817"), !1);
-                        if (!u && !h || 0 === e.length)
-                            return [];
-                        var g = i(e, t);
-                        if (c || u != h || f) {
-                            for (var p = r(e[P("0x0")], t[P("0x815")](a).sort(s)), m = 0; m < g.length; ++m) {
-                                var b = g[m];
-                                p[P("0x7dd")](b[0], b[1], b[2])
-                            }
-                            return c && n(e, p),
-                                h ? u ? f ? o(p, 0, f) : p[P("0x7e0")]() : o(p, 1, f) : o(p, -1)
-                        }
-                        return g
-                    }
-                }(V),
-                function (e) {
-                    function t(t) {
-                        t = t || {},
-                            this[P("0x563")] = void 0,
-                            this[P("0x54e")] = void 0;
-                        var i = t[P("0x0")];
-                        e[P("0x14")](i) && 2 <= i && (this[P("0x563")] = e[P("0x23")][P("0x119")](t[0]),
-                            this[P("0x54e")] = e[P("0x23")][P("0x119")](t[1]))
-                    }
-                    var i = V[P("0x812")][P("0x812")];
-                    function r(i) {
-                        i = i || {},
-                            this[P("0x818")] = [];
-                        var r = i[P("0x0")];
-                        if (e[P("0x14")](r) && 3 == r)
-                            for (var n = 0; n < 3; n++) {
-                                var o = new t(i[n]);
-                                this[P("0x818")][P("0x17c")](o)
-                            }
-                    }
-                    function n(i) {
-                        i = i || {},
-                            this[P("0x818")] = [];
-                        var r = i[P("0x0")];
-                        if (e[P("0x14")](r) && 3 <= r)
-                            for (var n = 0; n < r; n++) {
-                                var o = new t(i[n]);
-                                this[P("0x818")][P("0x17c")](o)
-                            }
-                    }
-                    function o(t) {
-                        t = t || {},
-                            this[P("0x81c")] = [];
-                        var i = t[P("0x0")];
-                        if (e[P("0x14")](i))
-                            for (var r = 0; r < i; r++) {
-                                var o = new n(t[r]);
-                                this[P("0x81c")][P("0x17c")](o)
-                            }
-                    }
-                    t[P("0x3d0")] = function (e) {
-                        var i = new t;
-                        return i[P("0x563")] = e[0],
-                            i[P("0x54e")] = e[1],
-                            i
-                    }
-                        ,
-                        t.prototype[P("0x6d")] = function (e, i) {
-                            return (i = i || new t)[P("0x563")] = this[P("0x563")] + e[P("0x563")],
-                                i.lat = this.lat + e.lat,
-                                i
-                        }
-                        ,
-                        t[P("0x5")].scale = function (e, i) {
-                            return (i = i || new t)[P("0x563")] = this.lon * e,
-                                i[P("0x54e")] = this[P("0x54e")] * e,
-                                i
-                        }
-                        ,
-                        r[P("0x3d0")] = function (i) {
-                            var n = new r
-                                , o = i[P("0x0")];
-                            if (e[P("0x14")](o) && 3 == o)
-                                for (var a = 0; a < 3; a++) {
-                                    var s = t[P("0x3d0")](i[a]);
-                                    n._points[P("0x17c")](s)
-                                }
-                            return n
-                        }
-                        ,
-                        r.prototype[P("0x11a")] = function () {
-                            for (var e = new t([0, 0]), i = this._points, r = i[P("0x0")], n = 0; n < r; n++) {
-                                var o = i[n];
-                                e[P("0x6d")](o, e),
-                                    e[P("0xfc")](.5, e)
-                            }
-                            return e
-                        }
-                        ,
-                        r[P("0x5")].adjustOrder = function () {
-                            var t = this[P("0x818")];
-                            if (3 == t.length) {
-                                var i = new e.Cartesian3(t[0][P("0x563")], t[0][P("0x54e")])
-                                    , r = new (e[P("0x11")])(t[1].lon, t[1][P("0x54e")])
-                                    , n = new (e[P("0x11")])(t[2][P("0x563")], t[2].lat)
-                                    , o = e[P("0x11")][P("0x95")](r, i, new (e[P("0x11")]))
-                                    , a = e[P("0x11")][P("0x95")](n, i, new (e[P("0x11")]))
-                                    , s = e[P("0x11")][P("0x99")](o, a, new (e[P("0x11")]));
-                                if (e[P("0x11")][P("0x8d")](s, s),
-                                    !(0 < e[P("0x11")][P("0x92")](s, e.Cartesian3[P("0xc3")]))) {
-                                    var x = t[0];
-                                    t[0] = t[2],
-                                        t[2] = x
-                                }
-                            }
-                        }
-                        ,
-                        r[P("0x5")][P("0x819")] = function (t, i) {
-                            var r = this[P("0x818")]
-                                , n = r[P("0x0")];
-                            if (3 != n)
-                                return !1;
-                            for (var o = 0; o < n; o++) {
-                                var a = r[o]
-                                    , s = e[P("0x11")][P("0x3d0")](a[P("0x563")], a[P("0x54e")], 0);
-                                e[P("0x1b")][P("0xd4")](t, s, s),
-                                    i.push(s)
-                            }
-                            return !0
-                        }
-                        ,
-                        r[P("0x5")].peekSource = function (t, i) {
-                            var r = [];
-                            if (this[P("0x819")](t, r)) {
-                                var n = r[0]
-                                    , o = r[1]
-                                    , a = e[P("0x11")][P("0x95")](o, n, new (e[P("0x11")]));
-                                e[P("0x11")][P("0x8d")](a, a);
-                                var s = e[P("0x11")][P("0x99")](e[P("0x11")].UNIT_Z, a, new (e[P("0x11")]));
-                                e.Cartesian3.normalize(s, s);
-                                var x = -e[P("0x11")][P("0x92")](s, n);
-                                i[P("0x17c")](new (e[P("0x368")])(s, x)),
-                                    n = r[1],
-                                    o = r[2],
-                                    a = e.Cartesian3[P("0x95")](o, n, new (e[P("0x11")])),
-                                    e.Cartesian3[P("0x8d")](a, a),
-                                    s = e.Cartesian3.cross(e[P("0x11")].UNIT_Z, a, new (e[P("0x11")])),
-                                    e[P("0x11")][P("0x8d")](s, s),
-                                    x = -e.Cartesian3[P("0x92")](s, n),
-                                    i[P("0x17c")](new (e[P("0x368")])(s, x)),
-                                    n = r[2],
-                                    o = r[0],
-                                    a = e[P("0x11")][P("0x95")](o, n, new (e[P("0x11")])),
-                                    e.Cartesian3[P("0x8d")](a, a),
-                                    s = e[P("0x11")][P("0x99")](e[P("0x11")].UNIT_Z, a, new (e[P("0x11")])),
-                                    e[P("0x11")].normalize(s, s),
-                                    x = -e[P("0x11")][P("0x92")](s, n),
-                                    i[P("0x17c")](new (e[P("0x368")])(s, x))
-                            }
-                        }
-                        ,
-                        r.prototype[P("0x81a")] = function (t) {
-                            var i = [];
-                            if (!this[P("0x819")](t, i))
-                                return null;
-                            var r = i[0]
-                                , n = i[1]
-                                , o = e.Cartesian3.subtract(n, r, new e.Cartesian3);
-                            return e[P("0x11")].normalize(o, o),
-                                o
-                        }
-                        ,
-                        r[P("0x5")].computeBoundingSphere = function (t) {
-                            var i = [];
-                            if (!this[P("0x819")](t, i))
-                                return null;
-                            var r = i[0]
-                                , n = e.Cartesian3.distance(r, i[1])
-                                , o = e.Cartesian3[P("0x8e")](r, i[2]);
-                            return o < n && (o = n),
-                                new (e[P("0x5f1")])(r, o)
-                        }
-                        ,
-                        n[P("0x5")][P("0x81b")] = function (e, t) {
-                            var i = e[P("0x0")]
-                                , r = i
-                                , n = this._points;
-                            i = n[P("0x0")];
-                            for (var o = 0; o < i; o++) {
-                                var a = o + 1;
-                                a == i && (a = 0);
-                                var s = n[o];
-                                e.push([s[P("0x563")], s[P("0x54e")]]),
-                                    t[P("0x17c")]([r + o, r + a])
-                            }
-                        }
-                        ,
-                        o[P("0x5")][P("0x81d")] = function (e, t, i) {
-                            for (var r = i[P("0x0")], n = 0; n < r; n++) {
-                                var o = i[n];
-                                if (o[0] == e && o[1] == t)
-                                    return !0;
-                                if (o[0] == t && o[1] == e)
-                                    return !0
-                            }
-                            return !1
-                        }
-                        ,
-                        o[P("0x5")]._checkCell = function (e, t) {
-                            for (var i = e[P("0x0")], r = 0; r < i; r++) {
-                                var n = r + 1;
-                                if (n == i && (n = 0),
-                                    !this[P("0x81d")](e[r], e[n], t))
-                                    return !1
-                            }
-                            return !0
-                        }
-                        ,
-                        o[P("0x5")][P("0x81e")] = function (e, t) {
-                            for (var i = [], r = e[P("0x0")], n = 0; n < r; n++) {
-                                var o = e[n];
-                                this[P("0x81f")](o, t) && i.push(o)
-                            }
-                            e.length = 0,
-                                r = i[P("0x0")];
-                            for (var a = 0; a < r; a++)
-                                e[P("0x17c")](i[a])
-                        }
-                        ,
-                        o[P("0x5")][P("0x820")] = function (t) {
-                            var n = []
-                                , o = []
-                                , a = this[P("0x81c")]
-                                , s = a[P("0x0")];
-                            if (!(s < 1)) {
-                                for (var x = 0; x < s; x++)
-                                    a[x].take(n, o);
-                                var l = i(n, o, {
-                                    delaunay: !0,
-                                    interior: !0,
-                                    exterior: !1,
-                                    infinity: !1
-                                });
-                                if (e[P("0x14")](l) && e[P("0x14")](l[P("0x0")])) {
-                                    s = l.length;
-                                    for (var c = 0; c < s; c++) {
-                                        var u = l[c]
-                                            , h = r.fromRadians([n[u[0]], n[u[1]], n[u[2]]]);
-                                        t[P("0x17c")](h)
-                                    }
-                                }
-                            }
-                        }
-                        ;
-                    var a = e[P("0x821")] = function (t) {
-                        t = t || {},
-                            this[P("0x13c")] = t[P("0x13b")],
-                            this[P("0x822")] = e[P("0x102")](t[P("0x823")], a.Hide),
-                            this._enabled = e.defaultValue(t[P("0x364")], !0),
-                            this[P("0x824")] = e[P("0x102")](t[P("0x825")], e[P("0x16a")].RED),
-                            this[P("0x826")] = [],
-                            this[P("0x827")] = null,
-                            this._filterTexture = null,
-                            this._initialize(t.polygons, t[P("0x828")])
-                    }
-                        ;
-                    a[P("0x829")] = 0,
-                        a[P("0x82a")] = 1,
-                        e.defineProperties(a[P("0x5")], {
-                            enabled: {
-                                get: function () {
-                                    return this[P("0x82b")]
-                                },
-                                set: function (e) {
-                                    this[P("0x82b")] = e
-                                }
-                            },
-                            clipResult: {
-                                get: function () {
-                                    return this[P("0x822")]
-                                },
-                                set: function (e) {
-                                    this[P("0x82c")](),
-                                        this[P("0x822")] = e
-                                }
-                            }
-                        }),
-                        a[P("0x5")][P("0x82d")] = function (t, i) {
-                            if (i = e.defaultValue(i, !1))
-                                this[P("0x82e")](t, this[P("0x826")]);
-                            else {
-                                var r = [];
-                                this._parsePolygons(t, r),
-                                    this[P("0x82f")](r, this._polygons)
-                            }
-                            this[P("0x830")]()
-                        }
-                        ,
-                        a[P("0x5")]._parseTriangles = function (t, i) {
-                            var n = t[P("0x0")];
-                            if (e[P("0x14")](n))
-                                for (var o = 0; o < n; o++) {
-                                    var a = new r(t[o]);
-                                    i[P("0x17c")](a)
-                                }
-                        }
-                        ,
-                        a.prototype[P("0x831")] = function (t, i) {
-                            var r = t[P("0x0")];
-                            if (e[P("0x14")](r))
-                                for (var n = 0; n < r; n++) {
-                                    var a = new o(t[n]);
-                                    i.push(a)
-                                }
-                        }
-                        ,
-                        a[P("0x5")][P("0x830")] = function () {
-                            for (var e = this[P("0x826")], t = e.length, i = 0; i < t; i++)
-                                e[i][P("0x832")]()
-                        }
-                        ,
-                        a[P("0x5")][P("0x82f")] = function (e, t) {
-                            for (var i = 0; i < e[P("0x0")]; i++)
-                                e[i].triangulate(t)
-                        }
-                        ,
-                        a[P("0x5")][P("0xd2")] = function (e) {
-                            this[P("0x826")][P("0x0")] < 1 || (this[P("0x82b")] ? this._enableAll() : this[P("0x82c")]())
-                        }
-                        ,
-                        a[P("0x5")][P("0xf4")] = function () {
-                            this._polygons.length = 0,
-                                this[P("0x82b")] = !1
-                        }
-                        ,
-                        a[P("0x5")][P("0x833")] = function () {
-                            this[P("0x822")] == a.Hide ? this[P("0x834")]() : this[P("0x835")]()
-                        }
-                        ,
-                        a[P("0x5")][P("0x82c")] = function () {
-                            this[P("0x822")] == a[P("0x829")] ? this[P("0x836")]() : this[P("0x837")]()
-                        }
-                        ,
-                        a[P("0x5")]._enableHideAll = function () {
-                            var e = this[P("0x13c")][P("0x10f")][P("0x17d")];
-                            this[P("0x838")](e);
-                            var t = this[P("0x13c")][P("0x10f")].globe;
-                            this[P("0x839")](t),
-                                scene.skyBox[P("0x221")] = !1,
-                                scene[P("0x83a")][P("0x221")] = !1
-                        }
-                        ,
-                        a[P("0x5")]._disableHideAll = function () {
-                            var e = this[P("0x13c")].scene[P("0x17d")];
-                            this[P("0x83b")](e);
-                            var t = this[P("0x13c")].scene[P("0xa3")];
-                            this[P("0x83c")](t),
-                                scene[P("0x83d")].show = !0,
-                                scene[P("0x83a")][P("0x221")] = !0
-                        }
-                        ,
-                        a[P("0x5")]._enableShowAll = function () {
-                            var e = this[P("0x13c")].scene[P("0x17d")];
-                            this[P("0x838")](e);
-                            var t = this._viewer[P("0x10f")][P("0xa3")];
-                            this[P("0x839")](t),
-                                scene[P("0x83d")][P("0x221")] = !1,
-                                scene[P("0x83a")][P("0x221")] = !1
-                        }
-                        ,
-                        a[P("0x5")][P("0x837")] = function () {
-                            var e = this[P("0x13c")].scene[P("0x17d")];
-                            this[P("0x83b")](e);
-                            var t = this[P("0x13c")][P("0x10f")][P("0xa3")];
-                            this._disableGlobe(t)
-                        }
-                        ,
-                        a[P("0x5")][P("0x838")] = function (e) {
-                            for (var t = e.length, i = 0; i < t; i++)
-                                this[P("0x83e")](e[P("0x306")][i])
-                        }
-                        ,
-                        a[P("0x5")][P("0x83b")] = function (e) {
-                            for (var t = e[P("0x0")], i = 0; i < t; i++)
-                                this[P("0x83f")](e[P("0x306")][i])
-                        }
-                        ,
-                        a[P("0x5")][P("0x83e")] = function (t) {
-                            t instanceof e[P("0x2e1")] ? this._enableTileset(t) : t instanceof e[P("0x51e")] ? this[P("0x838")](t) : t instanceof e.EntityCluster ? this[P("0x840")](t) : t instanceof e[P("0x841")] && this[P("0x842")](t)
-                        }
-                        ,
-                        a[P("0x5")][P("0x83f")] = function (t) {
-                            t instanceof e[P("0x2e1")] ? this._removeEffectFromTileset(t) : t instanceof e.PrimitiveCollection ? this[P("0x83b")](t) : t instanceof e[P("0x843")] ? this[P("0x844")](t) : t instanceof e[P("0x841")] && this[P("0x845")](t)
-                        }
-                        ,
-                        a[P("0x5")][P("0x840")] = function (e) {
-                            var t = e[P("0x846")];
-                            if (t)
-                                for (var i = t[P("0x847")], r = i[P("0x0")], n = 0; n < r; n++)
-                                    i[n]
-                        }
-                        ,
-                        a[P("0x5")][P("0x844")] = function (e) {
-                            var t = e._pointCollection;
-                            if (t)
-                                for (var i = t[P("0x847")], r = i[P("0x0")], n = 0; n < r; n++)
-                                    i[n]
-                        }
-                        ,
-                        a[P("0x5")]._enableGlobe = function (t) {
-                            if (e.defined(t[P("0x365")]))
-                                t[P("0x365")][P("0x364")] = !0;
-                            else {
-                                var i = this._calcClipCenter()
-                                    , r = e[P("0x1f")][P("0xbf")](i);
-                                r = e[P("0x1b")][P("0x4e2")](r, new e.Matrix4);
-                                var n = this[P("0x848")](r);
-                                t.clippingPlanes = n
-                            }
-                        }
-                        ,
-                        a.prototype._disableGlobe = function (t) {
-                            e[P("0x14")](t) && e[P("0x14")](t.clippingPlanes) && (t[P("0x365")] = void 0,
-                                this[P("0x849")](t._surface))
-                        }
-                        ,
-                        a[P("0x5")]._clearSurfaceClippingPlanes = function (t) {
-                            t[P("0x84a")] = !0,
-                                t[P("0x84b")][P("0x84c")] = void 0,
-                                t._tilesToRender[P("0x0")] = 0,
-                                e[P("0x14")](t._tileProvider) && e.defined(t._tileProvider[P("0x84d")]) && this[P("0x84e")](t[P("0x84b")]._surfaceShaderSet[P("0x84f")])
-                        }
-                        ,
-                        a[P("0x5")][P("0x84e")] = function (t) {
-                            if (e[P("0x14")](t) && e.defined(t[P("0x0")]))
-                                for (var i = t[P("0x0")], r = 0; r < i; r++)
-                                    t[r] = void 0
-                        }
-                        ,
-                        a[P("0x5")][P("0x850")] = function () {
-                            var t = this[P("0x826")]
-                                , i = t[P("0x0")];
-                            if (!(i < 1)) {
-                                for (var r = new (e[P("0x13")]), n = 0; n < i; n++) {
-                                    var o = t[n][P("0x11a")]();
-                                    r[P("0x112")] += o[P("0x563")],
-                                        r.latitude += o[P("0x54e")],
-                                        r[P("0x112")] *= .5,
-                                        r.latitude *= .5
-                                }
-                                return e.Cartesian3[P("0x3d0")](r.longitude, r[P("0x114")], r[P("0x8b")])
-                            }
-                        }
-                        ,
-                        a[P("0x5")][P("0x842")] = function (t) {
-                            if (e[P("0x14")](t[P("0x365")]))
-                                t[P("0x365")][P("0x364")] = !0;
-                            else if (t[P("0x48b")]) {
-                                var i = e[P("0x11")][P("0x6c")](t[P("0x55b")][P("0x11a")], .5, new (e[P("0x11")]))
-                                    , r = e[P("0x1b")][P("0x851")](i, new e.Matrix4)
-                                    , n = (i = e[P("0x1b")][P("0xd4")](t[P("0x4ac")], t[P("0x55b")][P("0x11a")], new e.Cartesian3),
-                                        e.Matrix4[P("0x737")](r, t.modelMatrix, new e.Matrix4));
-                                n = e[P("0x1b")][P("0x4e2")](n, new (e[P("0x1b")]));
-                                var o = this._generateClipPlanes(n);
-                                t[P("0x365")] = o
-                            }
-                        }
-                        ,
-                        a.prototype._disableModel = function (t) {
-                            e[P("0x14")](t[P("0x365")]) && (t.clippingPlanes = void 0,
-                                t[P("0x852")] = !0)
-                        }
-                        ,
-                        a[P("0x5")][P("0x848")] = function (e) {
-                            return this[P("0x822")] == a[P("0x829")] ? this[P("0x853")](e) : this[P("0x854")](e)
-                        }
-                        ,
-                        a[P("0x5")][P("0x853")] = function (t) {
-                            var i = this[P("0x855")](t);
-                            if (e.defined(i)) {
-                                var r = new e.ClippingPlaneCollection({
-                                    planes: i,
-                                    edgeWidth: .5,
-                                    edgeColor: e[P("0x16a")][P("0x856")],
-                                    unionClippingRegions: !0
-                                });
-                                return r[P("0x857")] = {},
-                                    r[P("0x857")][P("0x858")] = !0,
-                                    r[P("0x857")][P("0x859")] = function (e) {
-                                        return P("0x85a") + "{\n    vec4 position = czm_windowToEyeCoordinates(fragCoord);\n" + P("0x85b") + "    vec3 clipPosition = vec3(0.0);\n" + P("0x85c") + P("0x85d") + P("0x85e") + "    for (int i = 0; i < " + e + "; i+=3)\n" + P("0x85f") + "        int j = i;\n" + P("0x860") + P("0x861") + P("0x862") + P("0x863") + "        clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n" + P("0x864") + P("0x865") + P("0x866") + P("0x867") + P("0x868") + P("0x869") + "           amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n" + P("0x86a") + P("0x86b") + P("0x86c") + "               j++;\n" + P("0x86d") + P("0x86e") + "               clipPosition = -clippingPlane.w * clipNormal;\n" + P("0x86f") + P("0x870") + "               if (amount > 0.0)\n" + P("0x871") + P("0x872") + P("0x873") + P("0x874") + P("0x875") + P("0x7bf") + P("0x7b7") + P("0x876") + P("0x877") + "    }\n    return clipAmount;\n}\n"
-                                    }
-                                    ,
-                                    r.mularea[P("0x878")] = function (e, t, i) {
-                                        return P("0x879") + P("0x87a") + P("0x87b") + "void main() \n" + P("0x87c") + P("0x87d") + "    float clipDistance = clip(gl_FragCoord, " + e + ", " + t + P("0x87e") + "    vec4 clippingPlanesEdgeColor = vec4(1.0); \n" + P("0x87f") + i + P("0x880") + P("0x881") + i + ".a; \n" + P("0x882") + "    { \n" + P("0x883") + P("0x884") + P("0x885")
-                                    }
-                                    ,
-                                    r
-                            }
-                        }
-                        ,
-                        a.prototype[P("0x854")] = function (t) {
-                            var i = this._generateSourcePlanes(t);
-                            if (e[P("0x14")](i)) {
-                                var r = new (e[P("0x36a")])({
-                                    planes: i,
-                                    edgeWidth: this[P("0x824")][P("0x671")],
-                                    edgeColor: this[P("0x824")],
-                                    unionClippingRegions: !0
-                                });
-                                return r[P("0x857")] = {},
-                                    r[P("0x857")][P("0x858")] = !1,
-                                    r[P("0x857")][P("0x859")] = function (e) {
-                                        return P("0x85a") + "{\n    vec4 position = czm_windowToEyeCoordinates(fragCoord);\n    vec3 clipNormal = vec3(0.0);\n" + P("0x886") + P("0x85c") + P("0x85d") + P("0x85e") + P("0x7bc") + e + "; i+=3)\n" + P("0x85f") + P("0x887") + P("0x860") + P("0x861") + "        clipPosition = -clippingPlane.w * clipNormal;\n        float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n" + P("0x888") + P("0x864") + P("0x865") + "           j++;\n" + P("0x867") + P("0x868") + P("0x869") + P("0x889") + P("0x86a") + P("0x86b") + P("0x86c") + P("0x88a") + "               clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n" + P("0x86e") + "               clipPosition = -clippingPlane.w * clipNormal;\n" + P("0x86f") + P("0x870") + P("0x88b") + P("0x871") + "                   bDiscard = false;\n" + P("0x873") + "               }\n" + P("0x875") + P("0x7bf") + P("0x88c") + P("0x7b7") + P("0x876") + "        return -100.0;\n    }\n    return 100.0;\n}\n"
-                                    }
-                                    ,
-                                    r[P("0x857")][P("0x878")] = function (e, t, i) {
-                                        return P("0x879") + P("0x87a") + P("0x87b") + P("0x88d") + "{ \n" + P("0x87d") + P("0x88e") + e + ", " + t + P("0x87e") + "    vec4 clippingPlanesEdgeColor = vec4(1.0); \n" + P("0x87f") + i + P("0x880") + P("0x881") + i + P("0x88f") + P("0x890") + P("0x891") + "        gl_FragColor = mix(gl_FragColor, clippingPlanesEdgeColor, clippingPlanesEdgeWidth);\n" + P("0x884") + P("0x885")
-                                    }
-                                    ,
-                                    r
-                            }
-                        }
-                        ,
-                        a[P("0x5")][P("0x855")] = function (e) {
-                            var t = this[P("0x826")]
-                                , i = t[P("0x0")];
-                            if (!(i < 1)) {
-                                for (var r = [], n = 0; n < i; n++)
-                                    t[n][P("0x892")](e, r);
-                                return r
-                            }
-                        }
-                        ,
-                        a.prototype[P("0x893")] = function (t) {
-                            var i = e[P("0x13")][P("0x1a1")](t[0], t[1], 0);
-                            this[P("0x894")][P("0x17c")](i)
-                        }
-                        ,
-                        a.prototype._unloadTileCallback = function (e, t) {
-                            e[P("0x895")][P("0x896")](t),
-                                e[P("0x897")][P("0x898")](t[P("0x490")]),
-                                --e[P("0x897")][P("0x899")],
-                                t[P("0x89a")]()
-                        }
-                        ,
-                        a[P("0x5")][P("0x89b")] = function (t) {
-                            if (e[P("0x14")](t[P("0x365")]))
-                                t[P("0x365")][P("0x364")] = !0;
-                            else if (t[P("0x89c")] && t[P("0x89c")][P("0x4bc")]) {
-                                var i = t._root[P("0x4bc")][P("0x55b")].center
-                                    , r = e[P("0x1f")][P("0xbf")](i);
-                                r = e.Matrix4.inverse(r, new (e[P("0x1b")]));
-                                var n = this[P("0x848")](r);
-                                t[P("0x365")] = n
-                            }
-                        }
-                        ,
-                        a[P("0x5")]._disableTileset = function (t) {
-                            e[P("0x14")](t[P("0x365")]) && (t[P("0x365")][P("0x364")] = !1)
-                        }
-                        ,
-                        a[P("0x5")][P("0x89d")] = function (t) {
-                            e[P("0x14")](t.clippingPlanes) && (t.clippingPlanes = void 0,
-                                t[P("0x89e")][P("0xf1")](),
-                                t[P("0x89e")][P("0x89f")](),
-                                t[P("0x89e")][P("0x8a0")](t, this[P("0x8a1")]))
-                        }
-                }(window.Cesium),
-                function (e) {
-                    function t(t) {
-                        if (t = e[P("0x102")](t, e[P("0x102")][P("0x128")]),
-                            !e[P("0x14")](t[P("0x13b")]))
-                            throw new DeveloperError(P("0x63a"));
-                        if (this[P("0x13c")] = t[P("0x13b")],
-                            !e[P("0x14")](t[P("0x11a")]))
-                            throw new DeveloperError("center is required.");
-                        this[P("0x5b4")] = e[P("0x102")](t[P("0x11a")], []);
-                        var i = e.defaultValue(t[P("0x8b")], e.GeoRadarScan.DEFAULT_HEIGHT);
-                        this._height = i,
-                            this[P("0x63c")] = e[P("0x102")](t[P("0x181")], e[P("0x8a2")][P("0x64c")]),
-                            this[P("0x596")] = e[P("0x102")](t[P("0x169")], e[P("0x8a2")][P("0x648")]),
-                            this[P("0x319")] = e[P("0x102")](t.lineColor, e[P("0x8a2")][P("0x648")]),
-                            this[P("0x31a")] = e[P("0x102")](t[P("0x197")], e[P("0x8a2")][P("0x8a3")]),
-                            this[P("0x8a4")] = e[P("0x102")](t.sectorColor, e.GeoRadarScan[P("0x648")]),
-                            this[P("0x8a5")] = e[P("0x102")](t[P("0x8a6")], e[P("0x8a2")][P("0x8a7")]);
-                        var r = this[P("0x5b4")][0]
-                            , n = this._center[1]
-                            , o = e.defaultValue(this[P("0x63c")], 0);
-                        this._radarScanEntity = null,
-                            this[P("0x8a8")](r, n, i, o, this[P("0x596")], this[P("0x319")], this[P("0x31a")], this[P("0x8a5")])
-                    }
-                    e.defineProperties(t[P("0x5")], {
-                        lineColor: {
-                            get: function () {
-                                return this._lineColor
-                            },
-                            set: function (e) {
-                                this[P("0x319")] = e,
-                                    this[P("0x8a9")]()
-                            }
-                        },
-                        lineWidth: {
-                            get: function () {
-                                return this._lineWidth
-                            },
-                            set: function (e) {
-                                this[P("0x31a")] = e,
-                                    this[P("0x8a9")]()
-                            }
-                        },
-                        sectorColor: {
-                            get: function () {
-                                return this[P("0x8a4")]
-                            },
-                            set: function (e) {
-                                this[P("0x8a4")] = e,
-                                    this[P("0x8aa")]()
-                            }
-                        },
-                        sectorWidth: {
-                            get: function () {
-                                return this._sectorWidth
-                            },
-                            set: function (e) {
-                                this[P("0x8a5")] = e,
-                                    this._updateSectorMaterial()
-                            }
-                        }
-                    }),
-                        t[P("0x5")][P("0xf4")] = function () {
-                            this[P("0x13c")] && this[P("0x13c")][P("0x194")][P("0x17f")](this._radarScanEntity)
-                        }
-                        ,
-                        t[P("0x5")][P("0x645")] = function (t) {
-                            this._isShow = e[P("0x102")](t, !0),
-                                this[P("0x8ab")][P("0x221")] = t,
-                                this[P("0x8ac")][P("0x221")] = t
-                        }
-                        ,
-                        t[P("0x5")][P("0x8ad")] = function (t) {
-                            this[P("0x319")] = e[P("0x102")](t, e.GeoRadarScan[P("0x648")])
-                        }
-                        ,
-                        t[P("0x5")][P("0x8ae")] = function () {
-                            return this[P("0x319")]
-                        }
-                        ,
-                        t.prototype[P("0x8af")] = function (t) {
-                            this[P("0x8a4")] = e.defaultValue(t, e[P("0x8a2")].DEFAULT_COLOR)
-                        }
-                        ,
-                        t.prototype.getsectorColor = function () {
-                            return this[P("0x8a4")]
-                        }
-                        ,
-                        t.prototype[P("0x647")] = function (t) {
-                            this[P("0x596")] = e[P("0x102")](t, e[P("0x8a2")][P("0x648")]),
-                                this[P("0x8ab")][P("0x649")][P("0x19c")][P("0x169")] = this._color
-                        }
-                        ,
-                        t[P("0x5")][P("0x64a")] = function () {
-                            return this[P("0x596")]
-                        }
-                        ,
-                        t[P("0x5")].setRadius = function (t) {
-                            this[P("0x63c")] = e[P("0x102")](t, e[P("0x8a2")].DEFAULT_RADIUS),
-                                this[P("0x8ab")][P("0x649")][P("0x64d")] = this[P("0x63c")]
-                        }
-                        ,
-                        t.prototype[P("0x64e")] = function () {
-                            return this[P("0x63c")]
-                        }
-                        ,
-                        t.prototype[P("0x64f")] = function (t) {
-                            if (!e.defined(t))
-                                throw new DeveloperError("position is required.");
-                            this[P("0x8ab")][P("0x8c")] = position,
-                                this[P("0x5b4")] = position
-                        }
-                        ,
-                        t[P("0x5")][P("0x8a8")] = function (t, i, r, n, o, a, s, x) {
-                            var l = this[P("0x13c")];
-                            a = this[P("0x319")],
-                                x = this[P("0x8a4")];
-                            var c = e[P("0x23")][P("0x119")](30);
-                            if (!this[P("0x8ab")]) {
-                                var u = l.entities[P("0x6d")]({
-                                    position: e[P("0x11")].fromDegrees(t, i, r),
-                                    ellipse: {
-                                        semiMinorAxis: n,
-                                        semiMajorAxis: n,
-                                        rotation: new (e[P("0x652")])(f, !1),
-                                        stRotation: new (e[P("0x652")])(f, !1),
-                                        material: new (e[P("0x651")])({
-                                            image: function (e, t, i, r) {
-                                                var n = document[P("0x15c")]("canvas");
-                                                n[P("0x19a")] = 1024,
-                                                    n[P("0x8b")] = 1024;
-                                                var o = n[P("0x476")]("2d");
-                                                return e == P("0x449") && (o[P("0x65b")] = function (e) {
-                                                    return P("0x8b1") + 255 * e.red + "," + 255 * e.green + "," + 255 * e[P("0x670")] + "," + .5 * e.alpha + ")"
-                                                }(t),
-                                                    o.lineWidth = i,
-                                                    o[P("0x658")](),
-                                                    o[P("0x659")](512, 512, 512 - (i / 2 + 2), 0, 2 * Math.PI, !0),
-                                                    o.stroke(),
-                                                    o[P("0x65a")]()),
-                                                    e == P("0x8b0") && function (e, t, i, r, n, o) {
-                                                        var a = Math.PI / 180;
-                                                        i = i || 0,
-                                                            r = r || 512,
-                                                            n = n || 200,
-                                                            o = o || P("0x8b2"),
-                                                            t = t || P("0x8b3"),
-                                                            e[P("0x658")](),
-                                                            e[P("0x65b")] = P("0x8b1") + o + P("0x8b4");
-                                                        for (var s = r - 2, x = (d(s, i),
-                                                            n), l = 0; l < x; l++) {
-                                                            var c = .5 - l
-                                                                , u = d(s, .5 - l - 1)
-                                                                , h = d(s, c)
-                                                                , f = 1 - l / x - .3;
-                                                            0 == l && (f = 1),
-                                                                e[P("0x658")](),
-                                                                e.fillStyle = P("0x8b1") + t.red + "," + t[P("0x66f")] + "," + t[P("0x670")] + "," + f + ")",
-                                                                e[P("0x8b5")](512, 512),
-                                                                e[P("0x8b6")](u.x, u.y),
-                                                                e.lineTo(h.x, h.y),
-                                                                e[P("0x8b7")]()
-                                                        }
-                                                        function d(e, t) {
-                                                            return {
-                                                                x: e * Math[P("0x9a")](a * t),
-                                                                y: e * Math[P("0x98")](a * t)
-                                                            }
-                                                        }
-                                                    }(o, r, null),
-                                                    n
-                                            }(P("0x8b0"), a, s, x),
-                                            transparent: !0
-                                        })
-                                    }
-                                });
-                                this[P("0x8ab")] = u
-                            }
-                            if (!this[P("0x8ac")]) {
-                                var h = l[P("0x194")][P("0x6d")]({
-                                    position: e.Cartesian3[P("0x1a1")](t, i, r),
-                                    ellipse: {
-                                        semiMinorAxis: n,
-                                        semiMajorAxis: n
-                                    }
-                                });
-                                this[P("0x8ac")] = h,
-                                    this._updateBorderMaterial()
-                            }
-                            function f() {
-                                return c += .05
-                            }
-                        }
-                        ,
-                        t.prototype._createCanvas = function (t, i, r, n) {
-                            var o = document[P("0x15c")](P("0x48"));
-                            o[P("0x19a")] = 1024,
-                                o.height = 1024;
-                            var a, s = o[P("0x476")]("2d");
-                            return t == P("0x449") && (s[P("0x65b")] = (a = i,
-                                P("0x8b1") + 255 * a[P("0x66e")] + "," + 255 * a[P("0x66f")] + "," + 255 * a.blue + "," + .5 * a[P("0x671")] + ")"),
-                                s[P("0x197")] = r,
-                                s[P("0x658")](),
-                                s.arc(512, 512, 512 - (r / 2 + 2), 0, 2 * Math.PI, !0),
-                                s[P("0x65e")](),
-                                s[P("0x65a")]()),
-                                "radar" == t && function (t, i, r, n, o, a) {
-                                    var s = Math.PI / 180;
-                                    r = r || 0,
-                                        n = n || 512,
-                                        o = o || 200,
-                                        a = a || P("0x8b2"),
-                                        i = i || e.GeoRadarScan[P("0x648")],
-                                        t[P("0x658")](),
-                                        t[P("0x65b")] = P("0x8b1") + a + ",1)";
-                                    for (var x = n - 2, l = (g(x, r),
-                                        o), c = 0; c < l; c++) {
-                                        var u = .5 - c
-                                            , h = g(x, .5 - c - 1)
-                                            , f = g(x, u)
-                                            , d = 1 - c / l - .3;
-                                        0 == c && (d = 1),
-                                            t.beginPath(),
-                                            t[P("0x484")] = P("0x8b1") + i[P("0x66e")] + "," + i[P("0x66f")] + "," + i.blue + "," + d + ")",
-                                            t[P("0x8b5")](512, 512),
-                                            t.lineTo(h.x, h.y),
-                                            t.lineTo(f.x, f.y),
-                                            t[P("0x8b7")]()
-                                    }
-                                    function g(e, t) {
-                                        return {
-                                            x: e * Math[P("0x9a")](s * t),
-                                            y: e * Math[P("0x98")](s * t)
-                                        }
-                                    }
-                                }(s, n, null),
-                                o
-                        }
-                        ,
-                        t[P("0x5")][P("0x8a9")] = function () {
-                            this[P("0x8ac")].ellipse[P("0x19c")] = new (e[P("0x651")])({
-                                image: this[P("0x8b8")](P("0x449"), this[P("0x319")], this[P("0x197")], this[P("0x8a4")]),
-                                transparent: !0
-                            })
-                        }
-                        ,
-                        t[P("0x5")][P("0x8aa")] = function () {
-                            this[P("0x8ab")].ellipse[P("0x19c")] = new (e[P("0x651")])({
-                                image: this[P("0x8b8")](P("0x8b0"), this[P("0x319")], this[P("0x197")], this._sectorColor),
-                                transparent: !0
-                            })
-                        }
-                        ,
-                        e.GeoRadarScan = t,
-                        e[P("0x8a2")].DEFAULT_HEIGHT = 0,
-                        e.GeoRadarScan[P("0x64c")] = 25e3,
-                        e[P("0x8a2")].DEFAULT_COLOR = e[P("0x16a")][P("0x2cf")],
-                        e.GeoRadarScan.DEFAULT_SECTOR_COLOR = e[P("0x16a")].WHITE,
-                        e.GeoRadarScan[P("0x8a3")] = 5,
-                        e[P("0x8a2")][P("0x8a7")] = 200
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x8b9")] = function (t) {
-                        this[P("0x13c")] = t.viewer,
-                            this[P("0x63c")] = t[P("0x181")],
-                            this[P("0x63c")] *= 1.65;
-                        var i = e.Cartographic[P("0x1a1")][P("0x346")](this, t[P("0x11a")]);
-                        this[P("0x5b4")] = e.Cartesian3.fromRadians(i[P("0x112")], i[P("0x114")], i[P("0x8b")]),
-                            this[P("0x596")] = t[P("0x169")] ? t.color[P("0x6e")]() : e[P("0x16a")].ORANGE.withAlpha(.35)[P("0x6e")](),
-                            this[P("0x31a")] = t[P("0x197")] ? t[P("0x197")] : 1,
-                            this[P("0x5b9")] = t[P("0x539")] ? t[P("0x539")] : 1,
-                            this[P("0x8ba")] = !!t[P("0x8bb")] && t[P("0x8bb")],
-                            this._enabled = !t[P("0x364")] || t[P("0x364")],
-                            this[P("0x8bc")] = null,
-                            this[P("0x8bd")] = null,
-                            this[P("0x5bc")] = 0;
-                        var r = e[P("0x11")][P("0x8d")](this._center, new (e[P("0x11")]));
-                        this[P("0x8be")] = function () {
-                            return r
-                        }
-                            ;
-                        var n = this._radius / this[P("0x5b9")];
-                        this._life = function () {
-                            return n
-                        }
-                            ,
-                            this[P("0x8bf")] = function (e) {
-                                n = e
-                            }
-                            ;
-                        var o = 0;
-                        this[P("0x5cf")] = function () {
-                            return o
-                        }
-                            ,
-                            this[P("0x8c0")] = function (e) {
-                                o = e
-                            }
-                            ,
-                            this._finishedEvent = new e.Event,
-                            this[P("0x77b")] = null,
-                            this[P("0x8c1")] = e.Color.WHITE
-                    }
-                        ;
-                    e[P("0xf")](t[P("0x5")], {
-                        normal: {
-                            get: function () {
-                                return this[P("0x8be")]()
-                            }
-                        },
-                        life: {
-                            get: function () {
-                                return this[P("0x5bf")]()
-                            }
-                        },
-                        time: {
-                            get: function () {
-                                return this[P("0x5cf")]()
-                            },
-                            set: function (e) {
-                                this[P("0x8c0")](e)
-                            }
-                        },
-                        speed: {
-                            get: function () {
-                                return this[P("0x5b9")]
-                            },
-                            set: function (e) {
-                                this[P("0x5b9")] != e && (this[P("0x5b9")] = e,
-                                    this[P("0x8bf")](this[P("0x63c")] / this[P("0x5b9")]))
-                            }
-                        },
-                        lineWidth: {
-                            get: function () {
-                                return this[P("0x31a")]
-                            },
-                            set: function (e) {
-                                this._lineWidth = e
-                            }
-                        },
-                        color: {
-                            get: function () {
-                                return this[P("0x596")]
-                            },
-                            set: function (e) {
-                                this._color = e[P("0x6e")]()
-                            }
-                        },
-                        repeat: {
-                            get: function () {
-                                return this[P("0x8ba")]
-                            },
-                            set: function (e) {
-                                this._repeat = e
-                            }
-                        },
-                        finishedEvent: {
-                            get: function () {
-                                return this[P("0x8c2")]
-                            }
-                        },
-                        enabled: {
-                            get: function () {
-                                return this[P("0x82b")]
-                            },
-                            set: function (e) {
-                                this[P("0x82b")] = e
-                            }
-                        },
-                        center: {
-                            get: function () {
-                                return this[P("0x5b4")]
-                            }
-                        },
-                        invViewMatrix: {
-                            get: function () {
-                                return this[P("0x77b")]
-                            }
-                        }
-                    }),
-                        t[P("0x5")][P("0xd2")] = function (e) {
-                            if (!this[P("0x82b")])
-                                return this._scanCirclePostProcess && (this._scanCirclePostProcess[P("0x364")] = !1),
-                                    void (this._scanAperturePostProcess && (this[P("0x8bd")][P("0x364")] = !1));
-                            this._updateTime(),
-                                this[P("0x82b")] && this[P("0x8c3")](e)
-                        }
-                        ,
-                        t[P("0x5")][P("0xf4")] = function () {
-                            this[P("0x8bd")] && (this[P("0x8bd")].enabled = !1,
-                                this[P("0x13c")][P("0x10f")][P("0x77c")][P("0x17f")](this._scanAperturePostProcess),
-                                this[P("0x8bd")] = null),
-                                this._scanCirclePostProcess && (this._scanCirclePostProcess.enabled = !1,
-                                    this[P("0x13c")][P("0x10f")][P("0x77c")][P("0x17f")](this[P("0x8bc")]),
-                                    this[P("0x8bc")] = null)
-                        }
-                        ,
-                        t[P("0x5")][P("0x5c8")] = function () {
-                            var t = e[P("0x5d0")]() / 1e3;
-                            if (0 == this._lastTime)
-                                this[P("0x5bc")] = t,
-                                    this[P("0x6f2")] = 0;
-                            else {
-                                var i = t - this[P("0x5bc")]
-                                    , r = this.life;
-                                r < i && (i = r),
-                                    this[P("0x6f2")] += i,
-                                    this[P("0x6f2")] > r && (this._repeat || this[P("0x8c4")](),
-                                        this[P("0x6f2")] = 0),
-                                    this[P("0x5bc")] = t
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x8c4")] = function () {
-                            this[P("0x82b")] = !1,
-                                this[P("0x8c2")][P("0x896")]()
-                        }
-                        ,
-                        t[P("0x5")][P("0x8c3")] = function (e) {
-                            var t = e[P("0x7e")];
-                            this[P("0x77b")] = t[P("0x8c5")].clone(this._invViewMatrix),
-                                this._updateScanCirclePostProcess(e),
-                                this[P("0x8c6")](e)
-                        }
-                        ,
-                        t[P("0x5")][P("0x8c7")] = function (t) {
-                            var i = this;
-                            if (i[P("0x8bc")])
-                                return this[P("0x8bc")][P("0x364")] = !0,
-                                    void (this[P("0x13c")].scene[P("0x77c")][P("0xd1")](this[P("0x8bc")]) || (this[P("0x13c")][P("0x10f")].postProcessStages[P("0x6d")](this[P("0x8bc")]),
-                                        this[P("0x8bc")][P("0xd2")](t.context, t[P("0x77d")])));
-                            var r = P("0x7a0") + P("0x7a1") + P("0x8c8") + P("0x8c9") + "uniform vec3 u_normal;\n" + P("0x5fc") + "uniform vec4 u_param0;\n" + P("0x7a4") + P("0x5f9") + P("0x8ca") + P("0x8cb") + P("0x8cc") + "       gl_FragColor = color;\n" + P("0x8cd") + P("0x614") + P("0x8ce") + P("0x8cf") + P("0x8d0") + P("0x8d1") + P("0x8d2") + "   position = u_invViewMatrix * position;\n   position /= position.w;\n   float t = (u_param0.y > u_param0.x) ? u_param0.x : u_param0.y;\n   float al = (u_param0.y <= u_param0.x) ? 1.0 : clamp(1.0 - (u_param0.y - u_param0.x) / (0.65 * u_param0.x), 0.0, 1.0);\n" + P("0x8d3") + "   vec3 b = normalize(position.xyz - u_center);\n   vec3 n = normalize(u_normal);\n" + P("0x8d4") + P("0x8d5") + "       b = cross(n, nc);\n" + P("0x8d6") + P("0x8d7") + P("0x614") + "   float d = u_param0.z * t;\n" + P("0x8d8") + P("0x8d9") + P("0x8da") + P("0x8db") + P("0x8dc") + "       float r = abs(z - d5);\n       float z1 = clamp(u_color.a, 0.1, 0.6) * (1.0 - r / hw5);\n" + P("0x8dd") + "   }\n   if (z < (d + hw) && z > (d - hw)){\n" + P("0x8de") + P("0x8df") + P("0x8e0") + P("0x71d") + P("0x8e1") + "   }\n   gl_FragColor = color;\n}"
-                                , n = new (e[P("0x12")]);
-                            i[P("0x8bc")] = new e.PostProcessStage({
-                                fragmentShader: r,
-                                uniforms: {
-                                    u_invViewMatrix: function () {
-                                        return i[P("0x8e2")]
-                                    },
-                                    u_center: function () {
-                                        return i[P("0x11a")]
-                                    },
-                                    u_normal: function () {
-                                        return i[P("0x4d0")]
-                                    },
-                                    u_color: function () {
-                                        return i[P("0x169")]
-                                    },
-                                    u_param0: function () {
-                                        return n.x = .607 * i.life,
-                                            n.y = i.time,
-                                            n.z = i[P("0x539")],
-                                            n.w = i.lineWidth,
-                                            n
-                                    }
-                                }
-                            }),
-                                i[P("0x8bc")].enabled = !1
-                        }
-                        ,
-                        t.prototype._updateScanAperturePostProcess = function (t) {
-                            var i = this;
-                            if (i[P("0x8bd")])
-                                return this[P("0x8bd")][P("0x364")] = !0,
-                                    void (this._viewer.scene[P("0x77c")][P("0xd1")](this._scanAperturePostProcess) || (this[P("0x13c")][P("0x10f")][P("0x77c")][P("0x6d")](this[P("0x8bd")]),
-                                        this[P("0x8bd")][P("0xd2")](t.context, t[P("0x77d")])));
-                            var r = "uniform sampler2D colorTexture;\nuniform sampler2D depthTexture;\nuniform mat4 u_invViewMatrix;\nuniform vec3 u_center;\n" + P("0x8e3") + "uniform vec4 u_color;\n" + P("0x8e4") + "varying vec2 v_textureCoordinates;\n" + P("0x5f9") + "   vec4 color = texture2D(colorTexture, v_textureCoordinates);\n" + P("0x8cb") + P("0x8cc") + "       gl_FragColor = color;\n" + P("0x8cd") + P("0x614") + P("0x8ce") + P("0x8cf") + "   zd = (2.0 * zd - czm_depthRange.near - czm_depthRange.far) / (czm_depthRange.far - czm_depthRange.near);\n" + P("0x8d1") + "   vec4 position = czm_inverseProjection * vec4(xy, zd, 1.0);\n   position = u_invViewMatrix * position;\n" + P("0x8e5") + P("0x8e6") + "   float al = (u_param0.y <= u_param0.x) ? 1.0 : clamp(1.0 - (u_param0.y - u_param0.x) / (0.65 * u_param0.x), 0.0, 1.0);\n" + P("0x8d3") + P("0x8e7") + "   vec3 n = normalize(u_normal);\n" + P("0x8d4") + P("0x8d5") + P("0x8e8") + P("0x8d6") + P("0x8d7") + "   }\n" + P("0x8e9") + "   float d5 = u_param0.z * u_param0.y;\n" + P("0x8d9") + "   float hw5 = hw * 12.0;\n   float hd = dot(u_normal, position.xyz) - dot(u_normal, u_center);\n   if (z < (d5 + hw5) && z > (d5 - hw5)){\n" + P("0x8ea") + P("0x8eb") + P("0x8ec") + P("0x614") + P("0x8ed") + "       float r = abs(z - d);\n" + P("0x8ee") + P("0x8ef") + P("0x614") + P("0x728") + "}"
-                                , n = new (e[P("0x12")]);
-                            i[P("0x8bd")] = new (e[P("0x7c5")])({
-                                fragmentShader: r,
-                                uniforms: {
-                                    u_invViewMatrix: function () {
-                                        return i[P("0x8e2")]
-                                    },
-                                    u_center: function () {
-                                        return i[P("0x11a")]
-                                    },
-                                    u_normal: function () {
-                                        return i.normal
-                                    },
-                                    u_color: function () {
-                                        return i[P("0x8c1")]
-                                    },
-                                    u_param0: function () {
-                                        return n.x = .607 * i.life,
-                                            n.y = i[P("0x6f2")],
-                                            n.z = i.speed,
-                                            n.w = i[P("0x197")],
-                                            n
-                                    }
-                                }
-                            }),
-                                i[P("0x8bd")].enabled = !1
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x8f0")] = function (t) {
-                        this[P("0x13c")] = t[P("0x13b")];
-                        var i = e[P("0x13")][P("0x1a1")].apply(this, t[P("0x11a")]);
-                        this[P("0x5b4")] = e[P("0x11")].fromRadians(i[P("0x112")], i.latitude, i[P("0x8b")]),
-                            this[P("0x63c")] = t[P("0x181")],
-                            this[P("0x596")] = t[P("0x169")] ? t[P("0x169")].clone() : e[P("0x16a")][P("0x438")][P("0x6e")](),
-                            this[P("0x5b9")] = t.speed ? t.speed : 1,
-                            this[P("0x8ba")] = !!t[P("0x8bb")] && t[P("0x8bb")],
-                            this._enabled = !t.enabled || t[P("0x364")],
-                            this._longest = e.defined(t[P("0x8f1")]) ? t[P("0x8f1")] : 15e3,
-                            this[P("0x8f2")] = e.defined(t.url) ? t.url : null,
-                            this[P("0x8f3")] = null,
-                            this[P("0x5bc")] = 0,
-                            this[P("0x48b")] = !1,
-                            this[P("0x8be")] = e.Cartesian3[P("0x8d")](this[P("0x5b4")], new (e[P("0x11")])),
-                            this[P("0x5bf")] = this._radius / this._speed,
-                            this[P("0x5cf")] = 0,
-                            this[P("0x77b")] = null,
-                            this[P("0x8f4")] = null,
-                            this._param0 = null,
-                            this[P("0x8f5")] = null,
-                            this._param2 = null,
-                            this[P("0x8f6")] = null,
-                            this._param4 = null,
-                            this[P("0x8f7")] = !1
-                    }
-                        ;
-                    e.defineProperties(t.prototype, {
-                        enabled: {
-                            get: function () {
-                                return this[P("0x82b")]
-                            },
-                            set: function (e) {
-                                this[P("0x82b")] = e
-                            }
-                        },
-                        radius: {
-                            get: function () {
-                                return this[P("0x63c")]
-                            },
-                            set: function (t) {
-                                e[P("0x14")](t) && 0 != t && t != this._radius && (this[P("0x63c")] = t,
-                                    this[P("0x5bf")] = this[P("0x63c")] / this[P("0x5b9")])
-                            }
-                        },
-                        speed: {
-                            get: function () {
-                                return this._speed
-                            },
-                            set: function (t) {
-                                e[P("0x14")](t) && 0 != t && t != this[P("0x5b9")] && (this[P("0x5b9")] = t,
-                                    this[P("0x5bf")] = this._radius / this[P("0x5b9")])
-                            }
-                        },
-                        color: {
-                            get: function () {
-                                return this[P("0x596")]
-                            },
-                            set: function (e) {
-                                this[P("0x596")] = e
-                            }
-                        }
-                    }),
-                        t.prototype[P("0xd2")] = function (e) {
-                            var t = this;
-                            t[P("0x8f8")](e[P("0x7e")]) ? (t[P("0x8f9")](e),
-                                t[P("0x82b")] ? (t._updateTime(),
-                                    t._enabled && (t[P("0x8fa")](),
-                                        t._updatePostProcesses(e))) : t[P("0x8f3")] && (t[P("0x8f3")][P("0x364")] = !1)) : t[P("0x8f3")] && (t[P("0x8f3")][P("0x364")] = !1)
-                        }
-                        ,
-                        t[P("0x5")][P("0x8fb")] = function (e) {
-                            var t = this;
-                            t[P("0x8f2")] != e && (t[P("0x8f2")] = e,
-                                t._ready = !1,
-                                t[P("0x8fc")] = null,
-                                t[P("0x8f5")] = null,
-                                t._param2 = null,
-                                t[P("0x8f6")] = null,
-                                t[P("0x8fd")] = null,
-                                t[P("0x8f3")] && (t._scanPostProcess[P("0x364")] = !1,
-                                    t[P("0x13c")][P("0x10f")].postProcessStages[P("0x17f")](t._scanPostProcess),
-                                    t[P("0x8f3")] = null),
-                                t._texture && (t._texture[P("0xf4")](),
-                                    t._texture = null),
-                                t[P("0x8f7")] = !1)
-                        }
-                        ;
-                    var i = new (e[P("0x11")]);
-                    t[P("0x5")][P("0x8f8")] = function (t) {
-                        return !(e[P("0x11")][P("0x96")](e.Cartesian3[P("0x95")](t.position, this[P("0x5b4")], i)) > this[P("0x8fe")])
-                    }
-                        ,
-                        t.prototype[P("0xf4")] = function () {
-                            this[P("0x8f3")] && (this._scanPostProcess[P("0x364")] = !1,
-                                this[P("0x13c")][P("0x10f")].postProcessStages[P("0x17f")](this[P("0x8f3")]),
-                                this._scanPostProcess = null)
-                        }
-                        ,
-                        t[P("0x5")][P("0x5c8")] = function () {
-                            var t = e[P("0x5d0")]() / 1e3;
-                            if (0 == this[P("0x5bc")])
-                                this[P("0x5bc")] = t,
-                                    this._time = 0;
-                            else {
-                                var i = t - this._lastTime
-                                    , r = this[P("0x5bf")];
-                                r < i && (i = r),
-                                    this[P("0x5cf")] += i,
-                                    this[P("0x5cf")] > r && (this[P("0x8ba")] || this[P("0x8c4")](),
-                                        this[P("0x5cf")] = 0),
-                                    this._lastTime = t
-                            }
-                        }
-                        ,
-                        t.prototype[P("0x8c4")] = function () {
-                            this[P("0x82b")] = !1
-                        }
-                        ,
-                        t[P("0x5")][P("0x8f9")] = function (t) {
-                            var i = this;
-                            if (null != i[P("0x8f2")]) {
-                                if (i._texture)
-                                    i[P("0x48b")] = !0;
-                                else if (i[P("0x48b")] = !1,
-                                    !i._loading) {
-                                    i._loading = !0;
-                                    var r = t.context
-                                        , n = e[P("0x6ba")](i._textureUrl);
-                                    e[P("0x6da")][P("0x6dc")]({
-                                        url: n,
-                                        headers: {
-                                            "cache-control": P("0x8ff")
-                                        }
-                                    })[P("0x333")]((function (t) {
-                                        i[P("0x8f7")] = !1,
-                                            i[P("0x8f4")] = new (e[P("0x6db")])({
-                                                context: r,
-                                                source: t
-                                            }, (function (e) {
-                                                hat[P("0x8f2")] = null
-                                            }
-                                            ))
-                                    }
-                                    ))
-                                }
-                            } else
-                                i[P("0x48b")] = !0
-                        }
-                        ,
-                        t[P("0x5")][P("0x8fa")] = function () {
-                            var t = this
-                                , i = t[P("0x5b4")]
-                                , r = t[P("0x8be")]
-                                , n = e[P("0x11")][P("0x99")](e[P("0x11")][P("0xc3")], r, new (e[P("0x11")]))
-                                , o = e[P("0x11")].cross(r, n, new (e[P("0x11")]));
-                            e.Cartesian3[P("0x8d")](n, n),
-                                e[P("0x11")][P("0x8d")](o, o);
-                            var a = e.Cartesian3[P("0xc8")](n, new (e[P("0x11")]))
-                                , s = e[P("0x11")][P("0xc8")](o, new e.Cartesian3)
-                                , x = t[P("0x5b9")] * t._time;
-                            if (null == t[P("0x8f2")])
-                                x /= 1.532,
-                                    t._param0 = new (e[P("0x12")])(i.x, i.y, i.z),
-                                    t[P("0x8f5")] = new e.Cartesian4(r.x, r.y, r.z),
-                                    t[P("0x900")] = new (e[P("0x12")])(x),
-                                    t[P("0x8f6")] = new (e[P("0x12")])(r.x, r.y, r.z, -e[P("0x11")][P("0x92")](r, i));
-                            else {
-                                var l = e.Cartesian3[P("0x6d")](i, e[P("0x11")][P("0x6c")](a, x, new (e[P("0x11")])), new (e[P("0x11")]))
-                                    , c = e[P("0x11")][P("0x6d")](i, e[P("0x11")][P("0x6c")](n, x, new (e[P("0x11")])), new (e[P("0x11")]))
-                                    , u = e[P("0x11")][P("0x6d")](i, e[P("0x11")][P("0x6c")](s, x, new e.Cartesian3), new (e[P("0x11")]))
-                                    , h = e[P("0x11")].add(i, e[P("0x11")][P("0x6c")](o, x, new (e[P("0x11")])), new (e[P("0x11")]));
-                                t._param0 = new (e[P("0x12")])(n.x, n.y, n.z, -e[P("0x11")][P("0x92")](n, l)),
-                                    t._param1 = new (e[P("0x12")])(a.x, a.y, a.z, -e[P("0x11")][P("0x92")](a, c)),
-                                    t[P("0x900")] = new (e[P("0x12")])(o.x, o.y, o.z, -e[P("0x11")].dot(o, u)),
-                                    t[P("0x8f6")] = new (e[P("0x12")])(s.x, s.y, s.z, -e.Cartesian3[P("0x92")](s, h)),
-                                    t[P("0x8fd")] = new (e[P("0x12")])(r.x, r.y, r.z, -e[P("0x11")][P("0x92")](r, i))
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0x8c3")] = function (t) {
-                            var i = this;
-                            if (i._ready) {
-                                var r = t[P("0x7e")];
-                                if (i._invViewMatrix = r[P("0x8c5")][P("0x6e")](i[P("0x77b")]),
-                                    i[P("0x8f3")])
-                                    return i[P("0x8f3")][P("0x364")] = !0,
-                                        void (i._viewer[P("0x10f")][P("0x77c")][P("0xd1")](i[P("0x8f3")]) || (i[P("0x13c")][P("0x10f")][P("0x77c")].add(i[P("0x8f3")]),
-                                            i._scanPostProcess.update(t.context, t[P("0x77d")])));
-                                if (null == i[P("0x8f2")]) {
-                                    var n = P("0x7a0") + "uniform sampler2D depthTexture;\n" + P("0x8c8") + P("0x5fc") + "uniform vec4 u_param0;\nuniform vec4 u_param1;\nuniform vec4 u_param2;\n" + P("0x901") + P("0x7a4") + "void main(){\n   vec4 color = texture2D(colorTexture, v_textureCoordinates);\n" + P("0x8cb") + P("0x8cc") + P("0x902") + P("0x8cd") + P("0x614") + P("0x8ce") + P("0x8cf") + P("0x8d0") + P("0x8d1") + P("0x8d2") + P("0x903") + "   position /= position.w;\n" + P("0x904") + P("0x905") + "       gl_FragColor = color;\n       return;\n" + P("0x614") + P("0x906") + P("0x907") + P("0x908") + "   if(z2 > u_param2.x){\n" + P("0x902") + P("0x8cd") + P("0x614") + P("0x909") + P("0x90a") + P("0x902") + P("0x8cd") + P("0x614") + P("0x90b") + "}";
-                                    i[P("0x8f3")] = new e.PostProcessStage({
-                                        fragmentShader: n,
-                                        uniforms: {
-                                            u_invViewMatrix: function () {
-                                                return i[P("0x77b")]
-                                            },
-                                            u_color: function () {
-                                                return i[P("0x596")]
-                                            },
-                                            u_param0: function () {
-                                                return i._param0
-                                            },
-                                            u_param1: function () {
-                                                return i[P("0x8f5")]
-                                            },
-                                            u_param2: function () {
-                                                return i[P("0x900")]
-                                            },
-                                            u_param3: function () {
-                                                return i._param3
-                                            }
-                                        }
-                                    })
-                                } else
-                                    n = "uniform sampler2D colorTexture;\n" + P("0x7a1") + "uniform sampler2D u_texture;\n" + P("0x8c8") + "uniform vec4 u_color;\n" + P("0x8e4") + "uniform vec4 u_param1;\n" + P("0x90c") + P("0x901") + P("0x90d") + P("0x7a4") + P("0x5f9") + "   vec4 color = texture2D(colorTexture, v_textureCoordinates);\n" + P("0x8cb") + "   if(currD.r >= 1.0){\n" + P("0x902") + "       return;\n" + P("0x614") + P("0x8ce") + P("0x8cf") + P("0x8d0") + P("0x8d1") + P("0x8d2") + P("0x903") + P("0x8e5") + P("0x90e") + P("0x90f") + P("0x902") + P("0x8cd") + P("0x614") + P("0x910") + P("0x911") + P("0x902") + P("0x8cd") + P("0x614") + P("0x912") + P("0x913") + P("0x902") + P("0x8cd") + P("0x614") + P("0x914") + P("0x915") + P("0x902") + "       return;\n" + P("0x614") + P("0x916") + "   if(z4 < -800.0 || z4 > 800.0){\n" + P("0x902") + "       return;\n" + P("0x614") + "   float u = z0 / (z0 + z1);\n   float v = z2 / (z2 + z3);\n   vec4 sColor = texture2D(u_texture, vec2(u, v));\n" + P("0x917") + "   sColor = sColor * (1.0 - a) + a * u_color;\n" + P("0x918") + "}",
-                                        i[P("0x8f3")] = new (e[P("0x7c5")])({
-                                            fragmentShader: n,
-                                            uniforms: {
-                                                u_invViewMatrix: function () {
-                                                    return i._invViewMatrix
-                                                },
-                                                u_color: function () {
-                                                    return i._color
-                                                },
-                                                u_texture: function () {
-                                                    return i._texture
-                                                },
-                                                u_param0: function () {
-                                                    return i._param0
-                                                },
-                                                u_param1: function () {
-                                                    return i._param1
-                                                },
-                                                u_param2: function () {
-                                                    return i[P("0x900")]
-                                                },
-                                                u_param3: function () {
-                                                    return i[P("0x8f6")]
-                                                },
-                                                u_param4: function () {
-                                                    return i[P("0x8fd")]
-                                                }
-                                            }
-                                        });
-                                i[P("0x8f3")].enabled = !1
-                            }
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    function t(e) {
-                        this[P("0x63c")] = e[P("0x181")],
-                            this._direction = e[P("0x93")],
-                            this[P("0x919")] = e[P("0x91a")]
-                    }
-                    var i = new e.Cartesian3
-                        , r = new (e[P("0x11")])
-                        , n = new (e[P("0x17")])
-                        , o = new e.Quaternion
-                        , a = new (e[P("0x1a")])
-                        , s = new (e[P("0x1b")]);
-                    t[P("0x5")][P("0x91b")] = function (t) {
-                        var x, l, c, u, h, f;
-                        x = this[P("0x6b7")],
-                            (l = n)[P("0x7f")] = x.heading,
-                            l[P("0x80")] = x[P("0x81")],
-                            l.roll = x[P("0x80")],
-                            c = n,
-                            u = o,
-                            e[P("0x1d")].fromHeadingPitchRoll(c, u),
-                            h = o,
-                            f = a,
-                            e[P("0x1a")][P("0xcd")](h, f);
-                        var d, g, p, m, b, v, C, y, _ = (d = a,
-                            g = s,
-                            e[P("0x1b")][P("0x738")](d, void 0, g));
-                        p = i,
-                            m = r,
-                            b = this[P("0x63c")],
-                            v = this[P("0x919")],
-                            C = e[P("0x23")][P("0x6de")](0, e.Math.TWO_PI),
-                            y = (b = e[P("0x23")][P("0x6de")](0, b)) + Math.tan(e[P("0x23")][P("0x119")](v)),
-                            p.x = b * Math[P("0x9a")](C),
-                            p.y = e[P("0x23")][P("0x6de")](0, 10),
-                            p.z = -b * Math[P("0x98")](C),
-                            m.x = y * Math[P("0x9a")](C),
-                            m.y = p.y + 1,
-                            m.z = -y * Math.sin(C),
-                            e[P("0x1b")][P("0xd4")](_, i, i),
-                            e[P("0x1b")][P("0xd4")](_, r, r),
-                            t.position = e.Cartesian3.clone(i, t[P("0x8c")]),
-                            t[P("0x91c")] = e[P("0x11")][P("0x95")](r, i, t[P("0x91c")]),
-                            e[P("0x11")].normalize(t[P("0x91c")], t[P("0x91c")])
-                    }
-                        ;
-                    var x = e.GeoSprinklerParticleSystem = function (t) {
-                        this._image = t[P("0x475")],
-                            this[P("0x6b6")] = t[P("0x11a")],
-                            this[P("0x6b7")] = t[P("0x93")],
-                            this[P("0x6c1")] = e[P("0x14")](t.imageSize) ? t[P("0x91d")] : new (e[P("0x10")])(4.9, 4.9),
-                            this[P("0x91e")] = e[P("0x14")](t[P("0x91f")]) ? t[P("0x91f")] : 4.9,
-                            this[P("0x5b9")] = e.defined(t.speed) ? t[P("0x539")] : 27.46,
-                            this[P("0x920")] = e.defined(t.emissionRate) ? t[P("0x921")] : 800,
-                            this[P("0x63c")] = e.defined(t[P("0x181")]) ? t[P("0x181")] : .2,
-                            this[P("0x922")] = e.defined(t.lifetime) ? t[P("0x923")] : 1,
-                            this[P("0x919")] = e[P("0x14")](t[P("0x91a")]) ? t[P("0x91a")] : .89,
-                            this[P("0x8fe")] = e.defined(t[P("0x8f1")]) ? t[P("0x8f1")] : 2e3;
-                        var i = e.Color[P("0x2cf")];
-                        this[P("0x72c")] = i[P("0x16c")](.8),
-                            this[P("0x6c2")] = i.withAlpha(0),
-                            this[P("0x924")] = null,
-                            this[P("0x925")]()
-                    }
-                        ;
-                    x[P("0x5")][P("0xd2")] = function (e) {
-                        this[P("0x924")] && (this[P("0x8f8")](e[P("0x7e")]) ? this[P("0x924")][P("0xd2")](e) : this[P("0x926")]())
-                    }
-                        ,
-                        x[P("0x5")][P("0x925")] = function () {
-                            if (!this[P("0x924")]) {
-                                var i = e[P("0x13")][P("0x1a1")].apply(this, this[P("0x6b6")]);
-                                i = e[P("0x11")].fromRadians(i.longitude, i.latitude, i[P("0x8b")]);
-                                var r = e[P("0x1f")][P("0xbf")](i);
-                                return this._system = new e.ParticleSystem({
-                                    image: this[P("0x595")],
-                                    startColor: this[P("0x72c")],
-                                    endColor: this[P("0x6c2")],
-                                    particleLife: this[P("0x91e")],
-                                    speed: this[P("0x5b9")],
-                                    imageSize: this[P("0x6c1")],
-                                    emissionRate: this[P("0x920")],
-                                    emitter: new t({
-                                        radius: this._radius,
-                                        direction: this._direction,
-                                        angle: this._angle
-                                    }),
-                                    lifetime: this[P("0x922")],
-                                    updateCallback: h,
-                                    modelMatrix: r
-                                }),
-                                    this[P("0x924")]
-                            }
-                        }
-                        ,
-                        x[P("0x5")].destroy = function () {
-                            this[P("0x924")] && (this[P("0x924")].destroy(),
-                                this._system = null)
-                        }
-                        ,
-                        x[P("0x5")][P("0x926")] = function () {
-                            this._system && function (t) {
-                                if (e[P("0x14")](t[P("0x927")])) {
-                                    for (var i = t[P("0x927")], r = i[P("0x0")], n = 0; n < r; n++) {
-                                        var o = i[n];
-                                        e[P("0x14")](o[P("0x928")]) && (o._billboard[P("0x221")] = !1),
-                                            t[P("0x929")][P("0x17c")](o),
-                                            i[n] = i[r - 1],
-                                            n--,
-                                            r--
-                                    }
-                                    t[P("0x927")].length = 0
-                                }
-                            }(this[P("0x924")])
-                        }
-                        ;
-                    var l = new e.Cartographic
-                        , c = new (e[P("0x11")]);
-                    x[P("0x5")]._checkVisible = function (t) {
-                        var i = e[P("0x13")][P("0x1a1")](this[P("0x6b6")][0], this[P("0x6b6")][1], this[P("0x6b6")][2], l);
-                        return i = e[P("0x11")][P("0x3d0")](i[P("0x112")], i[P("0x114")], i[P("0x8b")], void 0, c),
-                            !(e[P("0x11")][P("0x96")](e[P("0x11")].subtract(t[P("0x8c")], i, c)) > this[P("0x8fe")])
-                    }
-                        ;
-                    var u = new (e[P("0x11")]);
-                    function h(t, i) {
-                        var r = e.Cartesian3[P("0x8d")](t[P("0x8c")], u);
-                        e.Cartesian3[P("0xc8")](r, r),
-                            e[P("0x11")][P("0x6c")](r, 8.16 * i, r),
-                            t[P("0x91c")] = e[P("0x11")].add(t[P("0x91c")], r, t[P("0x91c")])
-                    }
-                }(window.Cesium),
-                function (e) {
-                    var t = e[P("0x92a")] = function (e) {
-                        this[P("0x92b")] = e.fieldName,
-                            this[P("0x92c")] = e[P("0x92d")],
-                            this._minValue = e[P("0x92e")],
-                            this[P("0x92f")] = e[P("0x930")],
-                            this[P("0x931")] = e[P("0x932")]
-                    }
-                        ;
-                    t[P("0x5")][P("0x934")] = function () {
-                        var t = function (t) {
-                            if (!e[P("0x14")](t))
-                                return "";
-                            var i = 255 * t.red
-                                , r = 255 * t[P("0x66f")]
-                                , n = 255 * t[P("0x670")]
-                                , o = t.alpha;
-                            return P("0x933") + i + "," + r + "," + n + "," + o + ");"
-                        }(this[P("0x92c")])
-                            , i = P("0x935");
-                        if (!e[P("0x14")](this[P("0x92b")]))
-                            return (i += P("0x936") + t + ";\n") + "} \n";
-                        var r = "";
-                        return this[P("0x92b")] == P("0x469") && (r = "v_elevationPos.z"),
-                            i += 1 == (this[P("0x92f")] == this[P("0x937")]) ? "if (" + r + P("0x938") + this._minValue + P("0x939") : P("0x93a") + r + " >= " + this[P("0x937")] + P("0x93b") + r + " <= " + this[P("0x92f")] + P("0x939"),
-                            i += "{ \n",
-                            i += P("0x936") + t + ";\n",
-                            (i += P("0x885")) + P("0x885")
-                    }
-                        ,
-                        t.prototype[P("0x93c")] = function () {
-                            if (!e[P("0x14")](this[P("0x92b")]) || this[P("0x92b")] != P("0x469"))
-                                return "";
-                            var t = ""
-                                , i = "";
-                            this[P("0x92b")] == P("0x469") && (i = "v_elevationPos.z");
-                            var r = this[P("0x92f")] == this[P("0x937")]
-                                , n = this[P("0x937")][P("0x531")]();
-                            -1 == n[P("0x2d3")](".") && (n += ".0");
-                            var o = this._maxValue.toString();
-                            -1 == o[P("0x2d3")](".") && (o += ".0");
-                            var a = this[P("0x92c")][P("0x531")]();
-                            return -1 == a[P("0x2d3")](".") && (a += ".0"),
-                                t += 1 == r ? P("0x93a") + i + P("0x938") + n + P("0x93d") : P("0x93a") + i + P("0x93e") + n + P("0x93f") + i + " <= " + o + P("0x93d"),
-                                t += P("0x87c"),
-                                (t += "luminanceValue = " + a + ";\n") + P("0x885")
-                        }
-                        ,
-                        t.prototype.makeShader = function () {
-                            var e;
-                            return this._topic == P("0x940") && (e = this[P("0x934")]()),
-                                this[P("0x931")] == P("0x941") && (e = this[P("0x93c")]()),
-                                e
-                        }
-                        ,
-                        t[P("0x5")][P("0x942")] = function (t) {
-                            if (this[P("0x931")] == P("0x941")) {
-                                if (!e[P("0x14")](this[P("0x92b")]))
-                                    return this[P("0x92c")];
-                                if (this._fieldName != P("0x469")) {
-                                    if (this[P("0x92b")] == P("0x943"))
-                                        return this._fieldValue;
-                                    var i = t[P("0x944")](this[P("0x92b")]);
-                                    return i >= this[P("0x937")] && i <= this[P("0x92f")] ? this._fieldValue : void 0
-                                }
-                            }
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    (e[P("0x945")] = function () { }
-                    )[P("0x5")][P("0x946")] = function (t, i, r) {
-                        var n = i
-                            , o = {};
-                        return o[P("0x932")] = t,
-                            4 == i[P("0x0")] ? (o[P("0x92d")] = n[0],
-                                o.fieldName = n[1],
-                                "$" == o[P("0x947")][P("0x7f3")](0, 1) && (o[P("0x947")] = o.fieldName[P("0x7f3")](1, o[P("0x947")][P("0x0")] - 1)),
-                                o.minValue = n[2],
-                                o.maxValue = n[3],
-                                i[1] == P("0x469") && (r[P("0x948")] = !0)) : 1 == i[P("0x0")] ? o[P("0x92d")] = i[0] : 2 == i[P("0x0")] && (o[P("0x92d")] = n[0],
-                                    o[P("0x947")] = n[1]),
-                            new (e[P("0x92a")])(o)
-                    }
-                }(window.Cesium),
-                function (e) {
-                    function t(e, t, i) {
-                        var r = i[P("0x10f")][P("0x77c")][P("0x949")];
-                        r[P("0x364")] = e,
-                            r[P("0x19d")][P("0x94a")] = !1,
-                            r[P("0x19d")][P("0x94b")] = 119,
-                            r.uniforms[P("0x94c")] = -.4,
-                            r[P("0x19d")].delta = .9,
-                            r[P("0x19d")][P("0x94d")] = 3.78,
-                            r.uniforms[P("0x94e")] = t,
-                            r[P("0x19d")][P("0x94f")] = !1
-                    }
-                    var i = e[P("0x950")] = function (i) {
-                        if (e[P("0x14")](i)) {
-                            if (this[P("0x951")] = !1,
-                                this[P("0x952")] = !1,
-                                this._enabledLightBand = !1,
-                                this[P("0x953")] = !1,
-                                this[P("0x954")] = 5,
-                                this[P("0x955")] = i[P("0x815")],
-                                this._useElevation = !1,
-                                this[P("0x956")] = new (e[P("0x945")]),
-                                e[P("0x14")](i.mixedColor)) {
-                                this[P("0x951")] = e[P("0x102")](i[P("0x940")][P("0x364")], !1);
-                                var r = i[P("0x940")].conditions;
-                                if (e[P("0x14")](r)) {
-                                    this._mixedColorConditions = [];
-                                    for (var n = 0; n < r.length; n++) {
-                                        var o = r[n]
-                                            , a = this._conditionParser[P("0x946")](P("0x940"), o, this);
-                                        this[P("0x957")][P("0x17c")](a)
-                                    }
-                                }
-                            }
-                            e.defined(i[P("0x941")]) && this[P("0x958")](i[P("0x941")]),
-                                e[P("0x14")](i[P("0x959")]) && (this[P("0x95a")] = e[P("0x102")](i[P("0x959")][P("0x364")], !1)),
-                                e[P("0x14")](i[P("0x949")]) && (this._enabledBloom = e[P("0x102")](i[P("0x949")][P("0x364")], !1),
-                                    this._bloomStep = e[P("0x102")](i.bloom.step, 5),
-                                    t(this._enabledBloom, this[P("0x954")], this[P("0x955")]))
-                        }
-                    }
-                        ;
-                    i[P("0x5")].needCalculateElevation = function () {
-                        return !!this[P("0x948")] || !!this[P("0x95a")]
-                    }
-                        ,
-                        i[P("0x5")][P("0x958")] = function (t) {
-                            e[P("0x14")](this[P("0x95b")]) ? this[P("0x95b")].length = 0 : this[P("0x95b")] = [],
-                                this[P("0x952")] = e[P("0x102")](t[P("0x364")], !1);
-                            var i = t[P("0x95c")];
-                            if (e[P("0x14")](i))
-                                for (var r = 0; r < i.length; r++) {
-                                    var n = i[r]
-                                        , o = this[P("0x956")][P("0x946")]("luminanceAtZenith", n, this);
-                                    this._luminanceAtZenithConditions[P("0x17c")](o)
-                                }
-                        }
-                        ,
-                        e[P("0xf")](i[P("0x5")], {
-                            enabledMixedColor: {
-                                get: function () {
-                                    return this[P("0x951")]
-                                },
-                                set: function (e) {
-                                    this[P("0x951")] = e
-                                }
-                            },
-                            enabledLuminanceAtZenith: {
-                                get: function () {
-                                    return this[P("0x952")]
-                                },
-                                set: function (e) {
-                                    this[P("0x952")] = e
-                                }
-                            },
-                            luminanceAtZenith: {
-                                set: function (e) {
-                                    this[P("0x958")](e)
-                                }
-                            },
-                            enabledlightBand: {
-                                get: function () {
-                                    return this[P("0x95a")]
-                                },
-                                set: function (e) {
-                                    this[P("0x95a")] = e
-                                }
-                            },
-                            enabledBloom: {
-                                get: function () {
-                                    return this[P("0x953")]
-                                },
-                                set: function (e) {
-                                    this[P("0x953")] = e,
-                                        t(this[P("0x953")], this[P("0x954")], this[P("0x955")])
-                                }
-                            },
-                            bloomStep: {
-                                get: function () {
-                                    return this[P("0x954")]
-                                },
-                                set: function (e) {
-                                    this[P("0x954")] = e,
-                                        t(this[P("0x953")], this[P("0x954")], this[P("0x955")])
-                                }
-                            }
-                        }),
-                        i[P("0x5")][P("0x95d")] = function () {
-                            var t = "";
-                            if (e.defined(this[P("0x957")]))
-                                for (var i = 0; i < this._mixedColorConditions[P("0x0")]; i++)
-                                    t += this[P("0x957")][i].makeShader();
-                            return t
-                        }
-                        ,
-                        i.prototype.makeFragmentLuminanceShader = function () {
-                            if (!this[P("0x95b")])
-                                return "";
-                            var e = P("0x95e");
-                            e += P("0x95f");
-                            for (var t = 0; t < this[P("0x95b")].length; t++)
-                                e += this[P("0x95b")][t][P("0x960")]();
-                            return e + P("0x885")
-                        }
-                        ,
-                        i[P("0x5")][P("0x961")] = function () {
-                            var e = "if (visualSenseStyle_enabledLightBand == 1.0) \n";
-                            return e += "{\n",
-                                e += P("0x962"),
-                                e += P("0x963"),
-                                e += P("0x964"),
-                                e += P("0x965"),
-                                (e += P("0x966")) + "}\n"
-                        }
-                        ,
-                        i.prototype[P("0x942")] = function (t, i) {
-                            for (var r = void 0, n = 0; n < this[P("0x95b")].length; n++) {
-                                var o = this[P("0x95b")][n];
-                                if (!r || o[P("0x92b")] != P("0x943")) {
-                                    var a = o[P("0x942")](t);
-                                    e[P("0x14")](a) && (r = a)
-                                }
-                            }
-                            return e[P("0x14")](r) || (r = i),
-                                r
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = e[P("0x967")] = function (t) {
-                        return this[P("0x13b")] = t[P("0x13b")],
-                            this[P("0x440")] = t[P("0x440")],
-                            this[P("0x968")] = t.level,
-                            this[P("0x969")] = t[P("0x969")],
-                            this.options = t[P("0x132")],
-                            this.options.velocityScale = e[P("0x102")](this[P("0x132")][P("0x96a")], .11),
-                            this.options[P("0x96b")] = e.defaultValue(this[P("0x132")][P("0x96b")], .002),
-                            this[P("0x132")].maxWindIntensity = e[P("0x102")](this[P("0x132")][P("0x96c")], 30),
-                            this.options[P("0x197")] = e.defaultValue(this[P("0x132")].lineWidth, 2),
-                            this[P("0x132")].opacity = e[P("0x102")](this[P("0x132")].opacity, .6),
-                            this[P("0x132")][P("0x96d")] = e.defaultValue(this[P("0x132")][P("0x96d")], [P("0x96e"), P("0x96f"), P("0x970"), P("0x971"), "#b5c0ff", P("0x972"), P("0x973"), "#e185ff", P("0x974"), P("0x975")]),
-                            this[P("0x48")] = document.createElement(P("0x48")),
-                            this[P("0x976")] = this[P("0x48")][P("0x476")]("2d"),
-                            this[P("0x977")](),
-                            this[P("0x69c")](this[P("0x440")]),
-                            this
-                    }
-                        ;
-                    t[P("0x5")][P("0x977")] = function () {
-                        var e = this;
-                        this[P("0x978")] = function () {
-                            function t(e, t, i, r, n, o) {
-                                var a = 1 - e
-                                    , s = 1 - t
-                                    , x = a * s
-                                    , l = e * s
-                                    , c = a * t
-                                    , u = e * t
-                                    , h = i[0] * x + r[0] * l + n[0] * c + o[0] * u
-                                    , f = i[1] * x + r[1] * l + n[1] * c + o[1] * u;
-                                return [h, f, Math[P("0xca")](h * h + f * f)]
-                            }
-                            function i(e) {
-                                var i, r, n, o, a = null, s = null;
-                                return e[P("0x1e4")]((function (e) {
-                                    switch (e[P("0x979")][P("0x97a")] + "," + e[P("0x979")][P("0x97b")]) {
-                                        case P("0x97c"):
-                                            a = e;
-                                            break;
-                                        case P("0x97d"):
-                                            s = e
-                                    }
-                                }
-                                )),
-                                    r = s,
-                                    n = (i = a)[P("0x440")],
-                                    o = r[P("0x440")],
-                                {
-                                    header: i[P("0x979")],
-                                    data: function (e) {
-                                        return [n[e], o[e]]
-                                    },
-                                    interpolate: t
-                                }
-                            }
-                            function r(e) {
-                                return e / 180 * Math.PI
-                            }
-                            function n(e) {
-                                return e / (Math.PI / 180)
-                            }
-                            function o(e) {
-                                return Math.log(Math.tan(e / 2 + Math.PI / 4))
-                            }
-                            function a(e, t, i) {
-                                var r = {}
-                                    , o = s
-                                    , a = []
-                                    , x = e.x;
-                                function l(i) {
-                                    for (var s, x, l, c, u, h, f, d, g, p, m, b, C, y, A, I, w, G, E, S = [], T = e.y; T <= e.yMax; T += 2) {
-                                        var M = (b = i,
-                                            C = T,
-                                            A = (y = t)[P("0x2aa")] - y[P("0x2a9")],
-                                            w = (I = y[P("0x19a")] / n(A) * 360 / (2 * Math.PI)) / 2 * Math[P("0x133")]((1 + Math[P("0x98")](y[P("0x2ab")])) / (1 - Math[P("0x98")](y[P("0x2ab")]))),
-                                            G = (y.height + w - C) / I,
-                                            E = 180 / Math.PI * (2 * Math[P("0x321")](Math[P("0x61")](G)) - Math.PI / 2),
-                                            [n(y.west) + b / y.width * n(A), E])
-                                            , N = M[0]
-                                            , L = M[1];
-                                        if (isFinite(N)) {
-                                            var R = _(N, L);
-                                            R && (s = r,
-                                                x = N,
-                                                l = L,
-                                                c = i,
-                                                u = T,
-                                                h = o,
-                                                d = t,
-                                                g = (f = R)[0] * h,
-                                                p = f[1] * h,
-                                                m = v(s, x, l, c, u, d),
-                                                f[0] = m[0] * g + m[2] * p,
-                                                f[1] = m[1] * g + m[3] * p,
-                                                R = f,
-                                                S[T + 1] = S[T] = R)
-                                        }
-                                    }
-                                    a[i + 1] = a[i] = S
-                                }
-                                !function t() {
-                                    for (var r, n, o, s = Date[P("0x561")](); x < e[P("0x19a")];)
-                                        if (l(x),
-                                            x += 2,
-                                            1e3 < h()() - s)
-                                            return void setTimeout(t, 25);
-                                    function c(e, t) {
-                                        var i = r[Math[P("0x5f0")](e)];
-                                        return i && i[Math[P("0x5f0")](t)] || d
-                                    }
-                                    r = a,
-                                        n = e,
-                                        o = i,
-                                        c[P("0x985")] = function () {
-                                            r = []
-                                        }
-                                        ,
-                                        c[P("0x986")] = function (e) {
-                                            for (var t, i, r = 0; null === c(t = Math[P("0x5f0")](Math[P("0x3e8")](Math[P("0x266")]() * n[P("0x19a")]) + n.x), i = Math[P("0x5f0")](Math[P("0x3e8")](Math[P("0x266")]() * n[P("0x8b")]) + n.y))[2] && r++ < 30;)
-                                                ;
-                                            return e.x = t,
-                                                e.y = i,
-                                                e
-                                        }
-                                        ,
-                                        o(n, c)
-                                }()
-                            }
-                            var s = e[P("0x132")][P("0x96a")]
-                                , x = e[P("0x132")].maxWindIntensity
-                                , l = e[P("0x132")][P("0x197")]
-                                , c = e.options[P("0x96b")]
-                                , u = e[P("0x132")].opacity
-                                , f = e[P("0x132")][P("0x96d")]
-                                , d = [NaN, NaN, null]
-                                , g = 2 * Math.PI
-                                , m = Math[P("0x2ae")](10, -5.2)
-                                , b = function (e) {
-                                    return null != e
-                                }
-                                , v = function (e, t, i, r, n, o) {
-                                    var a = t < 0 ? m : -m
-                                        , s = i < 0 ? m : -m
-                                        , x = C(i, t + a, o)
-                                        , l = C(i + s, t, o)
-                                        , c = Math[P("0x9a")](i / 360 * g);
-                                    return [(x[0] - r) / a / c, (x[1] - n) / a / c, (l[0] - r) / s, (l[1] - n) / s]
-                                }
-                                , C = function (e, t, i) {
-                                    var n = o(i[P("0x2ab")])
-                                        , a = o(i[P("0x2ac")])
-                                        , s = i[P("0x19a")] / (i[P("0x2aa")] - i[P("0x2a9")])
-                                        , x = i[P("0x8b")] / (a - n)
-                                        , l = o(r(e));
-                                    return [(r(t) - i[P("0x2a9")]) * s, l = (a - l) * x]
-                                }
-                                , y = function () {
-                                    A[P("0x98e")] && A[P("0x98e")].release(),
-                                        A[P("0x98d")] && clearTimeout(A[P("0x98d")])
-                                }
-                                , _ = function (e) {
-                                    var t = i(e)
-                                        , r = t[P("0x979")]
-                                        , n = r[P("0x97e")]
-                                        , o = r[P("0x97f")]
-                                        , a = r.dx
-                                        , s = r.dy
-                                        , x = r.nx
-                                        , l = r.ny
-                                        , c = new Date(r[P("0x980")]);
-                                    c[P("0x981")](c[P("0x982")]() + r[P("0x983")]);
-                                    for (var u = [], h = 0, f = 360 <= Math[P("0x3e8")](x * a), d = 0; d < l; d++) {
-                                        for (var g = [], p = 0; p < x; p++,
-                                            h++)
-                                            g[p] = t[P("0x440")](h);
-                                        f && g.push(g[0]),
-                                            u[d] = g
-                                    }
-                                    return function (e, i) {
-                                        var r, x = function (e, t) {
-                                            return e - t * Math[P("0x3e8")](e / t)
-                                        }(e - n, 360) / a, l = (o - i) / s, c = Math[P("0x3e8")](x), h = c + 1, f = Math[P("0x3e8")](l), d = f + 1;
-                                        if (r = u[f]) {
-                                            var g = r[c]
-                                                , p = r[h];
-                                            if (b(g) && b(p) && (r = u[d])) {
-                                                var m = r[c]
-                                                    , v = r[h];
-                                                if (b(m) && b(v))
-                                                    return t[P("0x984")](x - c, l - f, g, p, m, v)
-                                            }
-                                        }
-                                        return null
-                                    }
-                                }(e.data)
-                                , A = {
-                                    start: function (t, i, n, o) {
-                                        var s = {
-                                            south: r(o[0][1]),
-                                            north: r(o[1][1]),
-                                            east: r(o[1][0]),
-                                            west: r(o[0][0]),
-                                            width: i,
-                                            height: n
-                                        };
-                                        y(),
-                                            a(function (e, t, i) {
-                                                var r = e[0]
-                                                    , n = e[1]
-                                                    , o = Math[P("0x5f0")](r[0])
-                                                    , a = Math[P("0xee")](Math[P("0x3e8")](r[1], 0), 0);
-                                                return Math[P("0x7d")](Math.ceil(n[0], t), t - 1),
-                                                {
-                                                    x: o,
-                                                    y: a,
-                                                    xMax: t,
-                                                    yMax: Math[P("0x7d")](Math[P("0x342")](n[1], i), i - 1),
-                                                    width: t,
-                                                    height: i
-                                                }
-                                            }(t, i, n), s, (function (t, i) {
-                                                A.field = i,
-                                                    function (t, i) {
-                                                        function r(e) {
-                                                            return "#" == e[P("0x68e")](0) ? e[P("0x987")](1, 7) : e
-                                                        }
-                                                        var n, o, a = (n = x,
-                                                            o = [],
-                                                            f[P("0x1e4")]((function (e) {
-                                                                o[P("0x17c")](P("0x8b1") + p()(r(e).substring(0, 2), 16) + ", " + p()(r(e)[P("0x987")](2, 4), 16) + ", " + p()(r(e).substring(4, 6), 16) + ", " + u + ")")
-                                                            }
-                                                            )),
-                                                            o[P("0x988")] = function (e) {
-                                                                return Math[P("0x3e8")](Math[P("0x7d")](e, n) / n * (o[P("0x0")] - 1))
-                                                            }
-                                                            ,
-                                                            o), s = a.map((function () {
-                                                                return []
-                                                            }
-                                                            )), h = Math[P("0x5f0")](t[P("0x19a")] * t.height * c);
-                                                        /android|blackberry|iemobile|ipad|iphone|ipod|opera mini|webos/i[P("0x270")](navigator.userAgent) && (h *= .075);
-                                                        for (var d = P("0x989"), g = [], m = 0; m < h; m++)
-                                                            g[P("0x17c")](i[P("0x986")]({
-                                                                age: Math.floor(100 * Math[P("0x266")]()) + 0
-                                                            }));
-                                                        var b = e.canvasContext;
-                                                        b[P("0x197")] = l,
-                                                            b.fillStyle = d,
-                                                            function e() {
-                                                                try {
-                                                                    A[P("0x98d")] = setTimeout((function () {
-                                                                        var r;
-                                                                        requestAnimationFrame(e),
-                                                                            s[P("0x1e4")]((function (e) {
-                                                                                e[P("0x0")] = 0
-                                                                            }
-                                                                            )),
-                                                                            g[P("0x1e4")]((function (e) {
-                                                                                100 < e[P("0x98a")] && (i[P("0x986")](e)[P("0x98a")] = 0);
-                                                                                var t = e.x
-                                                                                    , r = e.y
-                                                                                    , n = i(t, r)
-                                                                                    , o = n[2];
-                                                                                if (null === o)
-                                                                                    e[P("0x98a")] = 100;
-                                                                                else {
-                                                                                    var x = t + n[0]
-                                                                                        , l = r + n[1];
-                                                                                    null !== i(x, l)[2] ? (e.xt = x,
-                                                                                        e.yt = l,
-                                                                                        s[a.indexFor(o)].push(e)) : (e.x = x,
-                                                                                            e.y = l)
-                                                                                }
-                                                                                e[P("0x98a")] += 1
-                                                                            }
-                                                                            )),
-                                                                            r = b[P("0x98b")],
-                                                                            b[P("0x98b")] = "destination-in",
-                                                                            b[P("0x98c")](t.x, t.y, t[P("0x19a")], t[P("0x8b")]),
-                                                                            b[P("0x98b")] = r,
-                                                                            s.forEach((function (e, t) {
-                                                                                0 < e[P("0x0")] && (b[P("0x658")](),
-                                                                                    b[P("0x65b")] = a[t],
-                                                                                    e.forEach((function (e) {
-                                                                                        b.moveTo(e.x, e.y),
-                                                                                            b.lineTo(e.xt, e.yt),
-                                                                                            e.x = e.xt,
-                                                                                            e.y = e.yt
-                                                                                    }
-                                                                                    )),
-                                                                                    b[P("0x65e")]())
-                                                                            }
-                                                                            ))
-                                                                    }
-                                                                    ), 50)
-                                                                } catch (e) {
-                                                                    console[P("0x391")](e)
-                                                                }
-                                                            }()
-                                                    }(t, i)
-                                            }
-                                            ))
-                                    },
-                                    stop: y
-                                };
-                            return A
-                        }
-                    }
-                        ,
-                        t.prototype._calculateBounds = function () {
-                            var t = this[P("0x969")][0][0]
-                                , i = this[P("0x969")][1][1]
-                                , r = this.rectangle[1][0]
-                                , n = this[P("0x969")][0][1]
-                                , o = this[P("0x968")]
-                                , a = this._locationCoordinate(t, n, o)
-                                , s = this[P("0x98f")](r, i, o);
-                            this[P("0x990")] = [512 * Math[P("0x78")](a[0] - s[0]), 512 * Math.abs(a[1] - s[1])],
-                                this[P("0x991")] = [[t, n], [r, i]],
-                                this._rectangle = e[P("0x26b")][P("0x1a1")](t, n, r, i)
-                        }
-                        ,
-                        t.prototype[P("0x98f")] = function (e, t, i) {
-                            return [(180 + e) * Math[P("0x2ae")](2, i) / 360, (180 - 180 / Math.PI * Math[P("0x133")](Math[P("0x992")](Math.PI / 4 + t * Math.PI / 360))) * Math[P("0x2ae")](2, i) / 360]
-                        }
-                        ,
-                        t[P("0x5")]._getCenterPoint = function () {
-                            var t = this.viewer[P("0x48")]
-                                , i = new (e[P("0x10")])(t.clientWidth / 2, t.clientHeight / 2)
-                                , r = this.viewer.camera.getPickRay(i);
-                            return this[P("0x13b")][P("0x10f")][P("0xa3")][P("0xa4")](r, this.viewer[P("0x10f")]) || this[P("0x13b")][P("0x7e")][P("0xa2")](i)
-                        }
-                        ,
-                        t[P("0x5")][P("0x993")] = function () {
-                            var t = e[P("0x16")].WGS84
-                                , i = this[P("0x994")]();
-                            if (!i) {
-                                var r = this[P("0x13b")][P("0x10f")][P("0xa3")]
-                                    , n = this[P("0x13b")][P("0x7e")].positionCartographic[P("0x6e")]()
-                                    , o = r.getHeight(n);
-                                n[P("0x8b")] = o || 0,
-                                    i = t.cartographicToCartesian(n)
-                            }
-                            var a = e[P("0x11")][P("0x8e")](i, this[P("0x13b")][P("0x7e")].position) / 1405.5;
-                            return Math.log2(78271.51696402031 / a) - 1.2
-                        }
-                        ,
-                        t.prototype[P("0x221")] = function (e) {
-                            this[P("0x6a8")] && (this[P("0x6a8")][P("0x221")] = e)
-                        }
-                        ,
-                        t[P("0x5")][P("0x17f")] = function () {
-                            this[P("0x6a8")] && this[P("0x13b")].entities[P("0x17f")](this[P("0x6a8")])
-                        }
-                        ,
-                        t[P("0x5")][P("0x6aa")] = function () {
-                            var t = this;
-                            this[P("0x995")](),
-                                this.canvas.width = Math[P("0x5f0")](this[P("0x990")][0]),
-                                this[P("0x48")][P("0x8b")] = Math[P("0x5f0")](this[P("0x990")][1]),
-                                setTimeout((function () {
-                                    t.windy[P("0xe2")]([[0, 0], t[P("0x990")]], t._size[0], t[P("0x990")][1], t[P("0x991")])
-                                }
-                                ), 1),
-                                this[P("0x6a8")] && this[P("0x13b")][P("0x194")].remove(this._layer);
-                            var i = new (e[P("0x651")])({
-                                image: new (e[P("0x652")])((function () {
-                                    return t[P("0x48")].toDataURL()
-                                }
-                                ), !1)
-                            });
-                            "1.21" <= e[P("0x373")] ? i[P("0x6ad")] = !0 : e[P("0x373")] >= P("0x996") && (i[P("0x671")] = .99),
-                                this[P("0x6a8")] = this.viewer[P("0x194")][P("0x6d")]({
-                                    rectangle: {
-                                        coordinates: this._rectangle,
-                                        material: i
-                                    }
-                                })
-                        }
-                        ,
-                        t[P("0x5")].setData = function (e) {
-                            this[P("0x440")] = e,
-                                this[P("0x997")] = new (this[P("0x978")]),
-                                this[P("0x6aa")]()
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = "GEO_OVERVIEW_ICO_SOURCE"
-                        , i = P("0x998")
-                        , r = P("0x999");
-                    function n(t, i) {
-                        t = e[P("0x102")](t, e[P("0x102")][P("0x128")]),
-                            this[P("0x13b")] = t[P("0x13b")],
-                            this.map2D = null,
-                            this[P("0x99a")] = e[P("0x102")](t[P("0x99a")], {
-                                mapCRS: {
-                                    topTileExtent: [-180, -270, 180, 90],
-                                    coordtransform: "none"
-                                },
-                                style: {
-                                    version: 8,
-                                    sources: {
-                                        tdt_source_overview: {
-                                            type: P("0x99b"),
-                                            tiles: [P("0x99c")],
-                                            tileSize: 256
-                                        }
-                                    },
-                                    layers: [{
-                                        id: P("0x99d"),
-                                        type: "raster",
-                                        source: "tdt_source_overview",
-                                        layout: {
-                                            visibility: P("0x99e")
-                                        }
-                                    }]
-                                },
-                                zoom: 4,
-                                center: [112.939, 31.377],
-                                renderWorldCopies: !1,
-                                isIntScrollZoom: !0,
-                                isAttributionControl: !1
-                            }),
-                            this[P("0x19a")] = t[P("0x19a")],
-                            this[P("0x8b")] = t[P("0x8b")],
-                            this.layout = e.defaultValue(t.layout, "BR"),
-                            this[P("0x99f")] = t[P("0x99f")],
-                            this[P("0x9a0")] = e[P("0x102")](t[P("0x9a0")], 1),
-                            this[P("0x9a1")] = e.defaultValue(t.movingTargetZoomLevel, 14),
-                            this.callback = "function" == typeof i ? i : function () { }
-                            ,
-                            this.scalable = !1,
-                            this[P("0x9a2")] = !1,
-                            this._latelyUpdateStamp = 0,
-                            this._modelType = n[P("0x9a3")][P("0x9a4")],
-                            this[P("0x9a5")](),
-                            this._bindEvent()
-                    }
-                    n[P("0x5")]._initOverview = function () {
-                        var e = this[P("0x13b")].cesiumWidget[P("0x131")].parentElement
-                            , t = document[P("0x15c")]("div");
-                        t.className = P("0x9a6"),
-                            t[P("0x150")].display = "block",
-                            t.style[P("0x8c")] = "absolute",
-                            t.style[P("0x19a")] = this.width + "px",
-                            t.style.height = this[P("0x8b")] + "px",
-                            this[P("0x9a7")][P("0x9a8")]()[P("0x9a9")]("B") ? t[P("0x150")][P("0x9aa")] = P("0x9ab") : this.layout[P("0x9a8")]().startsWith("T") && (t[P("0x150")][P("0x151")] = P("0x9ab")),
-                            this[P("0x9a7")][P("0x9a8")]().endsWith("R") ? t[P("0x150")][P("0x9b")] = P("0x9ab") : this.layout[P("0x9a8")]().endsWith("L") && (t[P("0x150")][P("0x149")] = "5px"),
-                            e[P("0x167")](t);
-                        var i = document[P("0x15c")](P("0x15d"));
-                        i.style[P("0x8c")] = P("0x9ac"),
-                            i[P("0x150")][P("0x19a")] = i[P("0x150")][P("0x8b")] = "100%",
-                            t[P("0x167")](i),
-                            this[P("0x99a")][P("0x131")] || (this[P("0x99a")][P("0x131")] = i),
-                            this.map2D = new (GeoGlobe[P("0x101")])(this[P("0x99a")])
-                    }
-                        ,
-                        n.prototype[P("0x9ad")] = function () {
-                            var e = this;
-                            this[P("0x9ae")].on(P("0x9af"), (function () {
-                                var n = e.map2D;
-                                n[P("0x9b0")](e[P("0x99f")], (function (o, a) {
-                                    var s = e[P("0x9a0")]
-                                        , x = n.getCenter().toArray();
-                                    n[P("0x9b1")](r, a),
-                                        n[P("0x9b2")](t, {
-                                            type: "geojson",
-                                            data: {
-                                                type: "Point",
-                                                coordinates: x
-                                            }
-                                        }),
-                                        n[P("0x9b3")]({
-                                            id: i,
-                                            source: t,
-                                            type: P("0x1f4"),
-                                            layout: {
-                                                "icon-image": r,
-                                                "icon-size": s,
-                                                "icon-rotate": 0
-                                            }
-                                        }),
-                                        e[P("0x9a2")] = !0,
-                                        e[P("0x191")] && e[P("0x191")](e)
-                                }
-                                ))
-                            }
-                            )),
-                                this[P("0x13b")].scene[P("0x53f")][P("0x130")]((function () {
-                                    e[P("0x9b4")]()
-                                }
-                                ))
-                        }
-                        ,
-                        n[P("0x5")][P("0x9b5")] = function () {
-                            for (var e = this[P("0x13b")][P("0x10f")][P("0x53f")]._listeners, t = 0; t < e[P("0x0")]; t++)
-                                e[t].name === P("0x9b6") && e[P("0x259")](t, 1)
-                        }
-                        ,
-                        n[P("0x5")][P("0x9b7")] = function () {
-                            return this[P("0x9ae")]
-                        }
-                        ,
-                        n[P("0x5")][P("0x9b8")] = function (e) {
-                            return this[P("0x9ae")] ? this[P("0x9ae")][P("0x9b9")](e) : null
-                        }
-                        ,
-                        n[P("0x5")][P("0x9ba")] = function (e, t) {
-                            return this[P("0x9ae")] ? this[P("0x9ae")][P("0x9b3")](e, t) : null
-                        }
-                        ,
-                        n[P("0x5")].removeMap2DLayer = function (e) {
-                            return this[P("0x9ae")] ? this[P("0x9ae")][P("0x9bb")](e) : null
-                        }
-                        ,
-                        n[P("0x5")][P("0x9bc")] = function (e) {
-                            return this.map2D ? this[P("0x9ae")].getSource(e) : null
-                        }
-                        ,
-                        n.prototype[P("0x9bd")] = function (e, t) {
-                            return this.map2D ? this[P("0x9ae")][P("0x9b2")](e, t) : null
-                        }
-                        ,
-                        n[P("0x5")][P("0x9be")] = function (e) {
-                            return this.map2D ? this[P("0x9ae")].removeSource(e) : null
-                        }
-                        ,
-                        n.prototype[P("0x9b4")] = function () {
-                            var r = (new Date)[P("0x68")]();
-                            if (!(r - this[P("0x9bf")] < 600) && (this[P("0x9bf")] = r,
-                                this[P("0x13b")] && this._isReady)) {
-                                this[P("0x13b")],
-                                    this[P("0x13b")][P("0x10f")];
-                                var o, a, s = this[P("0x13b")][P("0x48")], x = this[P("0x13b")][P("0x7e")], l = this[P("0x13b")].scene[P("0xa3")], c = this[P("0x9ae")];
-                                if (this[P("0x9c0")] === n[P("0x9a3")].ROAM) {
-                                    var u = e.Ellipsoid[P("0x110")]
-                                        , h = null
-                                        , f = new (e[P("0x10")])(s[P("0x94")] / 2, s[P("0x7c")] / 2)
-                                        , d = this[P("0x13b")][P("0x7e")][P("0x86")](f);
-                                    if (!(h = (h = this.viewer[P("0x10f")].globe[P("0xa4")](d, this[P("0x13b")][P("0x10f")])) || x.pickEllipsoid(f))) {
-                                        var g = x[P("0x91")][P("0x6e")]()
-                                            , p = l[P("0xed")](g);
-                                        g.height = p || 0,
-                                            h = u[P("0xa7")](g)
-                                    }
-                                    var m = e[P("0x11")][P("0x8e")](h, x[P("0x8c")]) / 1405.5;
-                                    o = Math[P("0x111")](78271.51696402031 / m) - 5.2;
-                                    var b = u[P("0xd6")](h);
-                                    a = [e[P("0x23")][P("0x113")](b[P("0x112")]), e[P("0x23")].toDegrees(b.latitude)],
-                                        this.scalable || c.setZoom(o),
-                                        c[P("0x64f")](a),
-                                        c[P("0x9c1")](t)[P("0x69c")]({
-                                            type: P("0x345"),
-                                            coordinates: a
-                                        })
-                                } else
-                                    this._modelType === n.modelType.WALK && (o = this[P("0x9a1")],
-                                        this.scalable || c.setZoom(o),
-                                        h = x[P("0x91")][P("0x6e")](),
-                                        a = [e.Math[P("0x113")](h[P("0x112")]), e.Math[P("0x113")](h.latitude)],
-                                        c.setCenter(a),
-                                        c[P("0x9c1")](t)[P("0x69c")]({
-                                            type: P("0x345"),
-                                            coordinates: a
-                                        }));
-                                c[P("0x9c2")](i, P("0x9c3"), e[P("0x23")][P("0x113")](x[P("0x7f")]))
-                            }
-                        }
-                        ,
-                        n[P("0x5")][P("0x9c4")] = function (t) {
-                            0 < c()(e.GeoOverviewWidget[P("0x9a3")])[P("0x1f2")]((function (i) {
-                                return e.GeoOverviewWidget[P("0x9a3")][i] === t
-                            }
-                            ))[P("0x0")] && (this[P("0x9c0")] = t)
-                        }
-                        ,
-                        n[P("0x5")][P("0x9c5")] = function (e) {
-                            this.scalable = w()(e) !== P("0x9c6") || e
-                        }
-                        ,
-                        n[P("0x9a3")] = {
-                            ROAM: 0,
-                            WALK: 1
-                        },
-                        e[P("0x9c7")] = n
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x9c8")] = function (t) {
-                        t = e[P("0x102")](t, {}),
-                            this[P("0x9c9")] = t[P("0x9ca")],
-                            this[P("0x9cb")] = this[P("0x9c9")][P("0x0")] - 1,
-                            this[P("0x9cc")] = t[P("0x87")],
-                            this[P("0x9cd")] = t[P("0x9ce")],
-                            this[P("0x9cf")] = new (e[P("0x26b")].fromDegrees)(this._fullExtent[0], this[P("0x9cd")][1], this[P("0x9cd")][2], this[P("0x9cd")][3]),
-                            this[P("0x9d0")] = t.matrixWidth,
-                            this._matrixHeight = t.matrixHeight;
-                        var i = Math[P("0xee")](Number(this[P("0x9d0")]), Number(this[P("0x9d1")]))
-                            , r = Math[P("0x342")](Math[P("0x133")](i) / Math[P("0x9d2")])
-                            , n = Math[P("0x2ae")](2, r);
-                        this._topTileExtent = [],
-                            this[P("0x9d3")][0] = this._origin[0],
-                            this[P("0x9d3")][3] = this[P("0x9cc")][1],
-                            this[P("0x9d3")][1] = this[P("0x9d3")][3] - 256 * this._resolutions[0] * n,
-                            this[P("0x9d3")][2] = this._topTileExtent[0] + 256 * this[P("0x9c9")][0] * n,
-                            this._numberOfLevelZeroTilesX = e[P("0x102")](t.numberOfLevelZeroTilesX, 2),
-                            this[P("0x9d4")] = e[P("0x102")](t.numberOfLevelZeroTilesY, 1),
-                            this[P("0x44")] = e[P("0x102")](t[P("0xef")], e[P("0x16")][P("0x110")]),
-                            this[P("0x689")] = new (e[P("0x26b")].fromDegrees)(this[P("0x9d3")][0], this[P("0x9d3")][1], this[P("0x9d3")][2], this[P("0x9d3")][3]),
-                            this[P("0xc6")] = new e.GeographicProjection(this[P("0x44")]),
-                            this[P("0x9d5")] = [(this[P("0x9cd")][0] + this[P("0x9cd")][2]) / 2, (this[P("0x9cd")][1] + this[P("0x9cd")][3]) / 2];
-                        var o, a = 0 == r ? r : r - 1;
-                        this[P("0x9d6")] = (o = a,
-                            2 * Math.PI * 6378137 / 512 / Math[P("0x2ae")](2, o) * 1405.5)
-                    }
-                        ;
-                    t[P("0x5")] = new (e[P("0x9d7")]),
-                        delete t[P("0x5")][P("0x9d8")],
-                        delete t.prototype[P("0x9d4")],
-                        delete t[P("0x5")][P("0x44")],
-                        delete t[P("0x5")][P("0x689")],
-                        delete t[P("0x5")][P("0xc6")],
-                        e[P("0xf")](t[P("0x5")], {
-                            ellipsoid: {
-                                get: function () {
-                                    return this[P("0x44")]
-                                }
-                            },
-                            rectangle: {
-                                get: function () {
-                                    return this[P("0x689")]
-                                }
-                            },
-                            projection: {
-                                get: function () {
-                                    return this[P("0xc6")]
-                                }
-                            },
-                            dataRectangle: {
-                                get: function () {
-                                    return this[P("0x9cf")]
-                                }
-                            },
-                            topTileExtent: {
-                                get: function () {
-                                    return this[P("0x9d3")]
-                                }
-                            },
-                            maximumLevel: {
-                                get: function () {
-                                    return this[P("0x9cb")]
-                                }
-                            },
-                            centerPoint: {
-                                get: function () {
-                                    return this[P("0x9d5")]
-                                }
-                            },
-                            proposalHeight: {
-                                get: function () {
-                                    return this._proposalHeight
-                                }
-                            }
-                        }),
-                        t[P("0x5")][P("0x9d9")] = function (e) {
-                            return (this._topTileExtent[2] - this[P("0x9d3")][0]) / this._resolutions[e] / 256
-                        }
-                        ,
-                        t[P("0x5")].getNumberOfYTilesAtLevel = function (e) {
-                            return (this[P("0x9d3")][3] - this[P("0x9d3")][1]) / this[P("0x9c9")][e] / 256
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x9da")] = function (t) {
-                        t = e[P("0x102")](t, {}),
-                            this[P("0x44")] = e[P("0x102")](t[P("0xef")], e[P("0x16")][P("0x110")]),
-                            this[P("0xc6")] = new (e[P("0x68f")])(this._ellipsoid),
-                            this[P("0x9c9")] = t.resolutions,
-                            this[P("0x9cb")] = this[P("0x9c9")].length - 1,
-                            this[P("0x9cc")] = t[P("0x87")],
-                            this._fullExtent = t[P("0x9ce")];
-                        var i = this[P("0xc6")][P("0xbe")](new (e[P("0x10")])(this[P("0x9cd")][0], this[P("0x9cd")][1]))
-                            , r = this[P("0xc6")].unproject(new (e[P("0x10")])(this[P("0x9cd")][2], this[P("0x9cd")][3]));
-                        this._dataRectangle = new (e[P("0x26b")])(i.longitude, i[P("0x114")], r.longitude, r.latitude),
-                            this[P("0x9d0")] = t[P("0x9db")],
-                            this[P("0x9d1")] = t.matrixHeight;
-                        var n = Math.max(Number(this[P("0x9d0")]), Number(this[P("0x9d1")]))
-                            , o = Math[P("0x342")](Math.log(n) / Math[P("0x9d2")])
-                            , a = Math[P("0x2ae")](2, o);
-                        this[P("0x9d3")] = [],
-                            this[P("0x9d3")][0] = this[P("0x9cc")][0],
-                            this[P("0x9d3")][3] = this._origin[1],
-                            this._topTileExtent[1] = this[P("0x9d3")][3] - 256 * this[P("0x9c9")][0] * a,
-                            this[P("0x9d3")][2] = this[P("0x9d3")][0] + 256 * this[P("0x9c9")][0] * a,
-                            this[P("0x9d8")] = e[P("0x102")](t[P("0x9dc")], 1),
-                            this[P("0x9d4")] = e.defaultValue(t[P("0x9dd")], 1),
-                            this[P("0x9de")] = e.defaultValue(t[P("0x9df")], new (e[P("0x10")])(this._topTileExtent[0], this[P("0x9d3")][1])),
-                            this._rectangleNortheastInMeters = e[P("0x102")](t[P("0x9e0")], new (e[P("0x10")])(this[P("0x9d3")][2], this[P("0x9d3")][3]));
-                        var s = this[P("0xc6")].unproject(this._rectangleSouthwestInMeters)
-                            , x = this._projection.unproject(this[P("0x9e1")]);
-                        this[P("0x689")] = new (e[P("0x26b")])(s[P("0x112")], s[P("0x114")], x[P("0x112")], x.latitude),
-                            this[P("0x9d5")] = [(e[P("0x23")][P("0x113")](i[P("0x112")]) + e[P("0x23")][P("0x113")](r[P("0x112")])) / 2, (e.Math[P("0x113")](i.latitude) + e[P("0x23")][P("0x113")](r[P("0x114")])) / 2];
-                        var l, c = 0 == o ? o : o - 1;
-                        this._proposalHeight = (l = c,
-                            2 * Math.PI * 6378137 / 512 / Math.pow(2, l) * 1405.5)
-                    }
-                        ;
-                    t[P("0x5")] = new (e[P("0x68b")]),
-                        delete t.prototype._numberOfLevelZeroTilesX,
-                        delete t[P("0x5")][P("0x9d4")],
-                        delete t[P("0x5")][P("0x44")],
-                        delete t.prototype[P("0x689")],
-                        delete t[P("0x5")]._projection,
-                        delete t[P("0x5")][P("0x9de")],
-                        delete t.prototype._rectangleNortheastInMeters,
-                        e[P("0xf")](t[P("0x5")], {
-                            ellipsoid: {
-                                get: function () {
-                                    return this[P("0x44")]
-                                }
-                            },
-                            rectangle: {
-                                get: function () {
-                                    return this._rectangle
-                                }
-                            },
-                            projection: {
-                                get: function () {
-                                    return this[P("0xc6")]
-                                }
-                            },
-                            dataRectangle: {
-                                get: function () {
-                                    return this[P("0x9cf")]
-                                }
-                            },
-                            topTileExtent: {
-                                get: function () {
-                                    return this._topTileExtent
-                                }
-                            },
-                            maximumLevel: {
-                                get: function () {
-                                    return this[P("0x9cb")]
-                                }
-                            },
-                            centerPoint: {
-                                get: function () {
-                                    return this._centerPoint
-                                }
-                            },
-                            proposalHeight: {
-                                get: function () {
-                                    return this._proposalHeight
-                                }
-                            }
-                        }),
-                        t.prototype[P("0x9d9")] = function (e) {
-                            return (this[P("0x9d3")][2] - this[P("0x9d3")][0]) / this[P("0x9c9")][e] / 256
-                        }
-                        ,
-                        t[P("0x5")][P("0x9e2")] = function (e) {
-                            return (this._topTileExtent[3] - this[P("0x9d3")][1]) / this[P("0x9c9")][e] / 256
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    function t(e) {
-                        this.type = P("0x345"),
-                            this[P("0x2ed")] = e
-                    }
-                    function i(e) {
-                        this.type = P("0x9e3"),
-                            this[P("0x2ed")] = e
-                    }
-                    var r = e[P("0x9e4")] = function () { }
-                        ;
-                    r.lineString = function (t) {
-                        return e[P("0x14")](t) && e[P("0x14")](t[P("0x0")]) ? t[P("0x0")] < 2 ? null : new i(t) : null
-                    }
-                        ,
-                        r.degreesToRadians = function (e) {
-                            return e % 360 * Math.PI / 180
-                        }
-                        ,
-                        r[P("0x9e5")] = function (e) {
-                            return e % (2 * Math.PI) * 180 / Math.PI
-                        }
-                        ,
-                        r[P("0x8e")] = function (e, t) {
-                            var i = e
-                                , n = t
-                                , o = r[P("0x9e6")](n[1] - i[1])
-                                , a = r[P("0x9e6")](n[0] - i[0])
-                                , s = r[P("0x9e6")](i[1])
-                                , x = r.degreesToRadians(n[1])
-                                , l = Math[P("0x2ae")](Math.sin(o / 2), 2) + Math[P("0x2ae")](Math[P("0x98")](a / 2), 2) * Math[P("0x9a")](s) * Math[P("0x9a")](x);
-                            return 2 * Math[P("0x9e7")](Math.sqrt(l), Math[P("0xca")](1 - l)) * 6371008.8
-                        }
-                        ,
-                        r._bearing = function (e, t) {
-                            var i = e
-                                , n = t
-                                , o = r[P("0x9e6")](i[0])
-                                , a = r[P("0x9e6")](n[0])
-                                , s = r[P("0x9e6")](i[1])
-                                , x = r[P("0x9e6")](n[1])
-                                , l = Math.sin(a - o) * Math[P("0x9a")](x)
-                                , c = Math[P("0x9a")](s) * Math[P("0x98")](x) - Math[P("0x98")](s) * Math.cos(x) * Math.cos(a - o);
-                            return r.radiansToDegrees(Math.atan2(l, c))
-                        }
-                        ,
-                        r[P("0x9e8")] = function (e, i, n) {
-                            var o = e
-                                , a = r[P("0x9e6")](o[0])
-                                , s = r[P("0x9e6")](o[1])
-                                , x = r[P("0x9e6")](n)
-                                , l = i / 6371008.8
-                                , c = Math[P("0x97")](Math.sin(s) * Math[P("0x9a")](l) + Math.cos(s) * Math[P("0x98")](l) * Math.cos(x))
-                                , u = a + Math.atan2(Math[P("0x98")](x) * Math[P("0x98")](l) * Math.cos(s), Math.cos(l) - Math[P("0x98")](s) * Math[P("0x98")](c));
-                            return new t([r[P("0x9e5")](u), r[P("0x9e5")](c)])
-                        }
-                        ,
-                        r[P("0x9e9")] = function (e, i) {
-                            var n;
-                            if (e[P("0x165")] !== P("0x9e3"))
-                                return null;
-                            n = e[P("0x2ed")];
-                            for (var o = 0, a = 0; a < n[P("0x0")] && !(o <= i && a === n[P("0x0")] - 1); a++) {
-                                if (i <= o) {
-                                    var s = i - o;
-                                    if (s) {
-                                        var x = r[P("0x9ea")](n[a], n[a - 1]) - 180;
-                                        return r[P("0x9e8")](n[a], s, x)
-                                    }
-                                    return point(n[a])
-                                }
-                                o += r[P("0x8e")](n[a], n[a + 1])
-                            }
-                            return new t(n[n[P("0x0")] - 1])
-                        }
-                }(window[P("0xfd")]),
-                (j = window[P("0xfd")]) && j[P("0x2e1")] && (j.Cesium3DTileset.prototype[P("0x9eb")] = function (e, t, i) {
-                    var r = j[P("0x9e4")];
-                    if (r) {
-                        var n = this.boundingSphere[P("0x11a")]
-                            , o = j.Cartographic.fromCartesian(n)
-                            , a = j.Math[P("0x113")](o.longitude)
-                            , s = j[P("0x23")][P("0x113")](o[P("0x114")])
-                            , x = o.height
-                            , l = new (j[P("0x13")])(a, s, x + i);
-                        if (e < 0) {
-                            var c = a
-                                , u = a - 1;
-                            e = -e;
-                            var h = r.lineString([[c, s], [u, s]])
-                                , f = r[P("0x9e9")](h, e);
-                            l[P("0x112")] = f[P("0x2ed")][0]
+                    ));
+                    return this.keepData && (this.data = i),
+                    i
+                },
+                write: function(e) {
+                    var t;
+                    if (e.xml)
+                        t = e.xml;
+                    else {
+                        var i = new XMLSerializer;
+                        if (1 == e.nodeType) {
+                            var r = document.implementation.createDocument("", "", null);
+                            r.importNode && (e = r.importNode(e, !0)),
+                            r.appendChild(e),
+                            t = i.serializeToString(r)
                         } else
-                            0 < e && (c = a,
-                                u = a + 1,
-                                h = r.lineString([[c, s], [u, s]]),
-                                f = r[P("0x9e9")](h, e),
-                                l.longitude = f[P("0x2ed")][0]);
-                        t < 0 ? (c = s,
-                            u = s - 1,
-                            t = -t,
-                            h = r[P("0x33e")]([[a, c], [a, u]]),
-                            f = r[P("0x9e9")](h, t),
-                            l[P("0x114")] = f[P("0x2ed")][1]) : 0 < t && (c = s,
-                                u = s + 1,
-                                h = r[P("0x33e")]([[a, c], [a, u]]),
-                                f = r[P("0x9e9")](h, t),
-                                l.latitude = f.coordinates[1]);
-                        var d = j[P("0x11")][P("0x1a1")](l.longitude, l[P("0x114")], l.height)
-                            , g = j[P("0x11")][P("0x95")](d, n, new (j[P("0x11")]));
-                        this[P("0x4ac")] = j[P("0x1b")].fromTranslation(g)
+                            t = i.serializeToString(e)
                     }
-                }
-                ),
-                function (e) {
-                    var t = e[P("0x9ec")] = function (t) {
-                        t = e.defaultValue(t, {}),
-                            this[P("0x9d8")] = e[P("0x102")](t[P("0x9dc")], 1),
-                            this[P("0x9d4")] = e[P("0x102")](t[P("0x9dd")], .5),
-                            this[P("0x44")] = e[P("0x102")](t[P("0xef")], e[P("0x16")][P("0x110")]),
-                            this[P("0x689")] = e[P("0x102")](t[P("0x969")], e[P("0x26b")].MAX_VALUE),
-                            this._projection = new (e[P("0x9ed")])(this._ellipsoid)
+                    return t
+                },
+                createElementNS: function(e, t) {
+                    return this.xmldom ? "string" == typeof e ? this.xmldom.createNode(1, t, e) : this.xmldom.createNode(1, t, "") : document.createElementNS(e, t)
+                },
+                createDocumentFragment: function() {
+                    return this.xmldom ? this.xmldom.createDocumentFragment() : document.createDocumentFragment()
+                },
+                createTextNode: function(e) {
+                    return "string" != typeof e && (e = String(e)),
+                    this.xmldom ? this.xmldom.createTextNode(e) : document.createTextNode(e)
+                },
+                getElementsByTagNameNS: function(e, t, i) {
+                    var r = [];
+                    if (e.getElementsByTagNameNS)
+                        r = e.getElementsByTagNameNS(t, i);
+                    else
+                        for (var n, o, a = e.getElementsByTagName("*"), s = 0, x = a.length; s < x; ++s)
+                            o = (n = a[s]).prefix ? n.prefix + ":" + i : i,
+                            "*" != i && o != n.nodeName || "*" != t && t != n.namespaceURI || r.push(n);
+                    return r
+                },
+                getAttributeNodeNS: function(e, t, i) {
+                    var r = null;
+                    if (e.getAttributeNodeNS)
+                        r = e.getAttributeNodeNS(t, i);
+                    else
+                        for (var n, o = e.attributes, a = 0, s = o.length; a < s; ++a)
+                            if ((n = o[a]).namespaceURI == t && (n.prefix ? n.prefix + ":" + i : i) == n.nodeName) {
+                                r = n;
+                                break
+                            }
+                    return r
+                },
+                getAttributeNS: function(e, t, i) {
+                    var r = "";
+                    if (e.getAttributeNS)
+                        r = e.getAttributeNS(t, i) || "";
+                    else {
+                        var n = this.getAttributeNodeNS(e, t, i);
+                        n && (r = n.nodeValue)
                     }
-                        ;
-                    t.prototype = new (e[P("0x9d7")]),
-                        delete t[P("0x5")]._numberOfLevelZeroTilesX,
-                        delete t[P("0x5")][P("0x9d4")],
-                        delete t[P("0x5")][P("0x44")],
-                        delete t[P("0x5")][P("0x689")],
-                        delete t.prototype._projection,
-                        t[P("0x5")][P("0x9e2")] = function (e) {
-                            return this[P("0x9d4")] * Math[P("0x2ae")](2, e)
+                    return r
+                },
+                getChildValue: function(e, t) {
+                    var i = t || "";
+                    if (e)
+                        for (var r = e.firstChild; r; r = r.nextSibling)
+                            switch (r.nodeType) {
+                            case 3:
+                            case 4:
+                                i += r.nodeValue
+                            }
+                    return i
+                },
+                isSimpleContent: function(e) {
+                    for (var t = !0, i = e.firstChild; i; i = i.nextSibling)
+                        if (1 === i.nodeType) {
+                            t = !1;
+                            break
                         }
-                }(window[P("0xfd")]),
-                function (e) {
-                    function t(t) {
-                        if (!e[P("0x14")](t))
-                            throw new (e[P("0x15")])("options is required.");
-                        this[P("0x9fc")] = new (e[P("0x766")]),
-                            this._modelFloorMasks = {},
-                            this[P("0x9fd")] = t.credit,
-                            w()(this[P("0x9fd")]) == P("0x9fe") && (this[P("0x9fd")] = new (e[P("0x9ff")])(this[P("0x9fd")])),
-                            t[P("0xa00")] = e[P("0x102")](t[P("0xa00")], 32),
-                            t[P("0xa01")] = e[P("0x102")](t.heightMapHeight, 32),
-                            this._options = t,
-                            this[P("0x557")] = e.when[P("0x9f8")](!0),
-                            this[P("0xa02")] = t.subdomains,
-                            t[P("0xa03")] = t[P("0x6af")].replace(P("0xa04"), this[P("0xa05")](0, 0, 0)),
-                            this[P("0xa06")] = t[P("0xa03")] + "?request=GetMap&Version=1.3.0&Service=WMS&CRS=EPSG:4326&bbox=-90,-180,90,180&height=32&width=32&optimizedOnly=0&v=1&layers=" + t[P("0xa07")] + P("0xa08");
-                        var r = e.defaultValue(t[P("0xa09")], !1);
-                        void 0 !== t[P("0xa0a")] && isNaN(t[P("0xa0a")]) && (t[P("0xa0a")] = void 0),
-                            this[P("0xa0b")] = e[P("0x102")](t[P("0xa0a")], null),
-                            r ? this[P("0xa0c")](!1) : this[P("0xa0c")](!0),
-                            this[P("0xa0d")] = t.url + "?" + P("0xa0e") + t[P("0xa07")] + "&Styles=&Format=image/" + this[P("0xa0f")],
-                            this._allElevationLayers = null,
-                            this[P("0x68a")] = new (e[P("0x9d7")]),
-                            this[P("0xa10")] = e[P("0xa11")].getEstimatedLevelZeroGeometricErrorForAHeightmap(this[P("0x68a")][P("0xef")], 4 * t.heightMapWidth, this[P("0x68a")][P("0x9d9")](0)),
-                            this[P("0xa12")] = new i({
-                                workerPath: L() + "ThirdParty/sfsterrainprovider/ParseElevationWorker.js"
-                            }),
-                            this[P("0xa13")] = 0,
-                            this._requestGridSize = 8,
-                            this[P("0xa14")] = {},
-                            this[P("0xa15")] = [],
-                            this[P("0xa16")].addEventListener((function (e) { }
-                            ), this)
+                    return t
+                },
+                contentType: function(e) {
+                    for (var t = !1, i = !1, r = GeoGlobe.Format.XML.CONTENT_TYPE.EMPTY, n = e.firstChild; n; n = n.nextSibling) {
+                        switch (n.nodeType) {
+                        case 1:
+                            i = !0;
+                            break;
+                        case 8:
+                            break;
+                        default:
+                            t = !0
+                        }
+                        if (i && t)
+                            break
                     }
-                    e[P("0xa17")] = t,
-                        t[P("0xa18")] = 2,
-                        e[P("0xf")](t[P("0x5")], {
-                            errorEvent: {
-                                get: function () {
-                                    return this[P("0x9fc")]
+                    if (i && t)
+                        r = GeoGlobe.Format.XML.CONTENT_TYPE.MIXED;
+                    else {
+                        if (i)
+                            return GeoGlobe.Format.XML.CONTENT_TYPE.COMPLEX;
+                        if (t)
+                            return GeoGlobe.Format.XML.CONTENT_TYPE.SIMPLE
+                    }
+                    return r
+                },
+                hasAttributeNS: function(e, t, i) {
+                    return e.hasAttributeNS ? e.hasAttributeNS(t, i) : !!this.getAttributeNodeNS(e, t, i)
+                },
+                setAttributeNS: function(e, t, i, r) {
+                    if (e.setAttributeNS)
+                        e.setAttributeNS(t, i, r);
+                    else {
+                        if (!this.xmldom)
+                            throw "setAttributeNS not implemented";
+                        if (t) {
+                            var n = e.ownerDocument.createNode(2, i, t);
+                            n.nodeValue = r,
+                            e.setAttributeNode(n)
+                        } else
+                            e.setAttribute(i, r)
+                    }
+                },
+                createElementNSPlus: function(e, t) {
+                    var i = (t = t || {}).uri || this.namespaces[t.prefix];
+                    if (!i) {
+                        var r = e.indexOf(":");
+                        i = this.namespaces[e.substring(0, r)]
+                    }
+                    i || (i = this.namespaces[this.defaultPrefix]);
+                    var n = this.createElementNS(i, e);
+                    t.attributes && this.setAttributes(n, t.attributes);
+                    var o = t.value;
+                    return null != o && n.appendChild(this.createTextNode(o)),
+                    n
+                },
+                setAttributes: function(e, t) {
+                    var i, r;
+                    for (var n in t)
+                        null != t[n] && t[n].toString && (i = t[n].toString(),
+                        r = this.namespaces[n.substring(0, n.indexOf(":"))] || null,
+                        this.setAttributeNS(e, r, n, i))
+                },
+                readNode: function(e, t) {
+                    t || (t = {});
+                    var i = this.readers[e.namespaceURI ? this.namespaceAlias[e.namespaceURI] : this.defaultPrefix];
+                    if (i) {
+                        var r = i[e.localName || e.nodeName.split(":").pop()] || i["*"];
+                        r && r.apply(this, [e, t])
+                    }
+                    return t
+                },
+                readChildNodes: function(e, t) {
+                    t || (t = {});
+                    for (var i, r = e.childNodes, n = 0, o = r.length; n < o; ++n)
+                        1 == (i = r[n]).nodeType && this.readNode(i, t);
+                    return t
+                },
+                writeNode: function(e, t, i) {
+                    var r, n, o = e.indexOf(":");
+                    o > 0 ? (r = e.substring(0, o),
+                    n = e.substring(o + 1)) : (r = i ? this.namespaceAlias[i.namespaceURI] : this.defaultPrefix,
+                    n = e);
+                    var a = this.writers[r][n].apply(this, [t]);
+                    return i && i.appendChild(a),
+                    a
+                },
+                getChildEl: function(e, t, i) {
+                    return e && this.getThisOrNextEl(e.firstChild, t, i)
+                },
+                getNextEl: function(e, t, i) {
+                    return e && this.getThisOrNextEl(e.nextSibling, t, i)
+                },
+                getThisOrNextEl: function(e, t, i) {
+                    e: for (var r = e; r; r = r.nextSibling)
+                        switch (r.nodeType) {
+                        case 1:
+                            if (!(t && t !== (r.localName || r.nodeName.split(":").pop()) || i && i !== r.namespaceURI))
+                                break e;
+                            r = null;
+                            break e;
+                        case 3:
+                            if (/^\s*$/.test(r.nodeValue))
+                                break;
+                        case 4:
+                        case 6:
+                        case 12:
+                        case 10:
+                        case 11:
+                            r = null;
+                            break e
+                        }
+                    return r || null
+                },
+                lookupNamespaceURI: function(e, t) {
+                    var i = null;
+                    if (e)
+                        if (e.lookupNamespaceURI)
+                            i = e.lookupNamespaceURI(t);
+                        else
+                            e: switch (e.nodeType) {
+                            case 1:
+                                if (null !== e.namespaceURI && e.prefix === t) {
+                                    i = e.namespaceURI;
+                                    break e
                                 }
-                            },
-                            credit: {
-                                get: function () {
-                                    return this[P("0x9fd")]
-                                }
-                            },
-                            hasVertexNormals: {
-                                get: function () {
-                                    return !1
-                                }
-                            },
-                            tilingScheme: {
-                                get: function () {
-                                    return this[P("0x68a")]
-                                }
-                            },
-                            ready: {
-                                get: function () {
-                                    return !0
-                                }
-                            },
-                            hasWaterMask: {
-                                get: function () {
-                                    return !1
-                                }
-                            },
-                            heightMapHeight: {
-                                get: function () {
-                                    return this._options[P("0xa01")]
-                                }
-                            },
-                            heightMapWidth: {
-                                get: function () {
-                                    return this[P("0x248")][P("0xa00")]
-                                }
-                            },
-                            pendingRequests: {
-                                get: function () {
-                                    return this[P("0xa13")]
-                                }
-                            }
-                        }),
-                        t[P("0x5")][P("0xa0c")] = function (e) {
-                            if (!e || !this[P("0xa09")]) {
-                                var t = this._format;
-                                this[P("0xa0f")] = P(e ? "0xa19" : "0xa1a"),
-                                    t !== this[P("0xa0f")] && (this[P("0xa1b")] = e,
-                                        void 0 !== this[P("0xa0d")] && (this[P("0xa0d")] = this._urlTemplate[P("0xa1c")]("image/" + t, "image/" + this[P("0xa0f")])))
-                            }
-                        }
-                        ,
-                        t.prototype.getLevelMaximumGeometricError = function (e) {
-                            return this[P("0xa10")] / (1 << e) * t[P("0xa18")]
-                        }
-                        ,
-                        t.prototype.createKeyFromTile = function (e, t, i) {
-                            return e + "_" + t + "_" + i
-                        }
-                        ,
-                        t.prototype[P("0x9fb")] = function (e, t, i) {
-                            var r = Math.min(this._maxTerrainLevel, 25);
-                            return !!this[P("0xa1b")] || i < r
-                        }
-                        ,
-                        t[P("0x5")][P("0xa1d")] = function (e) {
-                            var t = Math[P("0x133")](this[P("0xa1e")]) / Math[P("0x133")](2);
-                            return t = Math.min(t, e),
-                                Math[P("0x2ae")](2, t)
-                        }
-                        ,
-                        t.prototype[P("0xa1f")] = function (e, t, i, r) {
-                            return this.getRequestUrl(e, t, i, r)
-                        }
-                        ,
-                        t[P("0x5")][P("0xa20")] = function (e, t, i) {
-                            return this[P("0xa21")](e, t, i, !1, !0)
-                        }
-                        ,
-                        t[P("0x5")][P("0xa21")] = function (e, t, i, r, n) {
-                            var o = i
-                                , a = null != r ? this[P("0xa1d")](i) : 1
-                                , s = (e = null != r ? (e - e % a) / a : e,
-                                    t = null != r ? (t - t % a) / a : t,
-                                    i = null != r ? i - Math.log(a) / Math.log(2) : i,
-                                    this[P("0xa22")][P("0xa23")](e, t, i))
-                                , x = this[P("0xa00")] * a == 256 && r ? 1 : 0;
-                            return n && (x = 0),
-                                this[P("0xa0d")].replace("{south}", s.south)[P("0xa1c")](P("0xa24"), s[P("0x2ac")]).replace(P("0xa25"), s[P("0x2a9")])[P("0xa1c")](P("0xa26"), s[P("0x2aa")])[P("0xa1c")](P("0xa27"), x)[P("0xa1c")]("{width}", this[P("0xa00")] * a).replace(P("0xa28"), this[P("0xa01")] * a)[P("0xa1c")](P("0xa04"), this[P("0xa05")](e, t, i)) + "&level=" + i + "&origLevel=" + o
-                        }
-                        ,
-                        t[P("0x5")][P("0xa29")] = function (t, i) {
-                            return t[P("0x2a9")] >= i[P("0x2a9")] * e.Math[P("0xa2a")] && t.east <= i.east * e[P("0x23")][P("0xa2a")] && t[P("0x2ab")] >= i[P("0x2ab")] * e[P("0x23")][P("0xa2a")] && t.north <= i[P("0x2ac")] * e[P("0x23")][P("0xa2a")]
-                        }
-                        ,
-                        t.prototype[P("0xa2b")] = function (t, i) {
-                            var r = t[P("0x2a9")] * e[P("0x23")].RADIANS_PER_DEGREE
-                                , n = t[P("0x2aa")] * e[P("0x23")][P("0xa2c")]
-                                , o = t[P("0x2ab")] * e[P("0x23")].RADIANS_PER_DEGREE
-                                , a = t[P("0x2ac")] * e[P("0x23")].RADIANS_PER_DEGREE
-                                , s = new e.Rectangle(r, o, n, a);
-                            return e[P("0x26b")].intersection(s, i, new (e[P("0x26b")]))
-                        }
-                        ,
-                        t.prototype[P("0xa05")] = function (e, t, i) {
-                            if (null == this[P("0xa02")])
-                                return "";
-                            var r = (e + t + i) % this[P("0xa02")][P("0x0")];
-                            return this[P("0xa02")][r]
-                        }
-                        ,
-                        t[P("0x5")][P("0xa2d")] = function (e) {
-                            e[P("0x969")] && void 0 !== viewer[P("0x10f")].globe[P("0xa2e")][P("0xa2f")] && this[P("0xa30")](e.rectangle, !0)[P("0xa31")]()
-                        }
-                        ,
-                        t[P("0x5")][P("0xa30")] = function (t, i) {
-                            function r(t, i, n) {
-                                var o = n ? 4.1 : 2.1;
-                                if (t[P("0x689")].width <= i[P("0x19a")] * o && e[P("0x26b")].contains(t._rectangle, e.Rectangle.center(i)))
-                                    return t;
-                                for (var a = t[P("0x12f")].length, s = 0; s < a; s++) {
-                                    var x = t.children[s];
-                                    if (e[P("0x26b")][P("0xd1")](x._rectangle, e.Rectangle.center(i)))
-                                        return r(x, i, n)
-                                }
-                                return null
-                            }
-                            if (t.width == Math.PI)
-                                return null;
-                            for (var n = 0; n < viewer[P("0x10f")].globe[P("0xa2e")][P("0xa2f")][P("0x0")]; n++) {
-                                var o = r(viewer[P("0x10f")][P("0xa3")]._surface[P("0xa2f")][n], t, i);
-                                if (o)
-                                    return o
-                            }
-                            return null
-                        }
-                        ,
-                        t.prototype[P("0xa32")] = function (t, i, r) {
-                            var n = this._tilingScheme[P("0xa33")](t, i, r, new e.Rectangle)
-                                , o = this[P("0xa30")](n);
-                            if (o && o[P("0x440")] && o[P("0x440")][P("0xa34")]) {
-                                if (!(0 < o.data.terrainData._childTileMask))
-                                    return !1;
-                                for (var a = o[P("0x12f")][P("0x0")], s = 0; s < a; s++) {
-                                    var x = o.children[s];
-                                    if (e[P("0x26b")][P("0x84")](x[P("0x689")], n))
-                                        return o[P("0x440")][P("0xa34")][P("0xa35")] & 1 << s
-                                }
-                            }
-                            return !0
-                        }
-                        ,
-                        t[P("0x5")][P("0xa36")] = function (t, i, r) {
-                            var n = this[P("0x68a")][P("0xa33")](t, i, r, new (e[P("0x26b")]))
-                                , o = this[P("0xa30")](n);
-                            o && o[P("0x440")] && o[P("0x440")][P("0xa34")] && 0 < o[P("0x440")][P("0xa34")][P("0xa35")] && o[P("0x12f")][P("0x1e4")]((function (t, i) {
-                                if (e[P("0x26b")].equals(t[P("0x689")], n))
-                                    switch (i) {
-                                        case 0:
-                                            o[P("0x440")].terrainData._childTileMask &= -5;
-                                            break;
-                                        case 1:
-                                            o[P("0x440")].terrainData[P("0xa35")] &= -9;
-                                            break;
-                                        case 2:
-                                            o.data[P("0xa34")][P("0xa35")] &= -2;
-                                            break;
-                                        case 3:
-                                            o[P("0x440")][P("0xa34")][P("0xa35")] &= -3
-                                    }
-                            }
-                            ))
-                        }
-                        ,
-                        t[P("0x5")].requestBaseTerrainTileGeometry = function (e, t, i, r) {
-                            return this.requestTileGeometryBuffers(e, t, i, r)
-                        }
-                        ,
-                        t.prototype.requestElevationLayerTileGeometry = function (e, t, i, r, n) {
-                            return this.requestTileGeometryBuffers(e, t, i, r, n)
-                        }
-                        ,
-                        t[P("0x5")][P("0xa37")] = function (t, i, r, n, o) {
-                            var a = this
-                                , s = {};
-                            s[P("0xa38")] = this.tilingScheme[P("0xa23")](t, i, r),
-                                s[P("0xa39")] = o;
-                            var x, l, c, u, h = e[P("0x9ee")][P("0x9ef")]();
-                            return void 0 === (u = this[P("0xa3a")](t, i, r, n, void 0, o)) ? void 0 : (x = this[P("0xa3a")](t + 1, i, r, n, !0, o),
-                                l = this[P("0xa3a")](t, i + 1, r, n, !0, o),
-                                c = this.requestTileHeightBuffer(t + 1, i + 1, r, n, !0, o),
-                                e[P("0x9ee")][P("0xa3b")]([u, x, l, c], (function (e) {
-                                    if (null != e[0].myReject && e[0][P("0xa3c")])
-                                        h[P("0xa3d")]();
-                                    else {
-                                        for (var t = a[P("0xa00")] + 1, i = a[P("0xa01")] + 1, r = new Float32Array(t * i), n = e[0][P("0xa3e")], o = 0; o < t; o++)
-                                            for (var x = 0; x < i; x++) {
-                                                var l = o
-                                                    , c = x
-                                                    , u = 0;
-                                                x === t - 1 && (c = 0,
-                                                    u = 1,
-                                                    n && (u = 0,
-                                                        c = t - 2)),
-                                                    o === i - 1 && (l = 0,
-                                                        u = 2);
-                                                var f = o * t + x
-                                                    , d = l * a[P("0xa00")] + c;
-                                                null === e[u] || null != e[u].myReject && e[u].myReject || (r[f] = e[u][d])
-                                            }
-                                        null != e[3][P("0xa3c")] && e[3].myReject || (r[t * i - 1] = e[3][0]);
-                                        var g = a[P("0xa3f")](r, t, i, 15);
-                                        s.buffer = g,
-                                            h[P("0x9f8")](s)
-                                    }
-                                }
-                                ))[P("0xa40")]((function () {
-                                    h.reject()
-                                }
-                                )),
-                                h)
-                        }
-                        ,
-                        t[P("0x5")].requestTileGeometry = function (t, i, r, n) {
-                            var o = this
-                                , a = []
-                                , s = o[P("0xa22")].tileXYToNativeRectangle(t, i, r);
-                            null != this[P("0xa41")] && 0 < this[P("0xa41")].length && 7 < r ? [][P("0xa42")]((function (e, x) {
-                                if (x[P("0x221")]) {
-                                    var l = x[P("0x969")];
-                                    o[P("0xa29")](s, l) ? (o[P("0xa0c")](!1),
-                                        a[P("0x17c")](o[P("0xa43")](t, i, r, n, x))) : null != o[P("0xa2b")](s, l) ? (o.setFormatMPT(!1),
-                                            a[P("0x17c")](o.requestElevationLayerTileGeometry(t, i, r, n, x)),
-                                            a[P("0x17c")](o[P("0xa44")](t, i, r, n))) : (o[P("0xa0c")](!0),
-                                                a[P("0x17c")](o.requestBaseTerrainTileGeometry(t, i, r, n)))
-                                } else
-                                    o[P("0xa0c")](!0),
-                                        a[P("0x17c")](o.requestBaseTerrainTileGeometry(t, i, r, n))
-                            }
-                            )) : (o[P("0xa0c")](!0),
-                                a.push(o[P("0xa44")](t, i, r, n)));
-                            var x = e.when[P("0x9ef")]();
-                            return e.when[P("0xa3b")](a, (function (t) {
-                                if (1 === t.length)
-                                    void 0 !== t[P("0xa39")] && console[P("0x133")]("missing scale and offset"),
-                                        x.resolve(t[0][P("0x4b3")]);
-                                else if (1 < t[P("0x0")]) {
-                                    var i = t[P("0x1f2")]((function (e) {
-                                        return void 0 !== e.layer
-                                    }
-                                    ))
-                                        , r = t[P("0x1f2")]((function (e) {
-                                            return void 0 === e.layer
+                                var r = e.attributes.length;
+                                if (r)
+                                    for (var n, o = 0; o < r; ++o) {
+                                        if ("xmlns" === (n = e.attributes[o]).prefix && n.name === "xmlns:" + t) {
+                                            i = n.value || null;
+                                            break e
                                         }
-                                        ));
-                                    if (0 === i.length)
-                                        x.resolve(t[0].buffer);
-                                    else {
-                                        var n = i[i[P("0x0")] - 1]
-                                            , a = r[r[P("0x0")] - 1]
-                                            , s = {
-                                                tolerance: n[P("0xa39")][P("0xa45")],
-                                                nullValueNumber: n[P("0xa39")][P("0xa46")],
-                                                verticesX: n[P("0xa39")][P("0xa47")],
-                                                verticesY: n[P("0xa39")][P("0xa48")],
-                                                scale: e[P("0x102")](n[P("0xa39")][P("0xfc")], 1),
-                                                offset: e.defaultValue(n[P("0xa39")].offset, 0)
-                                            };
-                                        x[P("0x9f8")](o.mergeBuffers(a.buffer, n[P("0x4b3")], s, a.requestedRectangle))
+                                        if ("xmlns" === n.name && null === t) {
+                                            i = n.value || null;
+                                            break e
+                                        }
                                     }
-                                } else
-                                    x[P("0xa3d")]()
+                                i = this.lookupNamespaceURI(e.parentNode, t);
+                                break e;
+                            case 2:
+                                i = this.lookupNamespaceURI(e.ownerElement, t);
+                                break e;
+                            case 9:
+                                i = this.lookupNamespaceURI(e.documentElement, t);
+                                break e;
+                            case 6:
+                            case 12:
+                            case 10:
+                            case 11:
+                                break e;
+                            default:
+                                i = this.lookupNamespaceURI(e.parentNode, t)
                             }
-                            )).otherwise((function () {
-                                x[P("0xa3d")]()
-                            }
-                            )),
-                                x
+                    return i
+                },
+                getXMLDoc: function() {
+                    return GeoGlobe.Format.XML.document || this.xmldom || (document.implementation && document.implementation.createDocument ? GeoGlobe.Format.XML.document = document.implementation.createDocument("", "", null) : !this.xmldom && window.ActiveXObject && (this.xmldom = new ActiveXObject("Microsoft.XMLDOM"))),
+                    GeoGlobe.Format.XML.document || this.xmldom
+                },
+                CLASS_NAME: "GeoGlobe.Format.XML"
+            }),
+            GeoGlobe.Format.XML.CONTENT_TYPE = {
+                EMPTY: 0,
+                SIMPLE: 1,
+                COMPLEX: 2,
+                MIXED: 3
+            },
+            GeoGlobe.Format.XML.lookupNamespaceURI = GeoGlobe.Function.bind(GeoGlobe.Format.XML.prototype.lookupNamespaceURI, GeoGlobe.Format.XML.prototype),
+            GeoGlobe.Format.XML.document = null,
+            GeoGlobe.Format.XML.VersionedOGC = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                defaultVersion: null,
+                version: null,
+                profile: null,
+                allowFallback: !1,
+                name: null,
+                stringifyOutput: !1,
+                parser: null,
+                initialize: function(e) {
+                    GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]);
+                    var t = this.CLASS_NAME;
+                    this.name = t.substring(t.lastIndexOf(".") + 1)
+                },
+                getVersion: function(e, t) {
+                    var i;
+                    return e ? (i = this.version) || (i = e.getAttribute("version")) || (i = this.defaultVersion) : i = t && t.version || this.version || this.defaultVersion,
+                    i
+                },
+                getParser: function(e) {
+                    e = e || this.defaultVersion;
+                    var t = this.profile ? "_" + this.profile : "";
+                    if (!this.parser || this.parser.VERSION != e) {
+                        var i = GeoGlobe.Format[this.name]["v" + e.replace(/\./g, "_") + t];
+                        if (!i && ("" !== t && this.allowFallback && (t = "",
+                        i = GeoGlobe.Format[this.name]["v" + e.replace(/\./g, "_")]),
+                        !i))
+                            throw "Can't find a " + this.name + " parser for version " + e + t;
+                        this.parser = new i(this.options)
+                    }
+                    return this.parser
+                },
+                write: function(e, t) {
+                    var i = this.getVersion(null, t);
+                    this.parser = this.getParser(i);
+                    var r = this.parser.write(e, t);
+                    return !1 === this.stringifyOutput ? r : GeoGlobe.Format.XML.prototype.write.apply(this, [r])
+                },
+                read: function(e, t) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
+                    var i = e.documentElement
+                      , r = this.getVersion(i);
+                    this.parser = this.getParser(r);
+                    var n = this.parser.read(e, t)
+                      , o = this.parser.errorProperty || null;
+                    if (null !== o && void 0 === n[o]) {
+                        var a = new GeoGlobe.Format.OGCExceptionReport;
+                        n.error = a.read(e)
+                    }
+                    return n.version = r,
+                    n
+                },
+                CLASS_NAME: "GeoGlobe.Format.XML.VersionedOGC"
+            }),
+            GeoGlobe.Format.GML = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                featureNS: "http://mapserver.gis.umn.edu/mapserver",
+                featurePrefix: "feature",
+                featureName: "featureMember",
+                layerName: "features",
+                geometryName: "geometry",
+                collectionName: "FeatureCollection",
+                gmlns: "http://www.opengis.net/gml",
+                extractAttributes: !0,
+                xy: !0,
+                initialize: function(e) {
+                    this.regExes = {
+                        trimSpace: /^\s*|\s*$/g,
+                        removeSpace: /\s*/g,
+                        splitSpace: /\s+/,
+                        trimComma: /\s*,\s*/g
+                    },
+                    GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
+                },
+                read: function(e) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
+                    for (var t = this.getElementsByTagNameNS(e.documentElement, this.gmlns, this.featureName), i = [], r = 0; r < t.length; r++) {
+                        var n = this.parseFeature(t[r]);
+                        n && i.push(n)
+                    }
+                    return i
+                },
+                parseFeature: function(e) {
+                    for (var t, i, r, n, o, a = ["MultiPolygon", "Polygon", "MultiLineString", "LineString", "MultiPoint", "Point", "Envelope"], s = 0; s < a.length; ++s)
+                        if (t = a[s],
+                        (i = this.getElementsByTagNameNS(e, this.gmlns, t)).length > 0) {
+                            if (!(n = this.parseGeometry[t.toLowerCase()]))
+                                throw new TypeError("Unsupported geometry type: " + t);
+                            r = n.apply(this, [i[0]]),
+                            this.internalProjection && this.externalProjection && r.transform(this.externalProjection, this.internalProjection);
+                            break
                         }
-                        ,
-                        t[P("0x5")][P("0xa49")] = function (t, i, r, n) {
-                            n[P("0x2a9")],
-                                n.north;
-                            var o, a, s, x = (n[P("0x2aa")],
-                                n.south,
-                                n[P("0x19a")] / 33), l = n[P("0x8b")] / 33, c = r[P("0xfc")], u = r[P("0xa4a")], h = r[P("0xa46")], f = r[P("0xa4b")], d = void 0 !== h && void 0 !== f;
-                            if (d)
-                                var g = e.defaultValue(r[P("0xa46")], 0)
-                                    , p = e[P("0x102")](Number(r.tolerance), 0);
-                            var m = new Float32Array(1089);
-                            for (o = 0; o < 33; o++,
-                                l)
-                                for (a = 0; a < 33; a++,
-                                    x)
-                                    m[s = 33 * o + a] = d ? !i[P("0xa4c")][s] || i[P("0xa4c")][s] >= g - p && i[P("0xa4c")][s] <= g + p ? t[P("0xa4c")][s] : i[P("0xa4c")][s] * c + u : i._buffer[s] ? i[P("0xa4c")][s] * c + u : t[P("0xa4c")][s];
-                            return this[P("0xa3f")](m, 33, 33, 15)
+                    var x, l = this.getElementsByTagNameNS(e, this.gmlns, "Box");
+                    for (s = 0; s < l.length; ++s) {
+                        var c = l[s]
+                          , u = this.parseGeometry.box.apply(this, [c])
+                          , h = c.parentNode;
+                        "boundedBy" === (h.localName || h.nodeName.split(":").pop()) ? o = u : r = u.toGeometry()
+                    }
+                    this.extractAttributes && (x = this.parseAttributes(e));
+                    var f = new GeoGlobe.Feature(r,x);
+                    f.bounds = o,
+                    f.gml = {
+                        featureType: e.firstChild.nodeName.split(":")[1],
+                        featureNS: e.firstChild.namespaceURI,
+                        featureNSPrefix: e.firstChild.prefix
+                    };
+                    for (var d, g = e.firstChild; g && (1 != g.nodeType || !(d = g.getAttribute("fid") || g.getAttribute("id"))); )
+                        g = g.nextSibling;
+                    return f.fid = d,
+                    f
+                },
+                parseGeometry: {
+                    point: function(e) {
+                        var t, i = [];
+                        if ((t = this.getElementsByTagNameNS(e, this.gmlns, "pos")).length > 0 && (i = t[0].firstChild.nodeValue.replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace)),
+                        0 == i.length && (t = this.getElementsByTagNameNS(e, this.gmlns, "coordinates")).length > 0 && (i = t[0].firstChild.nodeValue.replace(this.regExes.removeSpace, "").split(",")),
+                        0 == i.length && (t = this.getElementsByTagNameNS(e, this.gmlns, "coord")).length > 0) {
+                            var r = this.getElementsByTagNameNS(t[0], this.gmlns, "X")
+                              , n = this.getElementsByTagNameNS(t[0], this.gmlns, "Y");
+                            r.length > 0 && n.length > 0 && (i = [r[0].firstChild.nodeValue, n[0].firstChild.nodeValue])
                         }
-                        ,
-                        t[P("0x5")].requestTileHeightBuffer = function (t, i, r, n, o, a) {
-                            if (!isNaN(t + i + r)) {
-                                e.defined(n) && !1 !== n || (n = new (e[P("0xa4d")])({
-                                    defer: !0
-                                }));
-                                var s = 0 == n.defer;
-                                o = e.defaultValue(s, !1);
-                                var x, l = e[P("0x9ee")][P("0x9ef")]();
-                                if (void 0 !== a)
-                                    a.getUrlFromSTag = function (e, t, i) {
-                                        return void 0 === a.subdomains ? a[P("0x6af")] : a[P("0xa4e")][0] + P("0xa4f")
-                                    }
-                                        ,
-                                        x = this.getRequestElevationLayer(t, i, r).replace(this[P("0x248")][P("0x6af")], a.getUrlFromSTag(t, i, r) + P("0xa50"))[P("0xa1c")](this[P("0x248")][P("0xa07")], a[P("0x176")]),
-                                        a[P("0xa51")] === P("0xa19") && (x = x[P("0xa1c")](P("0xa52"), P("0xa53")));
-                                else {
-                                    x = this[P("0xa1f")](t, i, r, s || o);
-                                    var c = this._tilingScheme.tileXYToRectangle(t, i, r)
-                                        , u = this[P("0xa54")]
-                                        , h = e[P("0x9ee")][P("0x9ef")]();
-                                    if (void 0 !== u) {
-                                        var f = [];
-                                        if (u[P("0x1e4")]((function (t) {
-                                            t[P("0x221")] && null != e[P("0x26b")][P("0x348")](c, t.rectangle, new (e[P("0x26b")])) && f[P("0x17c")](t)
-                                        }
-                                        )),
-                                            0 < f[P("0x0")])
-                                            if (1 === f[P("0x0")] && f[0][P("0xa55")] && r > f[0][P("0xa55")])
-                                                h[P("0x9f8")]("NoMerge");
-                                            else {
-                                                var d = function (t, i) {
-                                                    var r = e.when[P("0x9ef")]()
-                                                        , n = [];
-                                                    return t[P("0x1e4")]((function (t) {
-                                                        var r, o, a, s;
-                                                        n[P("0x17c")]((r = t,
-                                                            o = i,
-                                                            s = e[P("0x9ee")][P("0x9ef")](),
-                                                            (a = TerraExplorer.tools[P("0x9f0")][P("0x9f1")][P("0x9f2")].fillArrayFromVerticesAndHeight(r[P("0x9f3")], o, r[P("0x9f4")][0])).timeStamp = r.timeStamp,
-                                                            a[P("0x9f5")] = r[P("0x9f4")],
-                                                            a[P("0x9f6")] = r[P("0x9f6")],
-                                                            a[P("0x9f7")] = r[P("0x9f7")],
-                                                            a.rect = r[P("0x969")],
-                                                            a[P("0x968")] = r[P("0x968")],
-                                                            s[P("0x9f8")](a),
-                                                            s))
-                                                    }
-                                                    )),
-                                                        e[P("0x9ee")].all(n, (function (e) {
-                                                            if (e[0][P("0x9f9")],
-                                                                1 === e[P("0x0")])
-                                                                r[P("0x9f8")](e[0]);
-                                                            else {
-                                                                var t = e[P("0x3d2")]((function (e, t) {
-                                                                    return t[P("0x9fa")] - e[P("0x9fa")]
-                                                                }
-                                                                ))
-                                                                    , i = t.shift();
-                                                                t.forEach((function (e) {
-                                                                    i.forEach((function (t, r) {
-                                                                        1 === t && 1 !== e[r] && (i[r] = e[r])
-                                                                    }
-                                                                    ))
-                                                                }
-                                                                )),
-                                                                    r[P("0x9f8")](i)
-                                                            }
-                                                        }
-                                                        )),
-                                                        r
-                                                }(f, c);
-                                                e[P("0x9ee")](d, (function (e) {
-                                                    h.resolve(e)
-                                                }
-                                                ))[P("0xa40")]((function (e) {
-                                                    console[P("0x133")](e)
-                                                }
-                                                ))
-                                            }
-                                        else
-                                            h[P("0x9f8")]("NoMerge")
-                                    } else
-                                        h[P("0x9f8")](P("0xa56"));
-                                    var g = e.when[P("0x9ef")]()
-                                        , p = [].filter((function (e) {
-                                            return 0 < e[P("0xa57")].length
-                                        }
-                                        ));
-                                    if (1 === p.length && p[0].level && r > p[0][P("0x968")])
-                                        g[P("0x9f8")](P("0xa58"));
-                                    else {
-                                        var m = !1;
-                                        p[P("0x1e4")]((function (t) {
-                                            if (t.ready && t[P("0x221")] && void 0 !== t[P("0xa59")] && void 0 !== e[P("0x26b")][P("0x348")](c, t[P("0xa59")])) {
-                                                for (var i, r = new Uint16Array(1024), n = c.west, o = (c[P("0x2ab")],
-                                                    (c[P("0x2aa")] - c[P("0x2a9")]) / 32), a = (c[P("0x2ac")] - c[P("0x2ab")]) / 32, s = 0; s < 32; s++)
-                                                    for (var x = 0; x < 32; x++) {
-                                                        var l = n + o * x + o / 2
-                                                            , u = c[P("0x2ac")] - a * s - a / 2
-                                                            , h = new (e[P("0x13")])(l, u);
-                                                        i = 65535;
-                                                        var f = t[P("0xa5a")](t, h, !0);
-                                                        null != f && f[P("0x490")] && f[P("0x490")][P("0xa5b")] && f[P("0x490")][P("0xa5b")].floor && (i = f[P("0x490")]._model[P("0x3e8")][P("0xed")](h.longitude, h[P("0x114")])),
-                                                            65535 !== i && (i += 1.5),
-                                                            r[32 * s + x] = i
-                                                    }
-                                                m = !0,
-                                                    g[P("0x9f8")](r)
-                                            }
-                                        }
-                                        )),
-                                            m || g[P("0x9f8")]("NoFloor")
-                                    }
-                                    this[P("0x68a")][P("0xef")]
-                                }
-                                if (!1 === this[P("0xa14")][P("0xa5c")](x)) {
-                                    if (this._requestsCache[x] = {},
-                                        this[P("0xa15")][P("0x17c")](x),
-                                        100 < this[P("0xa15")].length) {
-                                        for (var b = 0; b < 50; b++)
-                                            delete this._requestsCache[this[P("0xa15")][b]];
-                                        this[P("0xa15")].splice(0, 50)
-                                    }
-                                } else {
-                                    var v = this[P("0xa15")].indexOf(x);
-                                    this._requestsCacheKeys[P("0x259")](v, 1),
-                                        this[P("0xa15")].push(x)
-                                }
-                                var C = this[P("0xa14")][x];
-                                if (void 0 !== C[P("0xa5d")] || (C[P("0xa5d")] = s ? e.Resource.fetchArrayBuffer(x) : e[P("0x6da")][P("0xa5e")](x),
-                                    e[P("0x14")](C[P("0xa5d")]))) {
-                                    var y = this;
-                                    return this._pendingRequests++,
-                                        e.when(C[P("0xa5d")], (function (n) {
-                                            void 0 === C.workerFinished && (C[P("0xa5f")] = y[P("0xa12")][P("0xa60")]({
-                                                buffer: n,
-                                                isElevation: void 0 !== a,
-                                                level: r
-                                            })),
-                                                e[P("0x9ee")][P("0xa3b")]([C[P("0xa5f")], h, g], (function (e) {
-                                                    var n = void 0 !== e[1] && e[1] !== P("0xa56")
-                                                        , o = void 0 !== e[2] && "NoFloor" !== e[2];
-                                                    if (e[0][P("0xa61")]) {
-                                                        for (var a = y[P("0xa00")] * y[P("0xa01")], s = new Int16Array(a), x = 0; x < a; x++)
-                                                            s[x] = 300;
-                                                        return 2 < r && (s[P("0xa3c")] = !0),
-                                                            l[P("0x9f8")](s),
-                                                            l
-                                                    }
-                                                    var c = y[P("0xa62")](e[0][P("0x4b3")], t, i, r);
-                                                    if (y[P("0xa13")]--,
-                                                        n)
-                                                        for (x = 0; x < 32; x++)
-                                                            for (var u = 0; u < 32; u++) {
-                                                                var h = 32 * x + u;
-                                                                e[1].fromKML ? c[h] = 1 === e[1][h] ? c[h] : 1 == e[1][P("0x9f6")] ? c[h] + e[1].mtHeight : 2 == e[1][P("0x9f6")] ? Math[P("0x7d")](c[h], e[1][P("0x9f5")]) : 3 == e[1][P("0x9f6")] ? Math[P("0xee")](c[h], e[1][P("0x9f5")]) : e[1][P("0x9f5")] : c[h] = 1 === e[1][h] ? c[h] : 1 == e[1][P("0x9f6")] ? c[h] + e[1][h] : 2 == e[1][P("0x9f6")] ? Math[P("0x7d")](c[h], e[1][h]) : 3 == e[1][P("0x9f6")] ? Math[P("0xee")](c[h], e[1][h]) : e[1][h]
-                                                            }
-                                                    if (o) {
-                                                        for (x = 0; x < 32; x++)
-                                                            for (u = 0; u < 32; u++)
-                                                                c[h = 32 * x + u] = 65535 === e[2][h] || 10500 < e[2][h] ? c[h] : e[2][h];
-                                                        c[P("0xa3e")] = !0
-                                                    }
-                                                    l[P("0x9f8")](c)
-                                                }
-                                                ))[P("0xa40")]((function () {
-                                                    for (var e = y[P("0xa00")] * y[P("0xa01")], t = new Int16Array(e), i = 0; i < e; i++)
-                                                        t[i] = 300;
-                                                    return 2 < r && (t.myReject = !0),
-                                                        l[P("0x9f8")](t),
-                                                        l
-                                                }
-                                                ))
-                                        }
-                                        ))[P("0xa40")]((function () {
-                                            y[P("0xa13")]--,
-                                                l[P("0xa3d")]()
-                                        }
-                                        )),
-                                        l
-                                }
-                            }
+                        return 2 == i.length && (i[2] = null),
+                        this.xy ? new GeoGlobe.Geometry.Point(i[0],i[1],i[2]) : new GeoGlobe.Geometry.Point(i[1],i[0],i[2])
+                    },
+                    multipoint: function(e) {
+                        var t = this.getElementsByTagNameNS(e, this.gmlns, "Point")
+                          , i = [];
+                        if (t.length > 0)
+                            for (var r, n = 0; n < t.length; ++n)
+                                (r = this.parseGeometry.point.apply(this, [t[n]])) && i.push(r);
+                        return new GeoGlobe.Geometry.MultiPoint(i)
+                    },
+                    linestring: function(e, t) {
+                        var i, r = [], n = [];
+                        if ((i = this.getElementsByTagNameNS(e, this.gmlns, "posList")).length > 0) {
+                            r = this.getChildValue(i[0]).replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace);
+                            for (var o, a, s, x, l = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[0].getAttribute("dimension")), c = 0; c < r.length / l; ++c)
+                                a = r[o = c * l],
+                                s = r[o + 1],
+                                x = 2 == l ? null : r[o + 2],
+                                this.xy ? n.push(new GeoGlobe.Geometry.Point(a,s,x)) : n.push(new GeoGlobe.Geometry.Point(s,a,x))
                         }
-                        ,
-                        t.prototype.extractTileHeightBuffer = function (e, t, i, r) {
-                            try {
-                                for (var n = this[P("0xa1d")](r), o = t % n, a = i % n, s = new Float32Array(this.heightMapWidth * this[P("0xa01")]), x = 1e6, l = -1e5, c = 0; c < this[P("0xa01")]; c++)
-                                    for (var u = 0; u < this.heightMapWidth; u++) {
-                                        var h = c + a * this.heightMapHeight
-                                            , f = u + o * this.heightMapWidth
-                                            , d = c * this[P("0xa00")] + u
-                                            , g = h * this.heightMapWidth * n + f;
-                                        e[g] > l && (l = e[g]),
-                                            e[g] < x && (x = e[g]),
-                                            s[d] = e[g]
-                                    }
-                            } catch (e) {
-                                console[P("0x133")](e[P("0xa63")])
-                            }
-                            return s
+                        if (0 == r.length && (i = this.getElementsByTagNameNS(e, this.gmlns, "coordinates")).length > 0) {
+                            var u = this.getChildValue(i[0]).replace(this.regExes.trimSpace, "").replace(this.regExes.trimComma, ",").split(this.regExes.splitSpace);
+                            for (c = 0; c < u.length; ++c)
+                                2 == (r = u[c].split(",")).length && (r[2] = null),
+                                this.xy ? n.push(new GeoGlobe.Geometry.Point(r[0],r[1],r[2])) : n.push(new GeoGlobe.Geometry.Point(r[1],r[0],r[2]))
                         }
-                        ,
-                        t[P("0x5")].arrayToHeightmapTerrainData = function (t, i, r, n) {
-                            !1 === e[P("0x14")](t) && (t = new Int16Array(i * r));
-                            var o = {
-                                buffer: t,
-                                width: i,
-                                height: r,
-                                childTileMask: n
+                        var h = null;
+                        return 0 != n.length && (h = t ? new GeoGlobe.Geometry.LinearRing(n) : new GeoGlobe.Geometry.LineString(n)),
+                        h
+                    },
+                    multilinestring: function(e) {
+                        var t = this.getElementsByTagNameNS(e, this.gmlns, "LineString")
+                          , i = [];
+                        if (t.length > 0)
+                            for (var r, n = 0; n < t.length; ++n)
+                                (r = this.parseGeometry.linestring.apply(this, [t[n]])) && i.push(r);
+                        return new GeoGlobe.Geometry.MultiLineString(i)
+                    },
+                    polygon: function(e) {
+                        var t = this.getElementsByTagNameNS(e, this.gmlns, "LinearRing")
+                          , i = [];
+                        if (t.length > 0)
+                            for (var r, n = 0; n < t.length; ++n)
+                                (r = this.parseGeometry.linestring.apply(this, [t[n], !0])) && i.push(r);
+                        return new GeoGlobe.Geometry.Polygon(i)
+                    },
+                    multipolygon: function(e) {
+                        var t = this.getElementsByTagNameNS(e, this.gmlns, "Polygon")
+                          , i = [];
+                        if (t.length > 0)
+                            for (var r, n = 0; n < t.length; ++n)
+                                (r = this.parseGeometry.polygon.apply(this, [t[n]])) && i.push(r);
+                        return new GeoGlobe.Geometry.MultiPolygon(i)
+                    },
+                    envelope: function(e) {
+                        var t, i = [], r = this.getElementsByTagNameNS(e, this.gmlns, "lowerCorner");
+                        if (r.length > 0) {
+                            var n = [];
+                            if (r.length > 0 && (n = r[0].firstChild.nodeValue.replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace)),
+                            2 == n.length && (n[2] = null),
+                            this.xy)
+                                var o = new GeoGlobe.Geometry.Point(n[0],n[1],n[2]);
+                            else
+                                o = new GeoGlobe.Geometry.Point(n[1],n[0],n[2])
+                        }
+                        var a = this.getElementsByTagNameNS(e, this.gmlns, "upperCorner");
+                        if (a.length > 0)
+                            if (n = [],
+                            a.length > 0 && (n = a[0].firstChild.nodeValue.replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace)),
+                            2 == n.length && (n[2] = null),
+                            this.xy)
+                                var s = new GeoGlobe.Geometry.Point(n[0],n[1],n[2]);
+                            else
+                                s = new GeoGlobe.Geometry.Point(n[1],n[0],n[2]);
+                        if (o && s) {
+                            i.push(new GeoGlobe.Geometry.Point(o.x,o.y)),
+                            i.push(new GeoGlobe.Geometry.Point(s.x,o.y)),
+                            i.push(new GeoGlobe.Geometry.Point(s.x,s.y)),
+                            i.push(new GeoGlobe.Geometry.Point(o.x,s.y)),
+                            i.push(new GeoGlobe.Geometry.Point(o.x,o.y));
+                            var x = new GeoGlobe.Geometry.LinearRing(i);
+                            t = new GeoGlobe.Geometry.Polygon([x])
+                        }
+                        return t
+                    },
+                    box: function(e) {
+                        var t, i = this.getElementsByTagNameNS(e, this.gmlns, "coordinates"), r = null, n = null;
+                        if (i.length > 0 && 2 == (t = i[0].firstChild.nodeValue.split(" ")).length && (r = t[0].split(","),
+                        n = t[1].split(",")),
+                        null !== r && null !== n) {
+                            var o = new GeoGlobe.LngLat(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(r[0]),_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(r[1]))
+                              , a = new GeoGlobe.LngLat(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(n[0]),_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(n[1]));
+                            return new GeoGlobe.LngLatBounds(o,a)
+                        }
+                    }
+                },
+                parseAttributes: function(e) {
+                    for (var t, i, r, n, o, a, s, x = {}, l = e.firstChild; l; ) {
+                        if (1 == l.nodeType) {
+                            for (t = l.childNodes,
+                            i = 0; i < t.length; ++i)
+                                1 == (r = t[i]).nodeType && (1 == (n = r.childNodes).length ? 3 != (o = n[0]).nodeType && 4 != o.nodeType || (a = r.prefix ? r.nodeName.split(":")[1] : r.nodeName,
+                                s = o.nodeValue.replace(this.regExes.trimSpace, ""),
+                                x[a] = s) : x[r.nodeName.split(":").pop()] = null);
+                            break
+                        }
+                        l = l.nextSibling
+                    }
+                    return x
+                },
+                write: function(e) {
+                    GeoGlobe.Util.isArray(e) || (e = [e]);
+                    for (var t = this.createElementNS("http://www.opengis.net/wfs", "wfs:" + this.collectionName), i = 0; i < e.length; i++)
+                        t.appendChild(this.createFeatureXML(e[i]));
+                    return GeoGlobe.Format.XML.prototype.write.apply(this, [t])
+                },
+                createFeatureXML: function(e) {
+                    var t = e.geometry
+                      , i = this.buildGeometryNode(t)
+                      , r = this.createElementNS(this.featureNS, this.featurePrefix + ":" + this.geometryName);
+                    r.appendChild(i);
+                    var n = this.createElementNS(this.gmlns, "gml:" + this.featureName)
+                      , o = this.createElementNS(this.featureNS, this.featurePrefix + ":" + this.layerName)
+                      , a = e.fid || e.id;
+                    for (var s in o.setAttribute("fid", a),
+                    o.appendChild(r),
+                    e.attributes) {
+                        var x = this.createTextNode(e.attributes[s])
+                          , l = s.substring(s.lastIndexOf(":") + 1)
+                          , c = this.createElementNS(this.featureNS, this.featurePrefix + ":" + l);
+                        c.appendChild(x),
+                        o.appendChild(c)
+                    }
+                    return n.appendChild(o),
+                    n
+                },
+                buildGeometryNode: function(e) {
+                    this.externalProjection && this.internalProjection && (e = e.clone()).transform(this.internalProjection, this.externalProjection);
+                    var t = e.CLASS_NAME
+                      , i = t.substring(t.lastIndexOf(".") + 1);
+                    return this.buildGeometry[i.toLowerCase()].apply(this, [e])
+                },
+                buildGeometry: {
+                    point: function(e) {
+                        var t = this.createElementNS(this.gmlns, "gml:Point");
+                        return t.appendChild(this.buildCoordinatesNode(e)),
+                        t
+                    },
+                    multipoint: function(e) {
+                        for (var t, i, r = this.createElementNS(this.gmlns, "gml:MultiPoint"), n = e.components, o = 0; o < n.length; o++)
+                            t = this.createElementNS(this.gmlns, "gml:pointMember"),
+                            i = this.buildGeometry.point.apply(this, [n[o]]),
+                            t.appendChild(i),
+                            r.appendChild(t);
+                        return r
+                    },
+                    linestring: function(e) {
+                        var t = this.createElementNS(this.gmlns, "gml:LineString");
+                        return t.appendChild(this.buildCoordinatesNode(e)),
+                        t
+                    },
+                    multilinestring: function(e) {
+                        for (var t, i, r = this.createElementNS(this.gmlns, "gml:MultiLineString"), n = e.components, o = 0; o < n.length; ++o)
+                            t = this.createElementNS(this.gmlns, "gml:lineStringMember"),
+                            i = this.buildGeometry.linestring.apply(this, [n[o]]),
+                            t.appendChild(i),
+                            r.appendChild(t);
+                        return r
+                    },
+                    linearring: function(e) {
+                        var t = this.createElementNS(this.gmlns, "gml:LinearRing");
+                        return t.appendChild(this.buildCoordinatesNode(e)),
+                        t
+                    },
+                    polygon: function(e) {
+                        for (var t, i, r, n = this.createElementNS(this.gmlns, "gml:Polygon"), o = e.components, a = 0; a < o.length; ++a)
+                            r = 0 == a ? "outerBoundaryIs" : "innerBoundaryIs",
+                            t = this.createElementNS(this.gmlns, "gml:" + r),
+                            i = this.buildGeometry.linearring.apply(this, [o[a]]),
+                            t.appendChild(i),
+                            n.appendChild(t);
+                        return n
+                    },
+                    multipolygon: function(e) {
+                        for (var t, i, r = this.createElementNS(this.gmlns, "gml:MultiPolygon"), n = e.components, o = 0; o < n.length; ++o)
+                            t = this.createElementNS(this.gmlns, "gml:polygonMember"),
+                            i = this.buildGeometry.polygon.apply(this, [n[o]]),
+                            t.appendChild(i),
+                            r.appendChild(t);
+                        return r
+                    },
+                    lnglatbounds: function(e) {
+                        var t = this.createElementNS(this.gmlns, "gml:Box");
+                        return t.appendChild(this.buildCoordinatesNode(e)),
+                        t
+                    }
+                },
+                buildCoordinatesNode: function(e) {
+                    var t = this.createElementNS(this.gmlns, "gml:coordinates");
+                    t.setAttribute("decimal", "."),
+                    t.setAttribute("cs", ","),
+                    t.setAttribute("ts", " ");
+                    var i = [];
+                    if (e instanceof GeoGlobe.LngLatBounds)
+                        i.push(e.getWest() + "," + e.getSouth()),
+                        i.push(e.getEast() + "," + e.getNorth());
+                    else
+                        for (var r = e.components ? e.components : [e], n = 0; n < r.length; n++)
+                            i.push(r[n].x + "," + r[n].y);
+                    var o = this.createTextNode(i.join(" "));
+                    return t.appendChild(o),
+                    t
+                },
+                CLASS_NAME: "GeoGlobe.Format.GML"
+            }),
+            GeoGlobe.Format.GML || (GeoGlobe.Format.GML = {}),
+            GeoGlobe.Format.GML.Base = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                namespaces: {
+                    gml: "http://www.opengis.net/gml",
+                    xlink: "http://www.w3.org/1999/xlink",
+                    xsi: "http://www.w3.org/2001/XMLSchema-instance",
+                    wfs: "http://www.opengis.net/wfs"
+                },
+                defaultPrefix: "gml",
+                schemaLocation: null,
+                featureType: null,
+                featureNS: null,
+                geometryName: "geometry",
+                extractAttributes: !0,
+                srsName: null,
+                xy: !0,
+                geometryTypes: null,
+                singleFeatureType: null,
+                regExes: {
+                    trimSpace: /^\s*|\s*$/g,
+                    removeSpace: /\s*/g,
+                    splitSpace: /\s+/,
+                    trimComma: /\s*,\s*/g,
+                    featureMember: /^(.*:)?featureMembers?$/
+                },
+                initialize: function(e) {
+                    GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]),
+                    this.setGeometryTypes(),
+                    e && e.featureNS && this.setNamespace("feature", e.featureNS),
+                    this.singleFeatureType = !e || "string" == typeof e.featureType
+                },
+                read: function(e) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
+                    e && 9 == e.nodeType && (e = e.documentElement);
+                    var t, i = [];
+                    if (this.readNode(e, {
+                        features: i
+                    }, !0),
+                    0 == i.length)
+                        if ((t = this.getElementsByTagNameNS(e, this.namespaces.gml, "featureMember")).length)
+                            for (var r = 0, n = t.length; r < n; ++r)
+                                this.readNode(t[r], {
+                                    features: i
+                                }, !0);
+                        else
+                            (t = this.getElementsByTagNameNS(e, this.namespaces.gml, "featureMembers")).length && this.readNode(t[0], {
+                                features: i
+                            }, !0);
+                    return i
+                },
+                readNode: function(e, t, i) {
+                    return !0 === i && !0 === this.autoConfig && (this.featureType = null,
+                    delete this.namespaceAlias[this.featureNS],
+                    delete this.namespaces.feature,
+                    this.featureNS = null),
+                    this.featureNS || e.prefix in this.namespaces || e.parentNode.namespaceURI != this.namespaces.gml || !this.regExes.featureMember.test(e.parentNode.nodeName) || (this.featureType = e.nodeName.split(":").pop(),
+                    this.setNamespace("feature", e.namespaceURI),
+                    this.featureNS = e.namespaceURI,
+                    this.autoConfig = !0),
+                    GeoGlobe.Format.XML.prototype.readNode.apply(this, [e, t])
+                },
+                readers: {
+                    gml: {
+                        _inherit: function(e, t, i) {},
+                        featureMember: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        featureMembers: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        name: function(e, t) {
+                            t.name = this.getChildValue(e)
+                        },
+                        boundedBy: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            i.components && i.components.length > 0 && (t.bounds = i.components[0])
+                        },
+                        Point: function(e, t) {
+                            var i = {
+                                points: []
                             };
-                            return new (e[P("0xa64")])(o)
-                        }
-                        ;
-                    var i = (e[P("0xf")](r[P("0x5")], {
-                        errorEvent: {
-                            get: function () {
-                                return this[P("0xa16")]
-                            }
+                            this.readChildNodes(e, i),
+                            t.components || (t.components = []),
+                            t.components.push(i.points[0])
                         },
-                        poolSize: {
-                            get: function () {
-                                return this[P("0xa68")]
-                            }
-                        }
-                    }),
-                        r[P("0x5")][P("0xa60")] = function (t, i) {
-                            for (var r = e[P("0x9ee")][P("0x9ef")](), n = null, o = 999999, a = 0; a < this[P("0xa6a")][P("0x0")]; a++)
-                                n = this._workers[a],
-                                    this[P("0xa6a")][a].jobQueueSize < o && (n = this[P("0xa6a")][a],
-                                        o = this[P("0xa6a")][a][P("0xa6c")]);
-                            if (0 < o && this[P("0xa6a")].length < this[P("0xa69")]) {
-                                n = new Worker(this[P("0xa66")]);
-                                var s = this;
-                                n[P("0x130")]("message", (function (e) {
-                                    s.onWorkerMessage(e)
-                                }
-                                ), !1),
-                                    n[P("0x130")](P("0x391"), (function (e) {
-                                        s[P("0xa6d")](e)
-                                    }
-                                    ), !1),
-                                    n[P("0xa6c")] = 0,
-                                    this[P("0xa6a")][P("0x17c")](n),
-                                    n.id = e.createGuid()
-                            }
-                            t[P("0xa6e")] = n.id;
-                            var x = e[P("0x75c")]();
-                            return t[P("0xa6f")] = x,
-                                this._defered[x] = r,
-                                n[P("0xa6c")]++,
-                                n[P("0xa70")](t, i),
-                                r
-                        }
-                        ,
-                        r[P("0x5")][P("0xa71")] = function (e) {
-                            var t = this;
-                            if (null == e)
-                                return null != this[P("0xa72")] && clearTimeout(this.timerId),
-                                    void (this[P("0xa72")] = setTimeout((function () {
-                                        t[P("0xa71")](!0)
-                                    }
-                                    ), 5e3));
-                            for (var i = 0; i < this[P("0xa6a")][P("0x0")]; i++)
-                                0 == this._workers[i][P("0xa6c")] && (this[P("0xa6a")][i][P("0xa73")](),
-                                    this[P("0xa6a")][P("0x259")](i, 1),
-                                    i--);
-                            this[P("0xa6a")][P("0x0")] ? this[P("0xa72")] = setTimeout((function () {
-                                t[P("0xa71")](!0)
-                            }
-                            ), 5e3) : this[P("0xa72")] = null
-                        }
-                        ,
-                        r[P("0x5")][P("0xa74")] = function (e) {
-                            var t = e[P("0x440")]
-                                , i = function (e, t) {
-                                    for (var i = 0; i < e[P("0x0")]; i++)
-                                        if (t(e[i]))
-                                            return i
-                                }(this[P("0xa6a")], (function (e) {
-                                    return e.id === t.workerId
-                                }
-                                ));
-                            null != i && (this[P("0xa6a")][i].jobQueueSize--,
-                                this[P("0xa71")]());
-                            var r = this[P("0xa6b")][t.deferedId];
-                            delete this._defered[t[P("0xa6f")]],
-                                r.resolve(t)
-                        }
-                        ,
-                        r[P("0x5")][P("0xa6d")] = function (e) {
-                            console.log(e)
-                        }
-                        ,
-                        r);
-                    function r(t) {
-                        if (t = t || [],
-                            !e[P("0x14")](t.workerPath))
-                            throw new (e[P("0x15")])(P("0xa65"));
-                        this[P("0xa66")] = t[P("0xa67")],
-                            this[P("0xa68")] = e[P("0x102")](t[P("0xa69")], 16),
-                            this[P("0xa6a")] = [],
-                            this[P("0xa6b")] = []
-                    }
-                }(window.Cesium),
-                function (e) {
-                    var t = e.GeoTerrainProvider = function (i) {
-                        if (i = e[P("0x102")](i, e[P("0x102")][P("0x128")]),
-                            !e[P("0x14")](i.urls))
-                            throw new (e[P("0x15")])(P("0xa75"));
-                        this[P("0xa76")] = e.defaultValue(i[P("0xa77")], e[P("0xa78")][P("0xa79")]),
-                            this[P("0xa7a")] = e[P("0x102")](i[P("0xa7b")], t[P("0xa7c")]),
-                            this[P("0xa7d")] = i[P("0xa7e")],
-                            this[P("0xa7f")] = this[P("0xa7d")].length,
-                            this[P("0xa80")] = 0,
-                            this[P("0xa81")] = 0,
-                            this[P("0xa0b")] = e.defaultValue(i[P("0xa77")], e[P("0xa78")][P("0xa79")]),
-                            this[P("0x9fc")] = new (e[P("0x766")]),
-                            this[P("0x48b")] = !1,
-                            this[P("0xa82")] = e.when[P("0x9ef")](),
-                            this._proxy = i.proxy,
-                            this._terrainDataStructure = {
-                                heightScale: .001,
-                                heightOffset: -1e3,
-                                elementsPerHeight: 3,
-                                stride: 4,
-                                elementMultiplier: 256,
-                                isBigEndian: !0
+                        coordinates: function(e, t) {
+                            for (var i, r = this.getChildValue(e).replace(this.regExes.trimSpace, ""), n = (r = r.replace(this.regExes.trimComma, ",")).split(this.regExes.splitSpace), o = n.length, a = new Array(o), s = 0; s < o; ++s)
+                                i = n[s].split(","),
+                                this.xy ? a[s] = new GeoGlobe.Geometry.Point(i[0],i[1],i[2]) : a[s] = new GeoGlobe.Geometry.Point(i[1],i[0],i[2]);
+                            t.points = a
+                        },
+                        coord: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.points || (t.points = []),
+                            t.points.push(new GeoGlobe.Geometry.Point(i.x,i.y,i.z))
+                        },
+                        X: function(e, t) {
+                            t.x = this.getChildValue(e)
+                        },
+                        Y: function(e, t) {
+                            t.y = this.getChildValue(e)
+                        },
+                        Z: function(e, t) {
+                            t.z = this.getChildValue(e)
+                        },
+                        MultiPoint: function(e, t) {
+                            var i = {
+                                components: []
                             };
-                        var r = i[P("0xa83")];
-                        w()(r) === P("0x9fe") && (r = new (e[P("0x9ff")])(r)),
-                            this[P("0x9fd")] = r,
-                            this._tilingScheme = void 0,
-                            this._rectangles = [];
-                        var n = e[P("0x102")](i[P("0xef")], e[P("0x16")][P("0x110")]);
-                        this[P("0x68a")] = new (e[P("0x9d7")])({
-                            ellipsoid: n
-                        }),
-                            this[P("0xa84")] = 64,
-                            this[P("0xa85")] = 64,
-                            this._levelZeroMaximumGeometricError = e[P("0xa11")][P("0xa86")](n, Math[P("0x7d")](this[P("0xa84")], this[P("0xa85")]), this[P("0x68a")].getNumberOfXTilesAtLevel(0)),
-                            this[P("0x48b")] = !0,
-                            this[P("0xa82")][P("0x9f8")](!0),
-                            this[P("0x75b")] = i[P("0x176")],
-                            this[P("0xa87")] = i[P("0xa88")],
-                            this[P("0xa89")] = i[P("0xa8a")],
-                            this[P("0xa8b")] = e[P("0x102")](i.topLevel, 5),
-                            this[P("0xa8c")] = e[P("0x102")](i[P("0xa8d")], 25)
-                    }
-                        ;
-                    function i(t, i) {
-                        return (i = e[P("0x14")](i) ? i : new e.Request)[P("0x6af")] = t,
-                            i[P("0xa9e")] = function () {
-                                var i, r, n = P("0xa9f"), o = new XMLHttpRequest;
-                                return o[P("0xaa0")](n, t, !0),
-                                    o[P("0xaa1")] = P("0xaa2"),
-                                    o[P("0xaa3")] = !1,
-                                    o.send(null),
-                                    i = o,
-                                    r = e[P("0x9ee")].defer(),
-                                    i.onreadystatechange = function () {
-                                        if (4 === i[P("0xaa6")])
-                                            if (200 === i[P("0xaa7")]) {
-                                                if (e[P("0x14")](i[P("0xaa8")])) {
-                                                    for (var t = new DataView(i[P("0xaa8")]), n = new Uint8Array(t[P("0xaa9")]), o = 0; o < t.byteLength;)
-                                                        n[o] = t.getUint8(o, !0),
-                                                            o++;
-                                                    var a = function (t) {
-                                                        if (!(t[P("0x0")] < 1e3)) {
-                                                            var i = new (Zlib[P("0xaaa")])(t);
-                                                            return e[P("0x14")](i) ? i[P("0xaab")]() : void 0
-                                                        }
-                                                    }(n);
-                                                    e[P("0x14")](a) ? r[P("0x9f8")](a) : r[P("0xa3d")](void 0)
-                                                }
-                                            } else
-                                                (400 <= i[P("0xaa7")] || 0 == i[P("0xaa7")]) && r.reject(void 0)
-                                    }
-                                    ,
-                                    r.promise
-                            }
-                            ,
-                            e[P("0xaa4")][P("0xaa5")](i)
-                    }
-                    e.defineProperties(t[P("0x5")], {
-                        errorEvent: {
-                            get: function () {
-                                return this[P("0x9fc")]
-                            }
+                            this.readers.gml._inherit.apply(this, [e, i, t]),
+                            this.readChildNodes(e, i),
+                            t.components = [new GeoGlobe.Geometry.MultiPoint(i.components)]
                         },
-                        credit: {
-                            get: function () {
-                                return this[P("0x9fd")]
-                            }
+                        pointMember: function(e, t) {
+                            this.readChildNodes(e, t)
                         },
-                        tilingScheme: {
-                            get: function () {
-                                if (!this[P("0xa8e")])
-                                    throw new (e[P("0x15")])(P("0xa8f"));
-                                return this._tilingScheme
-                            }
+                        LineString: function(e, t) {
+                            var i = {};
+                            this.readers.gml._inherit.apply(this, [e, i, t]),
+                            this.readChildNodes(e, i),
+                            t.components || (t.components = []),
+                            t.components.push(new GeoGlobe.Geometry.LineString(i.points))
                         },
-                        ready: {
-                            get: function () {
-                                return this._ready
-                            }
+                        MultiLineString: function(e, t) {
+                            var i = {
+                                components: []
+                            };
+                            this.readers.gml._inherit.apply(this, [e, i, t]),
+                            this.readChildNodes(e, i),
+                            t.components = [new GeoGlobe.Geometry.MultiLineString(i.components)]
                         },
-                        readyPromise: {
-                            get: function () {
-                                return this[P("0xa82")][P("0xa90")]
-                            }
+                        lineStringMember: function(e, t) {
+                            this.readChildNodes(e, t)
                         },
-                        hasWaterMask: {
-                            get: function () {
-                                return !1
-                            }
+                        Polygon: function(e, t) {
+                            var i = {
+                                outer: null,
+                                inner: []
+                            };
+                            this.readers.gml._inherit.apply(this, [e, i, t]),
+                            this.readChildNodes(e, i),
+                            i.inner.unshift(i.outer),
+                            t.components || (t.components = []),
+                            t.components.push(new GeoGlobe.Geometry.Polygon(i.inner))
                         },
-                        hasVertexNormals: {
-                            get: function () {
-                                return !1
-                            }
+                        LinearRing: function(e, t) {
+                            var i = {};
+                            this.readers.gml._inherit.apply(this, [e, i]),
+                            this.readChildNodes(e, i),
+                            t.components = [new GeoGlobe.Geometry.LinearRing(i.points)]
+                        },
+                        MultiPolygon: function(e, t) {
+                            var i = {
+                                components: []
+                            };
+                            this.readers.gml._inherit.apply(this, [e, i, t]),
+                            this.readChildNodes(e, i),
+                            t.components = [new GeoGlobe.Geometry.MultiPolygon(i.components)]
+                        },
+                        polygonMember: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        GeometryCollection: function(e, t) {
+                            var i = {
+                                components: []
+                            };
+                            this.readers.gml._inherit.apply(this, [e, i, t]),
+                            this.readChildNodes(e, i),
+                            t.components = [new GeoGlobe.Geometry.Collection(i.components)]
+                        },
+                        geometryMember: function(e, t) {
+                            this.readChildNodes(e, t)
                         }
-                    }),
-                        t[P("0x5")][P("0xa91")] = function (r, o, a, s) {
-                            if (!this.ready)
-                                throw new e.DeveloperError(P("0xa8f"));
-                            1 < this[P("0xa7f")] && (this[P("0xa81")] < 8 ? this[P("0xa81")]++ : (this[P("0xa81")] = 0,
-                                this[P("0xa80")]++,
-                                this[P("0xa80")] >= this._urls_length && (this[P("0xa80")] = 0)));
-                            var x = this[P("0xa7d")][this[P("0xa80")]];
-                            if (this[P("0x68a")][P("0x9e2")](a),
-                                a < this[P("0xa8c")] && a >= this[P("0xa8b")]) {
-                                var l, c = -1 === x[P("0x2d3")]("?") ? "?" : "&", u = x + c + "x=" + r + P("0xa92") + o + P("0xa93") + (a + 1), h = this[P("0xa94")];
-                                if (e.defined(h) && (u = h[P("0xa95")](u)),
-                                    s = e[P("0x102")](s, !0)) {
-                                    if (l = i(u, s),
-                                        !e.defined(l))
-                                        return
-                                } else
-                                    l = i(u);
-                                if (this._tileType == t[P("0xa96")])
-                                    return l.then((function (e) {
-                                        return function (e, t, i, r, n) {
-                                            var o = 0
-                                                , a = 3 * Float64Array[P("0x4b5")]
-                                                , s = 4 * Float64Array[P("0x4b5")]
-                                                , x = 3 * Uint16Array.BYTES_PER_ELEMENT
-                                                , l = Uint16Array[P("0x4b5")]
-                                                , c = 3 * l
-                                                , u = new DataView(t)
-                                                , h = new Cartesian3(u[P("0xaad")](o, !0), u[P("0xaad")](o + 8, !0), u[P("0xaad")](o + 16, !0));
-                                            o += a;
-                                            var f = u[P("0xaae")](o, !0);
-                                            o += Float32Array.BYTES_PER_ELEMENT;
-                                            var d = u[P("0xaae")](o, !0);
-                                            o += Float32Array.BYTES_PER_ELEMENT;
-                                            var g = new BoundingSphere(new Cartesian3(u.getFloat64(o, !0), u[P("0xaad")](o + 8, !0), u[P("0xaad")](o + 16, !0)), u[P("0xaad")](o + a, !0));
-                                            o += s;
-                                            var p = new Cartesian3(u[P("0xaad")](o, !0), u[P("0xaad")](o + 8, !0), u[P("0xaad")](o + 16, !0));
-                                            o += a;
-                                            var m = u.getUint32(o, !0);
-                                            o += Uint32Array.BYTES_PER_ELEMENT;
-                                            var b = new Uint16Array(t, o, 3 * m);
-                                            o += m * x,
-                                                65536 < m && (c = 3 * (l = Uint32Array[P("0x4b5")]));
-                                            var v = b[P("0xaaf")](0, m)
-                                                , C = b[P("0xaaf")](m, 2 * m)
-                                                , y = b[P("0xaaf")](2 * m, 3 * m);
-                                            AttributeCompression.zigZagDeltaDecode(v, C, y),
-                                                o % l != 0 && (o += l - o % l);
-                                            var _ = u[P("0xab0")](o, !0);
-                                            o += Uint32Array[P("0x4b5")];
-                                            var A = IndexDatatype[P("0xab1")](m, t, o, 3 * _);
-                                            o += _ * c;
-                                            for (var I = 0, w = A[P("0x0")], G = 0; G < w; ++G) {
-                                                var E = A[G];
-                                                A[G] = I - E,
-                                                    0 === E && ++I
-                                            }
-                                            var S = u[P("0xab0")](o, !0);
-                                            o += Uint32Array.BYTES_PER_ELEMENT;
-                                            var T = IndexDatatype[P("0xab1")](m, t, o, S);
-                                            o += S * l;
-                                            var M = u[P("0xab0")](o, !0);
-                                            o += Uint32Array[P("0x4b5")];
-                                            var N = IndexDatatype[P("0xab1")](m, t, o, M);
-                                            o += M * l;
-                                            var L = u[P("0xab0")](o, !0);
-                                            o += Uint32Array.BYTES_PER_ELEMENT;
-                                            var R = IndexDatatype[P("0xab1")](m, t, o, L);
-                                            o += L * l;
-                                            var O = u[P("0xab0")](o, !0);
-                                            o += Uint32Array[P("0x4b5")];
-                                            var F, D, U = IndexDatatype.createTypedArrayFromArrayBuffer(m, t, o, O);
-                                            for (o += O * l; o < u[P("0xaa9")];) {
-                                                var k = u[P("0xab2")](o, !0);
-                                                o += Uint8Array[P("0x4b5")];
-                                                var B = u.getUint32(o, !0);
-                                                if (o += Uint32Array[P("0x4b5")],
-                                                    k === QuantizedMeshExtensionIds[P("0xab3")] && e[P("0xab4")])
-                                                    F = new Uint8Array(t, o, 2 * m);
-                                                else if (k === QuantizedMeshExtensionIds[P("0xab5")] && e._requestWaterMask)
-                                                    D = new Uint8Array(t, o, B);
-                                                else if (k === QuantizedMeshExtensionIds[P("0xab6")] && e[P("0xab7")]) {
-                                                    var W = u[P("0xab0")](o, !0);
-                                                    if (0 < W) {
-                                                        var j = getStringFromTypedArray(new Uint8Array(t), o + Uint32Array[P("0x4b5")], W)
-                                                            , V = JSON[P("0x946")](j)[P("0xab8")];
-                                                        if (defined(V))
-                                                            for (var z = 0; z < V[P("0x0")]; ++z)
-                                                                for (var H = i + z + 1, q = V[z], X = (e._tilingScheme[P("0x9e2")](H),
-                                                                    0); X < q[P("0x0")]; ++X) {
-                                                                    var Y = q[X];
-                                                                    Y[P("0xab9")],
-                                                                        Y.startY
-                                                                }
-                                                    }
-                                                }
-                                                o += B
-                                            }
-                                            var K, Q = 5 * e[P("0xa99")](i), Z = e[P("0x68a")][P("0xa33")](r, n, i);
-                                            return Z.width < CesiumMath.PI_OVER_TWO + CesiumMath[P("0xaba")] && (K = OrientedBoundingBox[P("0xabb")](Z, f, d, e[P("0x68a")][P("0xef")])),
-                                                new QuantizedMeshTerrainData({
-                                                    center: h,
-                                                    minimumHeight: f,
-                                                    maximumHeight: d,
-                                                    boundingSphere: g,
-                                                    orientedBoundingBox: K,
-                                                    horizonOcclusionPoint: p,
-                                                    quantizedVertices: b,
-                                                    encodedNormals: F,
-                                                    indices: A,
-                                                    westIndices: T,
-                                                    southIndices: N,
-                                                    eastIndices: R,
-                                                    northIndices: U,
-                                                    westSkirtHeight: Q,
-                                                    southSkirtHeight: Q,
-                                                    eastSkirtHeight: Q,
-                                                    northSkirtHeight: Q,
-                                                    waterMask: D,
-                                                    credits: e[P("0xabc")]
-                                                })
-                                        }(provider, e, a, r, o)
-                                    }
-                                    ));
-                                var f = this;
-                                return e[P("0x9ee")](l, (function (t) {
-                                    var i = f.transformBuffer(t);
-                                    if (e.defined(i)) {
-                                        var s = new (e[P("0xa64")])({
-                                            buffer: i,
-                                            width: f[P("0xa84")],
-                                            height: f[P("0xa85")],
-                                            childTileMask: n(f, r, o, a),
-                                            structure: f[P("0xa97")]
-                                        });
-                                        return s[P("0xa98")] = 6e3,
-                                            s
-                                    }
-                                }
-                                ))
-                            }
-                            if (a < this[P("0xa8b")]) {
-                                var d = this[P("0xa84")]
-                                    , g = this[P("0xa85")]
-                                    , p = n(this, r, o, a)
-                                    , m = this._terrainDataStructure;
-                                return new (e[P("0xa64")])({
-                                    buffer: this.getvHeightBuffer(),
-                                    width: d,
-                                    height: g,
-                                    childTileMask: p,
-                                    structure: m
-                                })
-                            }
-                            return a >= this[P("0xa8c")] ? new C.a((function (e, t) {
-                                t("璇ョ骇鍒笉鍙戦�佽姹傦紒")
-                            }
-                            )) : void 0
-                        }
-                        ,
-                        t[P("0x5")][P("0xa99")] = function (t) {
-                            if (!this[P("0xa8e")])
-                                throw new (e[P("0x15")])("requestTileGeometry must not be called before ready returns true.");
-                            return this._levelZeroMaximumGeometricError / (1 << t)
-                        }
-                        ,
-                        t[P("0x5")][P("0x9fb")] = function (e, t, i) {
-                            if (i < 25)
-                                return !0
-                        }
-                        ,
-                        t[P("0x5")][P("0xa9a")] = function () {
-                            var t = this[P("0xa9b")];
-                            if (!e[P("0x14")](t)) {
-                                t = new Uint8ClampedArray(this._heightmapWidth * this._heightmapHeight * 4);
-                                for (var i = 0; i < this[P("0xa84")] * this[P("0xa85")] * 4;)
-                                    t[i++] = 15,
-                                        t[i++] = 66,
-                                        t[i++] = 64,
-                                        t[i++] = 255;
-                                this[P("0xa9b")] = t
-                            }
-                            return t
-                        }
-                        ,
-                        t[P("0x5")][P("0xa9c")] = function (t) {
-                            var i = 2;
-                            this._dataType === e.GeoTerrainProvider[P("0xa79")] ? i = 2 : this._dataType === e[P("0xa78")].FLOAT && (i = 4);
-                            var r = t;
-                            if (r[P("0x0")] !== 22500 * i)
-                                return null;
-                            for (var n, o, a, s, x, l = new ArrayBuffer(i), c = new DataView(l), u = this[P("0xa84")], h = this[P("0xa85")], f = new Uint8Array(u * h * 4), d = 0; d < h; d++)
-                                for (var g = 0; g < u; g++) {
-                                    s = p()(149 * d / (h - 1)),
-                                        x = p()(149 * g / (u - 1)),
-                                        (1e4 < (n = 4 === i ? (o = i * (150 * s + x),
-                                            c.setInt8(0, r[o]),
-                                            c[P("0xa9d")](1, r[o + 1]),
-                                            c[P("0xa9d")](2, r[o + 2]),
-                                            c.setInt8(3, r[o + 3]),
-                                            c.getFloat32(0, !0)) : r[o = i * (150 * s + x)] + 256 * r[o + 1]) || n < -2e3) && (n = 0);
-                                    var m = (n + 1e3) / .001;
-                                    f[a = 4 * (d * u + g)] = m / 65536,
-                                        f[1 + a] = (m - 256 * f[a] * 256) / 256,
-                                        f[2 + a] = m - 256 * f[a] * 256 - 256 * f[1 + a],
-                                        f[3 + a] = 255
-                                }
-                            return f
-                        }
-                        ;
-                    var r = new (e[P("0x26b")]);
-                    function n(t, i, n, a) {
-                        for (var s = t._tilingScheme, x = t[P("0xaac")], l = s[P("0xa33")](i, n, a), c = 0, u = 0; u < x[P("0x0")] && 15 !== c; ++u) {
-                            var h = x[u];
-                            if (!(h[P("0x109")] <= a)) {
-                                var f = h[P("0x969")]
-                                    , d = e[P("0x26b")][P("0x348")](f, l, r);
-                                e[P("0x14")](d) && (o(s, f, 2 * i, 2 * n, a + 1) && (c |= 4),
-                                    o(s, f, 2 * i + 1, 2 * n, a + 1) && (c |= 8),
-                                    o(s, f, 2 * i, 2 * n + 1, a + 1) && (c |= 1),
-                                    o(s, f, 2 * i + 1, 2 * n + 1, a + 1) && (c |= 2))
-                            }
-                        }
-                        return c
-                    }
-                    function o(t, i, n, o, a) {
-                        var s = t[P("0xa33")](n, o, a);
-                        return e[P("0x14")](e.Rectangle.intersection(s, i, r))
-                    }
-                    t[P("0xa79")] = P("0xabd"),
-                        t[P("0x5e9")] = P("0xabe"),
-                        t.QUANTIZED_MESH = P("0xabf"),
-                        t[P("0xa7c")] = P("0xac0")
-                }(window[P("0xfd")]),
-                k = (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && "symbol" == w()(Symbol[P("0x1f3")]) ? function (e) {
-                    return w()(e)
-                }
-                    : function (e) {
-                        return e && (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && e[P("0x2b7")] === A.a && e !== Symbol[P("0x5")] ? "symbol" : w()(e)
-                    }
-                ,
-                function (e) {
-                    var t = e.defaultValue;
-                    function i(i) {
-                        i = t(i, t[P("0x128")]),
-                            this.viewer = i[P("0x13b")],
-                            this[P("0xac1")] = i.tileset,
-                            this[P("0xac2")] = i[P("0xac2")],
-                            this[P("0xac3")] = t(i[P("0xac3")], !0),
-                            this[P("0x69")] = t(i[P("0x69")], null),
-                            this[P("0xac4")] = t(i.originalColor, e[P("0x16a")][P("0xac5")](255, 50, 50, 1)),
-                            this[P("0xac6")] = t(i[P("0xac6")], e.Color[P("0xac5")](255, 50, 50, 122)),
-                            this.selectedColor = t(i.selectedColor, e.Color.fromBytes(50, 255, 50, 122)),
-                            this[P("0xac7")] = void 0,
-                            this[P("0xac8")] = new e.PrimitiveCollection,
-                            this[P("0xac2")] && this[P("0xac2")][P("0x165")] === P("0xac9") && this._loadGeoJSON(this[P("0xac2")].data),
-                            this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x13b")][P("0x10f")][P("0x48")]),
-                            this[P("0xac3")] && this[P("0xaca")](),
-                            this[P("0xacb")] = new (e[P("0x766")])
-                    }
-                    e[P("0x14")],
-                        e[P("0xf")](i[P("0x5")], {
-                            seletedEvent: {
-                                get: function () {
-                                    return this[P("0xacb")]
-                                }
-                            }
-                        }),
-                        i[P("0x5")]._loadGeoJSON = function (e) {
-                            var t = this;
-                            if ("object" === (w()(e) === P("0x2b6") ? P("0x2b6") : k(e)))
-                                this._loadGroundPrimitives(e);
-                            else if ("string" == typeof e) {
-                                var i = new (window[P("0xacc")]);
-                                i[P("0xaa0")](P("0xa9f"), e, !0),
-                                    i[P("0xacd")] = !1,
-                                    i.setRequestHeader(P("0xace"), P("0xacf")),
-                                    i[P("0xad0")] = function () {
-                                        console[P("0x391")](i[P("0xad1")])
-                                    }
-                                    ,
-                                    i[P("0xad2")] = function () {
-                                        if (200 <= i.status && i[P("0xaa7")] < 300 && i[P("0xaa8")]) {
-                                            var e = JSON[P("0x946")](i[P("0xaa8")]);
-                                            t[P("0xad3")](e)
-                                        }
-                                    }
-                                    ,
-                                    i.send()
-                            } else
-                                console.warn(P("0xad4"))
-                        }
-                        ,
-                        i[P("0x5")][P("0xad3")] = function (t) {
-                            this[P("0xac8")][P("0xf3")]() && (this[P("0xac8")] = new (e[P("0x51e")]));
-                            for (var i = 0; i < t[P("0x33a")][P("0x0")]; i++) {
-                                var r = t[P("0x33a")][i];
-                                if (r[P("0x180")][P("0x165")] === P("0xad5")) {
-                                    for (var n = [], o = 0; o < r[P("0x180")].coordinates[0][P("0x0")]; o++)
-                                        n[P("0x17c")](r[P("0x180")].coordinates[0][o][0]),
-                                            n[P("0x17c")](r[P("0x180")][P("0x2ed")][0][o][1]);
-                                    var a = new e.GeometryInstance({
-                                        geometry: e.PolygonGeometry[P("0x231")]({
-                                            positions: e.Cartesian3[P("0x1da")](n),
-                                            vertexFormat: e[P("0x1b0")][P("0x1b1")]
-                                        }),
-                                        attributes: {
-                                            color: e[P("0x184")][P("0x1b2")](this[P("0xac4")])
-                                        },
-                                        id: {
-                                            tag: P("0xad7"),
-                                            description: r
-                                        }
-                                    })
-                                        , s = new e.GroundPrimitive({
-                                            geometryInstances: a,
-                                            appearance: new (e[P("0x16e")]),
-                                            show: !0,
-                                            classificationType: e[P("0x17a")].BOTH
-                                        });
-                                    this[P("0xac8")][P("0x6d")](s)
-                                } else
-                                    console[P("0x2e2")]("瑕佺礌绫诲瀷鏄�" + r[P("0x180")][P("0x165")] + P("0xad6"))
-                            }
-                            this.viewer[P("0x10f")][P("0x17d")][P("0x6d")](this[P("0xac8")])
-                        }
-                        ,
-                        i.prototype[P("0xad8")] = function (e) {
-                            this.groundPrimitiveCollection && this[P("0xac8")][P("0xf4")](),
-                                this[P("0xad9")](e)
-                        }
-                        ,
-                        i[P("0x5")].isContaintFeature = function (e) {
-                            return this[P("0xac8")][P("0xd1")](e[P("0x182")])
-                        }
-                        ,
-                        i[P("0x5")][P("0xaca")] = function () {
-                            if (!0 !== this.active) {
-                                this[P("0x69")] = !0;
-                                var t = this
-                                    , i = null
-                                    , r = null;
-                                t[P("0x16f")].setInputAction((function (n) {
-                                    if (i && i.id && i.id[P("0x2cc")] == P("0xad7")) {
-                                        if (r && r.id && i && i.id && i.id.description === r.id.description)
-                                            return;
-                                        i[P("0x182")][P("0x354")](i.id)[P("0x169")] = e.ColorGeometryInstanceAttribute[P("0x356")](t[P("0xac4")]),
-                                            i = void 0
-                                    }
-                                    for (var o = void 0, a = t.viewer[P("0x10f")].drillPick(n[P("0x64")], 10), s = 0; s < a[P("0x0")]; s++)
-                                        if (a[s] && a[s].id && a[s].id[P("0x2cc")] == P("0xad7")) {
-                                            o = a[s];
-                                            break
-                                        }
-                                    if (e[P("0x14")](o) && (!r && o && o.id && o.id[P("0x2cc")] == P("0xad7") || o && o.id && r && r.id && o.id[P("0xada")] !== r.id.description)) {
-                                        if (!t[P("0xadb")](o))
-                                            return;
-                                        (i = o)[P("0x182")][P("0x354")](o.id).color = e[P("0x184")][P("0x356")](t[P("0xac6")])
-                                    }
-                                }
-                                ), e.ScreenSpaceEventType[P("0x163")]),
-                                    t[P("0x16f")][P("0x160")]((function (n) {
-                                        r && (r[P("0x182")][P("0x354")](r.id)[P("0x169")] = e[P("0x184")].toValue(t[P("0xac4")]),
-                                            r = void 0);
-                                        for (var o = void 0, a = t.viewer[P("0x10f")][P("0xadc")](n[P("0x8c")], 10), s = 0; s < a[P("0x0")]; s++)
-                                            if (a[s] && a[s].id && a[s].id[P("0x2cc")] == P("0xad7")) {
-                                                o = a[s];
+                    },
+                    feature: {
+                        "*": function(e, t) {
+                            var i, r = e.localName || e.nodeName.split(":").pop();
+                            if (t.features)
+                                if (this.singleFeatureType || -1 === GeoGlobe.Util.indexOf(this.featureType, r)) {
+                                    if (r === this.featureType)
+                                        i = "_typeName";
+                                    else if (GeoGlobe.Util.isArray(this.featureType_))
+                                        for (var n = 0; n < this.featureType_.length; n++)
+                                            if (this.featureType_[n] === r) {
+                                                i = "_typeName";
                                                 break
                                             }
-                                        if (e[P("0x14")](o) && r !== o) {
-                                            if (o && o.id && r !== o) {
-                                                if (!t[P("0xadb")](o))
-                                                    return;
-                                                (r = o)[P("0x182")][P("0x354")](o.id)[P("0x169")] = e[P("0x184")][P("0x356")](t[P("0xadd")]),
-                                                    t.selectedFeature = r
-                                            }
-                                            o && r && i && o.id === i.id && (i = void 0),
-                                                o && o.id && t._seletedEvent[P("0x896")](o)
-                                        }
-                                    }
-                                    ), e.ScreenSpaceEventType.LEFT_CLICK)
-                            }
+                                } else
+                                    i = "_typeName";
+                            else
+                                0 == e.childNodes.length || 1 == e.childNodes.length && 3 == e.firstChild.nodeType ? this.extractAttributes && (i = "_attribute") : i = "_geometry";
+                            i && this.readers.feature[i].apply(this, [e, t])
+                        },
+                        _typeName: function(e, t) {
+                            var i = {
+                                components: [],
+                                attributes: {}
+                            };
+                            this.readChildNodes(e, i),
+                            i.name && (i.attributes.name = i.name);
+                            var r = new GeoGlobe.Feature(i.components[0],i.attributes);
+                            this.singleFeatureType || (r.type = e.nodeName.split(":").pop(),
+                            r.namespace = e.namespaceURI);
+                            var n = e.getAttribute("fid") || this.getAttributeNS(e, this.namespaces.gml, "id");
+                            n && (r.fid = n),
+                            this.internalProjection && this.externalProjection && r.geometry && r.geometry.transform(this.externalProjection, this.internalProjection),
+                            i.bounds && (r.bounds = i.bounds),
+                            t.features.push(r)
+                        },
+                        _geometry: function(e, t) {
+                            this.geometryName || (this.geometryName = e.nodeName.split(":").pop()),
+                            this.readChildNodes(e, t)
+                        },
+                        _attribute: function(e, t) {
+                            var i = e.localName || e.nodeName.split(":").pop()
+                              , r = this.getChildValue(e);
+                            t.attributes[i] = r
                         }
-                        ,
-                        i[P("0x5")][P("0xade")] = function () {
-                            !0 === this[P("0x69")] && (this[P("0x69")] = !1,
-                                this.selectedFeature && this.selectedFeature.id && (this.selectedFeature[P("0x182")][P("0x354")](this.selectedFeature.id)[P("0x169")] = e[P("0x184")][P("0x356")](this[P("0xac4")]),
-                                    this.selectedFeature = null),
-                                this.handler[P("0x535")](e.ScreenSpaceEventType[P("0x163")]),
-                                this[P("0x16f")][P("0x535")](e[P("0x161")][P("0x17e")]))
+                    },
+                    wfs: {
+                        FeatureCollection: function(e, t) {
+                            this.readChildNodes(e, t)
                         }
-                        ,
-                        i[P("0x5")][P("0xf4")] = function () {
-                            this[P("0xade")](),
-                                this.handler = this.handler && this.handler.destroy(),
-                                this[P("0xac8")] = this[P("0xac8")] && this[P("0xac8")].destroy(),
-                                this.viewer = void 0,
-                                this[P("0xac1")] = void 0,
-                                this[P("0xac2")] = void 0,
-                                this[P("0xac4")] = void 0,
-                                this[P("0xac6")] = void 0,
-                                this[P("0xadd")] = void 0,
-                                this[P("0xac7")] = void 0
-                        }
-                        ,
-                        e[P("0xadf")] = i
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x5f1")]
-                        , i = e[P("0x10")]
-                        , r = e[P("0x11")]
-                        , n = e[P("0x12")]
-                        , o = e[P("0x13")]
-                        , a = e.defaultValue
-                        , s = e[P("0x14")]
-                        , x = e[P("0xf")]
-                        , l = e[P("0x15")]
-                        , c = e[P("0xae0")]
-                        , u = e[P("0x16")]
-                        , h = e[P("0x282")]
-                        , f = e[P("0x766")]
-                        , d = e[P("0xa9")]
-                        , g = e[P("0x17")]
-                        , p = e[P("0xae1")]
-                        , m = e[P("0x18")]
-                        , b = e[P("0x23")]
-                        , v = e.Matrix3
-                        , C = e[P("0x1b")]
-                        , y = e[P("0xae2")]
-                        , _ = e.OrthographicOffCenterFrustum
-                        , A = e[P("0xae3")]
-                        , I = e[P("0x1d")]
-                        , w = e.Ray
-                        , G = e[P("0x26b")]
-                        , E = e[P("0x1f")]
-                        , S = e[P("0xae4")]
-                        , T = e[P("0x21")]
-                        , M = e.SceneMode;
-                    function N(e) {
-                        if (!s(e))
-                            throw new l(P("0x24"));
-                        this[P("0x42")] = e,
-                            this[P("0xae5")] = C[P("0x6e")](C[P("0xae")]),
-                            this[P("0xae6")] = C[P("0x6e")](C.IDENTITY),
-                            this[P("0xae7")] = C.clone(C[P("0xae")]),
-                            this._actualInvTransform = C[P("0x6e")](C[P("0xae")]),
-                            this[P("0xae8")] = !1,
-                            this[P("0xae9")] = !1,
-                            this[P("0x8c")] = new r,
-                            this[P("0x6b6")] = new r,
-                            this[P("0xaea")] = new r,
-                            this._positionCartographic = new o,
-                            this[P("0x93")] = new r,
-                            this[P("0x6b7")] = new r,
-                            this[P("0xaeb")] = new r,
-                            this.up = new r,
-                            this[P("0xaec")] = new r,
-                            this[P("0xaed")] = new r,
-                            this[P("0x9b")] = new r,
-                            this[P("0xaee")] = new r,
-                            this._rightWC = new r,
-                            this[P("0xe8")] = new A,
-                            this[P("0xe8")][P("0xaef")] = e[P("0x782")] / e[P("0x783")],
-                            this[P("0xe8")][P("0xaf0")] = b.toRadians(60),
-                            this[P("0xaf1")] = 1e5,
-                            this[P("0xaf2")] = Math.PI / 60,
-                            this[P("0xaf3")] = Math.PI / 3600,
-                            this[P("0xaf4")] = 1e5,
-                            this[P("0xc7")] = void 0,
-                            this[P("0xaf5")] = 1.5,
-                            this._moveStart = new f,
-                            this[P("0xaf6")] = new f,
-                            this[P("0xaf7")] = new f,
-                            this._changedPosition = void 0,
-                            this[P("0xaf8")] = void 0,
-                            this[P("0xaf9")] = void 0,
-                            this[P("0xafa")] = .5,
-                            this[P("0x77a")] = new C,
-                            this[P("0x77b")] = new C,
-                            L(this),
-                            this._mode = M.SCENE3D,
-                            this[P("0xafb")] = !0;
-                        var t = e[P("0xbd")];
-                        this[P("0xc6")] = t,
-                            this[P("0x59")] = t.project(new o(Math.PI, b.PI_OVER_TWO)),
-                            this[P("0xafc")] = void 0,
-                            this[P("0xafd")] = !1,
-                            Qe(this, N[P("0xafe")], this.position, !0);
-                        var i = r[P("0x96")](this.position);
-                        i += i * N[P("0xaff")],
-                            r[P("0x8d")](this[P("0x8c")], this[P("0x8c")]),
-                            r[P("0x6c")](this.position, i, this.position)
                     }
-                    function L(e) {
-                        C[P("0xb03")](e[P("0x6b6")], e._direction, e[P("0xaec")], e[P("0xaee")], e[P("0x77a")]),
-                            C[P("0x737")](e[P("0x77a")], e._actualInvTransform, e._viewMatrix),
-                            C.inverseTransformation(e[P("0x77a")], e[P("0x77b")])
-                    }
-                    N[P("0xb00")] = new C(0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1),
-                        N[P("0xb01")] = C.inverseTransformation(N[P("0xb00")], new C),
-                        N[P("0xafe")] = G[P("0x1a1")](-95, -20, -70, 90),
-                        N[P("0xaff")] = .5,
-                        N.DEFAULT_OFFSET = new d(0, -b[P("0xb02")], 0),
-                        N[P("0x5")][P("0xb04")] = function () {
-                            var e = this;
-                            if (0 !== e._changed[P("0xb05")]) {
-                                var t = e[P("0xafa")];
-                                if (e[P("0x6b9")] !== M[P("0x85")]) {
-                                    if (!s(e[P("0xaf8")]))
-                                        return e[P("0xb06")] = r.clone(e[P("0xa5")], e[P("0xb06")]),
-                                            void (e[P("0xaf8")] = r[P("0x6e")](e[P("0xa6")], e[P("0xaf8")]));
-                                    var i, n = b[P("0x9d")](r[P("0x92")](e.directionWC, e[P("0xaf8")]));
-                                    i = s(e.frustum[P("0xb07")]) ? n / (.5 * e[P("0xe8")][P("0xb07")]) : n;
-                                    var o = r[P("0x8e")](e.positionWC, e[P("0xb06")]) / e.positionCartographic[P("0x8b")];
-                                    (t < i || t < o) && (e._changed[P("0x896")](Math[P("0xee")](i, o)),
-                                        e._changedPosition = r[P("0x6e")](e[P("0xa5")], e[P("0xb06")]),
-                                        e._changedDirection = r[P("0x6e")](e[P("0xa6")], e[P("0xaf8")]))
-                                } else {
-                                    if (!s(e._changedFrustum))
-                                        return e[P("0xb06")] = r[P("0x6e")](e[P("0x8c")], e._changedPosition),
-                                            void (e[P("0xaf9")] = e[P("0xe8")][P("0x6e")]());
-                                    var a, x = e[P("0x8c")], l = e[P("0xb06")], c = e[P("0xe8")], u = e[P("0xaf9")], h = x.x + c[P("0x149")], f = x.x + c.right, d = l.x + u.left, g = l.x + u[P("0x9b")], p = x.y + c[P("0x9aa")], m = x.y + c[P("0x151")], v = l.y + u.bottom, C = l.y + u[P("0x151")], y = Math[P("0xee")](h, d), _ = Math[P("0x7d")](f, g), A = Math[P("0xee")](p, v), I = Math[P("0x7d")](m, C);
-                                    if (_ <= y || m <= A)
-                                        a = 1;
-                                    else {
-                                        var w = u;
-                                        h < d && g < f && p < v && C < m && (w = c),
-                                            a = 1 - (_ - y) * (I - A) / ((w.right - w.left) * (w[P("0x151")] - w.bottom))
-                                    }
-                                    t < a && (e[P("0xaf7")].raiseEvent(a),
-                                        e[P("0xb06")] = r.clone(e.position, e[P("0xb06")]),
-                                        e[P("0xaf9")] = e[P("0xe8")].clone(e[P("0xaf9")]))
+                },
+                write: function(e) {
+                    var t;
+                    t = GeoGlobe.Util.isArray(e) ? "featureMembers" : "featureMember";
+                    var i = this.writeNode("gml:" + t, e);
+                    return this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation),
+                    GeoGlobe.Format.XML.prototype.write.apply(this, [i])
+                },
+                writers: {
+                    gml: {
+                        featureMember: function(e) {
+                            var t = this.createElementNSPlus("gml:featureMember");
+                            return this.writeNode("feature:_typeName", e, t),
+                            t
+                        },
+                        MultiPoint: function(e) {
+                            for (var t = this.createElementNSPlus("gml:MultiPoint"), i = e.components || [e], r = 0, n = i.length; r < n; ++r)
+                                this.writeNode("pointMember", i[r], t);
+                            return t
+                        },
+                        pointMember: function(e) {
+                            var t = this.createElementNSPlus("gml:pointMember");
+                            return this.writeNode("Point", e, t),
+                            t
+                        },
+                        MultiLineString: function(e) {
+                            for (var t = this.createElementNSPlus("gml:MultiLineString"), i = e.components || [e], r = 0, n = i.length; r < n; ++r)
+                                this.writeNode("lineStringMember", i[r], t);
+                            return t
+                        },
+                        lineStringMember: function(e) {
+                            var t = this.createElementNSPlus("gml:lineStringMember");
+                            return this.writeNode("LineString", e, t),
+                            t
+                        },
+                        MultiPolygon: function(e) {
+                            for (var t = this.createElementNSPlus("gml:MultiPolygon"), i = e.components || [e], r = 0, n = i.length; r < n; ++r)
+                                this.writeNode("polygonMember", i[r], t);
+                            return t
+                        },
+                        polygonMember: function(e) {
+                            var t = this.createElementNSPlus("gml:polygonMember");
+                            return this.writeNode("Polygon", e, t),
+                            t
+                        },
+                        GeometryCollection: function(e) {
+                            for (var t = this.createElementNSPlus("gml:GeometryCollection"), i = 0, r = e.components.length; i < r; ++i)
+                                this.writeNode("geometryMember", e.components[i], t);
+                            return t
+                        },
+                        geometryMember: function(e) {
+                            var t = this.createElementNSPlus("gml:geometryMember")
+                              , i = this.writeNode("feature:_geometry", e);
+                            return t.appendChild(i.firstChild),
+                            t
+                        }
+                    },
+                    feature: {
+                        _typeName: function(e) {
+                            var t = this.createElementNSPlus("feature:" + this.featureType, {
+                                attributes: {
+                                    fid: e.fid
                                 }
-                            }
-                        }
-                        ;
-                    var R = new C
-                        , O = new o;
-                    N[P("0x5")][P("0xb08")] = function () {
-                        var e = this[P("0x42")]
-                            , t = e.screenSpaceCameraController
-                            , i = t[P("0x41")]
-                            , n = t[P("0x3d")]
-                            , o = t[P("0x30")];
-                        if (!this[P("0xafd")] && i) {
-                            var a = this[P("0x6b9")]
-                                , x = e[P("0xa3")];
-                            if (s(x) && a !== M[P("0x85")] && a !== M.MORPHING) {
-                                var l, c, u = x[P("0xef")], h = e.mapProjection;
-                                C[P("0x84")](this[P("0xaf")], C[P("0xae")]) || (l = C[P("0x6e")](this[P("0xaf")], R),
-                                    c = r.magnitude(this[P("0x8c")]),
-                                    this[P("0xc2")](C.IDENTITY));
-                                var f = O;
-                                a === M[P("0x90")] ? u.cartesianToCartographic(this.position, f) : h.unproject(this[P("0x8c")], f);
-                                var d = !1;
-                                if (f[P("0x8b")] < n) {
-                                    var g = x[P("0xed")](f);
-                                    s(g) && (g += o,
-                                        f[P("0x8b")] < g && (f[P("0x8b")] = g,
-                                            a === M[P("0x90")] ? u[P("0xa7")](f, this[P("0x8c")]) : h.project(f, this[P("0x8c")]),
-                                            d = !0))
-                                }
-                                s(l) && (this[P("0xc2")](l),
-                                    d && (r[P("0x8d")](this[P("0x8c")], this[P("0x8c")]),
-                                        r[P("0xc8")](this[P("0x8c")], this[P("0x93")]),
-                                        r[P("0x6c")](this[P("0x8c")], Math[P("0xee")](c, o), this[P("0x8c")]),
-                                        r[P("0x8d")](this[P("0x93")], this[P("0x93")]),
-                                        r.cross(this[P("0x93")], this.up, this.right),
-                                        r[P("0x99")](this[P("0x9b")], this[P("0x93")], this.up)))
-                            }
-                        }
-                    }
-                        ;
-                    var F = new o
-                        , D = new r
-                        , U = new r
-                        , k = new n
-                        , B = new n
-                        , W = new n
-                        , j = new n
-                        , V = new n
-                        , z = new r;
-                    function H(e) {
-                        var t = e[P("0x6b9")]
-                            , i = !1
-                            , o = 0;
-                        t === M[P("0x85")] && (i = (o = e.frustum[P("0x9b")] - e.frustum.left) !== e[P("0x53b")].height);
-                        var a = e[P("0x6b6")]
-                            , s = !r[P("0x84")](a, e[P("0x8c")]) || i;
-                        s && (a = r[P("0x6e")](e[P("0x8c")], e[P("0x6b6")]));
-                        var x = e[P("0x6b7")]
-                            , l = !r[P("0x84")](x, e.direction);
-                        l && (r[P("0x8d")](e[P("0x93")], e[P("0x93")]),
-                            x = r[P("0x6e")](e[P("0x93")], e[P("0x6b7")]));
-                        var c = e[P("0xaec")]
-                            , u = !r[P("0x84")](c, e.up);
-                        u && (r.normalize(e.up, e.up),
-                            c = r[P("0x6e")](e.up, e[P("0xaec")]));
-                        var h = e[P("0xaee")]
-                            , f = !r[P("0x84")](h, e.right);
-                        f && (r[P("0x8d")](e[P("0x9b")], e[P("0x9b")]),
-                            h = r[P("0x6e")](e[P("0x9b")], e[P("0xaee")]));
-                        var d, g = e[P("0xae8")] || e[P("0xafb")];
-                        e[P("0xae8")] = !1,
-                            g && (C[P("0xb0c")](e[P("0xae5")], e[P("0xae6")]),
-                                e._mode === M[P("0x8a")] || e[P("0x6b9")] === M.SCENE2D ? C.equals(C[P("0xae")], e[P("0xae5")]) ? C.clone(N[P("0xb00")], e[P("0xae7")]) : e[P("0x6b9")] === M[P("0x8a")] ? (d = e,
-                                    E[P("0xb09")](d._projection, d[P("0xae5")], d._actualTransform)) : function (e) {
-                                        var t = e[P("0xc6")]
-                                            , i = t.ellipsoid
-                                            , o = C.getColumn(e._transform, 3, k)
-                                            , a = i[P("0xd6")](o, F)
-                                            , s = t[P("0x5a")](a, D)
-                                            , x = B;
-                                        x.x = s.z,
-                                            x.y = s.x,
-                                            x.z = s.y,
-                                            x.w = 1;
-                                        var l = n.clone(n[P("0xb8")], V)
-                                            , c = n[P("0x6d")](C[P("0xb0a")](e[P("0xae5")], 0, U), o, U);
-                                        i[P("0xd6")](c, a),
-                                            t[P("0x5a")](a, s);
-                                        var u = W;
-                                        u.x = s.z,
-                                            u.y = s.x,
-                                            u.z = s.y,
-                                            u.w = 0,
-                                            r.subtract(u, x, u),
-                                            u.x = 0;
-                                        var h = j;
-                                        if (r[P("0xe6")](u) > b.EPSILON10)
-                                            r[P("0x99")](l, u, h);
-                                        else {
-                                            var f = n[P("0x6d")](C.getColumn(e[P("0xae5")], 1, U), o, U);
-                                            i[P("0xd6")](f, a),
-                                                t.project(a, s),
-                                                h.x = s.z,
-                                                h.y = s.x,
-                                                h.z = s.y,
-                                                h.w = 0,
-                                                r.subtract(h, x, h),
-                                                h.x = 0,
-                                                r.magnitudeSquared(h) < b[P("0xb0b")] && (n[P("0x6e")](n.UNIT_Y, u),
-                                                    n[P("0x6e")](n[P("0xc3")], h))
-                                        }
-                                        r[P("0x99")](h, l, u),
-                                            r.normalize(u, u),
-                                            r[P("0x99")](l, u, h),
-                                            r.normalize(h, h),
-                                            C[P("0x4e3")](e[P("0xae7")], 0, u, e[P("0xae7")]),
-                                            C.setColumn(e[P("0xae7")], 1, h, e._actualTransform),
-                                            C[P("0x4e3")](e._actualTransform, 2, l, e._actualTransform),
-                                            C[P("0x4e3")](e[P("0xae7")], 3, x, e[P("0xae7")])
-                                    }(e) : C[P("0x6e")](e[P("0xae5")], e[P("0xae7")]),
-                                C[P("0xb0c")](e[P("0xae7")], e[P("0xb0d")]),
-                                e[P("0xafb")] = !1);
-                        var p = e._actualTransform;
-                        if (s || g)
-                            if (e[P("0xaea")] = C[P("0xd4")](p, a, e[P("0xaea")]),
-                                t === M[P("0x90")] || t === M.MORPHING)
-                                e[P("0x53b")] = e[P("0xc6")][P("0xef")][P("0xd6")](e._positionWC, e[P("0x53b")]);
-                            else {
-                                var m = z;
-                                m.x = e[P("0xaea")].y,
-                                    m.y = e[P("0xaea")].z,
-                                    m.z = e[P("0xaea")].x,
-                                    t === M[P("0x85")] && (m.z = o),
-                                    e._projection.unproject(m, e[P("0x53b")])
-                            }
-                        if (l || u || f) {
-                            var v = r[P("0x92")](x, r.cross(c, h, z));
-                            if (Math[P("0x78")](1 - v) > b[P("0xe9")]) {
-                                var y = 1 / r[P("0xe6")](c)
-                                    , _ = r[P("0x92")](c, x) * y
-                                    , A = r[P("0x6c")](x, _, z);
-                                c = r[P("0x8d")](r[P("0x95")](c, A, e[P("0xaec")]), e._up),
-                                    r[P("0x6e")](c, e.up),
-                                    h = r[P("0x99")](x, c, e[P("0xaee")]),
-                                    r[P("0x6e")](h, e[P("0x9b")])
-                            }
-                        }
-                        (l || g) && (e[P("0xaeb")] = C[P("0x739")](p, x, e[P("0xaeb")]),
-                            r.normalize(e[P("0xaeb")], e[P("0xaeb")])),
-                            (u || g) && (e[P("0xaed")] = C[P("0x739")](p, c, e._upWC),
-                                r.normalize(e[P("0xaed")], e._upWC)),
-                            (f || g) && (e[P("0xb0e")] = C[P("0x739")](p, h, e._rightWC),
-                                r[P("0x8d")](e[P("0xb0e")], e[P("0xb0e")])),
-                            (s || l || u || f || g) && L(e)
-                    }
-                    function q(e, t) {
-                        var i;
-                        return i = b[P("0x62")](Math[P("0x78")](e.z), 1, b.EPSILON3) ? Math[P("0x9e7")](t.y, t.x) - b[P("0x5b")] : Math.atan2(e.y, e.x) - b[P("0x5b")],
-                            b[P("0xab")] - b[P("0xb0f")](i)
-                    }
-                    function X(e) {
-                        return b[P("0x5b")] - b[P("0x9d")](e.z)
-                    }
-                    function Y(e, t, i) {
-                        var r = 0;
-                        return b[P("0x62")](Math.abs(e.z), 1, b[P("0xdf")]) || (r = Math[P("0x9e7")](-i.z, t.z),
-                            r = b[P("0xb0f")](r + b[P("0xab")])),
-                            r
-                    }
-                    var K = new C
-                        , Q = new C;
-                    x(N[P("0x5")], {
-                        transform: {
-                            get: function () {
-                                return this._transform
-                            }
-                        },
-                        inverseTransform: {
-                            get: function () {
-                                return H(this),
-                                    this[P("0xae6")]
-                            }
-                        },
-                        viewMatrix: {
-                            get: function () {
-                                return H(this),
-                                    this[P("0x77a")]
-                            }
-                        },
-                        inverseViewMatrix: {
-                            get: function () {
-                                return H(this),
-                                    this._invViewMatrix
-                            }
-                        },
-                        positionCartographic: {
-                            get: function () {
-                                return H(this),
-                                    this[P("0x53b")]
-                            }
-                        },
-                        positionWC: {
-                            get: function () {
-                                return H(this),
-                                    this[P("0xaea")]
-                            }
-                        },
-                        directionWC: {
-                            get: function () {
-                                return H(this),
-                                    this._directionWC
-                            }
-                        },
-                        upWC: {
-                            get: function () {
-                                return H(this),
-                                    this[P("0xaed")]
-                            }
-                        },
-                        rightWC: {
-                            get: function () {
-                                return H(this),
-                                    this._rightWC
-                            }
-                        },
-                        heading: {
-                            get: function () {
-                                if (this[P("0x6b9")] !== M[P("0xb10")]) {
-                                    var e = this[P("0xc6")].ellipsoid
-                                        , t = C.clone(this[P("0xae5")], K)
-                                        , i = E[P("0xbf")](this[P("0xa5")], e, Q);
-                                    this._setTransform(i);
-                                    var r = q(this[P("0x93")], this.up);
-                                    return this[P("0xc2")](t),
-                                        r
-                                }
-                            }
-                        },
-                        pitch: {
-                            get: function () {
-                                if (this[P("0x6b9")] !== M[P("0xb10")]) {
-                                    var e = this[P("0xc6")].ellipsoid
-                                        , t = C[P("0x6e")](this._transform, K)
-                                        , i = E[P("0xbf")](this[P("0xa5")], e, Q);
-                                    this._setTransform(i);
-                                    var r = X(this[P("0x93")]);
-                                    return this[P("0xc2")](t),
-                                        r
-                                }
-                            }
-                        },
-                        roll: {
-                            get: function () {
-                                if (this[P("0x6b9")] !== M[P("0xb10")]) {
-                                    var e = this[P("0xc6")][P("0xef")]
-                                        , t = C[P("0x6e")](this[P("0xae5")], K)
-                                        , i = E[P("0xbf")](this[P("0xa5")], e, Q);
-                                    this[P("0xc2")](i);
-                                    var r = Y(this.direction, this.up, this.right);
-                                    return this[P("0xc2")](t),
-                                        r
-                                }
-                            }
-                        },
-                        moveStart: {
-                            get: function () {
-                                return this[P("0xb11")]
-                            }
-                        },
-                        moveEnd: {
-                            get: function () {
-                                return this[P("0xaf6")]
-                            }
-                        },
-                        changed: {
-                            get: function () {
-                                return this[P("0xaf7")]
-                            }
-                        }
-                    }),
-                        N[P("0x5")].update = function (e) {
-                            if (!s(e))
-                                throw new l(P("0xb12"));
-                            if (e === M.SCENE2D && !(this[P("0xe8")] instanceof _))
-                                throw new l(P("0xb13"));
-                            if (!(e !== M[P("0x90")] && e !== M[P("0x8a")] || this[P("0xe8")] instanceof A || this[P("0xe8")] instanceof y))
-                                throw new l(P("0xb14"));
-                            var t = !1;
-                            if (e !== this[P("0x6b9")] && (this[P("0x6b9")] = e,
-                                this[P("0xafb")] = e !== M.MORPHING,
-                                t = this[P("0x6b9")] === M[P("0x85")]),
-                                t) {
-                                var i = this[P("0xafc")] = this[P("0xe8")][P("0x6e")]();
-                                if (!(i instanceof _))
-                                    throw new l(P("0xb15"));
-                                var r = i[P("0x151")] / i[P("0x9b")];
-                                i[P("0x9b")] = 2 * this[P("0x59")].x,
-                                    i.left = -i.right,
-                                    i[P("0x151")] = r * i[P("0x9b")],
-                                    i[P("0x9aa")] = -i[P("0x151")]
-                            }
-                            this._mode === M[P("0x85")] && me(this, this[P("0x8c")]);
-                            var n = this._scene[P("0xa3")]
-                                , o = !s(n) || n._surface[P("0xb16")].ready && 0 === n[P("0xa2e")][P("0xb17")].length && 0 === n[P("0xa2e")][P("0xb18")].length && 0 === n[P("0xa2e")][P("0xb19")].length && 0 === n._surface[P("0xb1a")][P("0xb1b")];
-                            this[P("0xafd")] && (this[P("0xafd")] = !o),
-                                this[P("0xb08")]()
-                        }
-                        ;
-                    var Z = new r
-                        , J = new r
-                        , $ = new r;
-                    N[P("0x5")][P("0xc2")] = function (e) {
-                        var t = r[P("0x6e")](this[P("0xa5")], Z)
-                            , i = r[P("0x6e")](this.upWC, J)
-                            , n = r[P("0x6e")](this[P("0xa6")], $);
-                        C[P("0x6e")](e, this._transform),
-                            this[P("0xae8")] = !0,
-                            H(this);
-                        var o = this[P("0xb0d")];
-                        C[P("0xd4")](o, t, this[P("0x8c")]),
-                            C[P("0x739")](o, n, this[P("0x93")]),
-                            C[P("0x739")](o, i, this.up),
-                            r.cross(this[P("0x93")], this.up, this.right),
-                            H(this)
-                    }
-                        ;
-                    var ee = new i
-                        , te = new w
-                        , ie = new r
-                        , re = new r;
-                    N[P("0x5")][P("0x83")] = function (e) {
-                        if (this[P("0xe8")] instanceof y && (e || !(this[P("0x53b")].height < 15e4)))
-                            if (C[P("0x84")](C[P("0xae")], this[P("0xaf")])) {
-                                var t, i, n = this[P("0x42")], o = n[P("0x43")];
-                                if (s(o)) {
-                                    var a = ee;
-                                    a.x = n[P("0x782")] / 2,
-                                        a.y = n[P("0x783")] / 2;
-                                    var x = this[P("0x86")](a, te);
-                                    if (t = o[P("0xa4")](x, n, ie),
-                                        n.pickPositionSupported && (i = n[P("0xb1c")](a, re)),
-                                        s(t) && s(i)) {
-                                        var l = s(i) ? r[P("0x8e")](i, this[P("0xa5")]) : Number[P("0x31")]
-                                            , c = s(t) ? r[P("0x8e")](t, this.positionWC) : Number[P("0x31")];
-                                        this[P("0xe8")][P("0x19a")] = Math[P("0x7d")](l, c)
-                                    } else
-                                        s(i) ? this[P("0xe8")][P("0x19a")] = r[P("0x8e")](i, this.positionWC) : s(t) && (this[P("0xe8")].width = r[P("0x8e")](t, this.positionWC))
-                                }
-                                if (!s(o) || !s(t) && !s(i)) {
-                                    var u = Math[P("0xee")](this.positionCartographic[P("0x8b")], 0);
-                                    this.frustum[P("0x19a")] = u
-                                }
-                            } else
-                                this[P("0xe8")][P("0x19a")] = r[P("0x96")](this[P("0x8c")])
-                    }
-                        ;
-                    var ne = new r
-                        , oe = new C
-                        , ae = new C
-                        , se = new I
-                        , xe = new v
-                        , le = new o
-                        , ce = new r
-                        , ue = new r
-                        , he = new r;
-                    function fe(e, t, i, n) {
-                        var o = r.clone(i[P("0x93")], ce)
-                            , a = r.clone(i.up, ue);
-                        if (e[P("0x42")][P("0xd3")] === M[P("0x90")]) {
-                            var s = e[P("0xc6")][P("0xef")]
-                                , x = E[P("0xbf")](t, s, K)
-                                , l = C[P("0xb0c")](x, Q);
-                            C[P("0x739")](l, o, o),
-                                C[P("0x739")](l, a, a)
-                        }
-                        var c = r[P("0x99")](o, a, he);
-                        return n.heading = q(o, a),
-                            n.pitch = X(o),
-                            n[P("0x81")] = Y(o, a, c),
-                            n
-                    }
-                    var de = {
-                        destination: void 0,
-                        orientation: {
-                            direction: void 0,
-                            up: void 0,
-                            heading: void 0,
-                            pitch: void 0,
-                            roll: void 0
-                        },
-                        convert: void 0,
-                        endTransform: void 0
-                    }
-                        , ge = new g;
-                    N.prototype[P("0x9c")] = function (e) {
-                        e = a(e, a[P("0x128")]);
-                        var t = a(e[P("0x11e")], a[P("0x128")])
-                            , n = this[P("0x6b9")];
-                        if (n !== M[P("0xb10")]) {
-                            s(e[P("0xb1f")]) && this[P("0xc2")](e.endTransform);
-                            var o = a(e.convert, !0)
-                                , x = a(e[P("0x11d")], r.clone(this[P("0xa5")], ne));
-                            s(x) && s(x[P("0x2a9")]) && (x = this[P("0xb20")](x, ne),
-                                o = !1),
-                                s(t[P("0x93")]) && (t = fe(this, x, t, de[P("0x11e")])),
-                                ge[P("0x7f")] = a(t[P("0x7f")], 0),
-                                ge[P("0x80")] = a(t.pitch, -b[P("0x5b")]),
-                                ge.roll = a(t[P("0x81")], 0),
-                                this[P("0xafd")] = !1,
-                                n === M[P("0x90")] ? function (e, t, i) {
-                                    var n = C[P("0x6e")](e[P("0xaf")], oe)
-                                        , o = E[P("0xbf")](t, e[P("0xc6")][P("0xef")], ae);
-                                    e[P("0xc2")](o),
-                                        r[P("0x6e")](r.ZERO, e[P("0x8c")]),
-                                        i[P("0x7f")] = i[P("0x7f")] - b[P("0x5b")];
-                                    var a = I.fromHeadingPitchRoll(i, se)
-                                        , s = v.fromQuaternion(a, xe);
-                                    v[P("0xb0a")](s, 0, e[P("0x93")]),
-                                        v[P("0xb0a")](s, 2, e.up),
-                                        r.cross(e.direction, e.up, e[P("0x9b")]),
-                                        e[P("0xc2")](n),
-                                        e[P("0x83")](!0)
-                                }(this, x, ge) : n === M[P("0x85")] ? function (e, t, n, o) {
-                                    var a = C[P("0x6e")](e[P("0xaf")], oe);
-                                    if (e[P("0xc2")](C[P("0xae")]),
-                                        !r[P("0x84")](t, e.positionWC)) {
-                                        if (o) {
-                                            var s = e[P("0xc6")]
-                                                , x = s[P("0xef")][P("0xd6")](t, le);
-                                            t = s[P("0x5a")](x, ne)
-                                        }
-                                        i.clone(t, e.position);
-                                        var l = .5 * -t.z
-                                            , c = -l
-                                            , u = e.frustum;
-                                        if (l < c) {
-                                            var h = u[P("0x151")] / u.right;
-                                            u[P("0x9b")] = c,
-                                                u[P("0x149")] = l,
-                                                u[P("0x151")] = u.right * h,
-                                                u[P("0x9aa")] = -u[P("0x151")]
-                                        }
-                                    }
-                                    if (e._scene.mapMode2D === T[P("0xb1d")]) {
-                                        n.heading = n[P("0x7f")] - b[P("0x5b")],
-                                            n[P("0x80")] = -b[P("0x5b")],
-                                            n[P("0x81")] = 0;
-                                        var f = I[P("0xb1e")](n, se)
-                                            , d = v[P("0xcd")](f, xe);
-                                        v[P("0xb0a")](d, 2, e.up),
-                                            r[P("0x99")](e[P("0x93")], e.up, e[P("0x9b")])
-                                    }
-                                    e[P("0xc2")](a)
-                                }(this, x, ge, o) : function (e, t, i, n) {
-                                    var o = C[P("0x6e")](e[P("0xaf")], oe);
-                                    if (e._setTransform(C[P("0xae")]),
-                                        !r[P("0x84")](t, e[P("0xa5")])) {
-                                        if (n) {
-                                            var a = e._projection
-                                                , s = a[P("0xef")].cartesianToCartographic(t, le);
-                                            t = a[P("0x5a")](s, ne)
-                                        }
-                                        r[P("0x6e")](t, e[P("0x8c")])
-                                    }
-                                    i.heading = i[P("0x7f")] - b[P("0x5b")];
-                                    var x = I.fromHeadingPitchRoll(i, se)
-                                        , l = v[P("0xcd")](x, xe);
-                                    v[P("0xb0a")](l, 0, e[P("0x93")]),
-                                        v.getColumn(l, 2, e.up),
-                                        r[P("0x99")](e[P("0x93")], e.up, e[P("0x9b")]),
-                                        e[P("0xc2")](o),
-                                        e[P("0x83")](!0)
-                                }(this, x, ge, o)
-                        }
-                    }
-                        ;
-                    var pe = new r;
-                    function me(e, t) {
-                        var i, r, n = e[P("0x42")].mapMode2D === T.ROTATE, o = e[P("0x59")].x, a = e[P("0x59")].y;
-                        i = n ? -(r = o) : (r = t.x - 2 * o,
-                            t.x + 2 * o),
-                            t.x > o && (t.x = r),
-                            t.x < -o && (t.x = i),
-                            t.y > a && (t.y = a),
-                            t.y < -a && (t.y = -a)
-                    }
-                    N[P("0x5")][P("0xb21")] = function (e) {
-                        var t = this[P("0x6b9")];
-                        if (t === M.MORPHING && this[P("0x42")][P("0xb22")](),
-                            t === M.SCENE2D)
-                            this[P("0xb23")]({
-                                destination: N.DEFAULT_VIEW_RECTANGLE,
-                                duration: e,
-                                endTransform: C[P("0xae")]
                             });
-                        else if (t === M.SCENE3D) {
-                            var i = this[P("0xb20")](N[P("0xafe")])
-                                , n = r[P("0x96")](i);
-                            n += n * N[P("0xaff")],
-                                r.normalize(i, i),
-                                r[P("0x6c")](i, n, i),
-                                this[P("0xb23")]({
-                                    destination: i,
-                                    duration: e,
-                                    endTransform: C.IDENTITY
-                                })
-                        } else if (t === M[P("0x8a")]) {
-                            var o = this[P("0xc6")][P("0xef")][P("0xc4")]
-                                , a = new r(0, -1, 1);
-                            a = r.multiplyByScalar(r[P("0x8d")](a, a), 5 * o, a),
-                                this.flyTo({
-                                    destination: a,
-                                    duration: e,
-                                    orientation: {
-                                        heading: 0,
-                                        pitch: -Math[P("0xdc")](r[P("0x8d")](a, pe).z),
-                                        roll: 0
-                                    },
-                                    endTransform: C[P("0xae")],
-                                    convert: !1
-                                })
-                        }
-                    }
-                        ,
-                        N.prototype[P("0xdb")] = function (e, t) {
-                            if (!s(e))
-                                throw new l("cartesian is required.");
-                            return s(t) || (t = new n),
-                                H(this),
-                                C[P("0xce")](this[P("0xb0d")], e, t)
-                        }
-                        ,
-                        N[P("0x5")][P("0xc9")] = function (e, t) {
-                            if (!s(e))
-                                throw new l(P("0xb24"));
-                            return s(t) || (t = new r),
-                                H(this),
-                                C.multiplyByPoint(this[P("0xb0d")], e, t)
-                        }
-                        ,
-                        N[P("0x5")][P("0xb25")] = function (e, t) {
-                            if (!s(e))
-                                throw new l(P("0xb24"));
-                            return s(t) || (t = new r),
-                                H(this),
-                                C[P("0x739")](this._actualInvTransform, e, t)
-                        }
-                        ,
-                        N.prototype[P("0xb26")] = function (e, t) {
-                            if (!s(e))
-                                throw new l(P("0xb24"));
-                            return s(t) || (t = new n),
-                                H(this),
-                                C[P("0xce")](this._actualTransform, e, t)
-                        }
-                        ,
-                        N[P("0x5")][P("0xb27")] = function (e, t) {
-                            if (!s(e))
-                                throw new l(P("0xb24"));
-                            return s(t) || (t = new r),
-                                H(this),
-                                C[P("0xd4")](this[P("0xae7")], e, t)
-                        }
-                        ,
-                        N.prototype[P("0xb28")] = function (e, t) {
-                            if (!s(e))
-                                throw new l(P("0xb24"));
-                            return s(t) || (t = new r),
-                                H(this),
-                                C[P("0x739")](this[P("0xae7")], e, t)
-                        }
-                        ;
-                    var be = new r;
-                    N[P("0x5")][P("0xa0")] = function (e, t) {
-                        if (!s(e))
-                            throw new l(P("0xb29"));
-                        var i = this.position;
-                        r.multiplyByScalar(e, t, be),
-                            r[P("0x6d")](i, be, i),
-                            this[P("0x6b9")] === M.SCENE2D && me(this, i),
-                            this[P("0x83")](!0)
-                    }
-                        ,
-                        N[P("0x5")][P("0x584")] = function (e) {
-                            e = a(e, this[P("0xaf1")]),
-                                this[P("0xa0")](this[P("0x93")], e)
-                        }
-                        ,
-                        N[P("0x5")][P("0x11c")] = function (e) {
-                            e = a(e, this[P("0xaf1")]),
-                                this[P("0xa0")](this[P("0x93")], -e)
-                        }
-                        ,
-                        N[P("0x5")][P("0xb2a")] = function (e) {
-                            e = a(e, this[P("0xaf1")]),
-                                this[P("0xa0")](this.up, e)
-                        }
-                        ,
-                        N[P("0x5")][P("0xb2b")] = function (e) {
-                            e = a(e, this[P("0xaf1")]),
-                                this.move(this.up, -e)
-                        }
-                        ,
-                        N[P("0x5")][P("0xb2c")] = function (e) {
-                            e = a(e, this[P("0xaf1")]),
-                                this[P("0xa0")](this[P("0x9b")], e)
-                        }
-                        ,
-                        N.prototype.moveLeft = function (e) {
-                            e = a(e, this.defaultMoveAmount),
-                                this[P("0xa0")](this[P("0x9b")], -e)
-                        }
-                        ,
-                        N[P("0x5")][P("0xb2d")] = function (e) {
-                            e = a(e, this[P("0xaf2")]),
-                                this[P("0xe7")](this.up, -e)
-                        }
-                        ,
-                        N.prototype[P("0x585")] = function (e) {
-                            e = a(e, this[P("0xaf2")]),
-                                this[P("0xe7")](this.up, e)
-                        }
-                        ,
-                        N.prototype[P("0xeb")] = function (e) {
-                            e = a(e, this[P("0xaf2")]),
-                                this[P("0xe7")](this[P("0x9b")], -e)
-                        }
-                        ,
-                        N[P("0x5")][P("0xb2e")] = function (e) {
-                            e = a(e, this[P("0xaf2")]),
-                                this.look(this[P("0x9b")], e)
-                        }
-                        ;
-                    var ve = new I
-                        , Ce = new v;
-                    N.prototype[P("0xe7")] = function (e, t) {
-                        if (!s(e))
-                            throw new l("axis is required.");
-                        var i = a(t, this[P("0xaf2")])
-                            , r = I[P("0xcc")](e, -i, ve)
-                            , n = v[P("0xcd")](r, Ce)
-                            , o = this.direction
-                            , x = this.up
-                            , c = this[P("0x9b")];
-                        v.multiplyByVector(n, o, o),
-                            v[P("0xce")](n, x, x),
-                            v[P("0xce")](n, c, c)
-                    }
-                        ,
-                        N[P("0x5")][P("0xb2f")] = function (e) {
-                            e = a(e, this[P("0xaf2")]),
-                                this.look(this.direction, e)
-                        }
-                        ,
-                        N.prototype[P("0xac")] = function (e) {
-                            e = a(e, this[P("0xaf2")]),
-                                this[P("0xe7")](this.direction, -e)
-                        }
-                        ;
-                    var ye = new I
-                        , _e = new v;
-                    N[P("0x5")][P("0x9e")] = function (e, t) {
-                        if (!s(e))
-                            throw new l(P("0xb30"));
-                        var i = a(t, this[P("0xaf3")])
-                            , n = I[P("0xcc")](e, -i, ye)
-                            , o = v[P("0xcd")](n, _e);
-                        v.multiplyByVector(o, this[P("0x8c")], this.position),
-                            v.multiplyByVector(o, this[P("0x93")], this[P("0x93")]),
-                            v[P("0xce")](o, this.up, this.up),
-                            r[P("0x99")](this[P("0x93")], this.up, this[P("0x9b")]),
-                            r[P("0x99")](this[P("0x9b")], this.direction, this.up),
-                            this[P("0x83")](!1)
-                    }
-                        ,
-                        N[P("0x5")][P("0xb31")] = function (e) {
-                            Ee(this, e = a(e, this.defaultRotateAmount))
-                        }
-                        ,
-                        N[P("0x5")][P("0xda")] = function (e) {
-                            Ee(this, -(e = a(e, this[P("0xaf3")])))
-                        }
-                        ;
-                    var Ae = new r
-                        , Ie = new r
-                        , we = new r
-                        , Ge = new r;
-                    function Ee(e, t) {
-                        var i = e.position
-                            , n = r.normalize(i, Ae);
-                        if (s(e[P("0xc7")])) {
-                            var o = r[P("0x62")](n, e[P("0xc7")], b[P("0xe9")])
-                                , a = r.equalsEpsilon(n, r.negate(e[P("0xc7")], Ge), b[P("0xe9")]);
-                            if (o || a)
-                                (o && t < 0 || a && 0 < t) && e[P("0x9e")](e[P("0x9b")], t);
-                            else {
-                                var x = r.normalize(e[P("0xc7")], Ie)
-                                    , l = r[P("0x92")](n, x)
-                                    , c = b[P("0x9d")](l);
-                                0 < t && c < t && (t = c - b[P("0xea")]),
-                                    l = r[P("0x92")](n, r[P("0xc8")](x, Ge)),
-                                    c = b.acosClamped(l),
-                                    t < 0 && c < -t && (t = -c + b[P("0xea")]);
-                                var u = r[P("0x99")](x, n, we);
-                                e.rotate(u, t)
+                            for (var i in e.geometry && this.writeNode("feature:_geometry", e.geometry, t),
+                            e.attributes) {
+                                var r = e.attributes[i];
+                                null != r && this.writeNode("feature:_attribute", {
+                                    name: i,
+                                    value: r
+                                }, t)
                             }
-                        } else
-                            e[P("0x9e")](e[P("0x9b")], t)
-                    }
-                    function Se(e, t) {
-                        s(e[P("0xc7")]) ? e[P("0x9e")](e.constrainedAxis, t) : e[P("0x9e")](e.up, t)
-                    }
-                    function Te(e, t) {
-                        var i, r = e[P("0xe8")];
-                        if (!(r instanceof _ && s(r.left) && s(r[P("0x9b")]) && s(r[P("0x9aa")]) && s(r[P("0x151")])))
-                            throw new l(P("0xb15"));
-                        if (t *= .5,
-                            Math.abs(r[P("0x151")]) + Math[P("0x78")](r[P("0x9aa")]) > Math.abs(r.left) + Math[P("0x78")](r[P("0x9b")])) {
-                            var n = r[P("0x151")] - t
-                                , o = r[P("0x9aa")] + t
-                                , a = e[P("0x59")].y;
-                            e._scene[P("0xad")] === T[P("0xb1d")] && (a *= e[P("0xaf5")]),
-                                a < o && (n = -(o = a)),
-                                n <= o && (o = -(n = 1)),
-                                i = r.right / r.top,
-                                r.top = n,
-                                r[P("0x9aa")] = o,
-                                r.right = r[P("0x151")] * i,
-                                r[P("0x149")] = -r[P("0x9b")]
-                        } else {
-                            var x = r[P("0x9b")] - t
-                                , c = r[P("0x149")] + t
-                                , u = e._maxCoord.x;
-                            e[P("0x42")][P("0xad")] === T[P("0xb1d")] && (u *= e[P("0xaf5")]),
-                                u < x && (c = -(x = u)),
-                                x <= c && (c = -(x = 1)),
-                                i = r[P("0x151")] / r.right,
-                                r.right = x,
-                                r[P("0x149")] = c,
-                                r[P("0x151")] = r[P("0x9b")] * i,
-                                r[P("0x9aa")] = -r[P("0x151")]
+                            return t
+                        },
+                        _geometry: function(e) {
+                            this.externalProjection && this.internalProjection && (e = e.clone().transform(this.internalProjection, this.externalProjection));
+                            var t = this.createElementNSPlus("feature:" + this.geometryName)
+                              , i = this.geometryTypes[e.CLASS_NAME]
+                              , r = this.writeNode("gml:" + i, e, t);
+                            return this.srsName && r.setAttribute("srsName", this.srsName),
+                            t
+                        },
+                        _attribute: function(e) {
+                            return this.createElementNSPlus("feature:" + e.name, {
+                                value: e.value
+                            })
+                        }
+                    },
+                    wfs: {
+                        FeatureCollection: function(e) {
+                            for (var t = this.createElementNSPlus("wfs:FeatureCollection"), i = 0, r = e.length; i < r; ++i)
+                                this.writeNode("gml:featureMember", e[i], t);
+                            return t
                         }
                     }
-                    function Pe(e, t) {
-                        e[P("0xa0")](e.direction, t)
+                },
+                setGeometryTypes: function() {
+                    this.geometryTypes = {
+                        "GeoGlobe.Geometry.Point": "Point",
+                        "GeoGlobe.Geometry.MultiPoint": "MultiPoint",
+                        "GeoGlobe.Geometry.LineString": "LineString",
+                        "GeoGlobe.Geometry.MultiLineString": "MultiLineString",
+                        "GeoGlobe.Geometry.Polygon": "Polygon",
+                        "GeoGlobe.Geometry.MultiPolygon": "MultiPolygon",
+                        "GeoGlobe.Geometry.Collection": "GeometryCollection"
                     }
-                    N.prototype[P("0xd8")] = function (e) {
-                        Se(this, -(e = a(e, this[P("0xaf3")])))
+                },
+                setFeatureType_: function(e) {
+                    this.featureType_ = e
+                },
+                CLASS_NAME: "GeoGlobe.Format.GML.Base"
+            }),
+            GeoGlobe.Format.GML.v2 = GeoGlobe.Class4OL(GeoGlobe.Format.GML.Base, {
+                schemaLocation: "http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd",
+                initialize: function(e) {
+                    GeoGlobe.Format.GML.Base.prototype.initialize.apply(this, [e])
+                },
+                readers: {
+                    gml: GeoGlobe.Util.applyDefaults({
+                        outerBoundaryIs: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.outer = i.components[0]
+                        },
+                        innerBoundaryIs: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.inner.push(i.components[0])
+                        },
+                        Box: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.components || (t.components = []);
+                            var r = i.points[0]
+                              , n = i.points[1]
+                              , o = new GeoGlobe.LngLat(r.x,r.y)
+                              , a = new GeoGlobe.LngLat(n.x,n.y);
+                            t.components.push(new GeoGlobe.LngLatBounds(o,a))
+                        }
+                    }, GeoGlobe.Format.GML.Base.prototype.readers.gml),
+                    feature: GeoGlobe.Format.GML.Base.prototype.readers.feature,
+                    wfs: GeoGlobe.Format.GML.Base.prototype.readers.wfs
+                },
+                write: function(e) {
+                    var t;
+                    t = GeoGlobe.Util.isArray(e) ? "wfs:FeatureCollection" : "gml:featureMember";
+                    var i = this.writeNode(t, e);
+                    return this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation),
+                    GeoGlobe.Format.XML.prototype.write.apply(this, [i])
+                },
+                writers: {
+                    gml: GeoGlobe.Util.applyDefaults({
+                        Point: function(e) {
+                            var t = this.createElementNSPlus("gml:Point");
+                            return this.writeNode("coordinates", [e], t),
+                            t
+                        },
+                        coordinates: function(e) {
+                            for (var t, i = e.length, r = new Array(i), n = 0; n < i; ++n)
+                                t = e[n],
+                                this.xy ? r[n] = t.x + "," + t.y : r[n] = t.y + "," + t.x,
+                                null != t.z && (r[n] += "," + t.z);
+                            return this.createElementNSPlus("gml:coordinates", {
+                                attributes: {
+                                    decimal: ".",
+                                    cs: ",",
+                                    ts: " "
+                                },
+                                value: 1 == i ? r[0] : r.join(" ")
+                            })
+                        },
+                        LineString: function(e) {
+                            var t = this.createElementNSPlus("gml:LineString");
+                            return this.writeNode("coordinates", e.components, t),
+                            t
+                        },
+                        Polygon: function(e) {
+                            var t = this.createElementNSPlus("gml:Polygon");
+                            this.writeNode("outerBoundaryIs", e.components[0], t);
+                            for (var i = 1; i < e.components.length; ++i)
+                                this.writeNode("innerBoundaryIs", e.components[i], t);
+                            return t
+                        },
+                        outerBoundaryIs: function(e) {
+                            var t = this.createElementNSPlus("gml:outerBoundaryIs");
+                            return this.writeNode("LinearRing", e, t),
+                            t
+                        },
+                        innerBoundaryIs: function(e) {
+                            var t = this.createElementNSPlus("gml:innerBoundaryIs");
+                            return this.writeNode("LinearRing", e, t),
+                            t
+                        },
+                        LinearRing: function(e) {
+                            var t = this.createElementNSPlus("gml:LinearRing");
+                            return this.writeNode("coordinates", e.components, t),
+                            t
+                        },
+                        Box: function(e) {
+                            var t = this.createElementNSPlus("gml:Box");
+                            return this.writeNode("coordinates", [{
+                                x: e._sw.lng,
+                                y: e._sw.lat
+                            }, {
+                                x: e._ne.lng,
+                                y: e._ne.lat
+                            }], t),
+                            this.srsName && t.setAttribute("srsName", this.srsName),
+                            t
+                        }
+                    }, GeoGlobe.Format.GML.Base.prototype.writers.gml),
+                    feature: GeoGlobe.Format.GML.Base.prototype.writers.feature,
+                    wfs: GeoGlobe.Format.GML.Base.prototype.writers.wfs
+                },
+                CLASS_NAME: "GeoGlobe.Format.GML.v2"
+            }),
+            GeoGlobe.Format.GML.v3 = GeoGlobe.Class4OL(GeoGlobe.Format.GML.Base, {
+                schemaLocation: "http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/profiles/gmlsfProfile/1.0.0/gmlsf.xsd",
+                curve: !1,
+                multiCurve: !0,
+                surface: !1,
+                multiSurface: !0,
+                initialize: function(e) {
+                    GeoGlobe.Format.GML.Base.prototype.initialize.apply(this, [e])
+                },
+                readers: {
+                    gml: GeoGlobe.Util.applyDefaults({
+                        _inherit: function(e, t, i) {
+                            var r = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("srsDimension"), 10) || i && i.srsDimension;
+                            r && (t.srsDimension = r)
+                        },
+                        featureMembers: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        Curve: function(e, t) {
+                            var i = {
+                                points: []
+                            };
+                            this.readers.gml._inherit.apply(this, [e, i, t]),
+                            this.readChildNodes(e, i),
+                            t.components || (t.components = []),
+                            t.components.push(new GeoGlobe.Geometry.LineString(i.points))
+                        },
+                        segments: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        LineStringSegment: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            i.points && Array.prototype.push.apply(t.points, i.points)
+                        },
+                        pos: function(e, t) {
+                            var i, r = this.getChildValue(e).replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace);
+                            i = this.xy ? new GeoGlobe.Geometry.Point(r[0],r[1],r[2]) : new GeoGlobe.Geometry.Point(r[1],r[0],r[2]),
+                            t.points = [i]
+                        },
+                        posList: function(e, t) {
+                            for (var i, r, n, o = this.getChildValue(e).replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace), a = t.srsDimension || _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("srsDimension") || e.getAttribute("dimension"), 10) || 2, s = o.length / a, x = new Array(s), l = 0, c = o.length; l < c; l += a)
+                                i = o[l],
+                                r = o[l + 1],
+                                n = 2 == a ? void 0 : o[l + 2],
+                                this.xy ? x[l / a] = new GeoGlobe.Geometry.Point(i,r,n) : x[l / a] = new GeoGlobe.Geometry.Point(r,i,n);
+                            t.points = x
+                        },
+                        Surface: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        patches: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        PolygonPatch: function(e, t) {
+                            this.readers.gml.Polygon.apply(this, [e, t])
+                        },
+                        exterior: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.outer = i.components[0]
+                        },
+                        interior: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.inner.push(i.components[0])
+                        },
+                        MultiCurve: function(e, t) {
+                            var i = {
+                                components: []
+                            };
+                            this.readers.gml._inherit.apply(this, [e, i, t]),
+                            this.readChildNodes(e, i),
+                            i.components.length > 0 && (t.components = [new GeoGlobe.Geometry.MultiLineString(i.components)])
+                        },
+                        curveMember: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        MultiSurface: function(e, t) {
+                            var i = {
+                                components: []
+                            };
+                            this.readers.gml._inherit.apply(this, [e, i, t]),
+                            this.readChildNodes(e, i),
+                            i.components.length > 0 && (t.components = [new GeoGlobe.Geometry.MultiPolygon(i.components)])
+                        },
+                        surfaceMember: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        surfaceMembers: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        pointMembers: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        lineStringMembers: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        polygonMembers: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        geometryMembers: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        Envelope: function(e, t) {
+                            var i = {
+                                points: new Array(2)
+                            };
+                            this.readChildNodes(e, i),
+                            t.components || (t.components = []);
+                            var r = i.points[0]
+                              , n = i.points[1]
+                              , o = new GeoGlobe.LngLat(r.x,r.y)
+                              , a = new GeoGlobe.LngLat(n.x,n.y);
+                            t.components.push(new GeoGlobe.LngLatBounds(o,a))
+                        },
+                        lowerCorner: function(e, t) {
+                            var i = {};
+                            this.readers.gml.pos.apply(this, [e, i]),
+                            t.points[0] = i.points[0]
+                        },
+                        upperCorner: function(e, t) {
+                            var i = {};
+                            this.readers.gml.pos.apply(this, [e, i]),
+                            t.points[1] = i.points[0]
+                        }
+                    }, GeoGlobe.Format.GML.Base.prototype.readers.gml),
+                    feature: GeoGlobe.Format.GML.Base.prototype.readers.feature,
+                    wfs: GeoGlobe.Format.GML.Base.prototype.readers.wfs
+                },
+                write: function(e) {
+                    var t;
+                    t = GeoGlobe.Util.isArray(e) ? "featureMembers" : "featureMember";
+                    var i = this.writeNode("gml:" + t, e);
+                    return this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation),
+                    GeoGlobe.Format.XML.prototype.write.apply(this, [i])
+                },
+                writers: {
+                    gml: GeoGlobe.Util.applyDefaults({
+                        featureMembers: function(e) {
+                            for (var t = this.createElementNSPlus("gml:featureMembers"), i = 0, r = e.length; i < r; ++i)
+                                this.writeNode("feature:_typeName", e[i], t);
+                            return t
+                        },
+                        Point: function(e) {
+                            var t = this.createElementNSPlus("gml:Point");
+                            return this.writeNode("pos", e, t),
+                            t
+                        },
+                        pos: function(e) {
+                            var t = this.xy ? e.x + " " + e.y : e.y + " " + e.x;
+                            return this.createElementNSPlus("gml:pos", {
+                                value: t
+                            })
+                        },
+                        LineString: function(e) {
+                            var t = this.createElementNSPlus("gml:LineString");
+                            return this.writeNode("posList", e.components, t),
+                            t
+                        },
+                        Curve: function(e) {
+                            var t = this.createElementNSPlus("gml:Curve");
+                            return this.writeNode("segments", e, t),
+                            t
+                        },
+                        segments: function(e) {
+                            var t = this.createElementNSPlus("gml:segments");
+                            return this.writeNode("LineStringSegment", e, t),
+                            t
+                        },
+                        LineStringSegment: function(e) {
+                            var t = this.createElementNSPlus("gml:LineStringSegment");
+                            return this.writeNode("posList", e.components, t),
+                            t
+                        },
+                        posList: function(e) {
+                            for (var t, i = e.length, r = new Array(i), n = 0; n < i; ++n)
+                                t = e[n],
+                                this.xy ? r[n] = t.x + " " + t.y : r[n] = t.y + " " + t.x;
+                            return this.createElementNSPlus("gml:posList", {
+                                value: r.join(" ")
+                            })
+                        },
+                        Surface: function(e) {
+                            var t = this.createElementNSPlus("gml:Surface");
+                            return this.writeNode("patches", e, t),
+                            t
+                        },
+                        patches: function(e) {
+                            var t = this.createElementNSPlus("gml:patches");
+                            return this.writeNode("PolygonPatch", e, t),
+                            t
+                        },
+                        PolygonPatch: function(e) {
+                            var t = this.createElementNSPlus("gml:PolygonPatch", {
+                                attributes: {
+                                    interpolation: "planar"
+                                }
+                            });
+                            this.writeNode("exterior", e.components[0], t);
+                            for (var i = 1, r = e.components.length; i < r; ++i)
+                                this.writeNode("interior", e.components[i], t);
+                            return t
+                        },
+                        Polygon: function(e) {
+                            var t = this.createElementNSPlus("gml:Polygon");
+                            this.writeNode("exterior", e.components[0], t);
+                            for (var i = 1, r = e.components.length; i < r; ++i)
+                                this.writeNode("interior", e.components[i], t);
+                            return t
+                        },
+                        exterior: function(e) {
+                            var t = this.createElementNSPlus("gml:exterior");
+                            return this.writeNode("LinearRing", e, t),
+                            t
+                        },
+                        interior: function(e) {
+                            var t = this.createElementNSPlus("gml:interior");
+                            return this.writeNode("LinearRing", e, t),
+                            t
+                        },
+                        LinearRing: function(e) {
+                            var t = this.createElementNSPlus("gml:LinearRing");
+                            return this.writeNode("posList", e.components, t),
+                            t
+                        },
+                        MultiCurve: function(e) {
+                            for (var t = this.createElementNSPlus("gml:MultiCurve"), i = e.components || [e], r = 0, n = i.length; r < n; ++r)
+                                this.writeNode("curveMember", i[r], t);
+                            return t
+                        },
+                        curveMember: function(e) {
+                            var t = this.createElementNSPlus("gml:curveMember");
+                            return this.curve ? this.writeNode("Curve", e, t) : this.writeNode("LineString", e, t),
+                            t
+                        },
+                        MultiSurface: function(e) {
+                            for (var t = this.createElementNSPlus("gml:MultiSurface"), i = e.components || [e], r = 0, n = i.length; r < n; ++r)
+                                this.writeNode("surfaceMember", i[r], t);
+                            return t
+                        },
+                        surfaceMember: function(e) {
+                            var t = this.createElementNSPlus("gml:surfaceMember");
+                            return this.surface ? this.writeNode("Surface", e, t) : this.writeNode("Polygon", e, t),
+                            t
+                        },
+                        Envelope: function(e) {
+                            var t = this.createElementNSPlus("gml:Envelope");
+                            return this.writeNode("lowerCorner", e, t),
+                            this.writeNode("upperCorner", e, t),
+                            this.srsName && t.setAttribute("srsName", this.srsName),
+                            t
+                        },
+                        lowerCorner: function(e) {
+                            var t = this.xy ? e._sw.lng + " " + e._sw.lat : e._sw.lat + " " + e._sw.lng;
+                            return this.createElementNSPlus("gml:lowerCorner", {
+                                value: t
+                            })
+                        },
+                        upperCorner: function(e) {
+                            var t = this.xy ? e._ne.lng + " " + e._ne.lat : e._ne.lat + " " + e._ne.lng;
+                            return this.createElementNSPlus("gml:upperCorner", {
+                                value: t
+                            })
+                        }
+                    }, GeoGlobe.Format.GML.Base.prototype.writers.gml),
+                    feature: GeoGlobe.Format.GML.Base.prototype.writers.feature,
+                    wfs: GeoGlobe.Format.GML.Base.prototype.writers.wfs
+                },
+                setGeometryTypes: function() {
+                    this.geometryTypes = {
+                        "GeoGlobe.Geometry.Point": "Point",
+                        "GeoGlobe.Geometry.MultiPoint": "MultiPoint",
+                        "GeoGlobe.Geometry.LineString": !0 === this.curve ? "Curve" : "LineString",
+                        "GeoGlobe.Geometry.MultiLineString": !1 === this.multiCurve ? "MultiLineString" : "MultiCurve",
+                        "GeoGlobe.Geometry.Polygon": !0 === this.surface ? "Surface" : "Polygon",
+                        "GeoGlobe.Geometry.MultiPolygon": !1 === this.multiSurface ? "MultiPolygon" : "MultiSurface",
+                        "GeoGlobe.Geometry.Collection": "GeometryCollection"
                     }
-                        ,
-                        N[P("0x5")][P("0xb32")] = function (e) {
-                            Se(this, e = a(e, this[P("0xaf3")]))
-                        }
-                        ,
-                        N[P("0x5")][P("0x82")] = function (e) {
-                            e = a(e, this[P("0xaf4")]),
-                                this[P("0x6b9")] === M[P("0x85")] ? Te(this, e) : Pe(this, e)
-                        }
-                        ,
-                        N.prototype[P("0xb33")] = function (e) {
-                            e = a(e, this[P("0xaf4")]),
-                                this[P("0x6b9")] === M.SCENE2D ? Te(this, -e) : Pe(this, -e)
-                        }
-                        ,
-                        N[P("0x5")][P("0x8f")] = function () {
-                            return this[P("0x6b9")] === M.SCENE3D ? r[P("0x96")](this[P("0x8c")]) : this._mode === M.COLUMBUS_VIEW ? Math.abs(this[P("0x8c")].z) : this[P("0x6b9")] === M[P("0x85")] ? Math[P("0xee")](this[P("0xe8")][P("0x9b")] - this[P("0xe8")][P("0x149")], this[P("0xe8")][P("0x151")] - this[P("0xe8")].bottom) : void 0
-                        }
-                        ;
-                    var Me = new C;
-                    N[P("0x5")][P("0x50a")] = function (e, t) {
-                        if (!s(e))
-                            throw new l("target is required");
-                        if (!s(t))
-                            throw new l(P("0xb34"));
-                        if (this._mode === M[P("0xb10")])
-                            throw new l(P("0xb35"));
-                        var i = E[P("0xbf")](e, u[P("0x110")], Me);
-                        this.lookAtTransform(i, t)
-                    }
-                        ;
-                    var Ne = new r
-                        , Le = new I
-                        , Re = new I
-                        , Oe = new v;
-                    function Fe(e, t, i) {
-                        t = b[P("0x77")](t, -b[P("0x5b")], b[P("0x5b")]),
-                            e = b.zeroToTwoPi(e) - b[P("0x5b")];
-                        var n = I[P("0xcc")](r[P("0xb36")], -t, Le)
-                            , o = I[P("0xcc")](r[P("0xc3")], -e, Re)
-                            , a = I[P("0x737")](o, n, o)
-                            , s = v[P("0xcd")](a, Oe)
-                            , x = r.clone(r[P("0xb8")], Ne);
-                        return v[P("0xce")](s, x, x),
-                            r[P("0xc8")](x, x),
-                            r.multiplyByScalar(x, i, x),
-                            x
-                    }
-                    N[P("0x5")].lookAtTransform = function (e, t) {
-                        if (!s(e))
-                            throw new l(P("0xb37"));
-                        if (this._mode === M[P("0xb10")])
-                            throw new l(P("0xb38"));
-                        if (this[P("0xc2")](e),
-                            s(t)) {
-                            var n;
-                            if (n = s(t[P("0x7f")]) ? Fe(t[P("0x7f")], t[P("0x80")], t[P("0x55c")]) : t,
-                                this._mode === M[P("0x85")]) {
-                                i[P("0x6e")](i[P("0x6f")], this[P("0x8c")]),
-                                    r[P("0xc8")](n, this.up),
-                                    this.up.z = 0,
-                                    r.magnitudeSquared(this.up) < b.EPSILON10 && r.clone(r[P("0xb36")], this.up),
-                                    r[P("0x8d")](this.up, this.up),
-                                    this[P("0xc2")](C[P("0xae")]),
-                                    r[P("0xc8")](r.UNIT_Z, this.direction),
-                                    r.cross(this[P("0x93")], this.up, this.right),
-                                    r[P("0x8d")](this[P("0x9b")], this.right);
-                                var o = this[P("0xe8")]
-                                    , a = o[P("0x151")] / o[P("0x9b")];
-                                return o[P("0x9b")] = .5 * r[P("0x96")](n),
-                                    o.left = -o[P("0x9b")],
-                                    o.top = a * o[P("0x9b")],
-                                    o[P("0x9aa")] = -o.top,
-                                    void this[P("0xc2")](e)
-                            }
-                            r[P("0x6e")](n, this[P("0x8c")]),
-                                r[P("0xc8")](this[P("0x8c")], this[P("0x93")]),
-                                r[P("0x8d")](this[P("0x93")], this[P("0x93")]),
-                                r.cross(this.direction, r[P("0xc3")], this.right),
-                                r[P("0xe6")](this[P("0x9b")]) < b[P("0xb0b")] && r[P("0x6e")](r[P("0xb8")], this[P("0x9b")]),
-                                r.normalize(this.right, this[P("0x9b")]),
-                                r[P("0x99")](this[P("0x9b")], this[P("0x93")], this.up),
-                                r[P("0x8d")](this.up, this.up),
-                                this[P("0x83")](!0)
-                        }
-                    }
-                        ;
-                    var De, Ue = new o, ke = new o, Be = new r, We = new r, je = new r, Ve = new r, ze = new r, He = new r, qe = new r, Xe = new r, Ye = {
-                        direction: new r,
-                        right: new r,
-                        up: new r
+                },
+                CLASS_NAME: "GeoGlobe.Format.GML.v3"
+            }),
+            GeoGlobe.Format.KML = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                namespaces: {
+                    kml: "http://www.opengis.net/kml/2.2",
+                    gx: "http://www.google.com/kml/ext/2.2"
+                },
+                kmlns: "http://earth.google.com/kml/2.0",
+                placemarksDesc: "No description available",
+                foldersName: "GeoGlobe export",
+                foldersDesc: "Exported on " + new Date,
+                extractAttributes: !0,
+                kvpAttributes: !1,
+                extractStyles: !1,
+                extractTracks: !1,
+                trackAttributes: null,
+                internalns: null,
+                features: null,
+                styles: null,
+                styleBaseUrl: "",
+                fetched: null,
+                maxDepth: 0,
+                initialize: function(e) {
+                    this.regExes = {
+                        trimSpace: /^\s*|\s*$/g,
+                        removeSpace: /\s*/g,
+                        splitSpace: /\s+/,
+                        trimComma: /\s*,\s*/g,
+                        kmlColor: /(\w{2})(\w{2})(\w{2})(\w{2})/,
+                        kmlIconPalette: /root:\/\/icons\/palette-(\d+)(\.\w+)/,
+                        straightBracket: /\$\[(.*?)\]/g
+                    },
+                    this.externalProjection = new GeoGlobe.SpatialReference("EPSG:4326"),
+                    GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
+                },
+                read: function(e) {
+                    this.features = [],
+                    this.styles = {},
+                    this.fetched = {};
+                    var t = {
+                        depth: 0,
+                        styleBaseUrl: this.styleBaseUrl
                     };
-                    function Ke(e, t, i, n) {
-                        return Math.abs(r[P("0x92")](t, i)) / n - r[P("0x92")](e, i)
-                    }
-                    function Qe(e, t, i, n) {
-                        var o = e[P("0xc6")][P("0xef")]
-                            , a = n ? e : Ye
-                            , x = t[P("0x2ac")]
-                            , l = t[P("0x2ab")]
-                            , c = t[P("0x2aa")]
-                            , u = t[P("0x2a9")];
-                        c < u && (c += b[P("0xab")]);
-                        var f, d = .5 * (u + c);
-                        if (l < -b[P("0x5b")] + b[P("0xa2c")] && x > b.PI_OVER_TWO - b[P("0xa2c")])
-                            f = 0;
-                        else {
-                            var g = Ue;
-                            g[P("0x112")] = d,
-                                g[P("0x114")] = x,
-                                g.height = 0;
-                            var p = ke;
-                            p[P("0x112")] = d,
-                                p[P("0x114")] = l,
-                                p[P("0x8b")] = 0;
-                            var m = De;
-                            s(m) && m[P("0xef")] === o || (De = m = new h(void 0, void 0, o)),
-                                m[P("0xb39")](g, p),
-                                f = m[P("0x283")](.5, Ue).latitude
-                        }
-                        var v = Ue;
-                        v[P("0x112")] = d,
-                            v[P("0x114")] = f,
-                            v[P("0x8b")] = 0;
-                        var C = o[P("0xa7")](v, qe)
-                            , _ = Ue;
-                        _[P("0x112")] = c,
-                            _.latitude = x;
-                        var A = o[P("0xa7")](_, Be);
-                        _[P("0x112")] = u;
-                        var I = o.cartographicToCartesian(_, je);
-                        _.longitude = d;
-                        var w = o[P("0xa7")](_, ze);
-                        _.latitude = l;
-                        var G = o[P("0xa7")](_, He);
-                        _[P("0x112")] = c;
-                        var E = o[P("0xa7")](_, Ve);
-                        _[P("0x112")] = u;
-                        var S = o[P("0xa7")](_, We);
-                        r[P("0x95")](I, C, I),
-                            r[P("0x95")](E, C, E),
-                            r.subtract(A, C, A),
-                            r[P("0x95")](S, C, S),
-                            r[P("0x95")](w, C, w),
-                            r[P("0x95")](G, C, G);
-                        var T = o[P("0xd5")](C, a[P("0x93")]);
-                        r.negate(T, T);
-                        var M = r.cross(T, r[P("0xc3")], a.right);
-                        r[P("0x8d")](M, M);
-                        var N, L = r[P("0x99")](M, T, a.up);
-                        if (e[P("0xe8")] instanceof y) {
-                            var R, O, F = Math.max(r[P("0x8e")](A, I), r[P("0x8e")](E, S)), D = Math[P("0xee")](r.distance(A, E), r[P("0x8e")](I, S)), U = e[P("0xe8")][P("0xb3a")].right / e[P("0xe8")]._offCenterFrustum[P("0x151")], k = D * U;
-                            k < F ? O = (R = F) / U : (O = D,
-                                R = k),
-                                N = Math[P("0xee")](R, O)
-                        } else {
-                            var B = Math.tan(.5 * e[P("0xe8")][P("0xb07")])
-                                , W = e[P("0xe8")][P("0xaef")] * B;
-                            if (N = Math[P("0xee")](Ke(T, L, I, B), Ke(T, L, E, B), Ke(T, L, A, B), Ke(T, L, S, B), Ke(T, L, w, B), Ke(T, L, G, B), Ke(T, M, I, W), Ke(T, M, E, W), Ke(T, M, A, W), Ke(T, M, S, W), Ke(T, M, w, W), Ke(T, M, G, W)),
-                                l < 0 && 0 < x) {
-                                var j = Ue;
-                                j[P("0x112")] = u,
-                                    j[P("0x114")] = 0,
-                                    j[P("0x8b")] = 0;
-                                var V = o.cartographicToCartesian(j, Xe);
-                                r[P("0x95")](V, C, V),
-                                    N = Math[P("0xee")](N, Ke(T, L, V, B), Ke(T, M, V, W)),
-                                    j.longitude = c,
-                                    V = o.cartographicToCartesian(j, Xe),
-                                    r[P("0x95")](V, C, V),
-                                    N = Math.max(N, Ke(T, L, V, B), Ke(T, M, V, W))
+                    return this.parseData(e, t)
+                },
+                parseData: function(e, t) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
+                    for (var i = ["Link", "NetworkLink", "Style", "StyleMap", "Placemark"], r = 0, n = i.length; r < n; ++r) {
+                        var o = i[r]
+                          , a = this.getElementsByTagNameNS(e, "*", o);
+                        if (0 != a.length)
+                            switch (o.toLowerCase()) {
+                            case "link":
+                            case "networklink":
+                                this.parseLinks(a, t);
+                                break;
+                            case "style":
+                                this.extractStyles && this.parseStyles(a, t);
+                                break;
+                            case "stylemap":
+                                this.extractStyles && this.parseStyleMaps(a, t);
+                                break;
+                            case "placemark":
+                                this.parseFeatures(a, t)
                             }
-                        }
-                        return r[P("0x6d")](C, r[P("0x6c")](T, -N, Xe), i)
                     }
-                    var Ze = new o
-                        , Je = new r
-                        , $e = new r
-                        , et = new o
-                        , tt = new r
-                        , it = new r;
-                    N[P("0x5")][P("0xb20")] = function (e, t) {
-                        if (!s(e))
-                            throw new l(P("0xb3c"));
-                        var i = this[P("0x6b9")];
-                        return s(t) || (t = new r),
-                            i === M[P("0x90")] ? Qe(this, e, t) : i === M[P("0x8a")] ? function (e, t, i) {
-                                var r = e[P("0xc6")];
-                                t.west > t[P("0x2aa")] && (t = G[P("0xb3b")]);
-                                var n = e[P("0xae7")]
-                                    , o = e[P("0xb0d")]
-                                    , a = Ze;
-                                a[P("0x112")] = t[P("0x2aa")],
-                                    a[P("0x114")] = t.north;
-                                var x = r.project(a, Je);
-                                C[P("0xd4")](n, x, x),
-                                    C[P("0xd4")](o, x, x),
-                                    a[P("0x112")] = t[P("0x2a9")],
-                                    a[P("0x114")] = t.south;
-                                var l = r[P("0x5a")](a, $e);
-                                if (C[P("0xd4")](n, l, l),
-                                    C.multiplyByPoint(o, l, l),
-                                    i.x = .5 * (x.x - l.x) + l.x,
-                                    i.y = .5 * (x.y - l.y) + l.y,
-                                    s(e[P("0xe8")][P("0xb07")])) {
-                                    var c = Math[P("0x992")](.5 * e[P("0xe8")][P("0xb07")])
-                                        , u = e.frustum[P("0xaef")] * c;
-                                    i.z = .5 * Math[P("0xee")]((x.x - l.x) / u, (x.y - l.y) / c)
-                                } else {
-                                    var h = x.x - l.x
-                                        , f = x.y - l.y;
-                                    i.z = Math[P("0xee")](h, f)
-                                }
-                                return i
-                            }(this, e, t) : i === M.SCENE2D ? function (e, t, i) {
-                                var r = e._projection;
-                                t.west > t[P("0x2aa")] && (t = G[P("0xb3b")]);
-                                var n = et;
-                                n[P("0x112")] = t.east,
-                                    n[P("0x114")] = t[P("0x2ac")];
-                                var o = r.project(n, tt);
-                                n[P("0x112")] = t.west,
-                                    n[P("0x114")] = t.south;
-                                var a, s, x = r[P("0x5a")](n, it), l = .5 * Math[P("0x78")](o.x - x.x), c = .5 * Math.abs(o.y - x.y), u = e[P("0xe8")][P("0x9b")] / e[P("0xe8")].top, h = c * u;
-                                return h < l ? s = (a = l) / u : (s = c,
-                                    a = h),
-                                    c = Math[P("0xee")](2 * a, 2 * s),
-                                    i.x = .5 * (o.x - x.x) + x.x,
-                                    i.y = .5 * (o.y - x.y) + x.y,
-                                    (n = r[P("0xbe")](i, n))[P("0x8b")] = c,
-                                    r[P("0x5a")](n, i)
-                            }(this, e, t) : void 0
-                    }
-                        ;
-                    var rt = new w
-                        , nt = new w
-                        , ot = new w;
-                    N[P("0x5")][P("0xa2")] = function (e, t, i) {
-                        if (!s(e))
-                            throw new l(P("0xb3d"));
-                        var n = this[P("0x42")][P("0x48")];
-                        if (0 !== n.clientWidth && 0 !== n[P("0x7c")]) {
-                            if (s(i) || (i = new r),
-                                t = a(t, u[P("0x110")]),
-                                this._mode === M[P("0x90")])
-                                i = function (e, t, i, r) {
-                                    i = a(i, u[P("0x110")]);
-                                    var n = e.getPickRay(t, rt)
-                                        , o = m[P("0xe0")](n, i);
-                                    if (o) {
-                                        var s = 0 < o[P("0xe2")] ? o[P("0xe2")] : o[P("0xe4")];
-                                        return w.getPoint(n, s, r)
-                                    }
-                                }(this, e, t, i);
-                            else if (this._mode === M[P("0x85")])
-                                i = function (e, t, i, r) {
-                                    var n = e[P("0x86")](t, nt)[P("0x87")];
-                                    n.z = 0;
-                                    var o = i[P("0xbe")](n);
-                                    if (!(o[P("0x114")] < -b[P("0x5b")] || o.latitude > b[P("0x5b")]))
-                                        return i.ellipsoid[P("0xa7")](o, r)
-                                }(this, e, this[P("0xc6")], i);
-                            else {
-                                if (this[P("0x6b9")] !== M[P("0x8a")])
-                                    return;
-                                i = function (e, t, i, n) {
-                                    var o = e.getPickRay(t, ot)
-                                        , a = -o[P("0x87")].x / o[P("0x93")].x;
-                                    w[P("0xe1")](o, a, n);
-                                    var s = i.unproject(new r(n.y, n.z, 0));
-                                    if (!(s[P("0x114")] < -b[P("0x5b")] || s[P("0x114")] > b[P("0x5b")] || s[P("0x112")] < -Math.PI || s.longitude > Math.PI))
-                                        return i[P("0xef")][P("0xa7")](s, n)
-                                }(this, e, this[P("0xc6")], i)
-                            }
-                            return i
+                    return this.features
+                },
+                parseLinks: function(e, t) {
+                    if (t.depth >= this.maxDepth)
+                        return !1;
+                    var i = GeoGlobe.Util.extend({}, t);
+                    i.depth++;
+                    for (var r = 0, n = e.length; r < n; r++) {
+                        var o = this.parseProperty(e[r], "*", "href");
+                        if (o && !this.fetched[o]) {
+                            this.fetched[o] = !0;
+                            var a = this.fetchLink(o);
+                            a && this.parseData(a, i)
                         }
                     }
-                        ;
-                    var at = new r
-                        , st = new r
-                        , xt = new r
-                        , lt = new r;
-                    N[P("0x5")][P("0x86")] = function (e, t) {
-                        if (!s(e))
-                            throw new l(P("0xb3d"));
-                        s(t) || (t = new w);
-                        var i = this[P("0xe8")];
-                        return s(i[P("0xaef")]) && s(i[P("0xaf0")]) && s(i[P("0xb3e")]) ? function (e, t, i) {
-                            var n = e[P("0x42")].canvas
-                                , o = n[P("0x94")]
-                                , a = n[P("0x7c")]
-                                , s = Math[P("0x992")](.5 * e[P("0xe8")].fovy)
-                                , x = e.frustum[P("0xaef")] * s
-                                , l = e.frustum.near
-                                , c = 2 / o * t.x - 1
-                                , u = 2 / a * (a - t.y) - 1
-                                , h = e[P("0xa5")];
-                            r[P("0x6e")](h, i[P("0x87")]);
-                            var f = r[P("0x6c")](e[P("0xa6")], l, at);
-                            r[P("0x6d")](h, f, f);
-                            var d = r[P("0x6c")](e.rightWC, c * l * x, st)
-                                , g = r[P("0x6c")](e.upWC, u * l * s, xt)
-                                , p = r[P("0x6d")](f, d, i[P("0x93")]);
-                            return r[P("0x6d")](p, g, p),
-                                r[P("0x95")](p, h, p),
-                                r[P("0x8d")](p, p),
-                                i
-                        }(this, e, t) : function (e, t, i) {
-                            var n = e[P("0x42")].canvas
-                                , o = n[P("0x94")]
-                                , a = n[P("0x7c")]
-                                , x = e.frustum;
-                            s(x._offCenterFrustum) && (x = x._offCenterFrustum);
-                            var l = 2 / o * t.x - 1;
-                            l *= .5 * (x[P("0x9b")] - x[P("0x149")]);
-                            var c = 2 / a * (a - t.y) - 1;
-                            c *= .5 * (x.top - x[P("0x9aa")]);
-                            var u = i.origin;
-                            return r[P("0x6e")](e.position, u),
-                                r[P("0x6c")](e.right, l, lt),
-                                r.add(lt, u, u),
-                                r.multiplyByScalar(e.up, c, lt),
-                                r[P("0x6d")](lt, u, u),
-                                r[P("0x6e")](e[P("0xa6")], i[P("0x93")]),
-                                e[P("0x6b9")] === M[P("0x8a")] && r[P("0x88")](i[P("0x87")].z, i[P("0x87")].x, i.origin.y, i[P("0x87")]),
-                                i
-                        }(this, e, t)
-                    }
-                        ;
-                    var ct = new r
-                        , ut = new r;
-                    N[P("0x5")][P("0xb3f")] = function (e) {
-                        if (!s(e))
-                            throw new l(P("0xb40"));
-                        var t = r[P("0x95")](this[P("0xa5")], e[P("0x11a")], ct)
-                            , i = r[P("0x6c")](this[P("0xa6")], r[P("0x92")](t, this[P("0xa6")]), ut);
-                        return Math[P("0xee")](0, r[P("0x96")](i) - e[P("0x181")])
-                    }
-                        ;
-                    var ht = new i;
-                    function ft(e, t, i, n, o, a) {
-                        var s = r.clone(t);
-                        return i.y > n ? s.y -= i.y - n : i.y < -n && (s.y += -n - i.y),
-                            i.z > o ? s.z -= i.z - o : i.z < -o && (s.z += -o - i.z),
-                        {
-                            easingFunction: c[P("0xb44")],
-                            startObject: {
-                                time: 0
-                            },
-                            stopObject: {
-                                time: 1
-                            },
-                            duration: a,
-                            update: function (i) {
-                                var n = r[P("0x308")](t, s, i.time, new r);
-                                e[P("0xc9")](n, e[P("0x8c")])
-                            }
+                },
+                fetchLink: function(e) {
+                    var t = GeoGlobe.Request.GET({
+                        url: e,
+                        async: !1
+                    });
+                    if (t)
+                        return t.responseText
+                },
+                parseStyles: function(e, t) {
+                    for (var i = 0, r = e.length; i < r; i++) {
+                        var n = this.parseStyle(e[i]);
+                        if (n) {
+                            var o = (t.styleBaseUrl || "") + "#" + n.id;
+                            this.styles[o] = n
                         }
                     }
-                    N.prototype[P("0xb41")] = function (e, t, i) {
-                        if (!s(e))
-                            throw new l(P("0xb40"));
-                        if (!s(t))
-                            throw new l("drawingBufferWidth is required.");
-                        if (!s(i))
-                            throw new l(P("0xb42"));
-                        var r = this[P("0xb3f")](e)
-                            , n = this.frustum[P("0xb43")](t, i, r, ht);
-                        return Math[P("0xee")](n.x, n.y)
-                    }
-                        ;
-                    var dt = new r
-                        , gt = new r
-                        , pt = new r
-                        , mt = new r;
-                    N[P("0x5")][P("0xb45")] = function (e) {
-                        if (!s(e))
-                            throw new l(P("0xb46"));
-                        if (this[P("0x6b9")] === M[P("0x8a")])
-                            return function (e, t) {
-                                var i = e[P("0x8c")]
-                                    , n = e[P("0x93")]
-                                    , o = e.worldToCameraCoordinatesVector(r[P("0xb8")], dt)
-                                    , a = -r[P("0x92")](o, i) / r[P("0x92")](o, n)
-                                    , s = r[P("0x6d")](i, r[P("0x6c")](n, a, gt), gt);
-                                e[P("0xb27")](s, s),
-                                    i = e[P("0xb27")](e.position, pt);
-                                var x = Math[P("0x992")](.5 * e[P("0xe8")][P("0xb07")])
-                                    , l = e[P("0xe8")][P("0xaef")] * x
-                                    , c = r.magnitude(r[P("0x95")](i, s, mt))
-                                    , u = l * c
-                                    , h = x * c
-                                    , f = e._maxCoord.x
-                                    , d = e[P("0x59")].y
-                                    , g = Math.max(u - f, f)
-                                    , p = Math[P("0xee")](h - d, d);
-                                if (i.z < -g || i.z > g || i.y < -p || i.y > p) {
-                                    var m = s.y < -g || s.y > g
-                                        , b = s.z < -p || s.z > p;
-                                    if (m || b)
-                                        return ft(e, i, s, g, p, t)
-                                }
-                            }(this, e)
-                    }
-                        ;
-                    var bt = new r
-                        , vt = {
-                            destination: void 0,
-                            heading: void 0,
-                            pitch: void 0,
-                            roll: void 0,
-                            duration: void 0,
-                            complete: void 0,
-                            cancel: void 0,
-                            endTransform: void 0,
-                            maximumHeight: void 0,
-                            easingFunction: void 0
-                        };
-                    function Ct(e, t, i) {
-                        s(i) || (i = d[P("0x6e")](N[P("0xb52")]));
-                        var r, n, o, a, x = e[P("0x42")][P("0x24f")][P("0x30")], l = e[P("0x42")][P("0x24f")][P("0x79")], c = i[P("0x55c")];
-                        if (!s(c) || 0 === c) {
-                            var u = t[P("0x181")];
-                            0 === u ? i[P("0x55c")] = 100 : e.frustum instanceof y || e[P("0x6b9")] === M[P("0x85")] ? i[P("0x55c")] = function (e, t) {
-                                var i, r, n = e[P("0xe8")];
-                                s(n[P("0xb3a")]) && (n = n[P("0xb3a")]);
-                                var o = n[P("0x9b")] / n.top
-                                    , a = t * o;
-                                return a < t ? r = (i = t) / o : (r = t,
-                                    i = a),
-                                    1.5 * Math[P("0xee")](i, r)
-                            }(e, u) : i[P("0x55c")] = (r = u,
-                                n = e[P("0xe8")],
-                                o = Math[P("0x992")](.5 * n[P("0xb07")]),
-                                a = n[P("0xaef")] * o,
-                                Math[P("0xee")](r / a, r / o)),
-                                i[P("0x55c")] = b[P("0x77")](i.range, x, l)
-                        }
-                        return i
-                    }
-                    N[P("0x5")].cancelFlight = function () {
-                        s(this[P("0xb47")]) && (this._currentFlight.cancelTween(),
-                            this[P("0xb47")] = void 0)
-                    }
-                        ,
-                        N[P("0x5")][P("0xb23")] = function (e) {
-                            var t = (e = a(e, a.EMPTY_OBJECT)).destination;
-                            if (!s(t))
-                                throw new l(P("0xb48"));
-                            if (this[P("0x6b9")] !== M[P("0xb10")]) {
-                                this[P("0xb49")]();
-                                var i = a(e[P("0x11e")], a.EMPTY_OBJECT);
-                                if (s(i[P("0x93")]) && (i = fe(this, t, i, de[P("0x11e")])),
-                                    s(e[P("0x763")]) && e.duration <= 0) {
-                                    var r = de;
-                                    return r[P("0x11d")] = e[P("0x11d")],
-                                        r[P("0x11e")][P("0x7f")] = i[P("0x7f")],
-                                        r[P("0x11e")][P("0x80")] = i[P("0x80")],
-                                        r[P("0x11e")][P("0x81")] = i[P("0x81")],
-                                        r[P("0xb4a")] = e[P("0xb4a")],
-                                        r[P("0xb1f")] = e[P("0xb1f")],
-                                        this[P("0x9c")](r),
-                                        void ("function" == typeof e[P("0xb4b")] && e[P("0xb4b")]())
-                                }
-                                var n = s(t[P("0x2a9")]);
-                                n && (t = this[P("0xb20")](t, bt));
-                                var o, x = this;
-                                vt[P("0x11d")] = t,
-                                    vt[P("0x7f")] = i.heading,
-                                    vt[P("0x80")] = i[P("0x80")],
-                                    vt.roll = i[P("0x81")],
-                                    vt[P("0x763")] = e[P("0x763")],
-                                    vt[P("0xb4b")] = function () {
-                                        o === x[P("0xb47")] && (x[P("0xb47")] = void 0),
-                                            s(e[P("0xb4b")]) && e[P("0xb4b")]()
-                                    }
-                                    ,
-                                    vt[P("0xb4c")] = e[P("0xb4c")],
-                                    vt[P("0xb1f")] = e[P("0xb1f")],
-                                    vt[P("0xb4a")] = !n && e.convert,
-                                    vt.maximumHeight = e[P("0x46d")],
-                                    vt[P("0xb4d")] = e.pitchAdjustHeight,
-                                    vt.flyOverLongitude = e[P("0xb4e")],
-                                    vt[P("0xb4f")] = e[P("0xb4f")],
-                                    vt[P("0xb50")] = e[P("0xb50")];
-                                var c = this[P("0x42")];
-                                o = c.tweens[P("0x6d")](S[P("0xb51")](c, vt)),
-                                    this[P("0xb47")] = o
-                            }
-                        }
-                        ,
-                        N[P("0x5")].viewBoundingSphere = function (e, t) {
-                            if (!s(e))
-                                throw new l(P("0xb40"));
-                            if (this[P("0x6b9")] === M[P("0xb10")])
-                                throw new l(P("0xb53"));
-                            t = Ct(this, e, t),
-                                this[P("0x50a")](e[P("0x11a")], t)
-                        }
-                        ;
-                    var yt = new C
-                        , _t = new r
-                        , At = new r
-                        , It = new r
-                        , wt = new r
-                        , Gt = new n
-                        , Et = new I
-                        , St = new v;
-                    N.prototype[P("0xa8")] = function (e, t) {
-                        if (!s(e))
-                            throw new l(P("0xb40"));
-                        t = a(t, a.EMPTY_OBJECT);
-                        var i = this[P("0x6b9")] === M[P("0x85")] || this._mode === M.COLUMBUS_VIEW;
-                        this[P("0xc2")](C[P("0xae")]);
-                        var n, o = Ct(this, e, t[P("0xa4a")]);
-                        n = i ? r[P("0x6c")](r[P("0xc3")], o.range, _t) : Fe(o[P("0x7f")], o[P("0x80")], o[P("0x55c")]);
-                        var x, c, h = E.eastNorthUpToFixedFrame(e[P("0x11a")], u[P("0x110")], yt);
-                        if (C[P("0xd4")](h, n, n),
-                            !i) {
-                            if (x = r[P("0x95")](e[P("0x11a")], n, At),
-                                r[P("0x8d")](x, x),
-                                c = C[P("0x739")](h, r[P("0xc3")], It),
-                                1 - Math.abs(r[P("0x92")](x, c)) < b[P("0xbb")]) {
-                                var f = I.fromAxisAngle(x, o.heading, Et)
-                                    , d = v.fromQuaternion(f, St);
-                                r[P("0xb54")](C[P("0xb0a")](h, 1, Gt), c),
-                                    v[P("0xce")](d, c, c)
-                            }
-                            var g = r.cross(x, c, wt);
-                            r[P("0x99")](g, x, c),
-                                r[P("0x8d")](c, c)
-                        }
-                        this[P("0xb23")]({
-                            destination: n,
-                            orientation: {
-                                direction: x,
-                                up: c
-                            },
-                            duration: t[P("0x763")],
-                            complete: t[P("0xb4b")],
-                            cancel: t[P("0xb4c")],
-                            endTransform: t[P("0xb1f")],
-                            maximumHeight: t[P("0x46d")],
-                            easingFunction: t[P("0xb50")],
-                            flyOverLongitude: t[P("0xb4e")],
-                            flyOverLongitudeWeight: t[P("0xb4f")],
-                            pitchAdjustHeight: t[P("0xb4d")]
+                },
+                parseKmlColor: function(e) {
+                    var t = null;
+                    if (e) {
+                        var i = e.match(this.regExes.kmlColor);
+                        i && (t = {
+                            color: "#" + i[4] + i[3] + i[2],
+                            opacity: _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[1], 16) / 255
                         })
                     }
-                        ;
-                    var Tt = new r
-                        , Pt = new r
-                        , Mt = new r
-                        , Nt = new r
-                        , Lt = [new r, new r, new r, new r]
-                        , Rt = new i
-                        , Ot = new r
-                        , Ft = [new o, new o, new o, new o];
-                    function Dt(e, t, i, r, n, o) {
-                        Rt.x = e,
-                            Rt.y = t;
-                        var a = r[P("0xa2")](Rt, n, Ot);
-                        return s(a) ? (Ft[i] = n[P("0xd6")](a, Ft[i]),
-                            1) : (Ft[i] = n[P("0xd6")](o[i], Ft[i]),
-                                0)
-                    }
-                    N.prototype.computeViewRectangle = function (e, i) {
-                        e = a(e, u.WGS84);
-                        var n = this[P("0xe8")].computeCullingVolume(this.positionWC, this[P("0xa6")], this[P("0xb58")])
-                            , o = new t(r.ZERO, e[P("0xc4")]);
-                        if (n[P("0xb59")](o) !== p.OUTSIDE) {
-                            var s = this._scene[P("0x48")]
-                                , x = s.clientWidth
-                                , l = s.clientHeight
-                                , c = 0
-                                , h = function (e, t) {
-                                    var i, n, o = t[P("0xb55")], a = e.positionWC, s = r[P("0xb56")](t[P("0xb57")], a, Tt), x = r[P("0x96")](s), l = r[P("0x8d")](s, Pt);
-                                    n = r[P("0x62")](l, r[P("0xc3")], b[P("0xb0b")]) ? (i = new r(0, 1, 0),
-                                        new r(0, 0, 1)) : (i = r[P("0x8d")](r[P("0x99")](r[P("0xc3")], l, Mt), Mt),
-                                            r.normalize(r[P("0x99")](l, i, Nt), Nt));
-                                    var c = Math.sqrt(r.magnitudeSquared(s) - 1)
-                                        , u = r[P("0x6c")](l, 1 / x, Tt)
-                                        , h = c / x
-                                        , f = r[P("0x6c")](i, h, Pt)
-                                        , d = r[P("0x6c")](n, h, Mt)
-                                        , g = r[P("0x6d")](u, d, Lt[0]);
-                                    r[P("0x95")](g, f, g),
-                                        r.multiplyComponents(o, g, g);
-                                    var p = r.subtract(u, d, Lt[1]);
-                                    r[P("0x95")](p, f, p),
-                                        r.multiplyComponents(o, p, p);
-                                    var m = r[P("0x95")](u, d, Lt[2]);
-                                    r[P("0x6d")](m, f, m),
-                                        r[P("0xb56")](o, m, m);
-                                    var v = r.add(u, d, Lt[3]);
-                                    return r[P("0x6d")](v, f, v),
-                                        r[P("0xb56")](o, v, v),
-                                        Lt
-                                }(this, e);
-                            if (c += Dt(0, 0, 0, this, e, h),
-                                c += Dt(0, l, 1, this, e, h),
-                                c += Dt(x, l, 2, this, e, h),
-                                (c += Dt(x, 0, 3, this, e, h)) < 2)
-                                return G[P("0xb3b")];
-                            i = G[P("0xb5a")](Ft, i);
-                            for (var f = 0, d = Ft[3][P("0x112")], g = 0; g < 4; ++g) {
-                                var m = Ft[g][P("0x112")]
-                                    , v = Math.abs(m - d);
-                                v > b.PI ? f += b.TWO_PI - v : f += v,
-                                    d = m
-                            }
-                            return b.equalsEpsilon(Math[P("0x78")](f), b.TWO_PI, b[P("0xb5b")]) && (i[P("0x2a9")] = -b.PI,
-                                i[P("0x2aa")] = b.PI,
-                                0 <= Ft[0][P("0x114")] ? i.north = b[P("0x5b")] : i[P("0x2ab")] = -b.PI_OVER_TWO),
-                                i
-                        }
-                    }
-                        ,
-                        N.prototype[P("0xb5c")] = function () {
-                            if (!(this._mode === M[P("0x85")] || this.frustum instanceof A)) {
-                                var e = this[P("0x42")];
-                                this[P("0xe8")] = new A,
-                                    this.frustum[P("0xaef")] = e[P("0x782")] / e[P("0x783")],
-                                    this.frustum.fov = b[P("0x119")](60)
-                            }
-                        }
-                        ,
-                        N[P("0x5")][P("0xb5d")] = function () {
-                            if (!(this._mode === M[P("0x85")] || this.frustum instanceof y)) {
-                                var e = this._scene;
-                                this[P("0xe8")] = new y,
-                                    this[P("0xe8")][P("0xaef")] = e.drawingBufferWidth / e[P("0x783")],
-                                    this[P("0xe8")][P("0x19a")] = r.magnitude(this.position);
-                                var t = this.frustum[P("0xb5e")];
-                                s(t) && this[P("0x83")](!0)
-                            }
-                        }
-                        ,
-                        N[P("0x6e")] = function (e, t) {
-                            return s(t) || (t = new N(e[P("0x42")])),
-                                r.clone(e[P("0x8c")], t[P("0x8c")]),
-                                r[P("0x6e")](e[P("0x93")], t[P("0x93")]),
-                                r.clone(e.up, t.up),
-                                r[P("0x6e")](e[P("0x9b")], t[P("0x9b")]),
-                                C.clone(e[P("0xae5")], t[P("0xaf")]),
-                                t[P("0xae8")] = !0,
-                                t
-                        }
-                        ,
-                        e.GeoCamera = N
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x10")]
-                        , i = e.defined
-                        , r = e[P("0xf")]
-                        , n = e[P("0x22b")]
-                        , o = e.DeveloperError
-                        , a = e[P("0x19")]
-                        , s = e[P("0x23")]
-                        , x = e[P("0x15f")]
-                        , l = e[P("0x161")]
-                        , c = e[P("0xb5f")];
-                    function u(e, t) {
-                        var r = e;
-                        return i(t) && (r += "+" + t),
-                            r
-                    }
-                    function h(e, r, n) {
-                        var o = u(c[P("0x35")], r)
-                            , a = e[P("0xb60")]
-                            , s = e[P("0xb61")]
-                            , x = e._eventStartPosition
-                            , h = e._pressTime
-                            , f = e._releaseTime;
-                        a[o] = !0,
-                            s[o] = !1,
-                            x[o] = new t;
-                        var d = e[P("0xb62")][o];
-                        i(d) || (d = e[P("0xb62")][o] = {}),
-                            d[P("0x8e")] = {
-                                startPosition: new t,
-                                endPosition: new t
-                            },
-                            d[P("0xaa")] = {
-                                startPosition: new t,
-                                endPosition: new t
-                            },
-                            d[P("0xb63")] = 0,
-                            e._eventHandler[P("0x160")]((function (i) {
-                                e[P("0xb64")]++,
-                                    s[o] = !0,
-                                    h[o] = new Date,
-                                    t[P("0x308")](i[P("0xb65")], i.position2, .5, x[o])
-                            }
-                            ), l[P("0x162")], r),
-                            e[P("0xb66")][P("0x160")]((function () {
-                                e._buttonsDown = Math[P("0xee")](e[P("0xb64")] - 1, 0),
-                                    s[o] = !1,
-                                    f[o] = new Date
-                            }
-                            ), l[P("0xb67")], r),
-                            e[P("0xb66")][P("0x160")]((function (e) {
-                                if (s[o]) {
-                                    a[o] ? (l = e,
-                                        c = d,
-                                        t[P("0x6e")](l[P("0x8e")].startPosition, c.distance[P("0x63")]),
-                                        t[P("0x6e")](l[P("0x8e")][P("0x64")], c[P("0x8e")][P("0x64")]),
-                                        t[P("0x6e")](l[P("0xaa")].startPosition, c[P("0xaa")].startPosition),
-                                        t[P("0x6e")](l.angleAndHeight[P("0x64")], c[P("0xaa")][P("0x64")]),
-                                        a[o] = !1,
-                                        d[P("0xb63")] = d[P("0xaa")][P("0x63")].x) : (t.clone(e.distance[P("0x64")], d[P("0x8e")].endPosition),
-                                            t[P("0x6e")](e.angleAndHeight[P("0x64")], d[P("0xaa")][P("0x64")]));
-                                    for (var i = d.angleAndHeight[P("0x64")].x, r = d[P("0xb63")], x = 2 * Math.PI; i >= r + Math.PI;)
-                                        i -= x;
-                                    for (; i < r - Math.PI;)
-                                        i += x;
-                                    d[P("0xaa")].endPosition.x = -i * n[P("0x94")] / 12,
-                                        d.angleAndHeight.startPosition.x = -r * n.clientWidth / 12
-                                }
-                                var l, c
-                            }
-                            ), l[P("0xb68")], r)
-                    }
-                    function f(e, r) {
-                        var n = u(c[P("0x34")], r)
-                            , o = e._update;
-                        o[n] = !0;
-                        var a = e[P("0xb62")][n];
-                        i(a) || (a = e[P("0xb62")][n] = {}),
-                            a.startPosition = new t,
-                            a[P("0x64")] = new t,
-                            e[P("0xb66")].setInputAction((function (e) {
-                                var i = 10 * s[P("0x119")](e);
-                                o[n] ? (t.clone(t[P("0x6f")], a[P("0x63")]),
-                                    a[P("0x64")].x = 0,
-                                    a[P("0x64")].y = i,
-                                    o[n] = !1) : a[P("0x64")].y = a[P("0x64")].y + i
-                            }
-                            ), l.WHEEL, r)
-                    }
-                    function d(e, r, n) {
-                        var o = u(n, r)
-                            , a = e[P("0xb61")]
-                            , s = e[P("0xb69")]
-                            , x = e[P("0xb6a")]
-                            , h = e[P("0xb6b")];
-                        a[o] = !1,
-                            s[o] = new t;
-                        var f, d, g = e._lastMovement[o];
-                        i(g) || (g = e._lastMovement[o] = {
-                            startPosition: new t,
-                            endPosition: new t,
-                            valid: !1
-                        }),
-                            n === c[P("0x32")] ? (f = l[P("0x1ff")],
-                                d = l[P("0x1fd")]) : n === c[P("0x37")] ? (f = l[P("0xb6c")],
-                                    d = l[P("0xb6d")]) : n === c[P("0xb6e")] && (f = l.MIDDLE_DOWN,
-                                        d = l[P("0xb6f")]),
-                            e[P("0xb66")][P("0x160")]((function (i) {
-                                e[P("0xb64")]++,
-                                    g.valid = !1,
-                                    a[o] = !0,
-                                    x[o] = new Date,
-                                    t[P("0x6e")](i.position, s[o])
-                            }
-                            ), f, r),
-                            e[P("0xb66")][P("0x160")]((function () {
-                                e[P("0xb64")] = Math[P("0xee")](e[P("0xb64")] - 1, 0),
-                                    a[o] = !1,
-                                    h[o] = new Date
-                            }
-                            ), d, r)
-                    }
-                    function g(e, i) {
-                        t.clone(e[P("0x63")], i[P("0x63")]),
-                            t.clone(e[P("0x64")], i[P("0x64")])
-                    }
-                    function p(e, r) {
-                        var n = e[P("0xb60")]
-                            , o = e._movement
-                            , a = e._lastMovement
-                            , s = e[P("0xb61")];
-                        for (var x in c)
-                            if (c[P("0xa5c")](x)) {
-                                var h = c[x];
-                                if (i(h)) {
-                                    var f = u(h, r);
-                                    n[f] = !0,
-                                        i(e[P("0xb70")][f]) || (e[P("0xb70")][f] = {
-                                            startPosition: new t,
-                                            endPosition: new t,
-                                            valid: !1
-                                        }),
-                                        i(e[P("0xb62")][f]) || (e[P("0xb62")][f] = {
-                                            startPosition: new t,
-                                            endPosition: new t
-                                        })
-                                }
-                            }
-                        e[P("0xb66")][P("0x160")]((function (x) {
-                            for (var l in c)
-                                if (c[P("0xa5c")](l)) {
-                                    var h = c[l];
-                                    if (i(h)) {
-                                        var f = u(h, r);
-                                        s[f] && (n[f] ? (g(o[f], a[f]),
-                                            a[f][P("0xb71")] = !0,
-                                            g(x, o[f]),
-                                            n[f] = !1) : t.clone(x[P("0x64")], o[f][P("0x64")]))
+                    return t
+                },
+                parseStyle: function(e) {
+                    for (var t, i, r = {}, n = ["LineStyle", "PolyStyle", "IconStyle", "BalloonStyle", "LabelStyle"], o = 0, a = n.length; o < a; ++o)
+                        if (t = n[o],
+                        i = this.getElementsByTagNameNS(e, "*", t)[0])
+                            switch (t.toLowerCase()) {
+                            case "linestyle":
+                                var s = this.parseProperty(i, "*", "color");
+                                (I = this.parseKmlColor(s)) && (r.strokeColor = I.color,
+                                r.strokeOpacity = I.opacity),
+                                (l = this.parseProperty(i, "*", "width")) && (r.strokeWidth = l);
+                                break;
+                            case "polystyle":
+                                s = this.parseProperty(i, "*", "color"),
+                                (I = this.parseKmlColor(s)) && (r.fillOpacity = I.opacity,
+                                r.fillColor = I.color),
+                                "0" == this.parseProperty(i, "*", "fill") && (r.fillColor = "none"),
+                                "0" == this.parseProperty(i, "*", "outline") && (r.strokeWidth = "0");
+                                break;
+                            case "iconstyle":
+                                var x = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.parseProperty(i, "*", "scale") || 1)
+                                  , l = 32 * x
+                                  , c = 32 * x
+                                  , u = this.getElementsByTagNameNS(i, "*", "Icon")[0];
+                                if (u) {
+                                    var h = this.parseProperty(u, "*", "href");
+                                    if (h) {
+                                        var f = this.parseProperty(u, "*", "w")
+                                          , d = this.parseProperty(u, "*", "h");
+                                        !GeoGlobe.String.startsWith(h, "http://maps.google.com/mapfiles/kml") || f || d || (f = 64,
+                                        d = 64,
+                                        x /= 2),
+                                        f = f || d,
+                                        d = d || f,
+                                        f && (l = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(f) * x),
+                                        d && (c = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(d) * x);
+                                        var g = h.match(this.regExes.kmlIconPalette);
+                                        if (g) {
+                                            var p = g[1]
+                                              , m = g[2]
+                                              , b = this.parseProperty(u, "*", "x");
+                                            h = "http://maps.google.com/mapfiles/kml/pal" + p + "/icon" + (8 * ((C = this.parseProperty(u, "*", "y")) ? 7 - C / 32 : 7) + (b ? b / 32 : 0)) + m
+                                        }
+                                        r.graphicOpacity = 1,
+                                        r.externalGraphic = h
                                     }
                                 }
-                            t[P("0x6e")](x[P("0x64")], e._currentMousePosition)
+                                var v = this.getElementsByTagNameNS(i, "*", "hotSpot")[0];
+                                if (v) {
+                                    b = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(v.getAttribute("x"));
+                                    var C = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(v.getAttribute("y"))
+                                      , y = v.getAttribute("xunits");
+                                    "pixels" == y ? r.graphicXOffset = -b * x : "insetPixels" == y ? r.graphicXOffset = b * x - l : "fraction" == y && (r.graphicXOffset = -l * b);
+                                    var _ = v.getAttribute("yunits");
+                                    "pixels" == _ ? r.graphicYOffset = C * x - c + 1 : "insetPixels" == _ ? r.graphicYOffset = -C * x + 1 : "fraction" == _ && (r.graphicYOffset = -c * (1 - C) + 1)
+                                }
+                                r.graphicWidth = l,
+                                r.graphicHeight = c;
+                                break;
+                            case "balloonstyle":
+                                var A = GeoGlobe.Util.getXmlNodeValue(i);
+                                A && (r.balloonStyle = A.replace(this.regExes.straightBracket, "${$1}"));
+                                break;
+                            case "labelstyle":
+                                var I;
+                                s = this.parseProperty(i, "*", "color"),
+                                (I = this.parseKmlColor(s)) && (r.fontColor = I.color,
+                                r.fontOpacity = I.opacity)
+                            }
+                    !r.strokeColor && r.fillColor && (r.strokeColor = r.fillColor);
+                    var w = e.getAttribute("id");
+                    return w && r && (r.id = w),
+                    r
+                },
+                parseStyleMaps: function(e, t) {
+                    for (var i = 0, r = e.length; i < r; i++)
+                        for (var n = e[i], o = this.getElementsByTagNameNS(n, "*", "Pair"), a = n.getAttribute("id"), s = 0, x = o.length; s < x; s++) {
+                            var l = o[s]
+                              , c = this.parseProperty(l, "*", "key")
+                              , u = this.parseProperty(l, "*", "styleUrl");
+                            u && "normal" == c && (this.styles[(t.styleBaseUrl || "") + "#" + a] = this.styles[(t.styleBaseUrl || "") + u])
                         }
-                        ), l[P("0x163")], r)
+                },
+                parseFeatures: function(e, t) {
+                    for (var i = [], r = 0, n = e.length; r < n; r++) {
+                        var o = e[r]
+                          , a = this.parseFeature.apply(this, [o]);
+                        if (!a)
+                            throw "Bad Placemark: " + r;
+                        if (this.extractStyles && a.attributes && a.attributes.styleUrl && (a.style = this.getStyle(a.attributes.styleUrl, t)),
+                        this.extractStyles) {
+                            var s = this.getElementsByTagNameNS(o, "*", "Style")[0];
+                            if (s) {
+                                var x = this.parseStyle(s);
+                                x && (a.style = GeoGlobe.Util.extend(a.style, x))
+                            }
+                        }
+                        if (this.extractTracks) {
+                            var l = this.getElementsByTagNameNS(o, this.namespaces.gx, "Track");
+                            if (l && l.length > 0) {
+                                var c = l[0]
+                                  , u = {
+                                    features: [],
+                                    feature: a
+                                };
+                                this.readNode(c, u),
+                                u.features.length > 0 && i.push.apply(i, u.features)
+                            }
+                        } else
+                            i.push(a)
                     }
-                    function m(e) {
-                        if (!i(e))
-                            throw new o(P("0xb72"));
-                        for (var r in this[P("0xb66")] = new x(e, !0),
-                            this[P("0xb60")] = {},
-                            this._movement = {},
-                            this[P("0xb70")] = {},
-                            this[P("0xb61")] = {},
-                            this[P("0xb69")] = {},
-                            this[P("0xb6a")] = {},
-                            this[P("0xb6b")] = {},
-                            this[P("0xb64")] = 0,
-                            this[P("0xb73")] = new t,
-                            f(this, void 0),
-                            h(this, void 0, e),
-                            d(this, void 0, c[P("0x32")]),
-                            d(this, void 0, c[P("0x37")]),
-                            d(this, void 0, c[P("0xb6e")]),
-                            p(this, void 0),
-                            a)
-                            if (a.hasOwnProperty(r)) {
-                                var n = a[r];
-                                i(n) && (f(this, n),
-                                    h(this, n, e),
-                                    d(this, n, c.LEFT_DRAG),
-                                    d(this, n, c[P("0x37")]),
-                                    d(this, n, c[P("0xb6e")]),
-                                    p(this, n))
-                            }
-                    }
-                    r(m.prototype, {
-                        currentMousePosition: {
-                            get: function () {
-                                return this[P("0xb73")]
-                            }
+                    this.features = this.features.concat(i)
+                },
+                readers: {
+                    kml: {
+                        when: function(e, t) {
+                            t.whens.push(GeoGlobe.Date.parse(this.getChildValue(e)))
                         },
-                        anyButtonDown: {
-                            get: function () {
-                                var e = !(this._update[u(c[P("0x34")])] && this[P("0xb60")][u(c.WHEEL, a[P("0x3a")])] && this[P("0xb60")][u(c.WHEEL, a[P("0x38")])] && this[P("0xb60")][u(c.WHEEL, a[P("0xb74")])]);
-                                return 0 < this[P("0xb64")] || e
+                        _trackPointAttribute: function(e, t) {
+                            var i = e.nodeName.split(":").pop();
+                            t.attributes[i].push(this.getChildValue(e))
+                        }
+                    },
+                    gx: {
+                        Track: function(e, t) {
+                            var i = {
+                                whens: [],
+                                points: [],
+                                angles: []
+                            };
+                            if (this.trackAttributes) {
+                                i.attributes = {};
+                                for (var r = 0, n = this.trackAttributes.length; r < n; ++r)
+                                    u = this.trackAttributes[r],
+                                    i.attributes[u] = [],
+                                    u in this.readers.kml || (this.readers.kml[u] = this.readers.kml._trackPointAttribute)
                             }
-                        }
-                    }),
-                        m.prototype[P("0x74")] = function (e, t) {
-                            if (!i(e))
-                                throw new o("type is required.");
-                            var r = u(e, t);
-                            return !this[P("0xb60")][r]
-                        }
-                        ,
-                        m[P("0x5")][P("0x75")] = function (e, t) {
-                            if (!i(e))
-                                throw new o(P("0xb75"));
-                            var r = u(e, t);
-                            return this._movement[r]
-                        }
-                        ,
-                        m[P("0x5")][P("0x6a")] = function (e, t) {
-                            if (!i(e))
-                                throw new o("type is required.");
-                            var r = u(e, t)
-                                , n = this._lastMovement[r];
-                            if (n[P("0xb71")])
-                                return n
-                        }
-                        ,
-                        m[P("0x5")][P("0x70")] = function (e, t) {
-                            if (!i(e))
-                                throw new o(P("0xb75"));
-                            var r = u(e, t);
-                            return this[P("0xb61")][r]
-                        }
-                        ,
-                        m.prototype[P("0x76")] = function (e, t) {
-                            if (!i(e))
-                                throw new o(P("0xb75"));
-                            if (e === c[P("0x34")])
-                                return this[P("0xb73")];
-                            var r = u(e, t);
-                            return this[P("0xb69")][r]
-                        }
-                        ,
-                        m[P("0x5")][P("0x66")] = function (e, t) {
-                            if (!i(e))
-                                throw new o(P("0xb75"));
-                            var r = u(e, t);
-                            return this[P("0xb6a")][r]
-                        }
-                        ,
-                        m.prototype[P("0x67")] = function (e, t) {
-                            if (!i(e))
-                                throw new o(P("0xb75"));
-                            var r = u(e, t);
-                            return this[P("0xb6b")][r]
-                        }
-                        ,
-                        m[P("0x5")][P("0xf1")] = function () {
-                            for (var e in this[P("0xb60")])
-                                this[P("0xb60")][P("0xa5c")](e) && (this[P("0xb60")][e] = !0)
-                        }
-                        ,
-                        m[P("0x5")][P("0xf3")] = function () {
-                            return !1
-                        }
-                        ,
-                        m[P("0x5")][P("0xf4")] = function () {
-                            return this[P("0xb66")] = this[P("0xb66")] && this._eventHandler[P("0xf4")](),
-                                n(this)
-                        }
-                        ,
-                        e[P("0x47")] = m
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0xb76")] = function (t) {
-                        t = t || {},
-                            this[P("0x217")] = e.defaultValue(t[P("0x8b")], 9e3);
-                        var i = e[P("0x102")](t[P("0x6af")], "../../../resource/images/cloud.jpg");
-                        this._url_0 = e[P("0x6ba")](i),
-                            this._speedScale = e[P("0x102")](t[P("0xb77")], 1),
-                            this[P("0xb78")] = 0,
-                            this[P("0xb79")] = 1e-4,
-                            this[P("0xb7a")] = e[P("0x102")](t[P("0xb7b")], new e.Cartesian4(.83, 1.03, 1.4, .25)),
-                            this[P("0xb7c")] = e[P("0x102")](t.isInverse, !1),
-                            this[P("0xb7d")] = new (e[P("0x1b")]),
-                            this._radius = null,
-                            this[P("0xb7e")] = null,
-                            this[P("0xb7f")] = !1,
-                            this[P("0xb80")] = !1,
-                            this[P("0x5ba")] = !0
-                    }
-                        ;
-                    e.defineProperties(t[P("0x5")], {
-                        actived: {
-                            get: function () {
-                                return this[P("0x5ba")]
-                            },
-                            set: function (e) {
-                                this[P("0x5ba")] = e
-                            }
-                        },
-                        isInverse: {
-                            get: function () {
-                                return this[P("0xb7c")]
-                            },
-                            set: function (e) {
-                                this[P("0xb7c")] = e
-                            }
-                        },
-                        redGamma: {
-                            get: function () {
-                                return this[P("0xb7a")].x
-                            },
-                            set: function (t) {
-                                t = e[P("0x23")][P("0x77")](t, 0, 2),
-                                    this[P("0xb7a")].x = t
-                            }
-                        },
-                        greenGamma: {
-                            get: function () {
-                                return this[P("0xb7a")].y
-                            },
-                            set: function (t) {
-                                t = e[P("0x23")][P("0x77")](t, 0, 2),
-                                    this[P("0xb7a")].y = t
-                            }
-                        },
-                        blueGamma: {
-                            get: function () {
-                                return this._gamma.z
-                            },
-                            set: function (t) {
-                                t = e.Math[P("0x77")](t, 0, 2),
-                                    this[P("0xb7a")].z = t
-                            }
-                        },
-                        alphaGamma: {
-                            get: function () {
-                                return this[P("0xb7a")].w
-                            },
-                            set: function (t) {
-                                t = e.Math[P("0x77")](t, 0, 1),
-                                    this._gamma.w = t
-                            }
-                        },
-                        speedScale: {
-                            get: function () {
-                                return this._speedScale
-                            },
-                            set: function (e) {
-                                this._speedScale = e
-                            }
-                        },
-                        url: {
-                            set: function (t) {
-                                var i = e.defaultValue(t, P("0xb81"));
-                                this[P("0xb82")] = e[P("0x6ba")](i),
-                                    this[P("0xb7e")] && (this[P("0xb7e")].destroy(),
-                                        this[P("0xb7e")] = null)
-                            }
-                        }
-                    }),
-                        t[P("0x5")]._isTexturesReady = function () {
-                            return !!this[P("0xb7e")]
-                        }
-                        ,
-                        t[P("0x5")][P("0xb83")] = function (t) {
-                            var i = this;
-                            i[P("0xb84")] = t,
-                                i._requestUrl || i[P("0xb7e")] || (i[P("0xb7f")] = !0,
-                                    e[P("0x9ee")](e[P("0x6da")][P("0x6dc")]({
-                                        url: this[P("0xb82")]
-                                    }))[P("0x333")]((function (t) {
-                                        i[P("0xb7e")] = new (e[P("0x6db")])({
-                                            context: i._context,
-                                            source: t,
-                                            pixelFormat: e[P("0x785")][P("0xb85")],
-                                            pixelDatatype: e[P("0x787")].UNSIGNED_BYTE
-                                        })
+                            if (this.readChildNodes(e, i),
+                            i.whens.length !== i.points.length)
+                                throw new Error("gx:Track with unequal number of when (" + i.whens.length + ") and gx:coord (" + i.points.length + ") elements.");
+                            var o, a, s, x = i.angles.length > 0;
+                            if (x && i.whens.length !== i.angles.length)
+                                throw new Error("gx:Track with unequal number of when (" + i.whens.length + ") and gx:angles (" + i.angles.length + ") elements.");
+                            for (r = 0,
+                            n = i.whens.length; r < n; ++r) {
+                                if ((o = t.feature.clone()).fid = t.feature.fid || t.feature.id,
+                                a = i.points[r],
+                                o.geometry = a,
+                                "z"in a && (o.attributes.altitude = a.z),
+                                this.internalProjection && this.externalProjection && o.geometry.transform(this.externalProjection, this.internalProjection),
+                                this.trackAttributes)
+                                    for (var l = 0, c = this.trackAttributes.length; l < c; ++l) {
+                                        var u = this.trackAttributes[l];
+                                        o.attributes[u] = i.attributes[u][r]
                                     }
-                                    )).otherwise((function (e) {
-                                        console[P("0x133")](P("0xb86"))
-                                    }
-                                    )))
-                        }
-                        ,
-                        t[P("0x5")][P("0xd2")] = function (e) {
-                            if (this[P("0x5ba")] && e[P("0xb87")][P("0x75d")]) {
-                                var t = e[P("0x5ca")]
-                                    , i = e[P("0x3cc")];
-                                this[P("0xb83")](i),
-                                    this[P("0xb88")]() && (this._drawCommand || this[P("0xb89")](i),
-                                        this[P("0x6ce")] && (this[P("0xb8a")](),
-                                            t[P("0x17c")](this[P("0x6ce")])))
+                                o.attributes.when = i.whens[r],
+                                o.attributes.trackId = t.feature.id,
+                                x && (s = i.angles[r],
+                                o.attributes.heading = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(s[0]),
+                                o.attributes.tilt = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(s[1]),
+                                o.attributes.roll = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(s[2])),
+                                t.features.push(o)
                             }
+                        },
+                        coord: function(e, t) {
+                            var i = this.getChildValue(e).replace(this.regExes.trimSpace, "").split(/\s+/)
+                              , r = new GeoGlobe.Geometry.Point(i[0],i[1]);
+                            i.length > 2 && (r.z = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(i[2])),
+                            t.points.push(r)
+                        },
+                        angles: function(e, t) {
+                            var i = this.getChildValue(e).replace(this.regExes.trimSpace, "").split(/\s+/);
+                            t.angles.push(i)
                         }
-                        ;
-                    var i = new (e[P("0x1d")])
-                        , r = new (e[P("0x1a")]);
-                    t[P("0x5")][P("0xb8a")] = function () {
-                        var t = this[P("0xb78")] * e[P("0x23")].TWO_PI;
-                        this[P("0xb7c")] && (t = -t);
-                        var n = e[P("0x1d")][P("0xcc")](e[P("0x11")][P("0xc3")], t, i)
-                            , o = e[P("0x1a")][P("0xcd")](n, r);
-                        this[P("0xb7d")] = e.Matrix4[P("0x738")](o, void 0, this[P("0xb7d")]),
-                            this[P("0xb78")] += this._step * this._speedScale,
-                            1 < this[P("0xb78")] && (this[P("0xb78")] = 0)
                     }
-                        ,
-                        t[P("0x5")][P("0xb89")] = function (e) {
-                            var t = this;
-                            setTimeout((function () {
-                                t[P("0xb8b")](e)
-                            }
-                            ), 500)
+                },
+                parseFeature: function(e) {
+                    for (var t, i, r, n, o = ["MultiGeometry", "Polygon", "LineString", "Point"], a = 0, s = o.length; a < s; ++a)
+                        if (t = o[a],
+                        this.internalns = e.namespaceURI ? e.namespaceURI : this.kmlns,
+                        (i = this.getElementsByTagNameNS(e, this.internalns, t)).length > 0) {
+                            var x;
+                            if (!(x = this.parseGeometry[t.toLowerCase()]))
+                                throw new TypeError("Unsupported geometry type: " + t);
+                            r = x.apply(this, [i[0]]),
+                            this.internalProjection && this.externalProjection && r.transform(this.externalProjection, this.internalProjection);
+                            break
                         }
-                        ;
-                    var n = "var PI = Math.PI;\nvar TWO_PI = PI * 2.0;\n" + P("0xb8c") + P("0xb8d") + "   var params = e.data;\n" + P("0xb8e") + P("0xb8f") + "       postMessage({error:true});\n       return;\n" + P("0x614") + P("0xb90") + P("0xb91") + P("0xb92") + P("0x8cd") + P("0x614") + P("0xb93") + P("0xb94") + P("0xb92") + P("0x8cd") + P("0x614") + P("0xb95") + P("0xb96") + P("0xb97") + P("0xb98") + P("0xb99") + P("0xb9a") + "   var vFovRad = PI;\n" + P("0xb9b") + P("0xb9c") + "   var stepHRad = hFovRad / xCount;\n" + P("0xb9d") + P("0xb9e") + "       pointsArray[ptIndex ++] = 0.0;\n" + P("0xb9f") + P("0xba0") + P("0xba1") + P("0xba2") + P("0x614") + P("0xba3") + P("0xba4") + "   var tt = 0.0;\n" + P("0xba5") + P("0xba6") + "       for (var F = 0; F < xCount + 1; F++) {\n" + P("0xba7") + P("0xba8") + P("0xba9") + P("0xbaa") + P("0xbab") + P("0xbac") + P("0xbad") + P("0x71d") + "   }\n" + P("0xb9e") + P("0xb9f") + P("0xb9f") + P("0xbae") + P("0xba1") + P("0xbaf") + P("0x614") + P("0xbb0") + "   var faceIndexArray = new Uint16Array(faceIndexCount);\n" + P("0xbb1") + P("0xbb2") + "       faceIndexArray[faceIndex ++] = F;\n" + P("0xbb3") + P("0xbb4") + P("0x614") + P("0xbb5") + "       for (var F = 0; F < xCount; F ++){\n" + P("0xbb6") + P("0xbb7") + P("0xbb8") + P("0xbb6") + P("0xbb8") + P("0xbb9") + P("0x71d") + P("0x614") + P("0xbb2") + P("0xbba") + "       faceIndexArray[faceIndex ++] = F + xCount + 1 + (yCount - 2) * (xCount + 1);\n       faceIndexArray[faceIndex ++] = pointsCount - (xCount - F);\n" + P("0x614") + P("0xbbb") + "       pointsArray: pointsArray,\n       texcoordArray: texcoordArray,\n" + P("0xbbc") + "   }, [pointsArray.buffer, texcoordArray.buffer, faceIndexArray.buffer]);\n" + P("0xbbd") + P("0xbbe") + "   ;\n}";
-                    t.prototype[P("0xb8b")] = function (t) {
-                        var i = this;
-                        if (!i[P("0xb80")]) {
-                            i[P("0xb80")] = !0;
-                            var r = t
-                                , o = i[P("0x217")] + e[P("0x16")].WGS84[P("0xb55")].x + 15e4;
-                            i[P("0x63c")] = o;
-                            var a = new Blob([n], {
-                                type: P("0xbbf")
+                    this.extractAttributes && (n = this.parseAttributes(e));
+                    var l = new GeoGlobe.Feature(r,n)
+                      , c = e.getAttribute("id") || e.getAttribute("name");
+                    return null != c && (l.fid = c),
+                    l
+                },
+                getStyle: function(e, t) {
+                    var i = GeoGlobe.Util.removeTail(e)
+                      , r = GeoGlobe.Util.extend({}, t);
+                    if (r.depth++,
+                    r.styleBaseUrl = i,
+                    !this.styles[e] && !GeoGlobe.String.startsWith(e, "#") && r.depth <= this.maxDepth && !this.fetched[i]) {
+                        var n = this.fetchLink(i);
+                        n && this.parseData(n, r)
+                    }
+                    return GeoGlobe.Util.extend({}, this.styles[e])
+                },
+                parseGeometry: {
+                    point: function(e) {
+                        var t = this.getElementsByTagNameNS(e, this.internalns, "coordinates")
+                          , i = [];
+                        if (t.length > 0) {
+                            var r = t[0].firstChild.nodeValue;
+                            i = (r = r.replace(this.regExes.removeSpace, "")).split(",")
+                        }
+                        if (!(i.length > 1))
+                            throw "Bad coordinate string: " + r;
+                        return 2 == i.length && (i[2] = null),
+                        new GeoGlobe.Geometry.Point(i[0],i[1],i[2])
+                    },
+                    linestring: function(e, t) {
+                        var i = this.getElementsByTagNameNS(e, this.internalns, "coordinates")
+                          , r = null;
+                        if (i.length > 0) {
+                            for (var n, o = this.getChildValue(i[0]), a = (o = (o = o.replace(this.regExes.trimSpace, "")).replace(this.regExes.trimComma, ",")).split(this.regExes.splitSpace), s = a.length, x = new Array(s), l = 0; l < s; ++l) {
+                                if (!((n = a[l].split(",")).length > 1))
+                                    throw "Bad LineString point coordinates: " + a[l];
+                                2 == n.length && (n[2] = null),
+                                x[l] = new GeoGlobe.Geometry.Point(n[0],n[1],n[2])
+                            }
+                            if (!s)
+                                throw "Bad LineString coordinates: " + o;
+                            r = t ? new GeoGlobe.Geometry.LinearRing(x) : new GeoGlobe.Geometry.LineString(x)
+                        }
+                        return r
+                    },
+                    polygon: function(e) {
+                        var t = this.getElementsByTagNameNS(e, this.internalns, "LinearRing")
+                          , i = t.length
+                          , r = new Array(i);
+                        if (i > 0)
+                            for (var n, o = 0, a = t.length; o < a; ++o) {
+                                if (!(n = this.parseGeometry.linestring.apply(this, [t[o], !0])))
+                                    throw "Bad LinearRing geometry: " + o;
+                                r[o] = n
+                            }
+                        return new GeoGlobe.Geometry.Polygon(r)
+                    },
+                    multigeometry: function(e) {
+                        for (var t, i = [], r = e.childNodes, n = 0, o = r.length; n < o; ++n)
+                            if (1 == (t = r[n]).nodeType) {
+                                var a, s = t.prefix ? t.nodeName.split(":")[1] : t.nodeName;
+                                (a = this.parseGeometry[s.toLowerCase()]) && i.push(a.apply(this, [t]))
+                            }
+                        return new GeoGlobe.Geometry.Collection(i)
+                    }
+                },
+                parseAttributes: function(e) {
+                    var t, i, r = {}, n = e.getElementsByTagName("ExtendedData");
+                    n.length && (r = this.parseExtendedData(n[0]));
+                    for (var o = e.childNodes, a = 0, s = o.length; a < s; ++a)
+                        if (1 == (t = o[a]).nodeType && (i = t.childNodes).length >= 1 && i.length <= 3) {
+                            var x;
+                            switch (i.length) {
+                            case 1:
+                                x = i[0];
+                                break;
+                            case 2:
+                                var l = i[0]
+                                  , c = i[1];
+                                x = 3 == l.nodeType || 4 == l.nodeType ? l : c;
+                                break;
+                            case 3:
+                            default:
+                                x = i[1]
+                            }
+                            if (3 == x.nodeType || 4 == x.nodeType) {
+                                var u = t.prefix ? t.nodeName.split(":")[1] : t.nodeName
+                                  , h = GeoGlobe.Util.getXmlNodeValue(x);
+                                h && (h = h.replace(this.regExes.trimSpace, ""),
+                                r[u] = h)
+                            }
+                        }
+                    return r
+                },
+                parseExtendedData: function(e) {
+                    var t, i, r, n, o = {}, a = e.getElementsByTagName("Data");
+                    for (t = 0,
+                    i = a.length; t < i; t++) {
+                        n = (r = a[t]).getAttribute("name");
+                        var s = {}
+                          , x = r.getElementsByTagName("value");
+                        if (x.length && (s.value = this.getChildValue(x[0])),
+                        this.kvpAttributes)
+                            o[n] = s.value;
+                        else {
+                            var l = r.getElementsByTagName("displayName");
+                            l.length && (s.displayName = this.getChildValue(l[0])),
+                            o[n] = s
+                        }
+                    }
+                    var c = e.getElementsByTagName("SimpleData");
+                    for (t = 0,
+                    i = c.length; t < i; t++)
+                        s = {},
+                        n = (r = c[t]).getAttribute("name"),
+                        s.value = this.getChildValue(r),
+                        this.kvpAttributes ? o[n] = s.value : (s.displayName = n,
+                        o[n] = s);
+                    return o
+                },
+                parseProperty: function(e, t, i) {
+                    var r, n = this.getElementsByTagNameNS(e, t, i);
+                    try {
+                        r = GeoGlobe.Util.getXmlNodeValue(n[0])
+                    } catch (e) {
+                        r = null
+                    }
+                    return r
+                },
+                write: function(e) {
+                    GeoGlobe.Util.isArray(e) || (e = [e]);
+                    for (var t = this.createElementNS(this.kmlns, "kml"), i = this.createFolderXML(), r = 0, n = e.length; r < n; ++r)
+                        i.appendChild(this.createPlacemarkXML(e[r]));
+                    return t.appendChild(i),
+                    GeoGlobe.Format.XML.prototype.write.apply(this, [t])
+                },
+                createFolderXML: function() {
+                    var e = this.createElementNS(this.kmlns, "Folder");
+                    if (this.foldersName) {
+                        var t = this.createElementNS(this.kmlns, "name")
+                          , i = this.createTextNode(this.foldersName);
+                        t.appendChild(i),
+                        e.appendChild(t)
+                    }
+                    if (this.foldersDesc) {
+                        var r = this.createElementNS(this.kmlns, "description")
+                          , n = this.createTextNode(this.foldersDesc);
+                        r.appendChild(n),
+                        e.appendChild(r)
+                    }
+                    return e
+                },
+                createPlacemarkXML: function(e) {
+                    var t = this.createElementNS(this.kmlns, "name")
+                      , i = e.style && e.style.label ? e.style.label : e.id
+                      , r = e.attributes.name || i;
+                    t.appendChild(this.createTextNode(r));
+                    var n = this.createElementNS(this.kmlns, "description")
+                      , o = e.attributes.description || this.placemarksDesc;
+                    n.appendChild(this.createTextNode(o));
+                    var a = this.createElementNS(this.kmlns, "Placemark");
+                    null != e.fid && a.setAttribute("id", e.fid),
+                    a.appendChild(t),
+                    a.appendChild(n);
+                    var s = this.buildGeometryNode(e.geometry);
+                    if (a.appendChild(s),
+                    e.attributes) {
+                        var x = this.buildExtendedData(e.attributes);
+                        x && a.appendChild(x)
+                    }
+                    return a
+                },
+                buildGeometryNode: function(e) {
+                    var t = e.CLASS_NAME
+                      , i = t.substring(t.lastIndexOf(".") + 1)
+                      , r = this.buildGeometry[i.toLowerCase()]
+                      , n = null;
+                    return r && (n = r.apply(this, [e])),
+                    n
+                },
+                buildGeometry: {
+                    point: function(e) {
+                        var t = this.createElementNS(this.kmlns, "Point");
+                        return t.appendChild(this.buildCoordinatesNode(e)),
+                        t
+                    },
+                    multipoint: function(e) {
+                        return this.buildGeometry.collection.apply(this, [e])
+                    },
+                    linestring: function(e) {
+                        var t = this.createElementNS(this.kmlns, "LineString");
+                        return t.appendChild(this.buildCoordinatesNode(e)),
+                        t
+                    },
+                    multilinestring: function(e) {
+                        return this.buildGeometry.collection.apply(this, [e])
+                    },
+                    linearring: function(e) {
+                        var t = this.createElementNS(this.kmlns, "LinearRing");
+                        return t.appendChild(this.buildCoordinatesNode(e)),
+                        t
+                    },
+                    polygon: function(e) {
+                        for (var t, i, r, n = this.createElementNS(this.kmlns, "Polygon"), o = e.components, a = 0, s = o.length; a < s; ++a)
+                            r = 0 == a ? "outerBoundaryIs" : "innerBoundaryIs",
+                            t = this.createElementNS(this.kmlns, r),
+                            i = this.buildGeometry.linearring.apply(this, [o[a]]),
+                            t.appendChild(i),
+                            n.appendChild(t);
+                        return n
+                    },
+                    multipolygon: function(e) {
+                        return this.buildGeometry.collection.apply(this, [e])
+                    },
+                    collection: function(e) {
+                        for (var t, i = this.createElementNS(this.kmlns, "MultiGeometry"), r = 0, n = e.components.length; r < n; ++r)
+                            (t = this.buildGeometryNode.apply(this, [e.components[r]])) && i.appendChild(t);
+                        return i
+                    }
+                },
+                buildCoordinatesNode: function(e) {
+                    var t, i = this.createElementNS(this.kmlns, "coordinates"), r = e.components;
+                    if (r) {
+                        for (var n, o = r.length, a = new Array(o), s = 0; s < o; ++s)
+                            n = r[s],
+                            a[s] = this.buildCoordinates(n);
+                        t = a.join(" ")
+                    } else
+                        t = this.buildCoordinates(e);
+                    var x = this.createTextNode(t);
+                    return i.appendChild(x),
+                    i
+                },
+                buildCoordinates: function(e) {
+                    return this.internalProjection && this.externalProjection && (e = e.clone()).transform(this.internalProjection, this.externalProjection),
+                    e.x + "," + e.y
+                },
+                buildExtendedData: function(e) {
+                    var t = this.createElementNS(this.kmlns, "ExtendedData");
+                    for (var i in e)
+                        if (e[i] && "name" != i && "description" != i && "styleUrl" != i) {
+                            var r = this.createElementNS(this.kmlns, "Data");
+                            r.setAttribute("name", i);
+                            var n = this.createElementNS(this.kmlns, "value");
+                            if ("object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e[i])) {
+                                if (e[i].value && n.appendChild(this.createTextNode(e[i].value)),
+                                e[i].displayName) {
+                                    var o = this.createElementNS(this.kmlns, "displayName");
+                                    o.appendChild(this.getXMLDoc().createCDATASection(e[i].displayName)),
+                                    r.appendChild(o)
+                                }
+                            } else
+                                n.appendChild(this.createTextNode(e[i]));
+                            r.appendChild(n),
+                            t.appendChild(r)
+                        }
+                    return this.isSimpleContent(t) ? null : t
+                },
+                CLASS_NAME: "GeoGlobe.Format.KML"
+            }),
+            GeoGlobe.Format.OWSCommon = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
+                defaultVersion: "1.0.0",
+                getVersion: function(e, t) {
+                    var i = this.version;
+                    if (!i) {
+                        var r = e.getAttribute("xmlns:ows");
+                        r && "1.1" === r.substring(r.lastIndexOf("/") + 1) && (i = "1.1.0"),
+                        i || (i = this.defaultVersion)
+                    }
+                    return i
+                },
+                CLASS_NAME: "GeoGlobe.Format.OWSCommon"
+            }),
+            GeoGlobe.Format.OWSCommon.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                regExes: {
+                    trimSpace: /^\s*|\s*$/g,
+                    removeSpace: /\s*/g,
+                    splitSpace: /\s+/,
+                    trimComma: /\s*,\s*/g
+                },
+                read: function(e, t) {
+                    t = GeoGlobe.Util.applyDefaults(t, this.options);
+                    var i = {};
+                    return this.readChildNodes(e, i),
+                    i
+                },
+                readers: {
+                    ows: {
+                        Exception: function(e, t) {
+                            var i = {
+                                code: e.getAttribute("exceptionCode"),
+                                locator: e.getAttribute("locator"),
+                                texts: []
+                            };
+                            t.exceptions.push(i),
+                            this.readChildNodes(e, i)
+                        },
+                        ExceptionText: function(e, t) {
+                            var i = this.getChildValue(e);
+                            t.texts.push(i)
+                        },
+                        ServiceIdentification: function(e, t) {
+                            t.serviceIdentification = {},
+                            this.readChildNodes(e, t.serviceIdentification)
+                        },
+                        Title: function(e, t) {
+                            t.title = this.getChildValue(e)
+                        },
+                        Abstract: function(e, t) {
+                            t.abstract = this.getChildValue(e)
+                        },
+                        Keywords: function(e, t) {
+                            t.keywords = {},
+                            this.readChildNodes(e, t.keywords)
+                        },
+                        Keyword: function(e, t) {
+                            t[this.getChildValue(e)] = !0
+                        },
+                        ServiceType: function(e, t) {
+                            t.serviceType = {
+                                codeSpace: e.getAttribute("codeSpace"),
+                                value: this.getChildValue(e)
+                            }
+                        },
+                        ServiceTypeVersion: function(e, t) {
+                            t.serviceTypeVersion = this.getChildValue(e)
+                        },
+                        Fees: function(e, t) {
+                            t.fees = this.getChildValue(e)
+                        },
+                        AccessConstraints: function(e, t) {
+                            t.accessConstraints = this.getChildValue(e)
+                        },
+                        ServiceProvider: function(e, t) {
+                            t.serviceProvider = {},
+                            this.readChildNodes(e, t.serviceProvider)
+                        },
+                        ProviderName: function(e, t) {
+                            t.providerName = this.getChildValue(e)
+                        },
+                        ProviderSite: function(e, t) {
+                            t.providerSite = this.getAttributeNS(e, this.namespaces.xlink, "href")
+                        },
+                        ServiceContact: function(e, t) {
+                            t.serviceContact = {},
+                            this.readChildNodes(e, t.serviceContact)
+                        },
+                        IndividualName: function(e, t) {
+                            t.individualName = this.getChildValue(e)
+                        },
+                        PositionName: function(e, t) {
+                            t.positionName = this.getChildValue(e)
+                        },
+                        ContactInfo: function(e, t) {
+                            t.contactInfo = {},
+                            this.readChildNodes(e, t.contactInfo)
+                        },
+                        Phone: function(e, t) {
+                            t.phone = {},
+                            this.readChildNodes(e, t.phone)
+                        },
+                        Voice: function(e, t) {
+                            t.voice = this.getChildValue(e)
+                        },
+                        Address: function(e, t) {
+                            t.address = {},
+                            this.readChildNodes(e, t.address)
+                        },
+                        DeliveryPoint: function(e, t) {
+                            t.deliveryPoint = this.getChildValue(e)
+                        },
+                        City: function(e, t) {
+                            t.city = this.getChildValue(e)
+                        },
+                        AdministrativeArea: function(e, t) {
+                            t.administrativeArea = this.getChildValue(e)
+                        },
+                        PostalCode: function(e, t) {
+                            t.postalCode = this.getChildValue(e)
+                        },
+                        Country: function(e, t) {
+                            t.country = this.getChildValue(e)
+                        },
+                        ElectronicMailAddress: function(e, t) {
+                            t.electronicMailAddress = this.getChildValue(e)
+                        },
+                        Role: function(e, t) {
+                            t.role = this.getChildValue(e)
+                        },
+                        OperationsMetadata: function(e, t) {
+                            t.operationsMetadata = {},
+                            this.readChildNodes(e, t.operationsMetadata)
+                        },
+                        Operation: function(e, t) {
+                            var i = e.getAttribute("name");
+                            t[i] = {},
+                            this.readChildNodes(e, t[i])
+                        },
+                        DCP: function(e, t) {
+                            t.dcp = {},
+                            this.readChildNodes(e, t.dcp)
+                        },
+                        HTTP: function(e, t) {
+                            t.http = {},
+                            this.readChildNodes(e, t.http)
+                        },
+                        Get: function(e, t) {
+                            t.get || (t.get = []);
+                            var i = {
+                                url: this.getAttributeNS(e, this.namespaces.xlink, "href")
+                            };
+                            this.readChildNodes(e, i),
+                            t.get.push(i)
+                        },
+                        Post: function(e, t) {
+                            t.post || (t.post = []);
+                            var i = {
+                                url: this.getAttributeNS(e, this.namespaces.xlink, "href")
+                            };
+                            this.readChildNodes(e, i),
+                            t.post.push(i)
+                        },
+                        Parameter: function(e, t) {
+                            t.parameters || (t.parameters = {});
+                            var i = e.getAttribute("name");
+                            t.parameters[i] = {},
+                            this.readChildNodes(e, t.parameters[i])
+                        },
+                        Constraint: function(e, t) {
+                            t.constraints || (t.constraints = {});
+                            var i = e.getAttribute("name");
+                            t.constraints[i] = {},
+                            this.readChildNodes(e, t.constraints[i])
+                        },
+                        Value: function(e, t) {
+                            t[this.getChildValue(e)] = !0
+                        },
+                        OutputFormat: function(e, t) {
+                            t.formats.push({
+                                value: this.getChildValue(e)
+                            }),
+                            this.readChildNodes(e, t)
+                        },
+                        WGS84BoundingBox: function(e, t) {
+                            var i = {};
+                            i.crs = e.getAttribute("crs"),
+                            t.BoundingBox ? t.BoundingBox.push(i) : (t.projection = i.crs,
+                            i = t),
+                            this.readChildNodes(e, i)
+                        },
+                        BoundingBox: function(e, t) {
+                            this.readers.ows.WGS84BoundingBox.apply(this, [e, t])
+                        },
+                        LowerCorner: function(e, t) {
+                            var i = this.getChildValue(e).replace(this.regExes.trimSpace, "")
+                              , r = (i = i.replace(this.regExes.trimComma, ",")).split(this.regExes.splitSpace);
+                            t.left = r[0],
+                            t.bottom = r[1]
+                        },
+                        UpperCorner: function(e, t) {
+                            var i = this.getChildValue(e).replace(this.regExes.trimSpace, "")
+                              , r = (i = i.replace(this.regExes.trimComma, ",")).split(this.regExes.splitSpace);
+                            t.right = r[0],
+                            t.top = r[1],
+                            t.bounds = new GeoGlobe.LngLatBounds(new GeoGlobe.LngLat(t.left,t.bottom),new GeoGlobe.LngLat(t.right,t.top)),
+                            delete t.left,
+                            delete t.bottom,
+                            delete t.right,
+                            delete t.top
+                        },
+                        Language: function(e, t) {
+                            t.language = this.getChildValue(e)
+                        }
+                    }
+                },
+                writers: {
+                    ows: {
+                        BoundingBox: function(e, t) {
+                            var i = this.createElementNSPlus(t || "ows:BoundingBox", {
+                                attributes: {
+                                    crs: e.projection
+                                }
+                            });
+                            return this.writeNode("ows:LowerCorner", e, i),
+                            this.writeNode("ows:UpperCorner", e, i),
+                            i
+                        },
+                        LowerCorner: function(e) {
+                            return this.createElementNSPlus("ows:LowerCorner", {
+                                value: e.bounds._sw.lng + " " + e.bounds._sw.lat
                             })
-                                , s = new Worker(URL.createObjectURL(a));
-                            s[P("0xbc0")] = function (t) {
-                                var n = t.data.pointsArray
-                                    , o = t.data.texcoordArray
-                                    , a = t[P("0x440")][P("0xbc1")]
-                                    , x = e[P("0x5ea")][P("0x5ec")]({
-                                        context: r,
-                                        typedArray: a,
-                                        usage: e[P("0x4d5")][P("0x4d6")],
-                                        indexDatatype: e[P("0x742")].UNSIGNED_SHORT
-                                    })
-                                    , l = []
-                                    , c = e[P("0x5ea")][P("0x5eb")]({
-                                        context: r,
-                                        typedArray: n,
-                                        usage: e[P("0x4d5")][P("0x4d6")]
+                        },
+                        UpperCorner: function(e) {
+                            return this.createElementNSPlus("ows:UpperCorner", {
+                                value: e.bounds._ne.lng + " " + e.bounds._ne.lat
+                            })
+                        },
+                        Identifier: function(e) {
+                            return this.createElementNSPlus("ows:Identifier", {
+                                value: e
+                            })
+                        },
+                        Title: function(e) {
+                            return this.createElementNSPlus("ows:Title", {
+                                value: e
+                            })
+                        },
+                        Abstract: function(e) {
+                            return this.createElementNSPlus("ows:Abstract", {
+                                value: e
+                            })
+                        },
+                        OutputFormat: function(e) {
+                            return this.createElementNSPlus("ows:OutputFormat", {
+                                value: e
+                            })
+                        }
+                    }
+                },
+                CLASS_NAME: "GeoGlobe.Format.OWSCommon.v1"
+            }),
+            GeoGlobe.Format.OWSCommon.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.OWSCommon.v1, {
+                namespaces: {
+                    ows: "http://www.opengis.net/ows",
+                    xlink: "http://www.w3.org/1999/xlink"
+                },
+                readers: {
+                    ows: GeoGlobe.Util.applyDefaults({
+                        ExceptionReport: function(e, t) {
+                            t.success = !1,
+                            t.exceptionReport = {
+                                version: e.getAttribute("version"),
+                                language: e.getAttribute("language"),
+                                exceptions: []
+                            },
+                            this.readChildNodes(e, t.exceptionReport)
+                        }
+                    }, GeoGlobe.Format.OWSCommon.v1.prototype.readers.ows)
+                },
+                writers: {
+                    ows: GeoGlobe.Format.OWSCommon.v1.prototype.writers.ows
+                },
+                CLASS_NAME: "GeoGlobe.Format.OWSCommon.v1_0_0"
+            }),
+            GeoGlobe.Format.OWSCommon.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.OWSCommon.v1, {
+                namespaces: {
+                    ows: "http://www.opengis.net/ows/1.1",
+                    xlink: "http://www.w3.org/1999/xlink"
+                },
+                readers: {
+                    ows: GeoGlobe.Util.applyDefaults({
+                        ExceptionReport: function(e, t) {
+                            t.exceptionReport = {
+                                version: e.getAttribute("version"),
+                                language: e.getAttribute("xml:lang"),
+                                exceptions: []
+                            },
+                            this.readChildNodes(e, t.exceptionReport)
+                        },
+                        AllowedValues: function(e, t) {
+                            t.allowedValues = {},
+                            this.readChildNodes(e, t.allowedValues)
+                        },
+                        AnyValue: function(e, t) {
+                            t.anyValue = !0
+                        },
+                        DataType: function(e, t) {
+                            t.dataType = this.getChildValue(e)
+                        },
+                        Range: function(e, t) {
+                            t.range = {},
+                            this.readChildNodes(e, t.range)
+                        },
+                        MinimumValue: function(e, t) {
+                            t.minValue = this.getChildValue(e)
+                        },
+                        MaximumValue: function(e, t) {
+                            t.maxValue = this.getChildValue(e)
+                        },
+                        Identifier: function(e, t) {
+                            t.identifier = this.getChildValue(e)
+                        },
+                        SupportedCRS: function(e, t) {
+                            t.supportedCRS = this.getChildValue(e)
+                        }
+                    }, GeoGlobe.Format.OWSCommon.v1.prototype.readers.ows)
+                },
+                writers: {
+                    ows: GeoGlobe.Util.applyDefaults({
+                        Range: function(e) {
+                            var t = this.createElementNSPlus("ows:Range", {
+                                attributes: {
+                                    "ows:rangeClosure": e.closure
+                                }
+                            });
+                            return this.writeNode("ows:MinimumValue", e.minValue, t),
+                            this.writeNode("ows:MaximumValue", e.maxValue, t),
+                            t
+                        },
+                        MinimumValue: function(e) {
+                            return this.createElementNSPlus("ows:MinimumValue", {
+                                value: e
+                            })
+                        },
+                        MaximumValue: function(e) {
+                            return this.createElementNSPlus("ows:MaximumValue", {
+                                value: e
+                            })
+                        },
+                        Value: function(e) {
+                            return this.createElementNSPlus("ows:Value", {
+                                value: e
+                            })
+                        }
+                    }, GeoGlobe.Format.OWSCommon.v1.prototype.writers.ows)
+                },
+                CLASS_NAME: "GeoGlobe.Format.OWSCommon.v1_1_0"
+            }),
+            GeoGlobe.Format.WFSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
+                defaultVersion: "1.1.0",
+                CLASS_NAME: "GeoGlobe.Format.WFSCapabilities"
+            }),
+            GeoGlobe.Format.WFSCapabilities.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                namespaces: {
+                    wfs: "http://www.opengis.net/wfs",
+                    xlink: "http://www.w3.org/1999/xlink",
+                    xsi: "http://www.w3.org/2001/XMLSchema-instance",
+                    ows: "http://www.opengis.net/ows"
+                },
+                errorProperty: "featureTypeList",
+                defaultPrefix: "wfs",
+                read: function(e) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
+                    e && 9 == e.nodeType && (e = e.documentElement);
+                    var t = {};
+                    return this.readNode(e, t),
+                    t
+                },
+                readers: {
+                    wfs: {
+                        WFS_Capabilities: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        FeatureTypeList: function(e, t) {
+                            t.featureTypeList = {
+                                featureTypes: []
+                            },
+                            this.readChildNodes(e, t.featureTypeList)
+                        },
+                        FeatureType: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.featureTypes.push(i)
+                        },
+                        Name: function(e, t) {
+                            var i = this.getChildValue(e);
+                            if (i) {
+                                var r = i.split(":");
+                                t.name = r.pop(),
+                                r.length > 0 && (t.featureNS = this.lookupNamespaceURI(e, r[0]))
+                            }
+                        },
+                        Title: function(e, t) {
+                            var i = this.getChildValue(e);
+                            i && (t.title = i)
+                        },
+                        Abstract: function(e, t) {
+                            var i = this.getChildValue(e);
+                            i && (t.abstract = i)
+                        }
+                    }
+                },
+                CLASS_NAME: "GeoGlobe.Format.WFSCapabilities.v1"
+            }),
+            GeoGlobe.Format.WFSCapabilities.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.WFSCapabilities.v1, {
+                readers: {
+                    wfs: GeoGlobe.Util.applyDefaults({
+                        Service: function(e, t) {
+                            t.service = {},
+                            this.readChildNodes(e, t.service)
+                        },
+                        Fees: function(e, t) {
+                            var i = this.getChildValue(e);
+                            i && "none" != i.toLowerCase() && (t.fees = i)
+                        },
+                        AccessConstraints: function(e, t) {
+                            var i = this.getChildValue(e);
+                            i && "none" != i.toLowerCase() && (t.accessConstraints = i)
+                        },
+                        OnlineResource: function(e, t) {
+                            var i = this.getChildValue(e);
+                            i && "none" != i.toLowerCase() && (t.onlineResource = i)
+                        },
+                        Keywords: function(e, t) {
+                            var i = this.getChildValue(e);
+                            i && "none" != i.toLowerCase() && (t.keywords = i.split(", "))
+                        },
+                        Capability: function(e, t) {
+                            t.capability = {},
+                            this.readChildNodes(e, t.capability)
+                        },
+                        Request: function(e, t) {
+                            t.request = {},
+                            this.readChildNodes(e, t.request)
+                        },
+                        GetFeature: function(e, t) {
+                            t.getfeature = {
+                                href: {},
+                                formats: []
+                            },
+                            this.readChildNodes(e, t.getfeature)
+                        },
+                        ResultFormat: function(e, t) {
+                            for (var i, r = e.childNodes, n = 0; n < r.length; n++)
+                                1 == (i = r[n]).nodeType && t.formats.push(i.nodeName)
+                        },
+                        DCPType: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        HTTP: function(e, t) {
+                            this.readChildNodes(e, t.href)
+                        },
+                        Get: function(e, t) {
+                            t.get = e.getAttribute("onlineResource")
+                        },
+                        Post: function(e, t) {
+                            t.post = e.getAttribute("onlineResource")
+                        },
+                        SRS: function(e, t) {
+                            var i = this.getChildValue(e);
+                            i && (t.srs = i)
+                        },
+                        LatLongBoundingBox: function(e, t) {
+                            var i = e.getAttribute("minx")
+                              , r = e.getAttribute("miny")
+                              , n = e.getAttribute("maxx")
+                              , o = e.getAttribute("maxy");
+                            t.bbox = i + "," + r + "," + n + "," + o
+                        },
+                        TemporalFeatureLayer: function(e, t) {
+                            t.temporalFeatureLayers = [];
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.temporalFeatureLayers.push(i)
+                        },
+                        Extent: function(e, t) {
+                            t.defaultTime = e.getAttribute("default");
+                            var i = this.getChildValue(e).split("/");
+                            t.time = i
+                        },
+                        Dimension: function(e, t) {
+                            t.defaultTime = e.getAttribute("default");
+                            var i = this.getChildValue(e).split("/");
+                            t.time = i
+                        }
+                    }, GeoGlobe.Format.WFSCapabilities.v1.prototype.readers.wfs)
+                },
+                CLASS_NAME: "GeoGlobe.Format.WFSCapabilities.v1_0_0"
+            }),
+            GeoGlobe.Format.WFSCapabilities.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.WFSCapabilities.v1, {
+                regExes: {
+                    trimSpace: /^\s*|\s*$/g,
+                    removeSpace: /\s*/g,
+                    splitSpace: /\s+/,
+                    trimComma: /\s*,\s*/g
+                },
+                readers: {
+                    wfs: GeoGlobe.Util.applyDefaults({
+                        DefaultSRS: function(e, t) {
+                            var i = this.getChildValue(e);
+                            i && (t.srs = i)
+                        },
+                        WGS84BoundingBox: function(e, t) {
+                            var i = e.getElementsByTagName("ows:LowerCorner")
+                              , r = this.getChildValue(i[0]).split(" ")
+                              , n = e.getElementsByTagName("ows:UpperCorner")
+                              , o = this.getChildValue(n[0]).split(" ");
+                            t.bbox = r[0] + "," + r[1] + "," + o[0] + "," + o[1]
+                        },
+                        TemporalFeatureLayer: function(e, t) {
+                            t.temporalFeatureLayers = [];
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.temporalFeatureLayers.push(i)
+                        },
+                        Extent: function(e, t) {
+                            t.defaultTime = e.getAttribute("default");
+                            var i = this.getChildValue(e).split("/");
+                            t.time = i
+                        },
+                        Dimension: function(e, t) {
+                            t.defaultTime = e.getAttribute("default");
+                            var i = this.getChildValue(e).split("/");
+                            t.time = i
+                        }
+                    }, GeoGlobe.Format.WFSCapabilities.v1.prototype.readers.wfs),
+                    ows: GeoGlobe.Format.OWSCommon.v1.prototype.readers.ows
+                },
+                CLASS_NAME: "GeoGlobe.Format.WFSCapabilities.v1_1_0"
+            }),
+            GeoGlobe.Format.WFSDescribeFeatureType = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                regExes: {
+                    trimSpace: /^\s*|\s*$/g
+                },
+                namespaces: {
+                    xsd: "http://www.w3.org/2001/XMLSchema"
+                },
+                readers: {
+                    xsd: {
+                        schema: function(e, t) {
+                            var i, r, n = [], o = {}, a = {
+                                complexTypes: n,
+                                customTypes: o
+                            };
+                            this.readChildNodes(e, a);
+                            var s, x, l, c, u = e.attributes;
+                            for (i = 0,
+                            r = u.length; i < r; ++i)
+                                0 === (x = (s = u[i]).name).indexOf("xmlns") ? this.setNamespace(x.split(":")[1] || "", s.value) : t[x] = s.value;
+                            for (t.featureTypes = n,
+                            t.targetPrefix = this.namespaceAlias[t.targetNamespace],
+                            i = 0,
+                            r = n.length; i < r; ++i)
+                                c = o[(l = n[i]).typeName],
+                                o[l.typeName] && (l.typeName = c.name)
+                        },
+                        complexType: function(e, t) {
+                            var i = {
+                                typeName: e.getAttribute("name")
+                            };
+                            this.readChildNodes(e, i),
+                            t.complexTypes.push(i)
+                        },
+                        complexContent: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        extension: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        sequence: function(e, t) {
+                            var i = {
+                                elements: []
+                            };
+                            this.readChildNodes(e, i),
+                            t.properties = i.elements
+                        },
+                        element: function(e, t) {
+                            var i;
+                            if (t.elements) {
+                                for (var r, n = {}, o = e.attributes, a = 0, s = o.length; a < s; ++a)
+                                    n[(r = o[a]).name] = r.value;
+                                (i = n.type || n.ref) || (i = {},
+                                this.readChildNodes(e, i),
+                                n.restriction = i,
+                                n.type = i.base);
+                                var x = i.base || i;
+                                n.localType = x.split(":").pop(),
+                                t.elements.push(n),
+                                this.readChildNodes(e, n)
+                            }
+                            if (t.complexTypes) {
+                                var l = (i = e.getAttribute("type")).split(":").pop();
+                                t.customTypes[l] = {
+                                    name: e.getAttribute("name"),
+                                    type: i
+                                }
+                            }
+                        },
+                        annotation: function(e, t) {
+                            t.annotation = {},
+                            this.readChildNodes(e, t.annotation)
+                        },
+                        appinfo: function(e, t) {
+                            t.appinfo || (t.appinfo = []),
+                            t.appinfo.push(this.getChildValue(e))
+                        },
+                        documentation: function(e, t) {
+                            t.documentation || (t.documentation = []);
+                            var i = this.getChildValue(e);
+                            t.documentation.push({
+                                lang: e.getAttribute("xml:lang"),
+                                textContent: i.replace(this.regExes.trimSpace, "")
+                            })
+                        },
+                        simpleType: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        restriction: function(e, t) {
+                            t.base = e.getAttribute("base"),
+                            this.readRestriction(e, t)
+                        }
+                    }
+                },
+                readRestriction: function(e, t) {
+                    for (var i, r, n, o = e.childNodes, a = 0, s = o.length; a < s; ++a)
+                        1 == (i = o[a]).nodeType && (r = i.nodeName.split(":").pop(),
+                        n = i.getAttribute("value"),
+                        t[r] ? ("string" == typeof t[r] && (t[r] = [t[r]]),
+                        t[r].push(n)) : t[r] = n)
+                },
+                read: function(e) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
+                    e && 9 == e.nodeType && (e = e.documentElement);
+                    var t = {};
+                    if ("ExceptionReport" === e.nodeName.split(":").pop()) {
+                        var i = new GeoGlobe.Format.OGCExceptionReport;
+                        t.error = i.read(e)
+                    } else
+                        this.readNode(e, t);
+                    return t
+                },
+                CLASS_NAME: "GeoGlobe.Format.WFSDescribeFeatureType"
+            }),
+            GeoGlobe.Format.WKT = GeoGlobe.Class4OL(GeoGlobe.Format, {
+                initialize: function(e) {
+                    this.regExes = {
+                        typeStr: /^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,
+                        spaces: /\s+/,
+                        parenComma: /\)\s*,\s*\(/,
+                        doubleParenComma: /\)\s*\)\s*,\s*\(\s*\(/,
+                        trimParens: /^\s*\(?(.*?)\)?\s*$/
+                    },
+                    GeoGlobe.Format.prototype.initialize.apply(this, [e])
+                },
+                read: function(e) {
+                    var t, i, r;
+                    e = e.replace(/[\n\r]/g, " ");
+                    var n = this.regExes.typeStr.exec(e);
+                    if (n && (i = n[1].toLowerCase(),
+                    r = n[2],
+                    this.parse[i] && (t = this.parse[i].apply(this, [r])),
+                    this.internalProjection && this.externalProjection))
+                        if (t && "GeoGlobe.Feature" == t.CLASS_NAME)
+                            t.geometry.transform(this.externalProjection, this.internalProjection);
+                        else if (t && "geometrycollection" != i && "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(t))
+                            for (var o = 0, a = t.length; o < a; o++)
+                                t[o].geometry.transform(this.externalProjection, this.internalProjection);
+                    return t
+                },
+                write: function(e) {
+                    var t, i, r;
+                    e.constructor == Array ? (t = e,
+                    r = !0) : (t = [e],
+                    r = !1);
+                    var n = [];
+                    r && n.push("GEOMETRYCOLLECTION(");
+                    for (var o = 0, a = t.length; o < a; ++o)
+                        r && o > 0 && n.push(","),
+                        i = t[o].geometry,
+                        n.push(this.extractGeometry(i));
+                    return r && n.push(")"),
+                    n.join("")
+                },
+                extractGeometry: function(e) {
+                    var t = e.CLASS_NAME.split(".")[2].toLowerCase();
+                    return this.extract[t] ? (this.internalProjection && this.externalProjection && (e = e.clone()).transform(this.internalProjection, this.externalProjection),
+                    ("collection" == t ? "GEOMETRYCOLLECTION" : t.toUpperCase()) + "(" + this.extract[t].apply(this, [e]) + ")") : null
+                },
+                extract: {
+                    point: function(e) {
+                        return e.x + " " + e.y
+                    },
+                    multipoint: function(e) {
+                        for (var t = [], i = 0, r = e.components.length; i < r; ++i)
+                            t.push("(" + this.extract.point.apply(this, [e.components[i]]) + ")");
+                        return t.join(",")
+                    },
+                    linestring: function(e) {
+                        for (var t = [], i = 0, r = e.components.length; i < r; ++i)
+                            t.push(this.extract.point.apply(this, [e.components[i]]));
+                        return t.join(",")
+                    },
+                    multilinestring: function(e) {
+                        for (var t = [], i = 0, r = e.components.length; i < r; ++i)
+                            t.push("(" + this.extract.linestring.apply(this, [e.components[i]]) + ")");
+                        return t.join(",")
+                    },
+                    polygon: function(e) {
+                        for (var t = [], i = 0, r = e.components.length; i < r; ++i)
+                            t.push("(" + this.extract.linestring.apply(this, [e.components[i]]) + ")");
+                        return t.join(",")
+                    },
+                    multipolygon: function(e) {
+                        for (var t = [], i = 0, r = e.components.length; i < r; ++i)
+                            t.push("(" + this.extract.polygon.apply(this, [e.components[i]]) + ")");
+                        return t.join(",")
+                    },
+                    collection: function(e) {
+                        for (var t = [], i = 0, r = e.components.length; i < r; ++i)
+                            t.push(this.extractGeometry.apply(this, [e.components[i]]));
+                        return t.join(",")
+                    }
+                },
+                parse: {
+                    point: function(e) {
+                        var t = GeoGlobe.String.trim(e).split(this.regExes.spaces);
+                        return new GeoGlobe.Feature(new GeoGlobe.Geometry.Point(t[0],t[1]))
+                    },
+                    multipoint: function(e) {
+                        for (var t, i = GeoGlobe.String.trim(e).split(","), r = [], n = 0, o = i.length; n < o; ++n)
+                            t = i[n].replace(this.regExes.trimParens, "$1"),
+                            r.push(this.parse.point.apply(this, [t]).geometry);
+                        return new GeoGlobe.Feature(new GeoGlobe.Geometry.MultiPoint(r))
+                    },
+                    linestring: function(e) {
+                        for (var t = GeoGlobe.String.trim(e).split(","), i = [], r = 0, n = t.length; r < n; ++r)
+                            i.push(this.parse.point.apply(this, [t[r]]).geometry);
+                        return new GeoGlobe.Feature(new GeoGlobe.Geometry.LineString(i))
+                    },
+                    multilinestring: function(e) {
+                        for (var t, i = GeoGlobe.String.trim(e).split(this.regExes.parenComma), r = [], n = 0, o = i.length; n < o; ++n)
+                            t = i[n].replace(this.regExes.trimParens, "$1"),
+                            r.push(this.parse.linestring.apply(this, [t]).geometry);
+                        return new GeoGlobe.Feature(new GeoGlobe.Geometry.MultiLineString(r))
+                    },
+                    polygon: function(e) {
+                        for (var t, i, r, n = GeoGlobe.String.trim(e).split(this.regExes.parenComma), o = [], a = 0, s = n.length; a < s; ++a)
+                            t = n[a].replace(this.regExes.trimParens, "$1"),
+                            i = this.parse.linestring.apply(this, [t]).geometry,
+                            r = new GeoGlobe.Geometry.LinearRing(i.components),
+                            o.push(r);
+                        return new GeoGlobe.Feature(new GeoGlobe.Geometry.Polygon(o))
+                    },
+                    multipolygon: function(e) {
+                        for (var t, i = GeoGlobe.String.trim(e).split(this.regExes.doubleParenComma), r = [], n = 0, o = i.length; n < o; ++n)
+                            t = i[n].replace(this.regExes.trimParens, "$1"),
+                            r.push(this.parse.polygon.apply(this, [t]).geometry);
+                        return new GeoGlobe.Feature(new GeoGlobe.Geometry.MultiPolygon(r))
+                    },
+                    geometrycollection: function(e) {
+                        e = e.replace(/,\s*([A-Za-z])/g, "|$1");
+                        for (var t = GeoGlobe.String.trim(e).split("|"), i = [], r = 0, n = t.length; r < n; ++r)
+                            i.push(GeoGlobe.Format.WKT.prototype.read.apply(this, [t[r]]));
+                        return i
+                    }
+                },
+                CLASS_NAME: "GeoGlobe.Format.WKT"
+            }),
+            GeoGlobe.Format.CQL = function() {
+                var e, t = {
+                    PROPERTY: /^[_a-zA-Z]\w*/,
+                    COMPARISON: /^(=|<>|<=|<|>=|>|LIKE)/i,
+                    IS_NULL: /^IS NULL/i,
+                    COMMA: /^,/,
+                    LOGICAL: /^(AND|OR)/i,
+                    VALUE: /^('([^']|'')*'|\d+(\.\d*)?|\.\d+)/,
+                    LPAREN: /^\(/,
+                    RPAREN: /^\)/,
+                    SPATIAL: /^(BBOX|INTERSECTS|DWITHIN|WITHIN|CONTAINS)/i,
+                    NOT: /^NOT/i,
+                    BETWEEN: /^BETWEEN/i,
+                    GEOMETRY: function(e) {
+                        var t = /^(POINT|LINESTRING|POLYGON|MULTIPOINT|MULTILINESTRING|MULTIPOLYGON|GEOMETRYCOLLECTION)/.exec(e);
+                        if (t) {
+                            var i = e.length
+                              , r = e.indexOf("(", t[0].length);
+                            if (r > -1)
+                                for (var n = 1; r < i && n > 0; )
+                                    switch (r++,
+                                    e.charAt(r)) {
+                                    case "(":
+                                        n++;
+                                        break;
+                                    case ")":
+                                        n--
+                                    }
+                            return [e.substr(0, r + 1)]
+                        }
+                    },
+                    END: /^$/
+                }, i = {
+                    LPAREN: ["GEOMETRY", "SPATIAL", "PROPERTY", "VALUE", "LPAREN"],
+                    RPAREN: ["NOT", "LOGICAL", "END", "RPAREN"],
+                    PROPERTY: ["COMPARISON", "BETWEEN", "COMMA", "IS_NULL"],
+                    BETWEEN: ["VALUE"],
+                    IS_NULL: ["END"],
+                    COMPARISON: ["VALUE"],
+                    COMMA: ["GEOMETRY", "VALUE", "PROPERTY"],
+                    VALUE: ["LOGICAL", "COMMA", "RPAREN", "END"],
+                    SPATIAL: ["LPAREN"],
+                    LOGICAL: ["NOT", "VALUE", "SPATIAL", "PROPERTY", "LPAREN"],
+                    NOT: ["PROPERTY", "LPAREN"],
+                    GEOMETRY: ["COMMA", "RPAREN"]
+                }, r = {
+                    "=": GeoGlobe.Filter.Comparison.EQUAL_TO,
+                    "<>": GeoGlobe.Filter.Comparison.NOT_EQUAL_TO,
+                    "<": GeoGlobe.Filter.Comparison.LESS_THAN,
+                    "<=": GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO,
+                    ">": GeoGlobe.Filter.Comparison.GREATER_THAN,
+                    ">=": GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO,
+                    LIKE: GeoGlobe.Filter.Comparison.LIKE,
+                    BETWEEN: GeoGlobe.Filter.Comparison.BETWEEN,
+                    "IS NULL": GeoGlobe.Filter.Comparison.IS_NULL
+                }, n = {}, o = {
+                    AND: GeoGlobe.Filter.Logical.AND,
+                    OR: GeoGlobe.Filter.Logical.OR
+                }, a = {}, s = {
+                    RPAREN: 3,
+                    LOGICAL: 2,
+                    COMPARISON: 1
+                };
+                for (e in r)
+                    r.hasOwnProperty(e) && (n[r[e]] = e);
+                for (e in o)
+                    o.hasOwnProperty(e) && (a[o[e]] = e);
+                function x(e, i) {
+                    var r, n, o, a, s = i.length;
+                    for (r = 0; r < s; r++) {
+                        n = i[r];
+                        var x = (o = e,
+                        (a = t[n])instanceof RegExp ? a.exec(o) : a(o));
+                        if (x) {
+                            var l = x[0];
+                            return {
+                                type: n,
+                                text: l,
+                                remainder: e.substr(l.length).replace(/^\s*/, "")
+                            }
+                        }
+                    }
+                    var c = "ERROR: In parsing: [" + e + "], expected one of: ";
+                    for (r = 0; r < s; r++)
+                        c += "\n    " + (n = i[r]) + ": " + t[n];
+                    throw new Error(c)
+                }
+                return GeoGlobe.Class4OL(GeoGlobe.Format, {
+                    read: function(e) {
+                        var t = function(e) {
+                            for (var t = [], i = []; e.length; ) {
+                                var n = e.shift();
+                                switch (n.type) {
+                                case "PROPERTY":
+                                case "GEOMETRY":
+                                case "VALUE":
+                                    i.push(n);
+                                    break;
+                                case "COMPARISON":
+                                case "BETWEEN":
+                                case "IS_NULL":
+                                case "LOGICAL":
+                                    for (var a = s[n.type]; t.length > 0 && s[t[t.length - 1].type] <= a; )
+                                        i.push(t.pop());
+                                    t.push(n);
+                                    break;
+                                case "SPATIAL":
+                                case "NOT":
+                                case "LPAREN":
+                                    t.push(n);
+                                    break;
+                                case "RPAREN":
+                                    for (; t.length > 0 && "LPAREN" != t[t.length - 1].type; )
+                                        i.push(t.pop());
+                                    t.pop(),
+                                    t.length > 0 && "SPATIAL" == t[t.length - 1].type && i.push(t.pop());
+                                case "COMMA":
+                                case "END":
+                                    break;
+                                default:
+                                    throw new Error("Unknown token type " + n.type)
+                                }
+                            }
+                            for (; t.length > 0; )
+                                i.push(t.pop());
+                            var x = function e() {
+                                var t = i.pop();
+                                switch (t.type) {
+                                case "LOGICAL":
+                                    var n = e()
+                                      , a = e();
+                                    return new GeoGlobe.Filter.Logical({
+                                        filters: [a, n],
+                                        type: o[t.text.toUpperCase()]
                                     });
-                                l[P("0x17c")]({
-                                    index: 0,
-                                    vertexBuffer: c,
-                                    componentsPerAttribute: 3,
-                                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                    offsetInBytes: 0,
-                                    strideInBytes: 12,
-                                    normalize: !1
+                                case "NOT":
+                                    var s = e();
+                                    return new GeoGlobe.Filter.Logical({
+                                        filters: [s],
+                                        type: GeoGlobe.Filter.Logical.NOT
+                                    });
+                                case "BETWEEN":
+                                    var x, l;
+                                    return i.pop(),
+                                    l = e(),
+                                    x = e(),
+                                    u = e(),
+                                    new GeoGlobe.Filter.Comparison({
+                                        property: u,
+                                        lowerBoundary: x,
+                                        upperBoundary: l,
+                                        type: GeoGlobe.Filter.Comparison.BETWEEN
+                                    });
+                                case "COMPARISON":
+                                    var c = e()
+                                      , u = e();
+                                    return new GeoGlobe.Filter.Comparison({
+                                        property: u,
+                                        value: c,
+                                        type: r[t.text.toUpperCase()]
+                                    });
+                                case "IS_NULL":
+                                    return u = e(),
+                                    new GeoGlobe.Filter.Comparison({
+                                        property: u,
+                                        type: r[t.text.toUpperCase()]
+                                    });
+                                case "VALUE":
+                                    var h = t.text.match(/^'(.*)'$/);
+                                    return h ? h[1].replace(/''/g, "'") : Number(t.text);
+                                case "SPATIAL":
+                                    switch (t.text.toUpperCase()) {
+                                    case "BBOX":
+                                        var f = e()
+                                          , d = e()
+                                          , g = e()
+                                          , p = e()
+                                          , m = e();
+                                        return new GeoGlobe.Filter.Spatial({
+                                            type: GeoGlobe.Filter.Spatial.BBOX,
+                                            property: m,
+                                            value: GeoGlobe.LngLatBounds.fromArray([p, g, d, f])
+                                        });
+                                    case "INTERSECTS":
+                                        return c = e(),
+                                        u = e(),
+                                        new GeoGlobe.Filter.Spatial({
+                                            type: GeoGlobe.Filter.Spatial.INTERSECTS,
+                                            property: u,
+                                            value: c
+                                        });
+                                    case "WITHIN":
+                                        return c = e(),
+                                        u = e(),
+                                        new GeoGlobe.Filter.Spatial({
+                                            type: GeoGlobe.Filter.Spatial.WITHIN,
+                                            property: u,
+                                            value: c
+                                        });
+                                    case "CONTAINS":
+                                        return c = e(),
+                                        u = e(),
+                                        new GeoGlobe.Filter.Spatial({
+                                            type: GeoGlobe.Filter.Spatial.CONTAINS,
+                                            property: u,
+                                            value: c
+                                        });
+                                    case "DWITHIN":
+                                        var b = e();
+                                        return c = e(),
+                                        u = e(),
+                                        new GeoGlobe.Filter.Spatial({
+                                            type: GeoGlobe.Filter.Spatial.DWITHIN,
+                                            value: c,
+                                            property: u,
+                                            distance: Number(b)
+                                        })
+                                    }
+                                case "GEOMETRY":
+                                    return GeoGlobe.Geometry.fromWKT(t.text);
+                                default:
+                                    return t.text
+                                }
+                            }();
+                            if (i.length > 0) {
+                                for (var l = "Remaining tokens after building AST: \n", c = i.length - 1; c >= 0; c--)
+                                    l += i[c].type + ": " + i[c].text + "\n";
+                                throw new Error(l)
+                            }
+                            return x
+                        }(function(e) {
+                            var t, r = [], n = ["NOT", "GEOMETRY", "SPATIAL", "PROPERTY", "LPAREN"];
+                            do {
+                                if (e = (t = x(e, n)).remainder,
+                                n = i[t.type],
+                                "END" != t.type && !n)
+                                    throw new Error("No follows list for " + t.type);
+                                r.push(t)
+                            } while ("END" != t.type);return r
+                        }(e));
+                        return this.keepData && (this.data = t),
+                        t
+                    },
+                    write: function(e) {
+                        if (e instanceof GeoGlobe.Geometry)
+                            return e.toString();
+                        switch (e.CLASS_NAME) {
+                        case "GeoGlobe.Filter.Spatial":
+                            switch (e.type) {
+                            case GeoGlobe.Filter.Spatial.BBOX:
+                                return "BBOX(" + e.property + "," + e.value.toBBOX() + ")";
+                            case GeoGlobe.Filter.Spatial.DWITHIN:
+                                return "DWITHIN(" + e.property + ", " + this.write(e.value) + ", " + e.distance + ")";
+                            case GeoGlobe.Filter.Spatial.WITHIN:
+                                return "WITHIN(" + e.property + ", " + this.write(e.value) + ")";
+                            case GeoGlobe.Filter.Spatial.INTERSECTS:
+                                return "INTERSECTS(" + e.property + ", " + this.write(e.value) + ")";
+                            case GeoGlobe.Filter.Spatial.CONTAINS:
+                                return "CONTAINS(" + e.property + ", " + this.write(e.value) + ")";
+                            default:
+                                throw new Error("Unknown spatial filter type: " + e.type)
+                            }
+                        case "GeoGlobe.Filter.Logical":
+                            if (e.type == GeoGlobe.Filter.Logical.NOT)
+                                return "NOT (" + this.write(e.filters[0]) + ")";
+                            for (var t = "(", i = !0, r = 0; r < e.filters.length; r++)
+                                i ? i = !1 : t += ") " + a[e.type] + " (",
+                                t += this.write(e.filters[r]);
+                            return t + ")";
+                        case "GeoGlobe.Filter.Comparison":
+                            return e.type == GeoGlobe.Filter.Comparison.BETWEEN ? e.property + " BETWEEN " + this.write(e.lowerBoundary) + " AND " + this.write(e.upperBoundary) : null !== e.value ? e.property + " " + n[e.type] + " " + this.write(e.value) : e.property + " " + n[e.type];
+                        case void 0:
+                            if ("string" == typeof e)
+                                return "'" + e.replace(/'/g, "''") + "'";
+                            if ("number" == typeof e)
+                                return String(e);
+                        default:
+                            throw new Error("Can't encode: " + e.CLASS_NAME + " " + e)
+                        }
+                    },
+                    CLASS_NAME: "GeoGlobe.Format.CQL"
+                })
+            }(),
+            GeoGlobe.Format.Filter = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
+                defaultVersion: "1.0.0",
+                CLASS_NAME: "GeoGlobe.Format.Filter"
+            }),
+            GeoGlobe.Format.Filter.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                namespaces: {
+                    ogc: "http://www.opengis.net/ogc",
+                    gml: "http://www.opengis.net/gml",
+                    xlink: "http://www.w3.org/1999/xlink",
+                    xsi: "http://www.w3.org/2001/XMLSchema-instance"
+                },
+                defaultPrefix: "ogc",
+                schemaLocation: null,
+                initialize: function(e) {
+                    GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
+                },
+                read: function(e) {
+                    var t = {};
+                    return this.readers.ogc.Filter.apply(this, [e, t]),
+                    t.filter
+                },
+                readers: {
+                    ogc: {
+                        _expression: function(e) {
+                            for (var t, i = "", r = e.firstChild; r; r = r.nextSibling)
+                                switch (r.nodeType) {
+                                case 1:
+                                    (t = this.readNode(r)).property ? i += "${" + t.property + "}" : void 0 !== t.value && (i += t.value);
+                                    break;
+                                case 3:
+                                case 4:
+                                    i += r.nodeValue
+                                }
+                            return i
+                        },
+                        Filter: function(e, t) {
+                            var i = {
+                                fids: [],
+                                filters: []
+                            };
+                            this.readChildNodes(e, i),
+                            i.fids.length > 0 ? t.filter = new GeoGlobe.Filter.FeatureId({
+                                fids: i.fids
+                            }) : i.filters.length > 0 && (t.filter = i.filters[0])
+                        },
+                        FeatureId: function(e, t) {
+                            var i = e.getAttribute("fid");
+                            i && t.fids.push(i)
+                        },
+                        And: function(e, t) {
+                            var i = new GeoGlobe.Filter.Logical({
+                                type: GeoGlobe.Filter.Logical.AND
+                            });
+                            this.readChildNodes(e, i),
+                            t.filters.push(i)
+                        },
+                        Or: function(e, t) {
+                            var i = new GeoGlobe.Filter.Logical({
+                                type: GeoGlobe.Filter.Logical.OR
+                            });
+                            this.readChildNodes(e, i),
+                            t.filters.push(i)
+                        },
+                        Not: function(e, t) {
+                            var i = new GeoGlobe.Filter.Logical({
+                                type: GeoGlobe.Filter.Logical.NOT
+                            });
+                            this.readChildNodes(e, i),
+                            t.filters.push(i)
+                        },
+                        PropertyIsLessThan: function(e, t) {
+                            var i = new GeoGlobe.Filter.Comparison({
+                                type: GeoGlobe.Filter.Comparison.LESS_THAN
+                            });
+                            this.readChildNodes(e, i),
+                            t.filters.push(i)
+                        },
+                        PropertyIsGreaterThan: function(e, t) {
+                            var i = new GeoGlobe.Filter.Comparison({
+                                type: GeoGlobe.Filter.Comparison.GREATER_THAN
+                            });
+                            this.readChildNodes(e, i),
+                            t.filters.push(i)
+                        },
+                        PropertyIsLessThanOrEqualTo: function(e, t) {
+                            var i = new GeoGlobe.Filter.Comparison({
+                                type: GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO
+                            });
+                            this.readChildNodes(e, i),
+                            t.filters.push(i)
+                        },
+                        PropertyIsGreaterThanOrEqualTo: function(e, t) {
+                            var i = new GeoGlobe.Filter.Comparison({
+                                type: GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO
+                            });
+                            this.readChildNodes(e, i),
+                            t.filters.push(i)
+                        },
+                        PropertyIsBetween: function(e, t) {
+                            var i = new GeoGlobe.Filter.Comparison({
+                                type: GeoGlobe.Filter.Comparison.BETWEEN
+                            });
+                            this.readChildNodes(e, i),
+                            t.filters.push(i)
+                        },
+                        Literal: function(e, t) {
+                            t.value = GeoGlobe.String.numericIf(this.getChildValue(e), !0)
+                        },
+                        PropertyName: function(e, t) {
+                            t.property = this.getChildValue(e)
+                        },
+                        LowerBoundary: function(e, t) {
+                            t.lowerBoundary = GeoGlobe.String.numericIf(this.readers.ogc._expression.call(this, e), !0)
+                        },
+                        UpperBoundary: function(e, t) {
+                            t.upperBoundary = GeoGlobe.String.numericIf(this.readers.ogc._expression.call(this, e), !0)
+                        },
+                        Intersects: function(e, t) {
+                            this.readSpatial(e, t, GeoGlobe.Filter.Spatial.INTERSECTS)
+                        },
+                        Within: function(e, t) {
+                            this.readSpatial(e, t, GeoGlobe.Filter.Spatial.WITHIN)
+                        },
+                        Contains: function(e, t) {
+                            this.readSpatial(e, t, GeoGlobe.Filter.Spatial.CONTAINS)
+                        },
+                        DWithin: function(e, t) {
+                            this.readSpatial(e, t, GeoGlobe.Filter.Spatial.DWITHIN)
+                        },
+                        Distance: function(e, t) {
+                            t.distance = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)),
+                            t.distanceUnits = e.getAttribute("units")
+                        },
+                        Function: function(e, t) {},
+                        PropertyIsNull: function(e, t) {
+                            var i = new GeoGlobe.Filter.Comparison({
+                                type: GeoGlobe.Filter.Comparison.IS_NULL
+                            });
+                            this.readChildNodes(e, i),
+                            t.filters.push(i)
+                        }
+                    }
+                },
+                readSpatial: function(e, t, i) {
+                    var r = new GeoGlobe.Filter.Spatial({
+                        type: i
+                    });
+                    this.readChildNodes(e, r),
+                    r.value = r.components[0],
+                    delete r.components,
+                    t.filters.push(r)
+                },
+                encodeLiteral: function(e) {
+                    return e instanceof Date && (e = GeoGlobe.Date.toISOString(e)),
+                    e
+                },
+                writeOgcExpression: function(e, t) {
+                    return e instanceof GeoGlobe.Filter.Function ? this.writeNode("Function", e, t) : this.writeNode("Literal", e, t),
+                    t
+                },
+                write: function(e) {
+                    return this.writers.ogc.Filter.apply(this, [e])
+                },
+                writers: {
+                    ogc: {
+                        Filter: function(e) {
+                            var t = this.createElementNSPlus("ogc:Filter");
+                            return this.writeNode(this.getFilterType(e), e, t),
+                            t
+                        },
+                        _featureIds: function(e) {
+                            for (var t = this.createDocumentFragment(), i = 0, r = e.fids.length; i < r; ++i)
+                                this.writeNode("ogc:FeatureId", e.fids[i], t);
+                            return t
+                        },
+                        FeatureId: function(e) {
+                            return this.createElementNSPlus("ogc:FeatureId", {
+                                attributes: {
+                                    fid: e
+                                }
+                            })
+                        },
+                        And: function(e) {
+                            for (var t, i = this.createElementNSPlus("ogc:And"), r = 0, n = e.filters.length; r < n; ++r)
+                                t = e.filters[r],
+                                this.writeNode(this.getFilterType(t), t, i);
+                            return i
+                        },
+                        Or: function(e) {
+                            for (var t, i = this.createElementNSPlus("ogc:Or"), r = 0, n = e.filters.length; r < n; ++r)
+                                t = e.filters[r],
+                                this.writeNode(this.getFilterType(t), t, i);
+                            return i
+                        },
+                        Not: function(e) {
+                            var t = this.createElementNSPlus("ogc:Not")
+                              , i = e.filters[0];
+                            return this.writeNode(this.getFilterType(i), i, t),
+                            t
+                        },
+                        PropertyIsLessThan: function(e) {
+                            var t = this.createElementNSPlus("ogc:PropertyIsLessThan");
+                            return this.writeNode("PropertyName", e, t),
+                            this.writeOgcExpression(e.value, t),
+                            t
+                        },
+                        PropertyIsGreaterThan: function(e) {
+                            var t = this.createElementNSPlus("ogc:PropertyIsGreaterThan");
+                            return this.writeNode("PropertyName", e, t),
+                            this.writeOgcExpression(e.value, t),
+                            t
+                        },
+                        PropertyIsLessThanOrEqualTo: function(e) {
+                            var t = this.createElementNSPlus("ogc:PropertyIsLessThanOrEqualTo");
+                            return this.writeNode("PropertyName", e, t),
+                            this.writeOgcExpression(e.value, t),
+                            t
+                        },
+                        PropertyIsGreaterThanOrEqualTo: function(e) {
+                            var t = this.createElementNSPlus("ogc:PropertyIsGreaterThanOrEqualTo");
+                            return this.writeNode("PropertyName", e, t),
+                            this.writeOgcExpression(e.value, t),
+                            t
+                        },
+                        PropertyIsBetween: function(e) {
+                            var t = this.createElementNSPlus("ogc:PropertyIsBetween");
+                            return this.writeNode("PropertyName", e, t),
+                            this.writeNode("LowerBoundary", e, t),
+                            this.writeNode("UpperBoundary", e, t),
+                            t
+                        },
+                        PropertyName: function(e) {
+                            return this.createElementNSPlus("ogc:PropertyName", {
+                                value: e.property
+                            })
+                        },
+                        Literal: function(e) {
+                            var t = this.encodeLiteral || GeoGlobe.Format.Filter.v1.prototype.encodeLiteral;
+                            return this.createElementNSPlus("ogc:Literal", {
+                                value: t(e)
+                            })
+                        },
+                        LowerBoundary: function(e) {
+                            var t = this.createElementNSPlus("ogc:LowerBoundary");
+                            return this.writeOgcExpression(e.lowerBoundary, t),
+                            t
+                        },
+                        UpperBoundary: function(e) {
+                            var t = this.createElementNSPlus("ogc:UpperBoundary");
+                            return this.writeNode("Literal", e.upperBoundary, t),
+                            t
+                        },
+                        INTERSECTS: function(e) {
+                            return this.writeSpatial(e, "Intersects")
+                        },
+                        WITHIN: function(e) {
+                            return this.writeSpatial(e, "Within")
+                        },
+                        CONTAINS: function(e) {
+                            return this.writeSpatial(e, "Contains")
+                        },
+                        DWITHIN: function(e) {
+                            var t = this.writeSpatial(e, "DWithin");
+                            return this.writeNode("Distance", e, t),
+                            t
+                        },
+                        Distance: function(e) {
+                            return this.createElementNSPlus("ogc:Distance", {
+                                attributes: {
+                                    units: e.distanceUnits
+                                },
+                                value: e.distance
+                            })
+                        },
+                        Function: function(e) {
+                            for (var t = this.createElementNSPlus("ogc:Function", {
+                                attributes: {
+                                    name: e.name
+                                }
+                            }), i = e.params, r = 0, n = i.length; r < n; r++)
+                                this.writeOgcExpression(i[r], t);
+                            return t
+                        },
+                        PropertyIsNull: function(e) {
+                            var t = this.createElementNSPlus("ogc:PropertyIsNull");
+                            return this.writeNode("PropertyName", e, t),
+                            t
+                        },
+                        SortBy: function(e) {
+                            for (var t = this.createElementNSPlus("ogc:SortBy"), i = 0, r = e.length; i < r; i++)
+                                this.writeNode("ogc:SortProperty", e[i], t);
+                            return t
+                        },
+                        SortProperty: function(e) {
+                            var t = this.createElementNSPlus("ogc:SortProperty");
+                            return this.writeNode("ogc:PropertyName", e, t),
+                            this.writeNode("ogc:SortOrder", "DESC" == e.order ? "DESC" : "ASC", t),
+                            t
+                        },
+                        SortOrder: function(e) {
+                            return this.createElementNSPlus("ogc:SortOrder", {
+                                value: e
+                            })
+                        }
+                    }
+                },
+                getFilterType: function(e) {
+                    var t = this.filterMap[e.type];
+                    if (!t)
+                        throw "Filter writing not supported for rule type: " + e.type;
+                    return t
+                },
+                filterMap: {
+                    "&&": "And",
+                    "||": "Or",
+                    "!": "Not",
+                    "==": "PropertyIsEqualTo",
+                    "!=": "PropertyIsNotEqualTo",
+                    "<": "PropertyIsLessThan",
+                    ">": "PropertyIsGreaterThan",
+                    "<=": "PropertyIsLessThanOrEqualTo",
+                    ">=": "PropertyIsGreaterThanOrEqualTo",
+                    "..": "PropertyIsBetween",
+                    "~": "PropertyIsLike",
+                    NULL: "PropertyIsNull",
+                    BBOX: "BBOX",
+                    DWITHIN: "DWITHIN",
+                    WITHIN: "WITHIN",
+                    CONTAINS: "CONTAINS",
+                    INTERSECTS: "INTERSECTS",
+                    FID: "_featureIds"
+                },
+                CLASS_NAME: "GeoGlobe.Format.Filter.v1"
+            }),
+            GeoGlobe.Format.Filter.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.GML.v2, GeoGlobe.Format.Filter.v1, {
+                VERSION: "1.0.0",
+                schemaLocation: "http://www.opengis.net/ogc/filter/1.0.0/filter.xsd",
+                initialize: function(e) {
+                    GeoGlobe.Format.GML.v2.prototype.initialize.apply(this, [e])
+                },
+                readers: {
+                    ogc: GeoGlobe.Util.applyDefaults({
+                        PropertyIsEqualTo: function(e, t) {
+                            var i = new GeoGlobe.Filter.Comparison({
+                                type: GeoGlobe.Filter.Comparison.EQUAL_TO
+                            });
+                            this.readChildNodes(e, i),
+                            t.filters.push(i)
+                        },
+                        PropertyIsNotEqualTo: function(e, t) {
+                            var i = new GeoGlobe.Filter.Comparison({
+                                type: GeoGlobe.Filter.Comparison.NOT_EQUAL_TO
+                            });
+                            this.readChildNodes(e, i),
+                            t.filters.push(i)
+                        },
+                        PropertyIsLike: function(e, t) {
+                            var i = new GeoGlobe.Filter.Comparison({
+                                type: GeoGlobe.Filter.Comparison.LIKE
+                            });
+                            this.readChildNodes(e, i);
+                            var r = e.getAttribute("wildCard")
+                              , n = e.getAttribute("singleChar")
+                              , o = e.getAttribute("escape");
+                            i.value2regex(r, n, o),
+                            t.filters.push(i)
+                        }
+                    }, GeoGlobe.Format.Filter.v1.prototype.readers.ogc),
+                    gml: GeoGlobe.Format.GML.v2.prototype.readers.gml,
+                    feature: GeoGlobe.Format.GML.v2.prototype.readers.feature
+                },
+                writers: {
+                    ogc: GeoGlobe.Util.applyDefaults({
+                        PropertyIsEqualTo: function(e) {
+                            var t = this.createElementNSPlus("ogc:PropertyIsEqualTo");
+                            return this.writeNode("PropertyName", e, t),
+                            this.writeOgcExpression(e.value, t),
+                            t
+                        },
+                        PropertyIsNotEqualTo: function(e) {
+                            var t = this.createElementNSPlus("ogc:PropertyIsNotEqualTo");
+                            return this.writeNode("PropertyName", e, t),
+                            this.writeOgcExpression(e.value, t),
+                            t
+                        },
+                        PropertyIsLike: function(e) {
+                            var t = this.createElementNSPlus("ogc:PropertyIsLike", {
+                                attributes: {
+                                    wildCard: "*",
+                                    singleChar: ".",
+                                    escape: "!"
+                                }
+                            });
+                            return this.writeNode("PropertyName", e, t),
+                            this.writeNode("Literal", e.regex2value(), t),
+                            t
+                        },
+                        BBOX: function(e) {
+                            var t = this.createElementNSPlus("ogc:BBOX");
+                            e.property && this.writeNode("PropertyName", e, t);
+                            var i = this.writeNode("gml:Box", e.value, t);
+                            return e.projection && i.setAttribute("srsName", e.projection),
+                            t
+                        }
+                    }, GeoGlobe.Format.Filter.v1.prototype.writers.ogc),
+                    gml: GeoGlobe.Format.GML.v2.prototype.writers.gml,
+                    feature: GeoGlobe.Format.GML.v2.prototype.writers.feature
+                },
+                writeSpatial: function(e, t) {
+                    var i, r = this.createElementNSPlus("ogc:" + t);
+                    return this.writeNode("PropertyName", e, r),
+                    e.value instanceof GeoGlobe.Filter.Function ? this.writeNode("Function", e.value, r) : (i = e.value instanceof GeoGlobe.Geometry ? this.writeNode("feature:_geometry", e.value).firstChild : this.writeNode("gml:Box", e.value),
+                    e.projection && i.setAttribute("srsName", e.projection),
+                    r.appendChild(i)),
+                    r
+                },
+                CLASS_NAME: "GeoGlobe.Format.Filter.v1_0_0"
+            }),
+            GeoGlobe.Format.Filter.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.GML.v3, GeoGlobe.Format.Filter.v1, {
+                VERSION: "1.1.0",
+                schemaLocation: "http://www.opengis.net/ogc/filter/1.1.0/filter.xsd",
+                initialize: function(e) {
+                    GeoGlobe.Format.GML.v3.prototype.initialize.apply(this, [e])
+                },
+                readers: {
+                    ogc: GeoGlobe.Util.applyDefaults({
+                        PropertyIsEqualTo: function(e, t) {
+                            var i = e.getAttribute("matchCase")
+                              , r = new GeoGlobe.Filter.Comparison({
+                                type: GeoGlobe.Filter.Comparison.EQUAL_TO,
+                                matchCase: !("false" === i || "0" === i)
+                            });
+                            this.readChildNodes(e, r),
+                            t.filters.push(r)
+                        },
+                        PropertyIsNotEqualTo: function(e, t) {
+                            var i = e.getAttribute("matchCase")
+                              , r = new GeoGlobe.Filter.Comparison({
+                                type: GeoGlobe.Filter.Comparison.NOT_EQUAL_TO,
+                                matchCase: !("false" === i || "0" === i)
+                            });
+                            this.readChildNodes(e, r),
+                            t.filters.push(r)
+                        },
+                        PropertyIsLike: function(e, t) {
+                            var i = new GeoGlobe.Filter.Comparison({
+                                type: GeoGlobe.Filter.Comparison.LIKE
+                            });
+                            this.readChildNodes(e, i);
+                            var r = e.getAttribute("wildCard")
+                              , n = e.getAttribute("singleChar")
+                              , o = e.getAttribute("escapeChar");
+                            i.value2regex(r, n, o),
+                            t.filters.push(i)
+                        }
+                    }, GeoGlobe.Format.Filter.v1.prototype.readers.ogc),
+                    gml: GeoGlobe.Format.GML.v3.prototype.readers.gml,
+                    feature: GeoGlobe.Format.GML.v3.prototype.readers.feature
+                },
+                writers: {
+                    ogc: GeoGlobe.Util.applyDefaults({
+                        PropertyIsEqualTo: function(e) {
+                            var t = this.createElementNSPlus("ogc:PropertyIsEqualTo", {
+                                attributes: {
+                                    matchCase: e.matchCase
+                                }
+                            });
+                            return this.writeNode("PropertyName", e, t),
+                            this.writeOgcExpression(e.value, t),
+                            t
+                        },
+                        PropertyIsNotEqualTo: function(e) {
+                            var t = this.createElementNSPlus("ogc:PropertyIsNotEqualTo", {
+                                attributes: {
+                                    matchCase: e.matchCase
+                                }
+                            });
+                            return this.writeNode("PropertyName", e, t),
+                            this.writeOgcExpression(e.value, t),
+                            t
+                        },
+                        PropertyIsLike: function(e) {
+                            var t = this.createElementNSPlus("ogc:PropertyIsLike", {
+                                attributes: {
+                                    matchCase: e.matchCase,
+                                    wildCard: "*",
+                                    singleChar: ".",
+                                    escapeChar: "!"
+                                }
+                            });
+                            return this.writeNode("PropertyName", e, t),
+                            this.writeNode("Literal", e.regex2value(), t),
+                            t
+                        },
+                        BBOX: function(e) {
+                            var t = this.createElementNSPlus("ogc:BBOX");
+                            e.property && this.writeNode("PropertyName", e, t);
+                            var i = this.writeNode("gml:Envelope", e.value);
+                            return e.projection && i.setAttribute("srsName", e.projection),
+                            t.appendChild(i),
+                            t
+                        },
+                        SortBy: function(e) {
+                            for (var t = this.createElementNSPlus("ogc:SortBy"), i = 0, r = e.length; i < r; i++)
+                                this.writeNode("ogc:SortProperty", e[i], t);
+                            return t
+                        },
+                        SortProperty: function(e) {
+                            var t = this.createElementNSPlus("ogc:SortProperty");
+                            return this.writeNode("ogc:PropertyName", e, t),
+                            this.writeNode("ogc:SortOrder", "DESC" == e.order ? "DESC" : "ASC", t),
+                            t
+                        },
+                        SortOrder: function(e) {
+                            return this.createElementNSPlus("ogc:SortOrder", {
+                                value: e
+                            })
+                        }
+                    }, GeoGlobe.Format.Filter.v1.prototype.writers.ogc),
+                    gml: GeoGlobe.Format.GML.v3.prototype.writers.gml,
+                    feature: GeoGlobe.Format.GML.v3.prototype.writers.feature
+                },
+                writeSpatial: function(e, t) {
+                    var i, r = this.createElementNSPlus("ogc:" + t);
+                    return this.writeNode("PropertyName", e, r),
+                    e.value instanceof GeoGlobe.Filter.Function ? this.writeNode("Function", e.value, r) : (i = e.value instanceof GeoGlobe.Geometry ? this.writeNode("feature:_geometry", e.value).firstChild : this.writeNode("gml:Envelope", e.value),
+                    e.projection && i.setAttribute("srsName", e.projection),
+                    r.appendChild(i)),
+                    r
+                },
+                CLASS_NAME: "GeoGlobe.Format.Filter.v1_1_0"
+            }),
+            GeoGlobe.Format.WFST = function(e) {
+                e = GeoGlobe.Util.applyDefaults(e, GeoGlobe.Format.WFST.DEFAULTS);
+                var t = GeoGlobe.Format.WFST["v" + e.version.replace(/\./g, "_")];
+                if (!t)
+                    throw "Unsupported WFST version: " + e.version;
+                return new t(e)
+            }
+            ,
+            GeoGlobe.Format.WFST.DEFAULTS = {
+                version: "1.0.0"
+            },
+            GeoGlobe.Format.WFST.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                namespaces: {
+                    xlink: "http://www.w3.org/1999/xlink",
+                    xsi: "http://www.w3.org/2001/XMLSchema-instance",
+                    wfs: "http://www.opengis.net/wfs",
+                    gml: "http://www.opengis.net/gml",
+                    ogc: "http://www.opengis.net/ogc",
+                    ows: "http://www.opengis.net/ows"
+                },
+                defaultPrefix: "wfs",
+                version: null,
+                schemaLocations: null,
+                srsName: null,
+                extractAttributes: !0,
+                xy: !0,
+                stateName: null,
+                initialize: function(e) {
+                    this.stateName = {},
+                    this.stateName[GeoGlobe.State.INSERT] = "wfs:Insert",
+                    this.stateName[GeoGlobe.State.UPDATE] = "wfs:Update",
+                    this.stateName[GeoGlobe.State.DELETE] = "wfs:Delete",
+                    GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
+                },
+                getSrsName: function(e, t) {
+                    var i = t && t.srsName;
+                    return i || (i = e && e.layer ? e.layer.projection.getCode() : this.srsName),
+                    i
+                },
+                read: function(e, t) {
+                    t = t || {},
+                    GeoGlobe.Util.applyDefaults(t, {
+                        output: "features"
+                    }),
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
+                    e && 9 == e.nodeType && (e = e.documentElement);
+                    var i = {};
+                    return e && this.readNode(e, i, !0),
+                    i.features && "features" === t.output && (i = i.features),
+                    i
+                },
+                readers: {
+                    wfs: {
+                        FeatureCollection: function(e, t) {
+                            t.features = [],
+                            this.readChildNodes(e, t)
+                        }
+                    }
+                },
+                write: function(e, t) {
+                    var i = this.writeNode("wfs:Transaction", {
+                        features: e,
+                        options: t
+                    })
+                      , r = this.schemaLocationAttr();
+                    return r && this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", r),
+                    GeoGlobe.Format.XML.prototype.write.apply(this, [i])
+                },
+                writers: {
+                    wfs: {
+                        GetFeature: function(e) {
+                            var t = this.createElementNSPlus("wfs:GetFeature", {
+                                attributes: {
+                                    service: "WFS",
+                                    version: this.version,
+                                    outputFormat: e && e.outputFormat,
+                                    maxFeatures: e && e.maxFeatures,
+                                    resultType: e && e.resultType,
+                                    startPosition: e && e.startPosition,
+                                    "xsi:schemaLocation": this.schemaLocationAttr(e)
+                                }
+                            });
+                            if ("string" == typeof this.featureType)
+                                this.writeNode("Query", e, t);
+                            else
+                                for (var i = 0, r = this.featureType.length; i < r; i++)
+                                    e.featureType = this.featureType[i],
+                                    this.writeNode("Query", e, t);
+                            return t
+                        },
+                        Transaction: function(e) {
+                            var t, i, r = (e = e || {}).options || {}, n = this.createElementNSPlus("wfs:Transaction", {
+                                attributes: {
+                                    service: "WFS",
+                                    version: this.version,
+                                    handle: r.handle
+                                }
+                            }), o = e.features;
+                            if (o) {
+                                var a, s;
+                                for (!0 === r.multi && GeoGlobe.Util.extend(this.geometryTypes, {
+                                    "GeoGlobe.Geometry.Point": "MultiPoint",
+                                    "GeoGlobe.Geometry.LineString": !0 === this.multiCurve ? "MultiCurve" : "MultiLineString",
+                                    "GeoGlobe.Geometry.Polygon": !0 === this.multiSurface ? "MultiSurface" : "MultiPolygon"
+                                }),
+                                t = 0,
+                                i = o.length; t < i; ++t)
+                                    s = o[t],
+                                    (a = this.stateName[s.state]) && this.writeNode(a, {
+                                        feature: s,
+                                        options: r
+                                    }, n);
+                                !0 === r.multi && this.setGeometryTypes()
+                            }
+                            if (r.nativeElements)
+                                for (t = 0,
+                                i = r.nativeElements.length; t < i; ++t)
+                                    this.writeNode("wfs:Native", r.nativeElements[t], n);
+                            return n
+                        },
+                        Native: function(e) {
+                            return this.createElementNSPlus("wfs:Native", {
+                                attributes: {
+                                    vendorId: e.vendorId,
+                                    safeToIgnore: e.safeToIgnore
+                                },
+                                value: e.value
+                            })
+                        },
+                        Insert: function(e) {
+                            var t = e.feature
+                              , i = e.options
+                              , r = this.createElementNSPlus("wfs:Insert", {
+                                attributes: {
+                                    handle: i && i.handle
+                                }
+                            });
+                            return this.srsName = this.getSrsName(t),
+                            this.writeNode("feature:_typeName", t, r),
+                            r
+                        },
+                        Update: function(e) {
+                            var t = e.feature
+                              , i = e.options
+                              , r = this.createElementNSPlus("wfs:Update", {
+                                attributes: {
+                                    handle: i && i.handle,
+                                    typeName: (this.featureNS ? this.featurePrefix + ":" : "") + this.featureType
+                                }
+                            });
+                            this.featureNS && r.setAttribute("xmlns:" + this.featurePrefix, this.featureNS);
+                            var n = t.modified;
+                            for (var o in null === this.geometryName || n && void 0 === n.geometry || (this.srsName = this.getSrsName(t),
+                            this.writeNode("Property", {
+                                name: this.geometryName,
+                                value: t.geometry
+                            }, r)),
+                            t.attributes)
+                                void 0 === t.attributes[o] || n && n.attributes && (!n.attributes || void 0 === n.attributes[o]) || this.writeNode("Property", {
+                                    name: o,
+                                    value: t.attributes[o]
+                                }, r);
+                            return this.writeNode("ogc:Filter", new GeoGlobe.Filter.FeatureId({
+                                fids: [t.fid]
+                            }), r),
+                            r
+                        },
+                        Property: function(e) {
+                            var t = this.createElementNSPlus("wfs:Property");
+                            return this.writeNode("Name", e.name, t),
+                            null !== e.value && this.writeNode("Value", e.value, t),
+                            t
+                        },
+                        Name: function(e) {
+                            return this.createElementNSPlus("wfs:Name", {
+                                value: e
+                            })
+                        },
+                        Value: function(e) {
+                            var t;
+                            if (e instanceof GeoGlobe.Geometry) {
+                                t = this.createElementNSPlus("wfs:Value");
+                                var i = this.writeNode("feature:_geometry", e).firstChild;
+                                t.appendChild(i)
+                            } else
+                                t = this.createElementNSPlus("wfs:Value", {
+                                    value: e
                                 });
-                                var u = e[P("0x5ea")][P("0x5eb")]({
-                                    context: r,
-                                    typedArray: o,
-                                    usage: e.BufferUsage[P("0x4d6")]
+                            return t
+                        },
+                        Delete: function(e) {
+                            var t = e.feature
+                              , i = e.options
+                              , r = this.createElementNSPlus("wfs:Delete", {
+                                attributes: {
+                                    handle: i && i.handle,
+                                    typeName: (this.featureNS ? this.featurePrefix + ":" : "") + this.featureType
+                                }
+                            });
+                            return this.featureNS && r.setAttribute("xmlns:" + this.featurePrefix, this.featureNS),
+                            this.writeNode("ogc:Filter", new GeoGlobe.Filter.FeatureId({
+                                fids: [t.fid]
+                            }), r),
+                            r
+                        }
+                    }
+                },
+                schemaLocationAttr: function(e) {
+                    e = GeoGlobe.Util.extend({
+                        featurePrefix: this.featurePrefix,
+                        schema: this.schema
+                    }, e);
+                    var t = GeoGlobe.Util.extend({}, this.schemaLocations);
+                    e.schema && (t[e.featurePrefix] = e.schema);
+                    var i, r = [];
+                    for (var n in t)
+                        (i = this.namespaces[n]) && r.push(i + " " + t[n]);
+                    return r.join(" ") || void 0
+                },
+                setFilterProperty: function(e) {
+                    if (e.filters)
+                        for (var t = 0, i = e.filters.length; t < i; ++t)
+                            GeoGlobe.Format.WFST.v1.prototype.setFilterProperty.call(this, e.filters[t]);
+                    else
+                        e instanceof GeoGlobe.Filter.Spatial && !e.property && (e.property = this.geometryName)
+                },
+                CLASS_NAME: "GeoGlobe.Format.WFST.v1"
+            }),
+            GeoGlobe.Format.WFST.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.Filter.v1_0_0, GeoGlobe.Format.WFST.v1, {
+                version: "1.0.0",
+                srsNameInQuery: !1,
+                schemaLocations: {
+                    wfs: "http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd"
+                },
+                initialize: function(e) {
+                    GeoGlobe.Format.Filter.v1_0_0.prototype.initialize.apply(this, [e]),
+                    GeoGlobe.Format.WFST.v1.prototype.initialize.apply(this, [e])
+                },
+                readNode: function(e, t, i) {
+                    return GeoGlobe.Format.GML.v2.prototype.readNode.apply(this, arguments)
+                },
+                readers: {
+                    wfs: GeoGlobe.Util.applyDefaults({
+                        WFS_TransactionResponse: function(e, t) {
+                            t.insertIds = [],
+                            t.success = !1,
+                            this.readChildNodes(e, t)
+                        },
+                        InsertResult: function(e, t) {
+                            var i = {
+                                fids: []
+                            };
+                            this.readChildNodes(e, i),
+                            t.insertIds = t.insertIds.concat(i.fids)
+                        },
+                        TransactionResult: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        Status: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        SUCCESS: function(e, t) {
+                            t.success = !0
+                        }
+                    }, GeoGlobe.Format.WFST.v1.prototype.readers.wfs),
+                    gml: GeoGlobe.Format.GML.v2.prototype.readers.gml,
+                    feature: GeoGlobe.Format.GML.v2.prototype.readers.feature,
+                    ogc: GeoGlobe.Format.Filter.v1_0_0.prototype.readers.ogc
+                },
+                writers: {
+                    wfs: GeoGlobe.Util.applyDefaults({
+                        Query: function(e) {
+                            var t = (e = GeoGlobe.Util.extend({
+                                featureNS: this.featureNS,
+                                featurePrefix: this.featurePrefix,
+                                featureType: this.featureType,
+                                srsName: this.srsName,
+                                srsNameInQuery: this.srsNameInQuery
+                            }, e)).featurePrefix
+                              , i = this.createElementNSPlus("wfs:Query", {
+                                attributes: {
+                                    typeName: (e.featureNS ? t + ":" : "") + e.featureType,
+                                    time: e && e.time,
+                                    userecent: e && e.userecent
+                                }
+                            });
+                            if (e.srsNameInQuery && e.srsName && i.setAttribute("srsName", e.srsName),
+                            e.featureNS && i.setAttribute("xmlns:" + t, e.featureNS),
+                            e.propertyNames)
+                                for (var r = 0, n = e.propertyNames.length; r < n; r++)
+                                    this.writeNode("ogc:PropertyName", {
+                                        property: e.propertyNames[r]
+                                    }, i);
+                            return e.filter && (this.setFilterProperty(e.filter),
+                            this.writeNode("ogc:Filter", e.filter, i)),
+                            e.sortBy && this.writeNode("ogc:SortBy", e.sortBy, i),
+                            e.groupBy && this.writeNode("ogc:GroupBy", e.groupBy, i),
+                            i
+                        }
+                    }, GeoGlobe.Format.WFST.v1.prototype.writers.wfs),
+                    gml: GeoGlobe.Format.GML.v2.prototype.writers.gml,
+                    feature: GeoGlobe.Format.GML.v2.prototype.writers.feature,
+                    ogc: GeoGlobe.Format.Filter.v1_0_0.prototype.writers.ogc
+                },
+                CLASS_NAME: "GeoGlobe.Format.WFST.v1_0_0"
+            }),
+            GeoGlobe.Format.WFST.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.Filter.v1_1_0, GeoGlobe.Format.WFST.v1, {
+                version: "1.1.0",
+                schemaLocations: {
+                    wfs: "http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"
+                },
+                initialize: function(e) {
+                    GeoGlobe.Format.Filter.v1_1_0.prototype.initialize.apply(this, [e]),
+                    GeoGlobe.Format.WFST.v1.prototype.initialize.apply(this, [e])
+                },
+                readNode: function(e, t, i) {
+                    return GeoGlobe.Format.GML.v3.prototype.readNode.apply(this, arguments)
+                },
+                readers: {
+                    wfs: GeoGlobe.Util.applyDefaults({
+                        FeatureCollection: function(e, t) {
+                            t.numberOfFeatures = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("numberOfFeatures")),
+                            GeoGlobe.Format.WFST.v1.prototype.readers.wfs.FeatureCollection.apply(this, arguments)
+                        },
+                        TransactionResponse: function(e, t) {
+                            t.insertIds = [],
+                            t.success = !1,
+                            this.readChildNodes(e, t)
+                        },
+                        TransactionSummary: function(e, t) {
+                            t.success = !0
+                        },
+                        InsertResults: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        Feature: function(e, t) {
+                            var i = {
+                                fids: []
+                            };
+                            this.readChildNodes(e, i),
+                            t.insertIds.push(i.fids[0])
+                        }
+                    }, GeoGlobe.Format.WFST.v1.prototype.readers.wfs),
+                    gml: GeoGlobe.Format.GML.v3.prototype.readers.gml,
+                    feature: GeoGlobe.Format.GML.v3.prototype.readers.feature,
+                    ogc: GeoGlobe.Format.Filter.v1_1_0.prototype.readers.ogc,
+                    ows: GeoGlobe.Format.OWSCommon.v1_0_0.prototype.readers.ows
+                },
+                writers: {
+                    wfs: GeoGlobe.Util.applyDefaults({
+                        GetFeature: function(e) {
+                            var t = GeoGlobe.Format.WFST.v1.prototype.writers.wfs.GetFeature.apply(this, arguments);
+                            return e && this.setAttributes(t, {
+                                resultType: e.resultType,
+                                startIndex: e.startIndex,
+                                count: e.count
+                            }),
+                            t
+                        },
+                        Query: function(e) {
+                            var t = (e = GeoGlobe.Util.extend({
+                                featureNS: this.featureNS,
+                                featurePrefix: this.featurePrefix,
+                                featureType: this.featureType,
+                                srsName: this.srsName
+                            }, e)).featurePrefix
+                              , i = this.createElementNSPlus("wfs:Query", {
+                                attributes: {
+                                    typeName: (e.featureNS ? t + ":" : "") + e.featureType,
+                                    srsName: e.srsName,
+                                    time: e && e.time,
+                                    userecent: e && e.userecent
+                                }
+                            });
+                            if (e.featureNS && i.setAttribute("xmlns:" + t, e.featureNS),
+                            e.propertyNames)
+                                for (var r = 0, n = e.propertyNames.length; r < n; r++)
+                                    this.writeNode("wfs:PropertyName", {
+                                        property: e.propertyNames[r]
+                                    }, i);
+                            return e.filter && (GeoGlobe.Format.WFST.v1_1_0.prototype.setFilterProperty.call(this, e.filter),
+                            this.writeNode("ogc:Filter", e.filter, i)),
+                            e.sortBy && this.writeNode("ogc:SortBy", e.sortBy, i),
+                            e.groupBy && this.writeNode("ogc:GroupBy", e.groupBy, i),
+                            i
+                        },
+                        PropertyName: function(e) {
+                            return this.createElementNSPlus("wfs:PropertyName", {
+                                value: e.property
+                            })
+                        }
+                    }, GeoGlobe.Format.WFST.v1.prototype.writers.wfs),
+                    gml: GeoGlobe.Format.GML.v3.prototype.writers.gml,
+                    feature: GeoGlobe.Format.GML.v3.prototype.writers.feature,
+                    ogc: GeoGlobe.Format.Filter.v1_1_0.prototype.writers.ogc
+                },
+                CLASS_NAME: "GeoGlobe.Format.WFST.v1_1_0"
+            }),
+            GeoGlobe.Format.JSON = GeoGlobe.Class4OL(GeoGlobe.Format, {
+                indent: "    ",
+                space: " ",
+                newline: "\n",
+                level: 0,
+                pretty: !1,
+                nativeJSON: !(!window.JSON || "function" != typeof JSON.parse || "function" != typeof _babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2___default.a),
+                read: function read(json, filter) {
+                    var object;
+                    if (this.nativeJSON)
+                        object = JSON.parse(json, filter);
+                    else
+                        try {
+                            if (/^[\],:{}\s]*$/.test(json.replace(/\\["\\\/bfnrtu]/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, "")) && (object = eval("(" + json + ")"),
+                            "function" == typeof filter)) {
+                                function walk(e, t) {
+                                    if (t && "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(t))
+                                        for (var i in t)
+                                            t.hasOwnProperty(i) && (t[i] = walk(i, t[i]));
+                                    return filter(e, t)
+                                }
+                                object = walk("", object)
+                            }
+                        } catch (e) {}
+                    return this.keepData && (this.data = object),
+                    object
+                },
+                write: function(e, t) {
+                    this.pretty = !!t;
+                    var i = null
+                      , r = _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e);
+                    if (this.serialize[r])
+                        try {
+                            i = !this.pretty && this.nativeJSON ? _babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2___default()(e) : this.serialize[r].apply(this, [e])
+                        } catch (e) {
+                            GeoGlobe.Console.error("Trouble serializing: " + e)
+                        }
+                    return i
+                },
+                writeIndent: function() {
+                    var e = [];
+                    if (this.pretty)
+                        for (var t = 0; t < this.level; ++t)
+                            e.push(this.indent);
+                    return e.join("")
+                },
+                writeNewline: function() {
+                    return this.pretty ? this.newline : ""
+                },
+                writeSpace: function() {
+                    return this.pretty ? this.space : ""
+                },
+                serialize: {
+                    object: function(e) {
+                        if (null == e)
+                            return "null";
+                        if (e.constructor == Date)
+                            return this.serialize.date.apply(this, [e]);
+                        if (e.constructor == Array)
+                            return this.serialize.array.apply(this, [e]);
+                        var t, i, r, n = ["{"];
+                        this.level += 1;
+                        var o = !1;
+                        for (t in e)
+                            e.hasOwnProperty(t) && (i = GeoGlobe.Format.JSON.prototype.write.apply(this, [t, this.pretty]),
+                            r = GeoGlobe.Format.JSON.prototype.write.apply(this, [e[t], this.pretty]),
+                            null != i && null != r && (o && n.push(","),
+                            n.push(this.writeNewline(), this.writeIndent(), i, ":", this.writeSpace(), r),
+                            o = !0));
+                        return this.level -= 1,
+                        n.push(this.writeNewline(), this.writeIndent(), "}"),
+                        n.join("")
+                    },
+                    array: function(e) {
+                        var t, i = ["["];
+                        this.level += 1;
+                        for (var r = 0, n = e.length; r < n; ++r)
+                            null != (t = GeoGlobe.Format.JSON.prototype.write.apply(this, [e[r], this.pretty])) && (r > 0 && i.push(","),
+                            i.push(this.writeNewline(), this.writeIndent(), t));
+                        return this.level -= 1,
+                        i.push(this.writeNewline(), this.writeIndent(), "]"),
+                        i.join("")
+                    },
+                    string: function(e) {
+                        var t = {
+                            "\b": "\\b",
+                            "\t": "\\t",
+                            "\n": "\\n",
+                            "\f": "\\f",
+                            "\r": "\\r",
+                            '"': '\\"',
+                            "\\": "\\\\"
+                        };
+                        return /["\\\x00-\x1f]/.test(e) ? '"' + e.replace(/([\x00-\x1f\\"])/g, (function(e, i) {
+                            var r = t[i];
+                            return r || (r = i.charCodeAt(),
+                            "\\u00" + Math.floor(r / 16).toString(16) + (r % 16).toString(16))
+                        }
+                        )) + '"' : '"' + e + '"'
+                    },
+                    number: function(e) {
+                        return isFinite(e) ? String(e) : "null"
+                    },
+                    boolean: function(e) {
+                        return String(e)
+                    },
+                    date: function(e) {
+                        function t(e) {
+                            return e < 10 ? "0" + e : e
+                        }
+                        return '"' + e.getFullYear() + "-" + t(e.getMonth() + 1) + "-" + t(e.getDate()) + "T" + t(e.getHours()) + ":" + t(e.getMinutes()) + ":" + t(e.getSeconds()) + '"'
+                    }
+                },
+                CLASS_NAME: "GeoGlobe.Format.JSON"
+            }),
+            GeoGlobe.Format.GeoJSON = GeoGlobe.Class4OL(GeoGlobe.Format.JSON, {
+                ignoreExtraDims: !1,
+                read: function(e, t, i) {
+                    t = t || "FeatureCollection";
+                    var r, n = null;
+                    if (r = "string" == typeof e ? GeoGlobe.Format.JSON.prototype.read.apply(this, [e, i]) : e) {
+                        if ("string" != typeof r.type)
+                            GeoGlobe.Console.error("Bad GeoJSON - no type: " + e);
+                        else if (this.isValidType(r, t))
+                            switch (t) {
+                            case "Geometry":
+                                try {
+                                    n = this.parseGeometry(r)
+                                } catch (e) {
+                                    GeoGlobe.Console.error(e)
+                                }
+                                break;
+                            case "Feature":
+                                try {
+                                    (n = this.parseFeature(r)).type = "Feature"
+                                } catch (e) {
+                                    GeoGlobe.Console.error(e)
+                                }
+                                break;
+                            case "FeatureCollection":
+                                switch (n = [],
+                                r.type) {
+                                case "Feature":
+                                    try {
+                                        n.push(this.parseFeature(r))
+                                    } catch (e) {
+                                        n = null,
+                                        GeoGlobe.Console.error(e)
+                                    }
+                                    break;
+                                case "FeatureCollection":
+                                    for (var o = 0, a = r.features.length; o < a; ++o)
+                                        try {
+                                            n.push(this.parseFeature(r.features[o]))
+                                        } catch (e) {
+                                            n = null,
+                                            GeoGlobe.Console.error(e)
+                                        }
+                                    break;
+                                default:
+                                    try {
+                                        var s = this.parseGeometry(r);
+                                        n.push(new GeoGlobe.Feature(s))
+                                    } catch (e) {
+                                        n = null,
+                                        GeoGlobe.Console.error(e)
+                                    }
+                                }
+                            }
+                    } else
+                        GeoGlobe.Console.error("Bad JSON: " + e);
+                    return n
+                },
+                isValidType: function(e, t) {
+                    var i = !1;
+                    switch (t) {
+                    case "Geometry":
+                        -1 == GeoGlobe.Util.indexOf(["Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", "Box", "GeometryCollection"], e.type) ? GeoGlobe.Console.error("Unsupported geometry type: " + e.type) : i = !0;
+                        break;
+                    case "FeatureCollection":
+                        i = !0;
+                        break;
+                    default:
+                        e.type == t ? i = !0 : GeoGlobe.Console.error("Cannot convert types from " + e.type + " to " + t)
+                    }
+                    return i
+                },
+                parseFeature: function(e) {
+                    var t, i, r, n;
+                    r = e.properties ? e.properties : {},
+                    n = e.geometry && e.geometry.bbox || e.bbox;
+                    try {
+                        i = this.parseGeometry(e.geometry)
+                    } catch (e) {
+                        throw e
+                    }
+                    return t = new GeoGlobe.Feature(i,r),
+                    n && (t.bounds = GeoGlobe.LngLatBounds.fromArray(n)),
+                    e.id && (t.fid = e.id),
+                    t
+                },
+                parseGeometry: function(e) {
+                    if (null == e)
+                        return null;
+                    var t, i = !1;
+                    if ("GeometryCollection" == e.type) {
+                        if (!GeoGlobe.Util.isArray(e.geometries))
+                            throw "GeometryCollection must have geometries array: " + e;
+                        for (var r = e.geometries.length, n = new Array(r), o = 0; o < r; ++o)
+                            n[o] = this.parseGeometry.apply(this, [e.geometries[o]]);
+                        t = new GeoGlobe.Geometry.Collection(n),
+                        i = !0
+                    } else {
+                        if (!GeoGlobe.Util.isArray(e.coordinates))
+                            throw "Geometry must have coordinates array: " + e;
+                        if (!this.parseCoords[e.type.toLowerCase()])
+                            throw "Unsupported geometry type: " + e.type;
+                        try {
+                            t = this.parseCoords[e.type.toLowerCase()].apply(this, [e.coordinates])
+                        } catch (e) {
+                            throw e
+                        }
+                    }
+                    return this.internalProjection && this.externalProjection && !i && t.transform(this.externalProjection, this.internalProjection),
+                    t
+                },
+                parseCoords: {
+                    point: function(e) {
+                        if (0 == this.ignoreExtraDims && 2 != e.length)
+                            throw "Only 2D points are supported: " + e;
+                        return new GeoGlobe.Geometry.Point(e[0],e[1])
+                    },
+                    multipoint: function(e) {
+                        for (var t = [], i = null, r = 0, n = e.length; r < n; ++r) {
+                            try {
+                                i = this.parseCoords.point.apply(this, [e[r]])
+                            } catch (e) {
+                                throw e
+                            }
+                            t.push(i)
+                        }
+                        return new GeoGlobe.Geometry.MultiPoint(t)
+                    },
+                    linestring: function(e) {
+                        for (var t = [], i = null, r = 0, n = e.length; r < n; ++r) {
+                            try {
+                                i = this.parseCoords.point.apply(this, [e[r]])
+                            } catch (e) {
+                                throw e
+                            }
+                            t.push(i)
+                        }
+                        return new GeoGlobe.Geometry.LineString(t)
+                    },
+                    multilinestring: function(e) {
+                        for (var t = [], i = null, r = 0, n = e.length; r < n; ++r) {
+                            try {
+                                i = this.parseCoords.linestring.apply(this, [e[r]])
+                            } catch (e) {
+                                throw e
+                            }
+                            t.push(i)
+                        }
+                        return new GeoGlobe.Geometry.MultiLineString(t)
+                    },
+                    polygon: function(e) {
+                        for (var t, i, r = [], n = 0, o = e.length; n < o; ++n) {
+                            try {
+                                i = this.parseCoords.linestring.apply(this, [e[n]])
+                            } catch (e) {
+                                throw e
+                            }
+                            t = new GeoGlobe.Geometry.LinearRing(i.components),
+                            r.push(t)
+                        }
+                        return new GeoGlobe.Geometry.Polygon(r)
+                    },
+                    multipolygon: function(e) {
+                        for (var t = [], i = null, r = 0, n = e.length; r < n; ++r) {
+                            try {
+                                i = this.parseCoords.polygon.apply(this, [e[r]])
+                            } catch (e) {
+                                throw e
+                            }
+                            t.push(i)
+                        }
+                        return new GeoGlobe.Geometry.MultiPolygon(t)
+                    },
+                    box: function(e) {
+                        if (2 != e.length)
+                            throw "GeoJSON box coordinates must have 2 elements";
+                        return new GeoGlobe.Geometry.Polygon([new GeoGlobe.Geometry.LinearRing([new GeoGlobe.Geometry.Point(e[0][0],e[0][1]), new GeoGlobe.Geometry.Point(e[1][0],e[0][1]), new GeoGlobe.Geometry.Point(e[1][0],e[1][1]), new GeoGlobe.Geometry.Point(e[0][0],e[1][1]), new GeoGlobe.Geometry.Point(e[0][0],e[0][1])])])
+                    }
+                },
+                write: function(e, t) {
+                    var i = {
+                        type: null
+                    };
+                    if (GeoGlobe.Util.isArray(e)) {
+                        i.type = "FeatureCollection";
+                        var r = e.length;
+                        i.features = new Array(r);
+                        for (var n = 0; n < r; ++n) {
+                            var o = e[n];
+                            if (!o instanceof GeoGlobe.Feature)
+                                throw "FeatureCollection only supports collections of features: " + o;
+                            i.features[n] = this.extract.feature.apply(this, [o])
+                        }
+                    } else
+                        0 == e.CLASS_NAME.indexOf("GeoGlobe.Geometry") ? i = this.extract.geometry.apply(this, [e]) : e instanceof GeoGlobe.Feature && (i = this.extract.feature.apply(this, [e]),
+                        e.layer && e.layer.projection && (i.crs = this.createCRSObject(e)));
+                    return GeoGlobe.Format.JSON.prototype.write.apply(this, [i, t])
+                },
+                createCRSObject: function(e) {
+                    var t = e.layer.projection.toString()
+                      , i = {};
+                    if (t.match(/epsg:/i)) {
+                        var r = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(t.substring(t.indexOf(":") + 1));
+                        i = 4326 == r ? {
+                            type: "name",
+                            properties: {
+                                name: "urn:ogc:def:crs:OGC:1.3:CRS84"
+                            }
+                        } : {
+                            type: "name",
+                            properties: {
+                                name: "EPSG:" + r
+                            }
+                        }
+                    }
+                    return i
+                },
+                extract: {
+                    feature: function(e) {
+                        var t = this.extract.geometry.apply(this, [e.geometry])
+                          , i = {
+                            type: "Feature",
+                            properties: e.attributes,
+                            geometry: t
+                        };
+                        return null != e.fid && (i.id = e.fid),
+                        i
+                    },
+                    geometry: function(e) {
+                        if (null == e)
+                            return null;
+                        this.internalProjection && this.externalProjection && (e = e.clone()).transform(this.internalProjection, this.externalProjection);
+                        var t = e.CLASS_NAME.split(".")[2]
+                          , i = this.extract[t.toLowerCase()].apply(this, [e]);
+                        return "Collection" == t ? {
+                            type: "GeometryCollection",
+                            geometries: i
+                        } : {
+                            type: t,
+                            coordinates: i
+                        }
+                    },
+                    point: function(e) {
+                        return [e.x, e.y]
+                    },
+                    multipoint: function(e) {
+                        for (var t = [], i = 0, r = e.components.length; i < r; ++i)
+                            t.push(this.extract.point.apply(this, [e.components[i]]));
+                        return t
+                    },
+                    linestring: function(e) {
+                        for (var t = [], i = 0, r = e.components.length; i < r; ++i)
+                            t.push(this.extract.point.apply(this, [e.components[i]]));
+                        return t
+                    },
+                    multilinestring: function(e) {
+                        for (var t = [], i = 0, r = e.components.length; i < r; ++i)
+                            t.push(this.extract.linestring.apply(this, [e.components[i]]));
+                        return t
+                    },
+                    polygon: function(e) {
+                        for (var t = [], i = 0, r = e.components.length; i < r; ++i)
+                            t.push(this.extract.linestring.apply(this, [e.components[i]]));
+                        return t
+                    },
+                    multipolygon: function(e) {
+                        for (var t = [], i = 0, r = e.components.length; i < r; ++i)
+                            t.push(this.extract.polygon.apply(this, [e.components[i]]));
+                        return t
+                    },
+                    collection: function(e) {
+                        for (var t = e.components.length, i = new Array(t), r = 0; r < t; ++r)
+                            i[r] = this.extract.geometry.apply(this, [e.components[r]]);
+                        return i
+                    }
+                },
+                CLASS_NAME: "GeoGlobe.Format.GeoJSON"
+            }),
+            GeoGlobe.Format.WMTS = GeoGlobe.Class4OL({
+                initialize: function(e) {
+                    GeoGlobe.Util.extend(this, e)
+                },
+                getWMTSCapabilities: function(e) {
+                    var t = null;
+                    return this.getCapabilities(e, (function(e) {
+                        var i = e.responseXML;
+                        i && i.documentElement || (i = e.responseText);
+                        var r = new GeoGlobe.Format.WMTSCapabilities.v1_0_0;
+                        t = r.read(i)
+                    }
+                    ), (function() {
+                        alert("WMTS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
+                    }
+                    )),
+                    t
+                },
+                getCapabilities: function(e, t, i) {
+                    "function" != typeof i && (i = function() {
+                        alert("WMTS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
+                    }
+                    ),
+                    GeoGlobe.Request.GET({
+                        url: e,
+                        params: {
+                            REQUEST: "GetCapabilities",
+                            SERVICE: "WMTS"
+                        },
+                        scope: this,
+                        async: !1,
+                        success: function(e) {
+                            "function" == typeof t && t(e)
+                        },
+                        failure: i
+                    })
+                },
+                createLayerOption: function(e, t, i) {
+                    if (!("layer"in i))
+                        throw new Error("Missing property 'layer' in configuration.");
+                    for (var r, n = t.contents, o = (n.layers,
+                    0), a = n.layers.length; o < a; ++o)
+                        if (n.layers[o].identifier === i.layer) {
+                            r = n.layers[o];
+                            break
+                        }
+                    if (!r)
+                        throw new Error("Layer not found");
+                    var s, x, l = i.format;
+                    if (!l && r.formats && r.formats.length && (l = r.formats[0]),
+                    i.matrixSet)
+                        s = n.tileMatrixSets[i.matrixSet];
+                    else if (i.projection) {
+                        o = 0;
+                        for (var c = r.tileMatrixSetLinks.length; o < c; o++)
+                            if (n.tileMatrixSets[r.tileMatrixSetLinks[o].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3") === i.projection) {
+                                s = n.tileMatrixSets[r.tileMatrixSetLinks[o].tileMatrixSet];
+                                break
+                            }
+                    } else
+                        r.tileMatrixSetLinks.length >= 1 && (s = n.tileMatrixSets[r.tileMatrixSetLinks[0].tileMatrixSet]);
+                    if (!s)
+                        throw new Error("matrixSet not found");
+                    for (o = 0,
+                    a = r.styles.length; o < a && !(x = r.styles[o]).isDefault; ++o)
+                        ;
+                    var u = i.requestEncoding;
+                    u || (u = "KVP",
+                    t.operationsMetadata.GetTile.dcp.http);
+                    var h = []
+                      , f = i.params || {};
+                    delete i.params;
+                    for (var d = 0, g = r.dimensions.length; d < g; d++) {
+                        var p = r.dimensions[d];
+                        h.push(p.identifier),
+                        f.hasOwnProperty(p.identifier) || (f[p.identifier] = p.default)
+                    }
+                    var m, b, v, C = i.projection || s.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"), y = i.units || ("EPSG:4326" === C ? "degrees" : "m"), _ = [], A = [], I = r.tileMatrixSetLinks, w = function(e) {
+                        _.push(28e-5 * e / GeoGlobe.METERS_PER_INCH / GeoGlobe.INCHES_PER_UNIT[y]),
+                        (!m || m > e) && (m = e),
+                        (!b || b < e) && (b = e)
+                    }, G = 0;
+                    for (c = I.length; G < c; G++)
+                        if ((v = I[G]).tileMatrixSet === s.identifier) {
+                            if (v.tileMatrixSetLimits) {
+                                for (var E, S = {}, T = 0, P = s.matrixIds.length; T < P; T++)
+                                    S[s.matrixIds[T].identifier] = s.matrixIds[T];
+                                for (T = 0,
+                                P = v.tileMatrixSetLimits.length; T < P; T++)
+                                    E = S[v.tileMatrixSetLimits[T].tileMatrix],
+                                    A.push(E),
+                                    w(E.scaleDenominator)
+                            } else
+                                for (T = 0,
+                                P = s.matrixIds.length; T < P; T++)
+                                    w(s.matrixIds[T].scaleDenominator);
+                            break
+                        }
+                    _.sort((function(e, t) {
+                        return t - e
+                    }
+                    ));
+                    var M, N = this.getParameterString({
+                        SERVICE: "WMTS",
+                        REQUEST: "GetTile",
+                        VERSION: t.version,
+                        LAYER: r.identifier,
+                        STYLE: x.identifier,
+                        TILEMATRIXSET: s.identifier,
+                        FORMAT: l,
+                        TILEMATRIX: "{z}",
+                        TILEROW: "{y}",
+                        TILECOL: "{x}"
+                    });
+                    M = e.endsWith("?") ? GeoGlobe.ProxyHost + e + N : GeoGlobe.ProxyHost + e + "?" + N;
+                    var L = GeoGlobe.Util.randomStr(10);
+                    if (r.bounds)
+                        var R = [r.bounds._sw.lng, r.bounds._sw.lat, r.bounds._ne.lng, r.bounds._ne.lat];
+                    else
+                        r.BoundingBox && (R = r.BoundingBox[0].bounds.toBBOX());
+                    var O = r.tileMatrixSetLinks[0].tileMatrixSet
+                      , F = n.tileMatrixSets[O].matrixIds[0].identifier
+                      , D = {
+                        name: r.identifier,
+                        srs: C,
+                        bbox: R,
+                        format: r.formats,
+                        zoomoffset: F
+                    };
+                    return {
+                        id: "layer_" + r.identifier + "_" + L,
+                        type: "raster",
+                        source: {
+                            type: "raster",
+                            tiles: [M],
+                            tileSize: 256
+                        },
+                        metadata: D,
+                        paint: {
+                            "raster-opacity": 1
+                        }
+                    }
+                },
+                createLayer: function(e, t) {
+                    var i = this.getWMTSCapabilities(e);
+                    if (t)
+                        var r = {
+                            layer: t.layer
+                        };
+                    else
+                        r = {
+                            layer: i.contents.layers[0].identifier
+                        };
+                    return this.createLayerOption(e, i, r)
+                },
+                createLayers: function(e) {
+                    for (var t = this.getWMTSCapabilities(e), i = t.contents.layers, r = [], n = 0; n < i.length; n++) {
+                        var o = {
+                            layer: i[n].identifier
+                        }
+                          , a = this.createLayerOption(e, t, o);
+                        r.push(a)
+                    }
+                    return r
+                },
+                getParameterString: function(e) {
+                    var t = [];
+                    for (var i in e) {
+                        var r = e[i];
+                        null != r && "function" != typeof r && t.push(i + "=" + r)
+                    }
+                    return t.join("&")
+                },
+                CLASS_NAME: "GeoGlobe.Format.WMTS"
+            }),
+            GeoGlobe.Format.WMS = GeoGlobe.Class4OL({
+                initialize: function(e) {
+                    GeoGlobe.Util.extend(this, e)
+                },
+                getWMSCapabilities: function(e) {
+                    var t = null;
+                    return this.getCapabilities(e, (function(e) {
+                        var i = e.responseXML;
+                        i && i.documentElement || (i = e.responseText);
+                        var r = new GeoGlobe.Format.WMSCapabilities.v1_1_1;
+                        t = r.read(i)
+                    }
+                    ), (function() {
+                        alert("WMS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
+                    }
+                    )),
+                    t
+                },
+                getCapabilities: function(e, t, i) {
+                    "function" != typeof i && (i = function() {
+                        alert("WMS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
+                    }
+                    ),
+                    GeoGlobe.Request.GET({
+                        url: e,
+                        params: {
+                            REQUEST: "GetCapabilities",
+                            SERVICE: "WMS",
+                            VERSION: "1.1.1"
+                        },
+                        scope: this,
+                        async: !1,
+                        success: function(e) {
+                            "function" == typeof t && t(e)
+                        },
+                        failure: i
+                    })
+                },
+                createLayerOption: function createLayerOption(url, capabilities, config) {
+                    var layer;
+                    if (!("layer"in config))
+                        throw new Error("Missing property 'layer' in configuration.");
+                    for (var contents = capabilities.capability, layers = contents.layers, layerDef, i = 0, ii = contents.layers.length; i < ii; ++i)
+                        if (contents.layers[i].name === config.layer) {
+                            layerDef = contents.layers[i];
+                            break
+                        }
+                    if (!layerDef)
+                        throw new Error("Layer not found");
+                    var format = config.format;
+                    if (!format && layerDef.formats && layerDef.formats.length) {
+                        for (var f = 0; f < layerDef.formats.length; f++)
+                            "image/png" == layerDef.formats[f] && (format = layerDef.formats[f]);
+                        "image/png" != format && (format = layerDef.formats[0])
+                    }
+                    var styles = config.styles;
+                    !styles && layerDef.styles && layerDef.styles.length && (styles = layerDef.styles[0].name);
+                    var srs = eval(layerDef.srs), SRS;
+                    for (var o in srs)
+                        SRS = o;
+                    var wms_url = ""
+                      , transparent = config.transparent;
+                    if (config.isTile) {
+                        var param = this.getParameterString({
+                            SERVICE: "WMS",
+                            REQUEST: "GetMap",
+                            VERSION: "1.1.1",
+                            LAYERS: layerDef.name,
+                            styles: styles,
+                            FORMAT: format,
+                            TRANSPARENT: transparent,
+                            BBOX: "{bbox-epsg-3857}",
+                            WIDTH: "256",
+                            HEIGHT: "256",
+                            SRS: SRS
+                        });
+                        wms_url = url.endsWith("?") ? url + param : url + "?" + param,
+                        wms_url = GeoGlobe.appendToProxy(wms_url);
+                        var randomNum = GeoGlobe.Util.randomStr(10)
+                          , metadata = {
+                            name: layerDef.name,
+                            srs: SRS,
+                            bbox: layerDef.bbox,
+                            format: format
+                        }
+                          , layerOption = {
+                            id: "layer_" + layerDef.name + "_" + randomNum,
+                            type: "raster",
+                            source: {
+                                type: "raster",
+                                tiles: [wms_url],
+                                tileSize: 256
+                            },
+                            metadata: metadata,
+                            paint: {
+                                "raster-opacity": 1
+                            }
+                        };
+                        return layerOption
+                    }
+                    return layerOption = new GeoGlobe.Layer.WMS({
+                        url: url,
+                        layer: layerDef.name,
+                        format: format,
+                        version: "1.1.1",
+                        SRS: SRS,
+                        styles: styles,
+                        bbox: layerDef.bbox,
+                        isTile: !1
+                    }),
+                    layerOption
+                },
+                createLayer: function(e, t, i) {
+                    this.url = e,
+                    i = !(void 0 !== i && !i);
+                    var r = !!(t && void 0 === t.transparent || t.transparent)
+                      , n = this.getWMSCapabilities(e)
+                      , o = {
+                        layer: t && t.layer ? t.layer : n.capability.layers[0].name,
+                        transparent: r,
+                        isTile: i
+                    };
+                    return this.createLayerOption(e, n, o)
+                },
+                createLayers: function(e, t, i) {
+                    i = !(void 0 !== i && !i);
+                    for (var r = !!(t && void 0 === t.transparent || t.transparent), n = this.getWMSCapabilities(e), o = n.capability.layers, a = [], s = 0; s < o.length; s++) {
+                        var x = {
+                            layer: o[s].name,
+                            transparent: r,
+                            isTile: i
+                        }
+                          , l = this.createLayerOption(e, n, x);
+                        a.push(l)
+                    }
+                    return a
+                },
+                getParameterString: function(e) {
+                    var t = [];
+                    for (var i in e) {
+                        var r = e[i];
+                        null != r && "function" != typeof r && t.push(i + "=" + r)
+                    }
+                    return t.join("&")
+                },
+                CLASS_NAME: "GeoGlobe.Format.WMS"
+            }),
+            GeoGlobe.Format.VTS = GeoGlobe.Class4OL({
+                initialize: function(e) {
+                    GeoGlobe.Util.extend(this, e)
+                },
+                getVTSCapabilities: function(e) {
+                    this.url = e;
+                    var t = null;
+                    return this.getCapabilities(e, (function(e) {
+                        var i = e.responseXML;
+                        i && i.documentElement || (i = e.responseText);
+                        var r = new GeoGlobe.Format.VTSCapabilities.v1_0_0;
+                        t = r.read(i)
+                    }
+                    ), (function() {
+                        alert("VTS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
+                    }
+                    )),
+                    t
+                },
+                getCapabilities: function(e, t, i) {
+                    "function" != typeof i && (i = function() {
+                        alert("VTS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
+                    }
+                    ),
+                    GeoGlobe.Request.GET({
+                        url: e,
+                        params: {
+                            REQUEST: "GetCapabilities",
+                            SERVICE: "WMTS"
+                        },
+                        scope: this,
+                        async: !1,
+                        success: function(e) {
+                            "function" == typeof t && t(e)
+                        },
+                        failure: i
+                    })
+                },
+                createLayerOption: function(e, t, i) {
+                    if (!("layer"in i))
+                        throw new Error("Missing property 'layer' in configuration.");
+                    for (var r, n = t.contents, o = (n.layers,
+                    0), a = n.layers.length; o < a; ++o)
+                        if (n.layers[o].identifier === i.layer) {
+                            r = n.layers[o];
+                            break
+                        }
+                    if (!r)
+                        throw new Error("Layer not found");
+                    var s, x = i.format;
+                    if (!x && r.formats && r.formats.length && (x = r.formats[0]),
+                    i.matrixSet)
+                        s = n.tileMatrixSets[i.matrixSet];
+                    else if (i.projection) {
+                        o = 0;
+                        for (var l = r.tileMatrixSetLinks.length; o < l; o++)
+                            if (n.tileMatrixSets[r.tileMatrixSetLinks[o].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3") === i.projection) {
+                                s = n.tileMatrixSets[r.tileMatrixSetLinks[o].tileMatrixSet];
+                                break
+                            }
+                    } else
+                        r.tileMatrixSetLinks.length >= 1 && (s = n.tileMatrixSets[r.tileMatrixSetLinks[0].tileMatrixSet]);
+                    if (!s)
+                        throw new Error("matrixSet not found");
+                    var c = [];
+                    i.styleName && "" != i.styleName ? c[0] = i.styleName : this.GetStyleName((function(e) {
+                        c = e
+                    }
+                    ));
+                    var u = i.requestEncoding;
+                    u || (u = "KVP",
+                    t.operationsMetadata.GetTile.dcp.http);
+                    var h = []
+                      , f = i.params || {};
+                    delete i.params;
+                    for (var d = 0, g = r.dimensions.length; d < g; d++) {
+                        var p = r.dimensions[d];
+                        h.push(p.identifier),
+                        f.hasOwnProperty(p.identifier) || (f[p.identifier] = p.default)
+                    }
+                    var m, b, v, C = i.projection || s.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"), y = i.units || ("EPSG:4326" === C ? "degrees" : "m"), _ = [], A = [], I = r.tileMatrixSetLinks, w = function(e) {
+                        _.push(28e-5 * e / GeoGlobe.METERS_PER_INCH / GeoGlobe.INCHES_PER_UNIT[y]),
+                        (!m || m > e) && (m = e),
+                        (!b || b < e) && (b = e)
+                    }, G = 0;
+                    for (l = I.length; G < l; G++)
+                        if ((v = I[G]).tileMatrixSet === s.identifier) {
+                            if (v.tileMatrixSetLimits) {
+                                for (var E, S = {}, T = 0, P = s.matrixIds.length; T < P; T++)
+                                    S[s.matrixIds[T].identifier] = s.matrixIds[T];
+                                for (T = 0,
+                                P = v.tileMatrixSetLimits.length; T < P; T++)
+                                    E = S[v.tileMatrixSetLimits[T].tileMatrix],
+                                    A.push(E),
+                                    w(E.scaleDenominator)
+                            } else
+                                for (T = 0,
+                                P = s.matrixIds.length; T < P; T++)
+                                    w(s.matrixIds[T].scaleDenominator);
+                            break
+                        }
+                    _.sort((function(e, t) {
+                        return t - e
+                    }
+                    ));
+                    var M, N = {
+                        layers: [],
+                        source: {},
+                        source_id: "",
+                        url: "",
+                        url_tmpl: "",
+                        layerType: "VTS"
+                    }, L = this.getParameterString({
+                        SERVICE: "WMTS",
+                        REQUEST: "GetTile",
+                        VERSION: t.version,
+                        LAYER: r.identifier,
+                        TILEMATRIXSET: s.identifier,
+                        FORMAT: "protobuf",
+                        TILEMATRIX: "{z}",
+                        TILEROW: "{y}",
+                        TILECOL: "{x}"
+                    });
+                    if (N.url = e,
+                    M = e.endsWith("?") ? GeoGlobe.ProxyHost + e + L : GeoGlobe.ProxyHost + e + "?" + L,
+                    N.url_tmpl = M,
+                    GeoGlobe.Util.randomStr(10),
+                    r.bounds)
+                        var R = [r.bounds._sw.lng, r.bounds._sw.lat, r.bounds._ne.lng, r.bounds._ne.lat];
+                    else
+                        r.BoundingBox && (R = r.BoundingBox[0].bounds.toBBOX());
+                    var O = r.tileMatrixSetLinks[0].tileMatrixSet
+                      , F = n.tileMatrixSets[O].matrixIds[0].identifier;
+                    return this.GetStyle(c[0], (function(e) {
+                        if (e.sprite)
+                            var t = GeoGlobe.ProxyHost + e.sprite;
+                        else
+                            t = "";
+                        if (e.glyphs)
+                            var i = GeoGlobe.ProxyHost + e.glyphs;
+                        else
+                            i = "";
+                        var n = {
+                            name: r.identifier,
+                            sprite: t,
+                            glyphs: i,
+                            styleName: e.styleName,
+                            srs: C,
+                            bbox: R,
+                            format: r.formats,
+                            zoomoffset: F
+                        }
+                          , o = "source_vts_" + GeoGlobe.Util.randomStr(6);
+                        if (N.source_id = o,
+                        N.source = {
+                            type: "vector",
+                            tiles: [M]
+                        },
+                        e.styleData)
+                            for (var a = 0; a < e.styleData.layers.length; a++)
+                                e.styleData.layers[a].metadata = n,
+                                e.styleData.layers[a].source = o,
+                                N.layers[a] = e.styleData.layers[a];
+                        else
+                            for (a = 0; a < e.layers.length; a++)
+                                e.layers[a].metadata = n,
+                                e.layers[a].source = o,
+                                N.layers[a] = e.layers[a]
+                    }
+                    ), (function() {
+                        alert("WMTS鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + e + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
+                    }
+                    )),
+                    N
+                },
+                createLayer: function(e, t) {
+                    var i = this.getVTSCapabilities(e);
+                    return (t = t || {}).layer = t.layer ? t.layer : i.contents.layers[0].identifier,
+                    t.styleName = t.styleName ? t.styleName : "",
+                    this.createLayerOption(e, i, t)
+                },
+                createLayers: function(e) {
+                    for (var t = this.getVTSCapabilities(e), i = t.contents.layers, r = [], n = 0; n < i.length; n++) {
+                        var o = {
+                            layer: i[n].identifier
+                        }
+                          , a = this.createLayerOption(e, t, o);
+                        r.push(a)
+                    }
+                    return r
+                },
+                GetStyleName: function(e, t) {
+                    var i = this.url
+                      , r = {
+                        REQUEST: "GetStyle",
+                        SERVICE: "WMTS",
+                        VERSION: "1.0.0"
+                    };
+                    t || (t = function() {
+                        this.failFn(r.REQUEST)
+                    }
+                    ),
+                    GeoGlobe.Request.GET({
+                        url: i,
+                        params: r,
+                        scope: this,
+                        async: !1,
+                        success: function(i) {
+                            var r = i.responseText;
+                            if (!r)
+                                return t(),
+                                !1;
+                            var n = (new GeoGlobe.Format.JSON).read(r)
+                              , o = [];
+                            if (n.style)
+                                for (var a = 0; a < n.style.length; a++)
+                                    o.push(n.style[a].styleName);
+                            else if (n.styleName)
+                                for (var s = 0; s < n.styleName.length; s++)
+                                    o.push(n.styleName[s]);
+                            e(o)
+                        },
+                        failure: t
+                    })
+                },
+                GetStyle: function(e, t, i) {
+                    var r = this.url;
+                    if ("" != e && null != e) {
+                        var n = {
+                            REQUEST: "GetStyle",
+                            SERVICE: "WMTS",
+                            VERSION: "1.0.0",
+                            STYLENAME: e
+                        };
+                        i || (i = function() {
+                            this.failFn(n.REQUEST)
+                        }
+                        ),
+                        GeoGlobe.Request.GET({
+                            url: r,
+                            params: n,
+                            scope: this,
+                            async: !1,
+                            success: function(e) {
+                                var r = e.responseText;
+                                if (!r)
+                                    return i(),
+                                    !1;
+                                var n = (new GeoGlobe.Format.JSON).read(r);
+                                t(n)
+                            },
+                            failure: i
+                        })
+                    } else
+                        alert("璇锋煡鐪嬫牱寮忓悕绉版槸鍚﹀瓨鍦�")
+                },
+                getParameterString: function(e) {
+                    var t = [];
+                    for (var i in e) {
+                        var r = e[i];
+                        null != r && "function" != typeof r && t.push(i + "=" + r)
+                    }
+                    return t.join("&")
+                },
+                CLASS_NAME: "GeoGlobe.Format.VTS"
+            }),
+            GeoGlobe.Format.WMSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
+                defaultVersion: "1.1.1",
+                profile: null,
+                CLASS_NAME: "GeoGlobe.Format.WMSCapabilities"
+            }),
+            GeoGlobe.Format.WMSCapabilities.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                namespaces: {
+                    wms: "http://www.opengis.net/wms",
+                    xlink: "http://www.w3.org/1999/xlink",
+                    xsi: "http://www.w3.org/2001/XMLSchema-instance"
+                },
+                defaultPrefix: "wms",
+                read: function(e) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
+                    var t = e;
+                    e && 9 == e.nodeType && (e = e.documentElement);
+                    var i = {};
+                    if (this.readNode(e, i),
+                    void 0 === i.service) {
+                        var r = new GeoGlobe.Format.OGCExceptionReport;
+                        i.error = r.read(t)
+                    }
+                    return i
+                },
+                readers: {
+                    wms: {
+                        Service: function(e, t) {
+                            t.service = {},
+                            this.readChildNodes(e, t.service)
+                        },
+                        Name: function(e, t) {
+                            t.name = this.getChildValue(e)
+                        },
+                        Title: function(e, t) {
+                            t.title = this.getChildValue(e)
+                        },
+                        Abstract: function(e, t) {
+                            t.abstract = this.getChildValue(e)
+                        },
+                        BoundingBox: function(e, t) {
+                            var i = {};
+                            i.bbox = [_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("minx")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("miny")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("maxx")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("maxy"))];
+                            var r = {
+                                x: _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("resx")),
+                                y: _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("resy"))
+                            };
+                            return isNaN(r.x) && isNaN(r.y) || (i.res = r),
+                            i
+                        },
+                        OnlineResource: function(e, t) {
+                            t.href = this.getAttributeNS(e, this.namespaces.xlink, "href")
+                        },
+                        ContactInformation: function(e, t) {
+                            t.contactInformation = {},
+                            this.readChildNodes(e, t.contactInformation)
+                        },
+                        ContactPersonPrimary: function(e, t) {
+                            t.personPrimary = {},
+                            this.readChildNodes(e, t.personPrimary)
+                        },
+                        ContactPerson: function(e, t) {
+                            t.person = this.getChildValue(e)
+                        },
+                        ContactOrganization: function(e, t) {
+                            t.organization = this.getChildValue(e)
+                        },
+                        ContactPosition: function(e, t) {
+                            t.position = this.getChildValue(e)
+                        },
+                        ContactAddress: function(e, t) {
+                            t.contactAddress = {},
+                            this.readChildNodes(e, t.contactAddress)
+                        },
+                        AddressType: function(e, t) {
+                            t.type = this.getChildValue(e)
+                        },
+                        Address: function(e, t) {
+                            t.address = this.getChildValue(e)
+                        },
+                        City: function(e, t) {
+                            t.city = this.getChildValue(e)
+                        },
+                        StateOrProvince: function(e, t) {
+                            t.stateOrProvince = this.getChildValue(e)
+                        },
+                        PostCode: function(e, t) {
+                            t.postcode = this.getChildValue(e)
+                        },
+                        Country: function(e, t) {
+                            t.country = this.getChildValue(e)
+                        },
+                        ContactVoiceTelephone: function(e, t) {
+                            t.phone = this.getChildValue(e)
+                        },
+                        ContactFacsimileTelephone: function(e, t) {
+                            t.fax = this.getChildValue(e)
+                        },
+                        ContactElectronicMailAddress: function(e, t) {
+                            t.email = this.getChildValue(e)
+                        },
+                        Fees: function(e, t) {
+                            var i = this.getChildValue(e);
+                            i && "none" != i.toLowerCase() && (t.fees = i)
+                        },
+                        AccessConstraints: function(e, t) {
+                            var i = this.getChildValue(e);
+                            i && "none" != i.toLowerCase() && (t.accessConstraints = i)
+                        },
+                        Capability: function(e, t) {
+                            t.capability = {
+                                nestedLayers: [],
+                                layers: []
+                            },
+                            this.readChildNodes(e, t.capability)
+                        },
+                        Request: function(e, t) {
+                            t.request = {},
+                            this.readChildNodes(e, t.request)
+                        },
+                        GetCapabilities: function(e, t) {
+                            t.getcapabilities = {
+                                formats: []
+                            },
+                            this.readChildNodes(e, t.getcapabilities)
+                        },
+                        Format: function(e, t) {
+                            GeoGlobe.Util.isArray(t.formats) ? t.formats.push(this.getChildValue(e)) : t.format = this.getChildValue(e)
+                        },
+                        DCPType: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        HTTP: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        Get: function(e, t) {
+                            t.get = {},
+                            this.readChildNodes(e, t.get),
+                            t.href || (t.href = t.get.href)
+                        },
+                        Post: function(e, t) {
+                            t.post = {},
+                            this.readChildNodes(e, t.post),
+                            t.href || (t.href = t.get.href)
+                        },
+                        GetMap: function(e, t) {
+                            t.getmap = {
+                                formats: []
+                            },
+                            this.readChildNodes(e, t.getmap)
+                        },
+                        GetFeatureInfo: function(e, t) {
+                            t.getfeatureinfo = {
+                                formats: []
+                            },
+                            this.readChildNodes(e, t.getfeatureinfo)
+                        },
+                        Exception: function(e, t) {
+                            t.exception = {
+                                formats: []
+                            },
+                            this.readChildNodes(e, t.exception)
+                        },
+                        Layer: function(e, t) {
+                            var i, r;
+                            t.capability ? (r = t.capability,
+                            i = t) : r = t;
+                            var n = e.getAttributeNode("queryable")
+                              , o = n && n.specified ? e.getAttribute("queryable") : null
+                              , a = (n = e.getAttributeNode("cascaded")) && n.specified ? e.getAttribute("cascaded") : null
+                              , s = (n = e.getAttributeNode("opaque")) && n.specified ? e.getAttribute("opaque") : null
+                              , x = e.getAttribute("noSubsets")
+                              , l = e.getAttribute("fixedWidth")
+                              , c = e.getAttribute("fixedHeight")
+                              , u = i || {}
+                              , h = GeoGlobe.Util.extend
+                              , f = {
+                                nestedLayers: [],
+                                styles: i ? [].concat(i.styles) : [],
+                                srs: i ? h({}, u.srs) : {},
+                                metadataURLs: [],
+                                bbox: i ? h({}, u.bbox) : {},
+                                llbbox: u.llbbox,
+                                dimensions: i ? h({}, u.dimensions) : {},
+                                authorityURLs: i ? h({}, u.authorityURLs) : {},
+                                identifiers: {},
+                                keywords: [],
+                                queryable: o && "" !== o ? "1" === o || "true" === o : u.queryable || !1,
+                                cascaded: null !== a ? _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(a) : u.cascaded || 0,
+                                opaque: s ? "1" === s || "true" === s : u.opaque || !1,
+                                noSubsets: null !== x ? "1" === x || "true" === x : u.noSubsets || !1,
+                                fixedWidth: null != l ? _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(l) : u.fixedWidth || 0,
+                                fixedHeight: null != c ? _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(c) : u.fixedHeight || 0,
+                                minScale: u.minScale,
+                                maxScale: u.maxScale,
+                                attribution: u.attribution
+                            };
+                            if (t.nestedLayers.push(f),
+                            f.capability = r,
+                            this.readChildNodes(e, f),
+                            delete f.capability,
+                            f.name) {
+                                var d = f.name.split(":")
+                                  , g = r.request
+                                  , p = g.getfeatureinfo;
+                                d.length > 0 && (f.prefix = d[0]),
+                                r.layers.push(f),
+                                void 0 === f.formats && (f.formats = g.getmap.formats),
+                                void 0 === f.infoFormats && p && (f.infoFormats = p.formats)
+                            }
+                        },
+                        Attribution: function(e, t) {
+                            t.attribution = {},
+                            this.readChildNodes(e, t.attribution)
+                        },
+                        LogoURL: function(e, t) {
+                            t.logo = {
+                                width: e.getAttribute("width"),
+                                height: e.getAttribute("height")
+                            },
+                            this.readChildNodes(e, t.logo)
+                        },
+                        Style: function(e, t) {
+                            var i = {};
+                            t.styles.push(i),
+                            this.readChildNodes(e, i)
+                        },
+                        LegendURL: function(e, t) {
+                            var i = {
+                                width: e.getAttribute("width"),
+                                height: e.getAttribute("height")
+                            };
+                            t.legend = i,
+                            this.readChildNodes(e, i)
+                        },
+                        MetadataURL: function(e, t) {
+                            var i = {
+                                type: e.getAttribute("type")
+                            };
+                            t.metadataURLs.push(i),
+                            this.readChildNodes(e, i)
+                        },
+                        DataURL: function(e, t) {
+                            t.dataURL = {},
+                            this.readChildNodes(e, t.dataURL)
+                        },
+                        FeatureListURL: function(e, t) {
+                            t.featureListURL = {},
+                            this.readChildNodes(e, t.featureListURL)
+                        },
+                        AuthorityURL: function(e, t) {
+                            var i = e.getAttribute("name")
+                              , r = {};
+                            this.readChildNodes(e, r),
+                            t.authorityURLs[i] = r.href
+                        },
+                        Identifier: function(e, t) {
+                            var i = e.getAttribute("authority");
+                            t.identifiers[i] = this.getChildValue(e)
+                        },
+                        KeywordList: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        SRS: function(e, t) {
+                            t.srs[this.getChildValue(e)] = !0
+                        }
+                    }
+                },
+                CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1"
+            }),
+            GeoGlobe.Format.WMSCapabilities.v1_1 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1, {
+                readers: {
+                    wms: GeoGlobe.Util.applyDefaults({
+                        WMT_MS_Capabilities: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        Keyword: function(e, t) {
+                            t.keywords && t.keywords.push(this.getChildValue(e))
+                        },
+                        DescribeLayer: function(e, t) {
+                            t.describelayer = {
+                                formats: []
+                            },
+                            this.readChildNodes(e, t.describelayer)
+                        },
+                        GetLegendGraphic: function(e, t) {
+                            t.getlegendgraphic = {
+                                formats: []
+                            },
+                            this.readChildNodes(e, t.getlegendgraphic)
+                        },
+                        GetStyles: function(e, t) {
+                            t.getstyles = {
+                                formats: []
+                            },
+                            this.readChildNodes(e, t.getstyles)
+                        },
+                        PutStyles: function(e, t) {
+                            t.putstyles = {
+                                formats: []
+                            },
+                            this.readChildNodes(e, t.putstyles)
+                        },
+                        UserDefinedSymbolization: function(e, t) {
+                            var i = {
+                                supportSLD: 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("SupportSLD")),
+                                userLayer: 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("UserLayer")),
+                                userStyle: 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("UserStyle")),
+                                remoteWFS: 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("RemoteWFS"))
+                            };
+                            t.userSymbols = i
+                        },
+                        LatLonBoundingBox: function(e, t) {
+                            t.llbbox = [_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("minx")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("miny")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("maxx")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("maxy"))]
+                        },
+                        BoundingBox: function(e, t) {
+                            var i = GeoGlobe.Format.WMSCapabilities.v1.prototype.readers.wms.BoundingBox.apply(this, [e, t]);
+                            i.srs = e.getAttribute("SRS"),
+                            t.bbox[i.srs] = i
+                        },
+                        ScaleHint: function(e, t) {
+                            var i = e.getAttribute("min")
+                              , r = e.getAttribute("max")
+                              , n = Math.pow(2, .5)
+                              , o = GeoGlobe.INCHES_PER_UNIT.m;
+                            0 != i && (t.maxScale = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()((i / n * o * GeoGlobe.DOTS_PER_INCH).toPrecision(13))),
+                            r != Number.POSITIVE_INFINITY && (t.minScale = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()((r / n * o * GeoGlobe.DOTS_PER_INCH).toPrecision(13)))
+                        },
+                        Dimension: function(e, t) {
+                            var i = {
+                                name: e.getAttribute("name").toLowerCase(),
+                                units: e.getAttribute("units"),
+                                unitsymbol: e.getAttribute("unitSymbol")
+                            };
+                            t.dimensions[i.name] = i
+                        },
+                        Extent: function(e, t) {
+                            var i = e.getAttribute("name").toLowerCase();
+                            if (i in t.dimensions) {
+                                var r = t.dimensions[i];
+                                r.nearestVal = "1" === e.getAttribute("nearestValue"),
+                                r.multipleVal = "1" === e.getAttribute("multipleValues"),
+                                r.current = "1" === e.getAttribute("current"),
+                                r.default = e.getAttribute("default") || "";
+                                var n = this.getChildValue(e);
+                                r.values = n.split(",")
+                            }
+                        }
+                    }, GeoGlobe.Format.WMSCapabilities.v1.prototype.readers.wms)
+                },
+                CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_1"
+            }),
+            GeoGlobe.Format.WMSCapabilities.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1_1, {
+                version: "1.1.0",
+                readers: {
+                    wms: GeoGlobe.Util.applyDefaults({
+                        SRS: function(e, t) {
+                            for (var i = this.getChildValue(e).split(/ +/), r = 0, n = i.length; r < n; r++)
+                                t.srs[i[r]] = !0
+                        }
+                    }, GeoGlobe.Format.WMSCapabilities.v1_1.prototype.readers.wms)
+                },
+                CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_1_0"
+            }),
+            GeoGlobe.Format.WMSCapabilities.v1_1_1 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1_1, {
+                version: "1.1.1",
+                readers: {
+                    wms: GeoGlobe.Util.applyDefaults({
+                        SRS: function(e, t) {
+                            t.srs[this.getChildValue(e)] = !0
+                        }
+                    }, GeoGlobe.Format.WMSCapabilities.v1_1.prototype.readers.wms)
+                },
+                CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_1_1"
+            }),
+            GeoGlobe.Format.WMSCapabilities.v1_1_1_WMSC = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1_1_1, {
+                version: "1.1.1",
+                profile: "WMSC",
+                readers: {
+                    wms: GeoGlobe.Util.applyDefaults({
+                        VendorSpecificCapabilities: function(e, t) {
+                            t.vendorSpecific = {
+                                tileSets: []
+                            },
+                            this.readChildNodes(e, t.vendorSpecific)
+                        },
+                        TileSet: function(e, t) {
+                            var i = {
+                                srs: {},
+                                bbox: {},
+                                resolutions: []
+                            };
+                            this.readChildNodes(e, i),
+                            t.tileSets.push(i)
+                        },
+                        Resolutions: function(e, t) {
+                            for (var i = this.getChildValue(e).split(" "), r = 0, n = i.length; r < n; r++)
+                                "" != i[r] && t.resolutions.push(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(i[r]))
+                        },
+                        Width: function(e, t) {
+                            t.width = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        Height: function(e, t) {
+                            t.height = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        Layers: function(e, t) {
+                            t.layers = this.getChildValue(e)
+                        },
+                        Styles: function(e, t) {
+                            t.styles = this.getChildValue(e)
+                        }
+                    }, GeoGlobe.Format.WMSCapabilities.v1_1_1.prototype.readers.wms)
+                },
+                CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_1_1_WMSC"
+            }),
+            GeoGlobe.Format.WMSCapabilities.v1_3 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1, {
+                readers: {
+                    wms: GeoGlobe.Util.applyDefaults({
+                        WMS_Capabilities: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        LayerLimit: function(e, t) {
+                            t.layerLimit = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        MaxWidth: function(e, t) {
+                            t.maxWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        MaxHeight: function(e, t) {
+                            t.maxHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        BoundingBox: function(e, t) {
+                            var i = GeoGlobe.Format.WMSCapabilities.v1.prototype.readers.wms.BoundingBox.apply(this, [e, t]);
+                            i.srs = e.getAttribute("CRS"),
+                            t.bbox[i.srs] = i
+                        },
+                        CRS: function(e, t) {
+                            this.readers.wms.SRS.apply(this, [e, t])
+                        },
+                        EX_GeographicBoundingBox: function(e, t) {
+                            t.llbbox = [],
+                            this.readChildNodes(e, t.llbbox)
+                        },
+                        westBoundLongitude: function(e, t) {
+                            t[0] = this.getChildValue(e)
+                        },
+                        eastBoundLongitude: function(e, t) {
+                            t[2] = this.getChildValue(e)
+                        },
+                        southBoundLatitude: function(e, t) {
+                            t[1] = this.getChildValue(e)
+                        },
+                        northBoundLatitude: function(e, t) {
+                            t[3] = this.getChildValue(e)
+                        },
+                        MinScaleDenominator: function(e, t) {
+                            t.maxScale = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.getChildValue(e)).toPrecision(16)
+                        },
+                        MaxScaleDenominator: function(e, t) {
+                            t.minScale = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.getChildValue(e)).toPrecision(16)
+                        },
+                        Dimension: function(e, t) {
+                            var i = {
+                                name: e.getAttribute("name").toLowerCase(),
+                                units: e.getAttribute("units"),
+                                unitsymbol: e.getAttribute("unitSymbol"),
+                                nearestVal: "1" === e.getAttribute("nearestValue"),
+                                multipleVal: "1" === e.getAttribute("multipleValues"),
+                                default: e.getAttribute("default") || "",
+                                current: "1" === e.getAttribute("current"),
+                                values: this.getChildValue(e).split(",")
+                            };
+                            t.dimensions[i.name] = i
+                        },
+                        Keyword: function(e, t) {
+                            var i = {
+                                value: this.getChildValue(e),
+                                vocabulary: e.getAttribute("vocabulary")
+                            };
+                            t.keywords && t.keywords.push(i)
+                        }
+                    }, GeoGlobe.Format.WMSCapabilities.v1.prototype.readers.wms),
+                    sld: {
+                        UserDefinedSymbolization: function(e, t) {
+                            this.readers.wms.UserDefinedSymbolization.apply(this, [e, t]),
+                            t.userSymbols.inlineFeature = 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("InlineFeature")),
+                            t.userSymbols.remoteWCS = 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("RemoteWCS"))
+                        },
+                        DescribeLayer: function(e, t) {
+                            this.readers.wms.DescribeLayer.apply(this, [e, t])
+                        },
+                        GetLegendGraphic: function(e, t) {
+                            this.readers.wms.GetLegendGraphic.apply(this, [e, t])
+                        }
+                    }
+                },
+                CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_3"
+            }),
+            GeoGlobe.Format.WMSCapabilities.v1_3_0 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1_3, {
+                version: "1.3.0",
+                CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_3_0"
+            }),
+            GeoGlobe.Format.WMTSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
+                defaultVersion: "1.0.0",
+                yx: {
+                    "urn:ogc:def:crs:EPSG::4326": !0
+                },
+                createLayer: function(e, t) {
+                    if (!("layer"in t))
+                        throw new Error("Missing property 'layer' in configuration.");
+                    for (var i, r = e.contents, n = (r.layers,
+                    0), o = r.layers.length; n < o; ++n)
+                        if (r.layers[n].identifier === t.layer) {
+                            i = r.layers[n];
+                            break
+                        }
+                    if (!i)
+                        throw new Error("Layer not found");
+                    var a, s, x = t.format;
+                    if (!x && i.formats && i.formats.length && (x = i.formats[0]),
+                    t.matrixSet)
+                        a = r.tileMatrixSets[t.matrixSet];
+                    else if (t.projection) {
+                        n = 0;
+                        for (var l = i.tileMatrixSetLinks.length; n < l; n++)
+                            if (r.tileMatrixSets[i.tileMatrixSetLinks[n].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3") === t.projection) {
+                                a = r.tileMatrixSets[i.tileMatrixSetLinks[n].tileMatrixSet];
+                                break
+                            }
+                    } else
+                        i.tileMatrixSetLinks.length >= 1 && (a = r.tileMatrixSets[i.tileMatrixSetLinks[0].tileMatrixSet]);
+                    if (!a)
+                        throw new Error("matrixSet not found");
+                    for (n = 0,
+                    o = i.styles.length; n < o && !(s = i.styles[n]).isDefault; ++n)
+                        ;
+                    var c = t.requestEncoding;
+                    c || (c = "KVP",
+                    e.operationsMetadata.GetTile.dcp.http);
+                    var u = []
+                      , h = t.params || {};
+                    delete t.params;
+                    for (var f = 0, d = i.dimensions.length; f < d; f++) {
+                        var g = i.dimensions[f];
+                        u.push(g.identifier),
+                        h.hasOwnProperty(g.identifier) || (h[g.identifier] = g.default)
+                    }
+                    var p, m, b, v, C = t.projection || a.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"), y = t.units || ("EPSG:4326" === C ? "degrees" : "m"), _ = [], A = [], I = i.tileMatrixSetLinks, w = function(e) {
+                        _.push(28e-5 * e / GeoGlobe.METERS_PER_INCH / GeoGlobe.INCHES_PER_UNIT[y]),
+                        (!p || p > e) && (p = e),
+                        (!m || m < e) && (m = e)
+                    }, G = 0;
+                    for (l = I.length; G < l; G++)
+                        if ((b = I[G]).tileMatrixSet === a.identifier) {
+                            if (b.tileMatrixSetLimits) {
+                                for (var E, S = {}, T = 0, P = a.matrixIds.length; T < P; T++)
+                                    S[a.matrixIds[T].identifier] = a.matrixIds[T];
+                                for (T = 0,
+                                P = b.tileMatrixSetLimits.length; T < P; T++)
+                                    E = S[b.tileMatrixSetLimits[T].tileMatrix],
+                                    A.push(E),
+                                    w(E.scaleDenominator)
+                            } else
+                                for (T = 0,
+                                P = a.matrixIds.length; T < P; T++)
+                                    w(a.matrixIds[T].scaleDenominator);
+                            break
+                        }
+                    if ("REST" === c && i.resourceUrls) {
+                        v = [],
+                        i.resourceUrls;
+                        for (var M, N = 0, L = i.resourceUrls.length; N < L; ++N)
+                            (M = i.resourceUrls[N]).format === x && "tile" === M.resourceType && v.push(M.template)
+                    } else {
+                        var R, O = e.operationsMetadata.GetTile.dcp.http.get;
+                        for (v = [],
+                        n = 0,
+                        o = O.length; n < o; n++)
+                            (!(R = O[n].constraints) || R && R.GetEncoding.allowedValues[c]) && v.push(O[n].url)
+                    }
+                    _.sort((function(e, t) {
+                        return t - e
+                    }
+                    ));
+                    var F, D = "SERVICE=WMTS&REQUEST=GetTile&VERSION=" + e.version + "&LAYER=" + i.identifier + "&STYLE=" + s.identifier + "&TILEMATRIXSET=" + a.identifier + "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=" + x;
+                    F = v[0].endsWith("?") ? v[0] + D : v[0] + "?" + D;
+                    var U = GeoGlobe.Util.applyDefaults(t, {
+                        id: i.identifier,
+                        url: [F]
+                    })
+                      , k = {
+                        id: U.id,
+                        layer: {
+                            id: U.id,
+                            type: "raster",
+                            source: U.id
+                        },
+                        source: {
+                            type: "raster",
+                            tiles: U.url,
+                            tileSize: 256
+                        }
+                    };
+                    return k.matrixSet = a,
+                    k.identifier = i.identifier,
+                    k.bounds = i.bounds,
+                    k
+                },
+                CLASS_NAME: "GeoGlobe.Format.WMTSCapabilities"
+            }),
+            GeoGlobe.Format.WMTSCapabilities.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.OWSCommon.v1_1_0, {
+                version: "1.0.0",
+                namespaces: {
+                    ows: "http://www.opengis.net/ows/1.1",
+                    wmts: "http://www.opengis.net/wmts/1.0",
+                    xlink: "http://www.w3.org/1999/xlink"
+                },
+                yx: null,
+                defaultPrefix: "wmts",
+                initialize: function(e) {
+                    GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]),
+                    this.options = e;
+                    var t = GeoGlobe.Util.extend({}, GeoGlobe.Format.WMTSCapabilities.prototype.yx);
+                    this.yx = GeoGlobe.Util.extend(t, this.yx)
+                },
+                read: function(e) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
+                    e && 9 == e.nodeType && (e = e.documentElement);
+                    var t = {};
+                    return this.readNode(e, t),
+                    t.version = this.version,
+                    t
+                },
+                readers: {
+                    wmts: {
+                        Capabilities: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        Contents: function(e, t) {
+                            t.contents = {},
+                            t.contents.layers = [],
+                            t.contents.tileMatrixSets = {},
+                            this.readChildNodes(e, t.contents)
+                        },
+                        Layer: function(e, t) {
+                            var i = {
+                                styles: [],
+                                formats: [],
+                                dimensions: [],
+                                tileMatrixSetLinks: []
+                            };
+                            this.readChildNodes(e, i),
+                            t.layers.push(i)
+                        },
+                        Style: function(e, t) {
+                            var i = {};
+                            i.isDefault = "true" === e.getAttribute("isDefault"),
+                            this.readChildNodes(e, i),
+                            t.styles.push(i)
+                        },
+                        Format: function(e, t) {
+                            t.formats.push(this.getChildValue(e))
+                        },
+                        TileMatrixSetLink: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.tileMatrixSetLinks.push(i)
+                        },
+                        TileMatrixSet: function(e, t) {
+                            if (t.layers) {
+                                var i = {
+                                    matrixIds: []
+                                };
+                                this.readChildNodes(e, i),
+                                t.tileMatrixSets[i.identifier] = i
+                            } else
+                                t.tileMatrixSet = this.getChildValue(e)
+                        },
+                        TileMatrixSetLimits: function(e, t) {
+                            t.tileMatrixSetLimits = [],
+                            this.readChildNodes(e, t)
+                        },
+                        TileMatrixLimits: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.tileMatrixSetLimits.push(i)
+                        },
+                        MinTileRow: function(e, t) {
+                            t.minTileRow = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        MaxTileRow: function(e, t) {
+                            t.maxTileRow = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        MinTileCol: function(e, t) {
+                            t.minTileCol = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        MaxTileCol: function(e, t) {
+                            t.maxTileCol = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        TileMatrix: function(e, t) {
+                            if (t.identifier) {
+                                var i = {
+                                    supportedCRS: t.supportedCRS
+                                };
+                                this.readChildNodes(e, i),
+                                t.matrixIds.push(i)
+                            } else
+                                t.tileMatrix = this.getChildValue(e)
+                        },
+                        ScaleDenominator: function(e, t) {
+                            t.scaleDenominator = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.getChildValue(e))
+                        },
+                        TopLeftCorner: function(e, t) {
+                            var i, r = this.getChildValue(e).split(" ");
+                            if (t.supportedCRS) {
+                                var n = t.supportedCRS.replace(/urn:ogc:def:crs:(\w+):.+:(\w+)$/, "urn:ogc:def:crs:$1::$2");
+                                i = !!this.yx[n]
+                            }
+                            t.topLeftCorner = i ? new GeoGlobe.LngLat(r[1],r[0]) : new GeoGlobe.LngLat(r[0],r[1])
+                        },
+                        TileWidth: function(e, t) {
+                            t.tileWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        TileHeight: function(e, t) {
+                            t.tileHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        MatrixWidth: function(e, t) {
+                            t.matrixWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        MatrixHeight: function(e, t) {
+                            t.matrixHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        ResourceURL: function(e, t) {
+                            t.resourceUrl = t.resourceUrl || {};
+                            var i = e.getAttribute("resourceType");
+                            t.resourceUrls || (t.resourceUrls = []);
+                            var r = t.resourceUrl[i] = {
+                                format: e.getAttribute("format"),
+                                template: e.getAttribute("template"),
+                                resourceType: i
+                            };
+                            t.resourceUrls.push(r)
+                        },
+                        LegendURL: function(e, t) {
+                            t.legends = t.legends || [];
+                            var i = {
+                                format: e.getAttribute("format"),
+                                href: e.getAttribute("xlink:href")
+                            }
+                              , r = e.getAttribute("width")
+                              , n = e.getAttribute("height")
+                              , o = e.getAttribute("minScaleDenominator")
+                              , a = e.getAttribute("maxScaleDenominator");
+                            null !== r && (i.width = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(r)),
+                            null !== n && (i.height = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(n)),
+                            null !== o && (i.minScaleDenominator = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(o)),
+                            null !== a && (i.maxScaleDenominator = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(a)),
+                            t.legends.push(i)
+                        },
+                        InfoFormat: function(e, t) {
+                            t.infoFormats = t.infoFormats || [],
+                            t.infoFormats.push(this.getChildValue(e))
+                        },
+                        WSDL: function(e, t) {
+                            t.wsdl = {},
+                            t.wsdl.href = e.getAttribute("xlink:href")
+                        },
+                        ServiceMetadataURL: function(e, t) {
+                            t.serviceMetadataUrl = {},
+                            t.serviceMetadataUrl.href = e.getAttribute("xlink:href")
+                        },
+                        Dimension: function(e, t) {
+                            var i = {
+                                values: []
+                            };
+                            this.readChildNodes(e, i),
+                            t.dimensions.push(i)
+                        },
+                        Default: function(e, t) {
+                            t.default = this.getChildValue(e)
+                        },
+                        Value: function(e, t) {
+                            t.values.push(this.getChildValue(e))
+                        }
+                    },
+                    ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.readers.ows
+                },
+                CLASS_NAME: "GeoGlobe.Format.WMTSCapabilities.v1_0_0"
+            }),
+            GeoGlobe.Format.VTSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
+                defaultVersion: "1.0.0",
+                yx: {
+                    "urn:ogc:def:crs:EPSG::4326": !0
+                },
+                createLayer: function(e, t) {
+                    if (!("layer"in t))
+                        throw new Error("Missing property 'layer' in configuration.");
+                    for (var i, r = e.contents, n = (r.layers,
+                    0), o = r.layers.length; n < o; ++n)
+                        if (r.layers[n].identifier === t.layer) {
+                            i = r.layers[n];
+                            break
+                        }
+                    if (!i)
+                        throw new Error("Layer not found");
+                    var a, s, x = t.format;
+                    if (!x && i.formats && i.formats.length && (x = i.formats[0]),
+                    t.matrixSet)
+                        a = r.tileMatrixSets[t.matrixSet];
+                    else if (t.projection) {
+                        n = 0;
+                        for (var l = i.tileMatrixSetLinks.length; n < l; n++)
+                            if (r.tileMatrixSets[i.tileMatrixSetLinks[n].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3") === t.projection) {
+                                a = r.tileMatrixSets[i.tileMatrixSetLinks[n].tileMatrixSet];
+                                break
+                            }
+                    } else
+                        i.tileMatrixSetLinks.length >= 1 && (a = r.tileMatrixSets[i.tileMatrixSetLinks[0].tileMatrixSet]);
+                    if (!a)
+                        throw new Error("matrixSet not found");
+                    for (n = 0,
+                    o = i.styles.length; n < o && !(s = i.styles[n]).isDefault; ++n)
+                        ;
+                    var c = t.requestEncoding;
+                    c || (c = "KVP",
+                    e.operationsMetadata.GetTile.dcp.http);
+                    var u = []
+                      , h = t.params || {};
+                    delete t.params;
+                    for (var f = 0, d = i.dimensions.length; f < d; f++) {
+                        var g = i.dimensions[f];
+                        u.push(g.identifier),
+                        h.hasOwnProperty(g.identifier) || (h[g.identifier] = g.default)
+                    }
+                    var p, m, b, v, C = t.projection || a.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"), y = t.units || ("EPSG:4326" === C ? "degrees" : "m"), _ = [], A = [], I = i.tileMatrixSetLinks, w = function(e) {
+                        _.push(28e-5 * e / GeoGlobe.METERS_PER_INCH / GeoGlobe.INCHES_PER_UNIT[y]),
+                        (!p || p > e) && (p = e),
+                        (!m || m < e) && (m = e)
+                    }, G = 0;
+                    for (l = I.length; G < l; G++)
+                        if ((b = I[G]).tileMatrixSet === a.identifier) {
+                            if (b.tileMatrixSetLimits) {
+                                for (var E, S = {}, T = 0, P = a.matrixIds.length; T < P; T++)
+                                    S[a.matrixIds[T].identifier] = a.matrixIds[T];
+                                for (T = 0,
+                                P = b.tileMatrixSetLimits.length; T < P; T++)
+                                    E = S[b.tileMatrixSetLimits[T].tileMatrix],
+                                    A.push(E),
+                                    w(E.scaleDenominator)
+                            } else
+                                for (T = 0,
+                                P = a.matrixIds.length; T < P; T++)
+                                    w(a.matrixIds[T].scaleDenominator);
+                            break
+                        }
+                    if ("REST" === c && i.resourceUrls) {
+                        v = [],
+                        i.resourceUrls;
+                        for (var M, N = 0, L = i.resourceUrls.length; N < L; ++N)
+                            (M = i.resourceUrls[N]).format === x && "tile" === M.resourceType && v.push(M.template)
+                    } else {
+                        var R, O = e.operationsMetadata.GetTile.dcp.http.get;
+                        for (v = [],
+                        n = 0,
+                        o = O.length; n < o; n++)
+                            (!(R = O[n].constraints) || R && R.GetEncoding.allowedValues[c]) && v.push(O[n].url)
+                    }
+                    _.sort((function(e, t) {
+                        return t - e
+                    }
+                    ));
+                    var F, D = "SERVICE=WMTS&REQUEST=GetTile&VERSION=" + e.version + "&LAYER=" + i.identifier + "&STYLE=" + s.identifier + "&TILEMATRIXSET=" + a.identifier + "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=" + x;
+                    F = v[0].endsWith("?") ? v[0] + D : v[0] + "?" + D;
+                    var U = GeoGlobe.Util.applyDefaults(t, {
+                        id: i.identifier,
+                        url: [F]
+                    })
+                      , k = new GeoGlobe.Layer.VTS(U);
+                    return k.matrixSet = a,
+                    k.identifier = i.identifier,
+                    k.bounds = i.bounds,
+                    k
+                },
+                CLASS_NAME: "GeoGlobe.Format.VTSCapabilities"
+            }),
+            GeoGlobe.Format.VTSCapabilities.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.OWSCommon.v1_1_0, {
+                version: "1.0.0",
+                namespaces: {
+                    ows: "http://www.opengis.net/ows/1.1",
+                    wmts: "http://www.opengis.net/wmts/1.0",
+                    xlink: "http://www.w3.org/1999/xlink"
+                },
+                yx: null,
+                defaultPrefix: "wmts",
+                initialize: function(e) {
+                    GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]),
+                    this.options = e;
+                    var t = GeoGlobe.Util.extend({}, GeoGlobe.Format.VTSCapabilities.prototype.yx);
+                    this.yx = GeoGlobe.Util.extend(t, this.yx)
+                },
+                read: function(e) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
+                    e && 9 == e.nodeType && (e = e.documentElement);
+                    var t = {};
+                    return this.readNode(e, t),
+                    t.version = this.version,
+                    t
+                },
+                readers: {
+                    wmts: {
+                        Capabilities: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        Contents: function(e, t) {
+                            t.contents = {},
+                            t.contents.layers = [],
+                            t.contents.tileMatrixSets = {},
+                            this.readChildNodes(e, t.contents)
+                        },
+                        Layer: function(e, t) {
+                            var i = {
+                                styles: [],
+                                formats: [],
+                                dimensions: [],
+                                tileMatrixSetLinks: []
+                            };
+                            this.readChildNodes(e, i),
+                            t.layers.push(i)
+                        },
+                        Style: function(e, t) {
+                            var i = {};
+                            i.isDefault = "true" === e.getAttribute("isDefault"),
+                            this.readChildNodes(e, i),
+                            t.styles.push(i)
+                        },
+                        Format: function(e, t) {
+                            t.formats.push(this.getChildValue(e))
+                        },
+                        TileMatrixSetLink: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.tileMatrixSetLinks.push(i)
+                        },
+                        TileMatrixSet: function(e, t) {
+                            if (t.layers) {
+                                var i = {
+                                    matrixIds: []
+                                };
+                                this.readChildNodes(e, i),
+                                t.tileMatrixSets[i.identifier] = i
+                            } else
+                                t.tileMatrixSet = this.getChildValue(e)
+                        },
+                        TileMatrixSetLimits: function(e, t) {
+                            t.tileMatrixSetLimits = [],
+                            this.readChildNodes(e, t)
+                        },
+                        TileMatrixLimits: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.tileMatrixSetLimits.push(i)
+                        },
+                        MinTileRow: function(e, t) {
+                            t.minTileRow = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        MaxTileRow: function(e, t) {
+                            t.maxTileRow = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        MinTileCol: function(e, t) {
+                            t.minTileCol = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        MaxTileCol: function(e, t) {
+                            t.maxTileCol = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        TileMatrix: function(e, t) {
+                            if (t.identifier) {
+                                var i = {
+                                    supportedCRS: t.supportedCRS
+                                };
+                                this.readChildNodes(e, i),
+                                t.matrixIds.push(i)
+                            } else
+                                t.tileMatrix = this.getChildValue(e)
+                        },
+                        ScaleDenominator: function(e, t) {
+                            t.scaleDenominator = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.getChildValue(e))
+                        },
+                        TopLeftCorner: function(e, t) {
+                            var i, r = this.getChildValue(e).split(" ");
+                            if (t.supportedCRS) {
+                                var n = t.supportedCRS.replace(/urn:ogc:def:crs:(\w+):.+:(\w+)$/, "urn:ogc:def:crs:$1::$2");
+                                i = !!this.yx[n]
+                            }
+                            t.topLeftCorner = i ? new GeoGlobe.LngLat(r[1],r[0]) : new GeoGlobe.LngLat(r[0],r[1])
+                        },
+                        TileWidth: function(e, t) {
+                            t.tileWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        TileHeight: function(e, t) {
+                            t.tileHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        MatrixWidth: function(e, t) {
+                            t.matrixWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        MatrixHeight: function(e, t) {
+                            t.matrixHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e))
+                        },
+                        ResourceURL: function(e, t) {
+                            t.resourceUrl = t.resourceUrl || {};
+                            var i = e.getAttribute("resourceType");
+                            t.resourceUrls || (t.resourceUrls = []);
+                            var r = t.resourceUrl[i] = {
+                                format: e.getAttribute("format"),
+                                template: e.getAttribute("template"),
+                                resourceType: i
+                            };
+                            t.resourceUrls.push(r)
+                        },
+                        LegendURL: function(e, t) {
+                            t.legends = t.legends || [];
+                            var i = {
+                                format: e.getAttribute("format"),
+                                href: e.getAttribute("xlink:href")
+                            }
+                              , r = e.getAttribute("width")
+                              , n = e.getAttribute("height")
+                              , o = e.getAttribute("minScaleDenominator")
+                              , a = e.getAttribute("maxScaleDenominator");
+                            null !== r && (i.width = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(r)),
+                            null !== n && (i.height = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(n)),
+                            null !== o && (i.minScaleDenominator = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(o)),
+                            null !== a && (i.maxScaleDenominator = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(a)),
+                            t.legends.push(i)
+                        },
+                        InfoFormat: function(e, t) {
+                            t.infoFormats = t.infoFormats || [],
+                            t.infoFormats.push(this.getChildValue(e))
+                        },
+                        WSDL: function(e, t) {
+                            t.wsdl = {},
+                            t.wsdl.href = e.getAttribute("xlink:href")
+                        },
+                        ServiceMetadataURL: function(e, t) {
+                            t.serviceMetadataUrl = {},
+                            t.serviceMetadataUrl.href = e.getAttribute("xlink:href")
+                        },
+                        Dimension: function(e, t) {
+                            var i = {
+                                values: []
+                            };
+                            this.readChildNodes(e, i),
+                            t.dimensions.push(i)
+                        },
+                        Default: function(e, t) {
+                            t.default = this.getChildValue(e)
+                        },
+                        Value: function(e, t) {
+                            t.values.push(this.getChildValue(e))
+                        }
+                    },
+                    ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.readers.ows
+                },
+                CLASS_NAME: "GeoGlobe.Format.VTSCapabilities.v1_0_0"
+            }),
+            GeoGlobe.Format.WPSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, {
+                defaultVersion: "1.0.0",
+                CLASS_NAME: "GeoGlobe.Format.WPSCapabilities"
+            }),
+            GeoGlobe.Format.WPSCapabilities.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                namespaces: {
+                    ows: "http://www.opengis.net/ows/1.1",
+                    wps: "http://www.opengis.net/wps/1.0.0",
+                    xlink: "http://www.w3.org/1999/xlink"
+                },
+                regExes: {
+                    trimSpace: /^\s*|\s*$/g,
+                    removeSpace: /\s*/g,
+                    splitSpace: /\s+/,
+                    trimComma: /\s*,\s*/g
+                },
+                initialize: function(e) {
+                    GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
+                },
+                read: function(e) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
+                    e && 9 == e.nodeType && (e = e.documentElement);
+                    var t = {};
+                    return this.readNode(e, t),
+                    t
+                },
+                readers: {
+                    wps: {
+                        Capabilities: function(e, t) {
+                            this.readChildNodes(e, t)
+                        },
+                        ProcessOfferings: function(e, t) {
+                            t.processOfferings = {},
+                            this.readChildNodes(e, t.processOfferings)
+                        },
+                        Process: function(e, t) {
+                            var i = {
+                                processVersion: this.getAttributeNS(e, this.namespaces.wps, "processVersion")
+                            };
+                            this.readChildNodes(e, i),
+                            t[i.identifier] = i
+                        },
+                        Languages: function(e, t) {
+                            t.languages = [],
+                            this.readChildNodes(e, t.languages)
+                        },
+                        Default: function(e, t) {
+                            var i = {
+                                isDefault: !0
+                            };
+                            this.readChildNodes(e, i),
+                            t.push(i)
+                        },
+                        Supported: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.push(i)
+                        }
+                    },
+                    ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.readers.ows
+                },
+                CLASS_NAME: "GeoGlobe.Format.WPSCapabilities.v1_0_0"
+            }),
+            GeoGlobe.Format.WCSGetCoverage = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                namespaces: {
+                    ows: "http://www.opengis.net/ows/1.1",
+                    wcs: "http://www.opengis.net/wcs/1.1",
+                    xlink: "http://www.w3.org/1999/xlink",
+                    xsi: "http://www.w3.org/2001/XMLSchema-instance"
+                },
+                regExes: {
+                    trimSpace: /^\s*|\s*$/g,
+                    removeSpace: /\s*/g,
+                    splitSpace: /\s+/,
+                    trimComma: /\s*,\s*/g
+                },
+                VERSION: "1.1.2",
+                schemaLocation: "http://www.opengis.net/wcs/1.1 http://schemas.opengis.net/wcs/1.1/wcsGetCoverage.xsd",
+                write: function(e) {
+                    var t = this.writeNode("wcs:GetCoverage", e);
+                    return this.setAttributeNS(t, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation),
+                    GeoGlobe.Format.XML.prototype.write.apply(this, [t])
+                },
+                writers: {
+                    wcs: {
+                        GetCoverage: function(e) {
+                            var t = this.createElementNSPlus("wcs:GetCoverage", {
+                                attributes: {
+                                    version: e.version || this.VERSION,
+                                    service: "WCS"
+                                }
+                            });
+                            return this.writeNode("ows:Identifier", e.identifier, t),
+                            this.writeNode("wcs:DomainSubset", e.domainSubset, t),
+                            this.writeNode("wcs:Output", e.output, t),
+                            t
+                        },
+                        DomainSubset: function(e) {
+                            var t = this.createElementNSPlus("wcs:DomainSubset", {});
+                            return this.writeNode("ows:BoundingBox", e.boundingBox, t),
+                            e.temporalSubset && this.writeNode("wcs:TemporalSubset", e.temporalSubset, t),
+                            t
+                        },
+                        TemporalSubset: function(e) {
+                            for (var t = this.createElementNSPlus("wcs:TemporalSubset", {}), i = 0, r = e.timePeriods.length; i < r; ++i)
+                                this.writeNode("wcs:TimePeriod", e.timePeriods[i], t);
+                            return t
+                        },
+                        TimePeriod: function(e) {
+                            var t = this.createElementNSPlus("wcs:TimePeriod", {});
+                            return this.writeNode("wcs:BeginPosition", e.begin, t),
+                            this.writeNode("wcs:EndPosition", e.end, t),
+                            e.resolution && this.writeNode("wcs:TimeResolution", e.resolution, t),
+                            t
+                        },
+                        BeginPosition: function(e) {
+                            return this.createElementNSPlus("wcs:BeginPosition", {
+                                value: e
+                            })
+                        },
+                        EndPosition: function(e) {
+                            return this.createElementNSPlus("wcs:EndPosition", {
+                                value: e
+                            })
+                        },
+                        TimeResolution: function(e) {
+                            return this.createElementNSPlus("wcs:TimeResolution", {
+                                value: e
+                            })
+                        },
+                        Output: function(e) {
+                            var t = this.createElementNSPlus("wcs:Output", {
+                                attributes: {
+                                    format: e.format,
+                                    store: e.store
+                                }
+                            });
+                            return e.gridCRS && this.writeNode("wcs:GridCRS", e.gridCRS, t),
+                            t
+                        },
+                        GridCRS: function(e) {
+                            var t = this.createElementNSPlus("wcs:GridCRS", {});
+                            return this.writeNode("wcs:GridBaseCRS", e.baseCRS, t),
+                            e.type && this.writeNode("wcs:GridType", e.type, t),
+                            e.origin && this.writeNode("wcs:GridOrigin", e.origin, t),
+                            this.writeNode("wcs:GridOffsets", e.offsets, t),
+                            e.CS && this.writeNode("wcs:GridCS", e.CS, t),
+                            t
+                        },
+                        GridBaseCRS: function(e) {
+                            return this.createElementNSPlus("wcs:GridBaseCRS", {
+                                value: e
+                            })
+                        },
+                        GridOrigin: function(e) {
+                            return this.createElementNSPlus("wcs:GridOrigin", {
+                                value: e
+                            })
+                        },
+                        GridType: function(e) {
+                            return this.createElementNSPlus("wcs:GridType", {
+                                value: e
+                            })
+                        },
+                        GridOffsets: function(e) {
+                            return this.createElementNSPlus("wcs:GridOffsets", {
+                                value: e
+                            })
+                        },
+                        GridCS: function(e) {
+                            return this.createElementNSPlus("wcs:GridCS", {
+                                value: e
+                            })
+                        }
+                    },
+                    ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.writers.ows
+                },
+                CLASS_NAME: "GeoGlobe.Format.WCSGetCoverage"
+            }),
+            GeoGlobe.Format.WPSExecute = GeoGlobe.Class4OL(GeoGlobe.Format.XML, GeoGlobe.Format.Filter.v1_1_0, {
+                namespaces: {
+                    ows: "http://www.opengis.net/ows/1.1",
+                    gml: "http://www.opengis.net/gml",
+                    wps: "http://www.opengis.net/wps/1.0.0",
+                    wfs: "http://www.opengis.net/wfs",
+                    ogc: "http://www.opengis.net/ogc",
+                    wcs: "http://www.opengis.net/wcs",
+                    xlink: "http://www.w3.org/1999/xlink",
+                    xsi: "http://www.w3.org/2001/XMLSchema-instance"
+                },
+                regExes: {
+                    trimSpace: /^\s*|\s*$/g,
+                    removeSpace: /\s*/g,
+                    splitSpace: /\s+/,
+                    trimComma: /\s*,\s*/g
+                },
+                VERSION: "1.0.0",
+                schemaLocation: "http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd",
+                schemaLocationAttr: function(e) {},
+                write: function(e) {
+                    var t;
+                    GeoGlobe.Format.XML.supportActiveX ? (t = new ActiveXObject("Microsoft.XMLDOM"),
+                    this.xmldom = t) : t = document.implementation.createDocument("", "", null);
+                    var i = this.writeNode("wps:Execute", e, t);
+                    return this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation),
+                    GeoGlobe.Format.XML.prototype.write.apply(this, [i])
+                },
+                read: function(e) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
+                    e && 9 == e.nodeType && (e = e.documentElement);
+                    var t = {};
+                    return this.readNode(e, t),
+                    t
+                },
+                writers: {
+                    wps: {
+                        Execute: function(e) {
+                            var t = this.createElementNSPlus("wps:Execute", {
+                                attributes: {
+                                    version: this.VERSION,
+                                    service: "WPS"
+                                }
+                            });
+                            return this.writeNode("ows:Identifier", e.identifier, t),
+                            this.writeNode("wps:DataInputs", e.dataInputs, t),
+                            this.writeNode("wps:ResponseForm", e.responseForm, t),
+                            t
+                        },
+                        ResponseForm: function(e) {
+                            var t = this.createElementNSPlus("wps:ResponseForm", {});
+                            return e.rawDataOutput && this.writeNode("wps:RawDataOutput", e.rawDataOutput, t),
+                            e.responseDocument && this.writeNode("wps:ResponseDocument", e.responseDocument, t),
+                            t
+                        },
+                        ResponseDocument: function(e) {
+                            var t = this.createElementNSPlus("wps:ResponseDocument", {
+                                attributes: {
+                                    storeExecuteResponse: e.storeExecuteResponse,
+                                    lineage: e.lineage,
+                                    status: e.status
+                                }
+                            });
+                            if (e.outputs)
+                                for (var i = 0, r = e.outputs.length; i < r; i++)
+                                    this.writeNode("wps:Output", e.outputs[i], t);
+                            return t
+                        },
+                        Output: function(e) {
+                            var t = this.createElementNSPlus("wps:Output", {
+                                attributes: {
+                                    asReference: e.asReference,
+                                    mimeType: e.mimeType,
+                                    encoding: e.encoding,
+                                    schema: e.schema
+                                }
+                            });
+                            return this.writeNode("ows:Identifier", e.identifier, t),
+                            this.writeNode("ows:Title", e.title, t),
+                            this.writeNode("ows:Abstract", e.abstract, t),
+                            t
+                        },
+                        RawDataOutput: function(e) {
+                            var t = this.createElementNSPlus("wps:RawDataOutput", {
+                                attributes: {
+                                    mimeType: e.mimeType,
+                                    encoding: e.encoding,
+                                    schema: e.schema
+                                }
+                            });
+                            return this.writeNode("ows:Identifier", e.identifier, t),
+                            t
+                        },
+                        DataInputs: function(e) {
+                            for (var t = this.createElementNSPlus("wps:DataInputs", {}), i = 0, r = e.length; i < r; ++i)
+                                this.writeNode("wps:Input", e[i], t);
+                            return t
+                        },
+                        Input: function(e) {
+                            var t = this.createElementNSPlus("wps:Input", {});
+                            return this.writeNode("ows:Identifier", e.identifier, t),
+                            e.title && this.writeNode("ows:Title", e.title, t),
+                            e.data && this.writeNode("wps:Data", e.data, t),
+                            e.reference && this.writeNode("wps:Reference", e.reference, t),
+                            e.boundingBoxData && this.writeNode("wps:BoundingBoxData", e.boundingBoxData, t),
+                            t
+                        },
+                        Data: function(e) {
+                            var t = this.createElementNSPlus("wps:Data", {});
+                            return e.literalData ? this.writeNode("wps:LiteralData", e.literalData, t) : e.complexData ? this.writeNode("wps:ComplexData", e.complexData, t) : e.boundingBoxData && this.writeNode("ows:BoundingBox", e.boundingBoxData, t),
+                            t
+                        },
+                        LiteralData: function(e) {
+                            return this.createElementNSPlus("wps:LiteralData", {
+                                attributes: {
+                                    uom: e.uom
+                                },
+                                value: e.value
+                            })
+                        },
+                        ComplexData: function(e) {
+                            var t = this.createElementNSPlus("wps:ComplexData", {
+                                attributes: {
+                                    mimeType: e.mimeType,
+                                    encoding: e.encoding,
+                                    schema: e.schema
+                                }
+                            })
+                              , i = e.value;
+                            return "string" == typeof i ? t.appendChild(this.getXMLDoc().createCDATASection(e.value)) : t.appendChild(i),
+                            t
+                        },
+                        Reference: function(e) {
+                            var t = this.createElementNSPlus("wps:Reference", {
+                                attributes: {
+                                    mimeType: e.mimeType,
+                                    "xlink:href": e.href,
+                                    method: e.method,
+                                    encoding: e.encoding,
+                                    schema: e.schema
+                                }
+                            });
+                            return e.body && this.writeNode("wps:Body", e.body, t),
+                            t
+                        },
+                        BoundingBoxData: function(e, t) {
+                            this.writers.ows.BoundingBox.apply(this, [e, t, "wps:BoundingBoxData"])
+                        },
+                        Body: function(e) {
+                            var t = this.createElementNSPlus("wps:Body", {});
+                            return e.wcs ? this.writeNode("wcs:GetCoverage", e.wcs, t) : e.wfs ? (this.featureType = e.wfs.featureType,
+                            this.version = e.wfs.version,
+                            this.writeNode("wfs:GetFeature", e.wfs, t)) : this.writeNode("wps:Execute", e, t),
+                            t
+                        }
+                    },
+                    wcs: GeoGlobe.Format.WCSGetCoverage.prototype.writers.wcs,
+                    wfs: GeoGlobe.Format.WFST.v1_1_0.prototype.writers.wfs,
+                    ogc: GeoGlobe.Format.Filter.v1_1_0.prototype.writers.ogc,
+                    ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.writers.ows
+                },
+                readers: {
+                    wps: {
+                        ExecuteResponse: function(e, t) {
+                            t.executeResponse = {
+                                lang: e.getAttribute("lang"),
+                                statusLocation: e.getAttribute("statusLocation"),
+                                serviceInstance: e.getAttribute("serviceInstance"),
+                                service: e.getAttribute("service")
+                            },
+                            this.readChildNodes(e, t.executeResponse)
+                        },
+                        Process: function(e, t) {
+                            t.process = {},
+                            this.readChildNodes(e, t.process)
+                        },
+                        Status: function(e, t) {
+                            t.status = {
+                                creationTime: e.getAttribute("creationTime")
+                            },
+                            this.readChildNodes(e, t.status)
+                        },
+                        ProcessSucceeded: function(e, t) {
+                            t.processSucceeded = !0
+                        },
+                        ProcessOutputs: function(e, t) {
+                            t.processOutputs = [],
+                            this.readChildNodes(e, t.processOutputs)
+                        },
+                        Output: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.push(i)
+                        },
+                        Reference: function(e, t) {
+                            t.reference = {
+                                href: e.getAttribute("href"),
+                                mimeType: e.getAttribute("mimeType"),
+                                encoding: e.getAttribute("encoding"),
+                                schema: e.getAttribute("schema")
+                            }
+                        },
+                        Data: function(e, t) {
+                            t.data = {},
+                            this.readChildNodes(e, t)
+                        },
+                        LiteralData: function(e, t) {
+                            t.literalData = {
+                                dataType: e.getAttribute("dataType"),
+                                uom: e.getAttribute("uom"),
+                                value: this.getChildValue(e)
+                            }
+                        },
+                        ComplexData: function(e, t) {
+                            var i;
+                            if (t.complexData = {
+                                mimeType: e.getAttribute("mimeType"),
+                                schema: e.getAttribute("schema"),
+                                encoding: e.getAttribute("encoding"),
+                                value: ""
+                            },
+                            this.isSimpleContent(e))
+                                for (i = e.firstChild; i; i = i.nextSibling)
+                                    switch (i.nodeType) {
+                                    case 3:
+                                    case 4:
+                                        t.complexData.value += i.nodeValue
+                                    }
+                            else
+                                for (i = e.firstChild; i; i = i.nextSibling)
+                                    1 == i.nodeType && (t.complexData.value = i)
+                        },
+                        BoundingBox: function(e, t) {
+                            t.boundingBoxData = {
+                                dimensions: e.getAttribute("dimensions"),
+                                crs: e.getAttribute("crs")
+                            },
+                            this.readChildNodes(e, t.boundingBoxData)
+                        }
+                    },
+                    ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.readers.ows
+                },
+                CLASS_NAME: "GeoGlobe.Format.WPSExecute"
+            }),
+            GeoGlobe.Format.OGCExceptionReport = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                namespaces: {
+                    ogc: "http://www.opengis.net/ogc"
+                },
+                regExes: {
+                    trimSpace: /^\s*|\s*$/g,
+                    removeSpace: /\s*/g,
+                    splitSpace: /\s+/,
+                    trimComma: /\s*,\s*/g
+                },
+                defaultPrefix: "ogc",
+                read: function(e) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
+                    var t = {
+                        exceptionReport: null
+                    };
+                    return e.documentElement && (this.readChildNodes(e, t),
+                    null === t.exceptionReport && (t = (new GeoGlobe.Format.OWSCommon).read(e))),
+                    t
+                },
+                readers: {
+                    ogc: {
+                        ServiceExceptionReport: function(e, t) {
+                            t.exceptionReport = {
+                                exceptions: []
+                            },
+                            this.readChildNodes(e, t.exceptionReport)
+                        },
+                        ServiceException: function(e, t) {
+                            var i = {
+                                code: e.getAttribute("code"),
+                                locator: e.getAttribute("locator"),
+                                text: this.getChildValue(e)
+                            };
+                            t.exceptions.push(i)
+                        }
+                    }
+                },
+                CLASS_NAME: "GeoGlobe.Format.OGCExceptionReport"
+            }),
+            GeoGlobe.Format.QueryStringFilter = function() {
+                var e = {};
+                return e[GeoGlobe.Filter.Comparison.EQUAL_TO] = "eq",
+                e[GeoGlobe.Filter.Comparison.NOT_EQUAL_TO] = "ne",
+                e[GeoGlobe.Filter.Comparison.LESS_THAN] = "lt",
+                e[GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO] = "lte",
+                e[GeoGlobe.Filter.Comparison.GREATER_THAN] = "gt",
+                e[GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO] = "gte",
+                e[GeoGlobe.Filter.Comparison.LIKE] = "ilike",
+                GeoGlobe.Class4OL(GeoGlobe.Format, {
+                    wildcarded: !1,
+                    srsInBBOX: !1,
+                    write: function(t, i) {
+                        i = i || {};
+                        var r = t.CLASS_NAME
+                          , n = r.substring(r.lastIndexOf(".") + 1);
+                        switch (n) {
+                        case "Spatial":
+                            switch (t.type) {
+                            case GeoGlobe.Filter.Spatial.BBOX:
+                                i.bbox = t.value.toArray(),
+                                this.srsInBBOX && t.projection && i.bbox.push(t.projection.getCode());
+                                break;
+                            case GeoGlobe.Filter.Spatial.DWITHIN:
+                                i.tolerance = t.distance;
+                            case GeoGlobe.Filter.Spatial.WITHIN:
+                                i.lon = t.value.x,
+                                i.lat = t.value.y;
+                                break;
+                            default:
+                                GeoGlobe.Console.warn("Unknown spatial filter type " + t.type)
+                            }
+                            break;
+                        case "Comparison":
+                            var o = e[t.type];
+                            if (void 0 !== o) {
+                                var a = t.value;
+                                t.type == GeoGlobe.Filter.Comparison.LIKE && (a = a.replace(/%/g, "\\%").replace(/\\\\\.(\*)?/g, (function(e, t) {
+                                    return t ? e : "\\\\_"
+                                }
+                                )).replace(/\\\\\.\*/g, "\\\\%").replace(/(\\)?\.(\*)?/g, (function(e, t, i) {
+                                    return t || i ? e : "_"
+                                }
+                                )).replace(/(\\)?\.\*/g, (function(e, t) {
+                                    return t ? e : "%"
+                                }
+                                )).replace(/\\\./g, ".").replace(/(\\)?\\\*/g, (function(e, t) {
+                                    return t ? e : "*"
+                                }
+                                )),
+                                this.wildcarded && (a = "%" + a + "%")),
+                                i[t.property + "__" + o] = a,
+                                i.queryable = i.queryable || [],
+                                i.queryable.push(t.property)
+                            } else
+                                GeoGlobe.Console.warn("Unknown comparison filter type " + t.type);
+                            break;
+                        case "Logical":
+                            if (t.type === GeoGlobe.Filter.Logical.AND)
+                                for (var s = 0, x = t.filters.length; s < x; s++)
+                                    i = this.write(t.filters[s], i);
+                            else
+                                GeoGlobe.Console.warn("Unsupported logical filter type " + t.type);
+                            break;
+                        default:
+                            GeoGlobe.Console.warn("Unknown filter type " + n)
+                        }
+                        return i
+                    },
+                    CLASS_NAME: "GeoGolobe.Format.QueryStringFilter"
+                })
+            }(),
+            GeoGlobe.Format.BusCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                tagName: "NETWORK_Capabilities",
+                read: function(e) {
+                    var t;
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
+                    var i = {};
+                    return (t = e.nodeName != this.tagName ? e.getElementsByTagName(this.tagName) : [e]).length > 0 && this.runChildNodes(i, t[0]),
+                    i
+                },
+                runChildNodes: function(e, t, i) {
+                    for (var r, n, o = t.childNodes, a = 0; a < o.length; ++a)
+                        1 == (r = o[a]).nodeType && (n = i ? this["read_" + i + "_" + r.nodeName] : this["read_" + r.nodeName]) && n.apply(this, [e, r])
+                },
+                read_Service: function(e, t) {
+                    var i = {};
+                    this.runChildNodes(i, t, "Service"),
+                    e.service = i
+                },
+                read_Service_Name: function(e, t) {
+                    var i = this.getChildValue(t);
+                    i && (e.name = i)
+                },
+                read_Service_Title: function(e, t) {
+                    var i = this.getChildValue(t);
+                    i && (e.title = i)
+                },
+                read_Service_Abstract: function(e, t) {
+                    var i = this.getChildValue(t);
+                    i && (e.serviceAbstract = i)
+                },
+                read_Service_KeywordList: function(e, t) {},
+                read_Service_OnlineResource: function(e, t) {
+                    var i = this.getChildValue(t);
+                    e && (e.onlineResource = i)
+                },
+                read_Capability: function(e, t) {
+                    var i = {};
+                    this.runChildNodes(i, t, "Capability"),
+                    e.capability = i
+                },
+                read_Capability_Request: function(e, t) {
+                    var i = {};
+                    this.runChildNodes(i, t, "Capability_Request"),
+                    e.request = i
+                },
+                read_Capability_Request_GetCapabilities: function(e, t) {
+                    var i = t.getElementsByTagName("HTTP")
+                      , r = {};
+                    i[0] && this.runChildNodes(r, i[0], "Capability_Request_GetCapabilities_DCPType_HTTP"),
+                    e.getCapabilities = r
+                },
+                read_Capability_Request_GetCapabilities_DCPType_HTTP_Get: function(e, t) {
+                    var i = t.getAttribute("onlineResource");
+                    i && (e.getUrl = i)
+                },
+                read_Capability_Request_GetCapabilities_DCPType_HTTP_Post: function(e, t) {
+                    var i = t.getAttribute("onlineResource");
+                    i && (e.postUrl = i)
+                },
+                read_Capability_Request_queryStation: function(e, t) {
+                    var i = t.getElementsByTagName("HTTP")
+                      , r = {};
+                    i[0] && this.runChildNodes(r, i[0], "Capability_Request_queryStation_DCPType_HTTP"),
+                    e.queryStation = r
+                },
+                read_Capability_Request_queryStation_DCPType_HTTP_Get: function(e, t) {
+                    var i = t.getAttribute("onlineResource");
+                    i && (e.getUrl = i)
+                },
+                read_Capability_Request_queryStation_DCPType_HTTP_Post: function(e, t) {
+                    var i = t.getAttribute("onlineResource");
+                    i && (e.postUrl = i)
+                },
+                read_Capability_Request_queryLine: function(e, t) {
+                    var i = t.getElementsByTagName("HTTP")
+                      , r = {};
+                    i[0] && this.runChildNodes(r, i[0], "Capability_Request_queryLine_DCPType_HTTP"),
+                    e.queryLine = r
+                },
+                read_Capability_Request_queryLine_DCPType_HTTP_Get: function(e, t) {
+                    var i = t.getAttribute("onlineResource");
+                    i && (e.getUrl = i)
+                },
+                read_Capability_Request_queryLine_DCPType_HTTP_Post: function(e, t) {
+                    var i = t.getAttribute("onlineResource");
+                    i && (e.postUrl = i)
+                },
+                read_Capability_Request_queryChange: function(e, t) {
+                    var i = t.getElementsByTagName("HTTP");
+                    i[0] && this.runChildNodes({}, i[0], "Capability_Request_queryChange_DCPType_HTTP")
+                },
+                read_Capability_Request_queryChange_DCPType_HTTP_Get: function(e, t) {
+                    var i = t.getAttribute("onlineResource");
+                    i && (e.getUrl = i)
+                },
+                read_Capability_Request_queryChange_DCPType_HTTP_Post: function(e, t) {
+                    var i = t.getAttribute("onlineResource");
+                    i && (e.postUrl = i)
+                },
+                read_Capability_Networks: function(e, t) {
+                    for (var i = t.getElementsByTagName("Name"), r = [], n = 0; n < i.length; n++) {
+                        var o = this.getChildValue(i[n]);
+                        o && r.push(o)
+                    }
+                    e.networks = r
+                },
+                CLASS_NAME: "GeoGlobe.Format.BusCapabilities"
+            }),
+            GeoGlobe.Format.XML2JSON = GeoGlobe.Class4OL({
+                initialize: function() {},
+                read: function(e, t, i) {
+                    t || (t = ""),
+                    e = (e = e.replace(/\s*\/>/g, "/>")).replace(/<\?[^>]*>/g, "").replace(/<\![^>]*>/g, ""),
+                    t.sort || (t = t.split(","));
+                    var r = this.no_fast_endings(e);
+                    r = this.attris_to_tags(r),
+                    r = (r = escape(r)).split("%3C").join("<").split("%3E").join(">").split("%3D").join("=").split("%22").join('"');
+                    for (var n = 0; n < t.length; n++)
+                        r = (r = r.replace(new RegExp("<" + t[n] + ">","g"), "*$**" + t[n] + "**$*")).replace(new RegExp("</" + t[n] + ">","g"), "*$***" + t[n] + "**$*");
+                    r = "<JSONTAGWRAPPER>" + r + "</JSONTAGWRAPPER>",
+                    this.xmlobject = {};
+                    var o = this.xml_to_object(r).JSONTAGWRAPPER;
+                    return i && (o = this.show_json_structure(o, i)),
+                    o
+                },
+                xml_to_object: function xml_to_object(xmlcode) {
+                    var x = xmlcode.replace(/<\//g, "?");
+                    x = x.split("<");
+                    for (var y = [], level = 0, opentags = [], i = 1; i < x.length; i++) {
+                        var tagname = x[i].split(">")[0];
+                        for (opentags.push(tagname),
+                        level++,
+                        y.push(level + "<" + x[i].split("?")[0]); x[i].indexOf("?" + opentags[opentags.length - 1] + ">") >= 0; )
+                            level--,
+                            opentags.pop()
+                    }
+                    for (var oldniva = -1, objname = "this.xmlobject", i = 0; i < y.length; i++) {
+                        var preeval = ""
+                          , niva = y[i].split("<")[0]
+                          , tagnamn = y[i].split("<")[1].split(">")[0];
+                        tagnamn = tagnamn.replace(/%3A/, "_");
+                        var rest = y[i].split(">")[1];
+                        if (niva <= oldniva)
+                            for (var tabort = oldniva - niva + 1, j = 0; j < tabort; j++)
+                                objname = objname.substring(0, objname.lastIndexOf("."));
+                        objname += "." + tagnamn;
+                        var pobject = objname.substring(0, objname.lastIndexOf("."));
+                        "object" != eval("typeof " + pobject) && (preeval += pobject + "={value:" + pobject + "};\n");
+                        var objlast = objname.substring(objname.lastIndexOf(".") + 1)
+                          , already = !1;
+                        for (k in eval(pobject))
+                            k == objlast && (already = !0);
+                        for (var onlywhites = !0, s = 0; s < rest.length; s += 3)
+                            "%" != rest.charAt(s) && (onlywhites = !1);
+                        "" == rest || onlywhites ? rest = "{}" : rest / 1 != rest && (rest = "'" + rest.replace(/\'/g, "\\'") + "'",
+                        rest = rest.replace(/\*\$\*\*\*/g, "</"),
+                        rest = rest.replace(/\*\$\*\*/g, "<"),
+                        rest = rest.replace(/\*\*\$\*/g, ">")),
+                        "'" == rest.charAt(0) && (rest = "unescape(" + rest + ")"),
+                        already && !eval(objname + ".sort") && (preeval += objname + "=[" + objname + "];\n");
+                        var before = "=";
+                        after = "",
+                        already && (before = ".push(",
+                        after = ")");
+                        var toeval = preeval + objname + before + rest + after;
+                        eval(toeval),
+                        eval(objname + ".sort") && (objname += "[" + eval(objname + ".length-1") + "]"),
+                        oldniva = niva
+                    }
+                    return this.xmlobject
+                },
+                show_json_structure: function(e, t, i) {
+                    var r = "";
+                    for (var n in e.sort ? r += "[\n" : r += "{\n",
+                    e)
+                        e.sort || (r += n + ":"),
+                        "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e[n]) ? r += this.show_json_structure(e[n], !1, 1) : "function" == typeof e[n] ? r += e[n] + "" : "string" != typeof e[n] ? r += e[n] + ",\n" : r += "'" + e[n].replace(/\'/g, "\\'").replace(/\n/g, "\\n").replace(/\t/g, "\\t").replace(/\r/g, "\\r") + "',\n";
+                    if (e.sort ? r += "],\n" : r += "},\n",
+                    !i) {
+                        var o = (r = (r = (r = r.substring(0, r.lastIndexOf(","))).replace(new RegExp(",\n}","g"), "\n}")).replace(new RegExp(",\n]","g"), "\n]")).split("\n");
+                        r = "";
+                        var a = 0;
+                        for (n = 0; n < o.length; n++) {
+                            (o[n].indexOf("}") >= 0 || o[n].indexOf("]") >= 0) && a--,
+                            tabs = "";
+                            for (var s = 0; s < a; s++)
+                                tabs += "\t";
+                            r += tabs + o[n] + "\n",
+                            (o[n].indexOf("{") >= 0 || o[n].indexOf("[") >= 0) && a++
+                        }
+                        "html" == t && (r = (r = r.replace(/</g, "&lt;").replace(/>/g, "&gt;")).replace(/\n/g, "<BR>").replace(/\t/g, "&nbsp;&nbsp;&nbsp;&nbsp;")),
+                        "compact" == t && (r = r.replace(/\n/g, "").replace(/\t/g, ""))
+                    }
+                    return r
+                },
+                no_fast_endings: function(e) {
+                    e = e.split("/>");
+                    for (var t = 1; t < e.length; t++) {
+                        var i = e[t - 1].substring(e[t - 1].lastIndexOf("<") + 1).split(" ")[0];
+                        e[t] = "></" + i + ">" + e[t]
+                    }
+                    return e.join("")
+                },
+                attris_to_tags: function(e) {
+                    var t = " =\"'".split("");
+                    e = e.split(">");
+                    for (var i = 0; i < e.length; i++) {
+                        for (var r = e[i].split("<"), n = 0; n < 4; n++)
+                            r[0] = r[0].replace(new RegExp(t[n],"g"), "_jsonconvtemp" + n + "_");
+                        if (r[1]) {
+                            r[1] = r[1].replace(/'/g, '"'),
+                            r[1] = r[1].split('"');
+                            for (var o = 1; o < r[1].length; o += 2)
+                                for (n = 0; n < 4; n++)
+                                    r[1][o] = r[1][o].replace(new RegExp(t[n],"g"), "_jsonconvtemp" + n + "_");
+                            r[1] = r[1].join('"')
+                        }
+                        e[i] = r.join("<")
+                    }
+                    for (e = (e = (e = e.join(">")).replace(/ ([^=]*)=([^ |>]*)/g, "><$1>$2</$1")).replace(/>"/g, ">").replace(/"</g, "<"),
+                    n = 0; n < 4; n++)
+                        e = e.replace(new RegExp("_jsonconvtemp" + n + "_","g"), t[n]);
+                    return e
+                },
+                CLASS_NAME: "GeoGlobe.Format.XML2JSON"
+            }),
+            GeoGlobe.Format.CSWGetRecords = function(e) {
+                e = GeoGlobe.Util.applyDefaults(e, GeoGlobe.Format.CSWGetRecords.DEFAULTS);
+                var t = GeoGlobe.Format.CSWGetRecords["v" + e.version.replace(/\./g, "_")];
+                if (!t)
+                    throw "Unsupported CSWGetRecords version: " + e.version;
+                return new t(e)
+            }
+            ,
+            GeoGlobe.Format.CSWGetRecords.DEFAULTS = {
+                version: "2.0.2"
+            },
+            GeoGlobe.Format.CSWGetRecords.v2_0_2 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                namespaces: {
+                    csw: "http://www.opengis.net/cat/csw/2.0.2",
+                    dc: "http://purl.org/dc/elements/1.1/",
+                    dct: "http://purl.org/dc/terms/",
+                    gmd: "http://www.isotc211.org/2005/gmd",
+                    geonet: "http://www.fao.org/geonetwork",
+                    ogc: "http://www.opengis.net/ogc",
+                    ows: "http://www.opengis.net/ows",
+                    xlink: "http://www.w3.org/1999/xlink",
+                    xsi: "http://www.w3.org/2001/XMLSchema-instance"
+                },
+                defaultPrefix: "csw",
+                version: "2.0.2",
+                schemaLocation: "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd",
+                requestId: null,
+                resultType: null,
+                outputFormat: null,
+                outputSchema: null,
+                startPosition: null,
+                maxRecords: null,
+                DistributedSearch: null,
+                ResponseHandler: null,
+                Query: null,
+                regExes: {
+                    trimSpace: /^\s*|\s*$/g,
+                    removeSpace: /\s*/g,
+                    splitSpace: /\s+/,
+                    trimComma: /\s*,\s*/g
+                },
+                initialize: function(e) {
+                    GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
+                },
+                read: function(e) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
+                    e && 9 == e.nodeType && (e = e.documentElement);
+                    var t = {};
+                    return this.readNode(e, t),
+                    t
+                },
+                readers: {
+                    csw: {
+                        GetRecordsResponse: function(e, t) {
+                            t.records = [],
+                            this.readChildNodes(e, t);
+                            var i = this.getAttributeNS(e, "", "version");
+                            "" != i && (t.version = i)
+                        },
+                        RequestId: function(e, t) {
+                            t.RequestId = this.getChildValue(e)
+                        },
+                        SearchStatus: function(e, t) {
+                            t.SearchStatus = {};
+                            var i = this.getAttributeNS(e, "", "timestamp");
+                            "" != i && (t.SearchStatus.timestamp = i)
+                        },
+                        SearchResults: function(e, t) {
+                            this.readChildNodes(e, t);
+                            for (var i = e.attributes, r = {}, n = 0, o = i.length; n < o; ++n)
+                                "numberOfRecordsMatched" == i[n].name || "numberOfRecordsReturned" == i[n].name || "nextRecord" == i[n].name ? r[i[n].name] = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[n].nodeValue) : r[i[n].name] = i[n].nodeValue;
+                            t.SearchResults = r
+                        },
+                        SummaryRecord: function(e, t) {
+                            var i = {
+                                type: "SummaryRecord"
+                            };
+                            this.readChildNodes(e, i),
+                            t.records.push(i)
+                        },
+                        BriefRecord: function(e, t) {
+                            var i = {
+                                type: "BriefRecord"
+                            };
+                            this.readChildNodes(e, i),
+                            t.records.push(i)
+                        },
+                        DCMIRecord: function(e, t) {
+                            var i = {
+                                type: "DCMIRecord"
+                            };
+                            this.readChildNodes(e, i),
+                            t.records.push(i)
+                        },
+                        Record: function(e, t) {
+                            var i = {
+                                type: "Record"
+                            };
+                            this.readChildNodes(e, i),
+                            t.records.push(i)
+                        },
+                        "*": function(e, t) {
+                            t[e.localName || e.nodeName.split(":").pop()] = this.getChildValue(e)
+                        }
+                    },
+                    geonet: {
+                        info: function(e, t) {
+                            var i = {};
+                            this.readChildNodes(e, i),
+                            t.gninfo = i
+                        }
+                    },
+                    dc: {
+                        "*": function(e, t) {
+                            var i = e.localName || e.nodeName.split(":").pop();
+                            GeoGlobe.Util.isArray(t[i]) || (t[i] = []);
+                            for (var r = {}, n = e.attributes, o = 0, a = n.length; o < a; ++o)
+                                r[n[o].name] = n[o].nodeValue;
+                            r.value = this.getChildValue(e),
+                            "" != r.value && t[i].push(r)
+                        }
+                    },
+                    dct: {
+                        "*": function(e, t) {
+                            var i = e.localName || e.nodeName.split(":").pop();
+                            GeoGlobe.Util.isArray(t[i]) || (t[i] = []),
+                            t[i].push(this.getChildValue(e))
+                        }
+                    },
+                    ows: GeoGlobe.Util.applyDefaults({
+                        BoundingBox: function(e, t) {
+                            t.bounds && (t.BoundingBox = [{
+                                crs: t.projection,
+                                value: [t.bounds._sw.lng, t.bounds._sw.lat, t.bounds._ne.lng, t.bounds._ne.lat]
+                            }],
+                            delete t.projection,
+                            delete t.bounds),
+                            GeoGlobe.Format.OWSCommon.v1_0_0.prototype.readers.ows.BoundingBox.apply(this, arguments)
+                        }
+                    }, GeoGlobe.Format.OWSCommon.v1_0_0.prototype.readers.ows)
+                },
+                write: function(e) {
+                    var t = this.writeNode("csw:GetRecords", e);
+                    return t.setAttribute("xmlns:gmd", this.namespaces.gmd),
+                    GeoGlobe.Format.XML.prototype.write.apply(this, [t])
+                },
+                writers: {
+                    csw: {
+                        GetRecords: function(e) {
+                            e || (e = {});
+                            var t = this.createElementNSPlus("csw:GetRecords", {
+                                attributes: {
+                                    service: "CSW",
+                                    version: this.version,
+                                    requestId: e.requestId || this.requestId,
+                                    resultType: e.resultType || this.resultType,
+                                    outputFormat: e.outputFormat || this.outputFormat,
+                                    outputSchema: e.outputSchema || this.outputSchema,
+                                    startPosition: e.startPosition || this.startPosition,
+                                    maxRecords: e.maxRecords || this.maxRecords
+                                }
+                            });
+                            (e.DistributedSearch || this.DistributedSearch) && this.writeNode("csw:DistributedSearch", e.DistributedSearch || this.DistributedSearch, t);
+                            var i = e.ResponseHandler || this.ResponseHandler;
+                            if (GeoGlobe.Util.isArray(i) && i.length > 0)
+                                for (var r = 0, n = i.length; r < n; r++)
+                                    this.writeNode("csw:ResponseHandler", i[r], t);
+                            return this.writeNode("Query", e.Query || this.Query, t),
+                            t
+                        },
+                        DistributedSearch: function(e) {
+                            return this.createElementNSPlus("csw:DistributedSearch", {
+                                attributes: {
+                                    hopCount: e.hopCount
+                                }
+                            })
+                        },
+                        ResponseHandler: function(e) {
+                            return this.createElementNSPlus("csw:ResponseHandler", {
+                                value: e.value
+                            })
+                        },
+                        Query: function(e) {
+                            e || (e = {});
+                            var t = this.createElementNSPlus("csw:Query", {
+                                attributes: {
+                                    typeNames: e.typeNames || "csw:Record"
+                                }
+                            })
+                              , i = e.ElementName;
+                            if (GeoGlobe.Util.isArray(i) && i.length > 0)
+                                for (var r = 0, n = i.length; r < n; r++)
+                                    this.writeNode("csw:ElementName", i[r], t);
+                            else
+                                this.writeNode("csw:ElementSetName", e.ElementSetName || {
+                                    value: "summary"
+                                }, t);
+                            return e.Constraint && this.writeNode("csw:Constraint", e.Constraint, t),
+                            e.SortBy && this.writeNode("ogc:SortBy", e.SortBy, t),
+                            t
+                        },
+                        ElementName: function(e) {
+                            return this.createElementNSPlus("csw:ElementName", {
+                                value: e.value
+                            })
+                        },
+                        ElementSetName: function(e) {
+                            return this.createElementNSPlus("csw:ElementSetName", {
+                                attributes: {
+                                    typeNames: e.typeNames
+                                },
+                                value: e.value
+                            })
+                        },
+                        Constraint: function(e) {
+                            var t = this.createElementNSPlus("csw:Constraint", {
+                                attributes: {
+                                    version: e.version
+                                }
+                            });
+                            if (e.Filter) {
+                                var i = new GeoGlobe.Format.Filter({
+                                    version: e.version
                                 });
-                                l[P("0x17c")]({
-                                    index: 1,
-                                    vertexBuffer: u,
-                                    componentsPerAttribute: 2,
-                                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                    offsetInBytes: 0,
-                                    strideInBytes: 8,
-                                    normalize: !1
+                                t.appendChild(i.write(e.Filter))
+                            } else if (e.CqlText) {
+                                var r = this.createElementNSPlus("CqlText", {
+                                    value: e.CqlText.value
                                 });
-                                var h = new e.VertexArray({
-                                    context: r,
-                                    attributes: l,
-                                    indexBuffer: x
+                                t.appendChild(r)
+                            }
+                            return t
+                        }
+                    },
+                    ogc: GeoGlobe.Format.Filter.v1_1_0.prototype.writers.ogc
+                },
+                CLASS_NAME: "GeoGlobe.Format.CSWGetRecords.v2_0_2"
+            }),
+            function(e, t) {
+                e.GeoGlobe.Format.X2JS = function(e) {
+                    void 0 === (e = e || {}).escapeMode && (e.escapeMode = !0),
+                    e.attributePrefix = e.attributePrefix || "_",
+                    e.arrayAccessForm = e.arrayAccessForm || "none",
+                    e.emptyNodeForm = e.emptyNodeForm || "text",
+                    void 0 === e.enableToStringFunc && (e.enableToStringFunc = !0),
+                    e.arrayAccessFormPaths = e.arrayAccessFormPaths || [],
+                    void 0 === e.skipEmptyTextNodesForObj && (e.skipEmptyTextNodesForObj = !0),
+                    void 0 === e.stripWhitespaces && (e.stripWhitespaces = !0),
+                    e.datetimeAccessFormPaths = e.datetimeAccessFormPaths || [],
+                    void 0 === e.useDoubleQuotes && (e.useDoubleQuotes = !1),
+                    e.xmlElementsFilter = e.xmlElementsFilter || [],
+                    e.jsonPropertiesFilter = e.jsonPropertiesFilter || [],
+                    void 0 === e.keepCData && (e.keepCData = !1);
+                    var t = 1
+                      , i = 3
+                      , r = 4
+                      , n = 8
+                      , o = 9;
+                    function a(e) {
+                        var t = e.localName;
+                        return null == t && (t = e.baseName),
+                        null != t && "" != t || (t = e.nodeName),
+                        t
+                    }
+                    function s(e) {
+                        return "string" == typeof e ? e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;") : e
+                    }
+                    function x(e, t, i, r) {
+                        for (var n = 0; n < e.length; n++) {
+                            var o = e[n];
+                            if ("string" == typeof o) {
+                                if (o == r)
+                                    break
+                            } else if (o instanceof RegExp) {
+                                if (o.test(r))
+                                    break
+                            } else if ("function" == typeof o && o(t, i, r))
+                                break
+                        }
+                        return n != e.length
+                    }
+                    function l(t, i, r) {
+                        switch (e.arrayAccessForm) {
+                        case "property":
+                            t[i]instanceof Array ? t[i + "_asArray"] = t[i] : t[i + "_asArray"] = [t[i]]
+                        }
+                        !(t[i]instanceof Array) && e.arrayAccessFormPaths.length > 0 && x(e.arrayAccessFormPaths, t, i, r) && (t[i] = [t[i]])
+                    }
+                    function c(e) {
+                        var t = e.split(/[-T:+Z]/g)
+                          , i = new Date(t[0],t[1] - 1,t[2])
+                          , r = t[5].split(".");
+                        if (i.setHours(t[3], t[4], r[0]),
+                        r.length > 1 && i.setMilliseconds(r[1]),
+                        t[6] && t[7]) {
+                            var n = 60 * t[6] + Number(t[7]);
+                            n = 0 + ("-" == (/\d\d-\d\d:\d\d$/.test(e) ? "-" : "+") ? -1 * n : n),
+                            i.setMinutes(i.getMinutes() - n - i.getTimezoneOffset())
+                        } else
+                            -1 !== e.indexOf("Z", e.length - 1) && (i = new Date(Date.UTC(i.getFullYear(), i.getMonth(), i.getDate(), i.getHours(), i.getMinutes(), i.getSeconds(), i.getMilliseconds())));
+                        return i
+                    }
+                    function u(i, r, n, o) {
+                        return !(r == t && e.xmlElementsFilter.length > 0) || x(e.xmlElementsFilter, i, n, o)
+                    }
+                    function h(s, f) {
+                        if (s.nodeType == o) {
+                            for (var d = new Object, g = s.childNodes, p = 0; p < g.length; p++) {
+                                if ((m = g.item(p)).nodeType == t)
+                                    d[b = a(m)] = h(m, b)
+                            }
+                            return d
+                        }
+                        if (s.nodeType == t) {
+                            (d = new Object).__cnt = 0;
+                            for (g = s.childNodes,
+                            p = 0; p < g.length; p++) {
+                                var m, b = a(m = g.item(p));
+                                if (m.nodeType != n) {
+                                    var v = f + "." + b;
+                                    u(d, m.nodeType, b, v) && (d.__cnt++,
+                                    null == d[b] ? (d[b] = h(m, v),
+                                    l(d, b, v)) : (null != d[b] && (d[b]instanceof Array || (d[b] = [d[b]],
+                                    l(d, b, v))),
+                                    d[b][d[b].length] = h(m, v)))
+                                }
+                            }
+                            for (var C = 0; C < s.attributes.length; C++) {
+                                var y = s.attributes.item(C);
+                                d.__cnt++,
+                                d[e.attributePrefix + y.name] = y.value
+                            }
+                            var _ = s.prefix;
+                            return null != _ && "" != _ && (d.__cnt++,
+                            d.__prefix = _),
+                            null != d["#text"] && (d.__text = d["#text"],
+                            d.__text instanceof Array && (d.__text = d.__text.join("\n")),
+                            e.stripWhitespaces && (d.__text = d.__text.trim()),
+                            delete d["#text"],
+                            "property" == e.arrayAccessForm && delete d["#text_asArray"],
+                            d.__text = function(t, i, r) {
+                                if (e.datetimeAccessFormPaths.length > 0) {
+                                    var n = r.split(".#")[0];
+                                    return x(e.datetimeAccessFormPaths, t, i, n) ? c(t) : t
+                                }
+                                return t
+                            }(d.__text, b, f + "." + b)),
+                            null != d["#cdata-section"] && (d.__cdata = d["#cdata-section"],
+                            delete d["#cdata-section"],
+                            "property" == e.arrayAccessForm && delete d["#cdata-section_asArray"]),
+                            0 == d.__cnt && "text" == e.emptyNodeForm ? d = "" : 1 == d.__cnt && null != d.__text ? d = d.__text : 1 != d.__cnt || null == d.__cdata || e.keepCData ? d.__cnt > 1 && null != d.__text && e.skipEmptyTextNodesForObj && (e.stripWhitespaces && "" == d.__text || "" == d.__text.trim()) && delete d.__text : d = d.__cdata,
+                            delete d.__cnt,
+                            !e.enableToStringFunc || null == d.__text && null == d.__cdata || (d.toString = function() {
+                                return (null != this.__text ? this.__text : "") + (null != this.__cdata ? this.__cdata : "")
+                            }
+                            ),
+                            d
+                        }
+                        if (s.nodeType == i || s.nodeType == r)
+                            return s.nodeValue
+                    }
+                    function f(t, i, r, n) {
+                        var o = "<" + (null != t && null != t.__prefix ? t.__prefix + ":" : "") + i;
+                        if (null != r)
+                            for (var a = 0; a < r.length; a++) {
+                                var x = r[a]
+                                  , l = t[x];
+                                e.escapeMode && (l = s(l)),
+                                o += " " + x.substr(e.attributePrefix.length) + "=",
+                                e.useDoubleQuotes ? o += '"' + l + '"' : o += "'" + l + "'"
+                            }
+                        return o + (n ? "/>" : ">")
+                    }
+                    function d(e, t) {
+                        return "</" + (null != e.__prefix ? e.__prefix + ":" : "") + t + ">"
+                    }
+                    function g(t, i) {
+                        return "property" == e.arrayAccessForm && (n = "_asArray",
+                        -1 !== (r = i.toString()).indexOf(n, r.length - n.length)) || 0 == i.toString().indexOf(e.attributePrefix) || 0 == i.toString().indexOf("__") || t[i]instanceof Function;
+                        var r, n
+                    }
+                    function p(e) {
+                        var t = 0;
+                        if (e instanceof Object)
+                            for (var i in e)
+                                g(e, i) || t++;
+                        return t
+                    }
+                    function m(t) {
+                        var i = [];
+                        if (t instanceof Object)
+                            for (var r in t)
+                                -1 == r.toString().indexOf("__") && 0 == r.toString().indexOf(e.attributePrefix) && i.push(r);
+                        return i
+                    }
+                    function b(t) {
+                        var i, r, n = "";
+                        return t instanceof Object ? n += (r = "",
+                        null != (i = t).__cdata && (r += "<![CDATA[" + i.__cdata + "]]>"),
+                        null != i.__text && (e.escapeMode ? r += s(i.__text) : r += i.__text),
+                        r) : null != t && (e.escapeMode ? n += s(t) : n += t),
+                        n
+                    }
+                    function v(e, t) {
+                        return "" === e ? t : e + "." + t
+                    }
+                    function C(e, t, i, r) {
+                        var n = "";
+                        if (0 == e.length)
+                            n += f(e, t, i, !0);
+                        else
+                            for (var o = 0; o < e.length; o++)
+                                n += f(e[o], t, m(e[o]), !1),
+                                n += y(e[o], v(r, t)),
+                                n += d(e[o], t);
+                        return n
+                    }
+                    function y(t, i) {
+                        var r, n, o, a = "";
+                        if (p(t) > 0)
+                            for (var s in t)
+                                if (!g(t, s) && ("" == i || (r = t,
+                                n = s,
+                                o = v(i, s),
+                                0 == e.jsonPropertiesFilter.length || "" == o || x(e.jsonPropertiesFilter, r, n, o)))) {
+                                    var l = t[s]
+                                      , c = m(l);
+                                    if (null == l || null == l)
+                                        a += f(l, s, c, !0);
+                                    else if (l instanceof Object)
+                                        if (l instanceof Array)
+                                            a += C(l, s, c, i);
+                                        else if (l instanceof Date)
+                                            a += f(l, s, c, !1),
+                                            a += l.toISOString(),
+                                            a += d(l, s);
+                                        else {
+                                            p(l) > 0 || null != l.__text || null != l.__cdata ? (a += f(l, s, c, !1),
+                                            a += y(l, v(i, s)),
+                                            a += d(l, s)) : a += f(l, s, c, !0)
+                                        }
+                                    else
+                                        a += f(l, s, c, !1),
+                                        a += b(l),
+                                        a += d(l, s)
+                                }
+                        return a + b(t)
+                    }
+                    this.parseXmlString = function(e) {
+                        var t, i = window.ActiveXObject || "ActiveXObject"in window;
+                        if (void 0 === e)
+                            return null;
+                        if (window.DOMParser) {
+                            var r = new window.DOMParser
+                              , n = null;
+                            if (!i)
+                                try {
+                                    n = r.parseFromString("INVALID", "text/xml").getElementsByTagName("parsererror")[0].namespaceURI
+                                } catch (e) {
+                                    n = null
+                                }
+                            try {
+                                t = r.parseFromString(e, "text/xml"),
+                                null != n && t.getElementsByTagNameNS(n, "parsererror").length > 0 && (t = null)
+                            } catch (e) {
+                                t = null
+                            }
+                        } else
+                            0 == e.indexOf("<?") && (e = e.substr(e.indexOf("?>") + 2)),
+                            (t = new ActiveXObject("Microsoft.XMLDOM")).async = "false",
+                            t.loadXML(e);
+                        return t
+                    }
+                    ,
+                    this.asArray = function(e) {
+                        return void 0 === e || null == e ? [] : e instanceof Array ? e : [e]
+                    }
+                    ,
+                    this.toXmlDateTime = function(e) {
+                        return e instanceof Date ? e.toISOString() : "number" == typeof e ? new Date(e).toISOString() : null
+                    }
+                    ,
+                    this.asDateTime = function(e) {
+                        return "string" == typeof e ? c(e) : e
+                    }
+                    ,
+                    this.xml2json = function(e) {
+                        return h(e)
+                    }
+                    ,
+                    this.xml_str2json = function(e) {
+                        var t = this.parseXmlString(e);
+                        return null != t ? this.xml2json(t) : null
+                    }
+                    ,
+                    this.json2xml_str = function(e) {
+                        return y(e, "")
+                    }
+                    ,
+                    this.json2xml = function(e) {
+                        var t = this.json2xml_str(e);
+                        return this.parseXmlString(t)
+                    }
+                    ,
+                    this.getVersion = function() {
+                        return "1.2.0"
+                    }
+                }
+                ,
+                e.GeoGlobe.Format.X2JS.CLASS_NAME = "GeoGlobe.Format.X2JS"
+            }(window),
+            GeoGlobe.Query.Service = GeoGlobe.Class4OL({
+                name: null,
+                url: null,
+                version: null,
+                userid: "test@liferay.com",
+                initialize: function(e, t, i) {
+                    this.name = e,
+                    this.url = t,
+                    GeoGlobe.Util.extend(this, i)
+                },
+                getCapabilities: function(e, t) {},
+                isExist: function() {},
+                failFn: function(e) {
+                    alert("鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + this.url + "\n鎿嶄綔绫诲瀷锛�" + e)
+                },
+                _parseToXML: function(e) {
+                    var t = e.responseXML;
+                    return t && t.documentElement || (t = e.responseText),
+                    (new GeoGlobe.Format.XML).read(t)
+                },
+                _checkIsError: function(e) {
+                    return (new GeoGlobe.Format.XML).read(e).selectNodes("ServiceExceptionReport").length > 0 ? this._parseToJSON(e) : null
+                },
+                _isException: function(e) {
+                    return !(!e || !e.ServiceExceptionReport)
+                },
+                _parseToJSON: function(e) {
+                    return (new GeoGlobe.Util.Format.XML2JSON).read(e)
+                },
+                CLASS_NAME: "GeoGlobe.Query.Service"
+            }),
+            GeoGlobe.Query.RouteQuery = GeoGlobe.Class4OL(GeoGlobe.Query.Service, {
+                _format: null,
+                initialize: function(e, t, i) {
+                    this.name = e,
+                    this.url = t,
+                    this._format = new GeoGlobe.Format.RouteQuery,
+                    GeoGlobe.Util.extend(this, i)
+                },
+                getCapabilities: function(e, t) {
+                    var i = this.url;
+                    GeoGlobe.loadURL(i, {
+                        REQUEST: "GetCapabilities"
+                    }, this, e, t)
+                },
+                findRoute: function(e, t, i) {
+                    var r = {
+                        REQUEST: "FindRoute",
+                        SERVICE: "ROUTE",
+                        VERSION: "1.0.0"
+                    };
+                    for (var n in {
+                        data: !0,
+                        orig: !0,
+                        dest: !0
+                    })
+                        if (!(n in e))
+                            throw new Error("Missing property '" + n + "'");
+                    r.DATA = e.data,
+                    r.ORIG = e.orig,
+                    r.DEST = e.dest,
+                    null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
+                    null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
+                    null !== e.radius && void 0 !== e.radius && (r.RADIUS = e.radius),
+                    null !== e.queryType && void 0 !== e.queryType && (r.QUERYTYPE = e.queryType),
+                    null !== e.midpos && void 0 !== e.midpos && (r.MIDPOS = e.midpos),
+                    null !== e.avoidPos && void 0 !== e.avoidPos && (r.AVOIDPOS = e.avoidPos),
+                    null !== e.filterRoute && void 0 !== e.filterRoute && (r.FILTERROUTE = e.filterRoute),
+                    null !== e.resultCount && void 0 !== e.resultCount && (r.RESULTCOUNT = e.resultCount),
+                    GeoGlobe.Request.GET({
+                        url: this.url,
+                        params: r,
+                        async: !1,
+                        scope: this,
+                        success: function(e) {
+                            var i = this._format.read(e.responseText);
+                            if ("string" != typeof i.exceptionInfo) {
+                                var r = new GeoGlobe.Query.RoutesResult(i)
+                                  , n = r.routes
+                                  , o = (new GeoGlobe.Format.GeoJSON).write(n)
+                                  , a = new GeoGlobe.Format.JSON;
+                                geojsonRoute = a.read(o),
+                                r.geojsonRoute = geojsonRoute,
+                                t(r)
+                            } else
+                                t(i)
+                        },
+                        failure: i
+                    })
+                },
+                getRouteInfo: function(e, t, i) {
+                    var r = {
+                        REQUEST: "GetRouteInfo",
+                        SERVICE: "ROUTE",
+                        VERSION: "1.0.0"
+                    };
+                    if (!e.data || !e.id)
+                        throw "Error!Not data and id for bus query.";
+                    r.DATA = e.data,
+                    r.ID = e.id,
+                    GeoGlobe.Request.GET({
+                        url: this.url,
+                        params: r,
+                        scope: this,
+                        success: function(e) {
+                            var i = this._format.read(e.responseText);
+                            "string" != typeof i.exceptionInfo ? (i = new GeoGlobe.Query.RouteInfoResult(i),
+                            t(i)) : t(i)
+                        },
+                        failure: i
+                    })
+                },
+                CLASS_NAME: "GeoGlobe.Query.RouteQuery"
+            }),
+            GeoGlobe.Format.RouteQuery = new GeoGlobe.Class4OL(GeoGlobe.Format.XML,{
+                initialize: function(e) {
+                    GeoGlobe.Format.XML.prototype.initialize.apply(this, [e])
+                },
+                read: function(e) {
+                    var t = {}
+                      , i = [];
+                    if ("string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])),
+                    e && 9 == e.nodeType) {
+                        i = [];
+                        var r = GeoGlobe.Format.XML.prototype.getChildEl.apply(this, [e]).nodeName;
+                        if ("ServiceExceptionReport" === r) {
+                            var n = GeoGlobe.Format.XML.prototype.getElementsByTagNameNS(e, "*", "ServiceException")[0];
+                            return {
+                                exceptionInfo: GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [n]),
+                                exceptionCode: n.getAttribute("code")
+                            }
+                        }
+                        for (var o = e.getElementsByTagName(r)[0].childNodes, a = 0; a < o.length; a++) {
+                            var s = o[a]
+                              , x = s.nodeName;
+                            this._resultPaser[r][x] && this._resultPaser[r][x].apply(this, [s, i])
+                        }
+                    }
+                    return "routeinfo" === (r = r.toLowerCase()) ? t.items = i : t[r] = i,
+                    t
+                },
+                _resultPaser: {
+                    RouteInfo: {
+                        Item: function(e, t) {
+                            var i = e.childNodes
+                              , r = e.getAttribute("id")
+                              , n = {};
+                            r && (n = {
+                                id: r
+                            });
+                            for (var o = 0; o < i.length; o++) {
+                                var a = (e = i[o]).nodeName;
+                                this._resultPaser.RouteInfo[a] && this._resultPaser.RouteInfo[a].apply(this, [e, n])
+                            }
+                            t.push(n)
+                        },
+                        Name: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
+                            i && (t.name = i)
+                        },
+                        Toll: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
+                            t.toll = i
+                        },
+                        Level: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
+                            t.level = i
+                        },
+                        Length: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
+                            t.length = i
+                        },
+                        Geometry: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getElementsByTagNameNS(e, "*", "LineString")[0];
+                            if (i) {
+                                var r = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [i]);
+                                if ("string" == typeof r && r.length > 0) {
+                                    for (var n = r.split(" "), o = [], a = 0, s = n.length; a < s; a++) {
+                                        var x = n[a].split(",");
+                                        o.push(new GeoGlobe.Geometry.Point(new Number(x[0]),new Number(x[1])))
+                                    }
+                                    var l = new GeoGlobe.Geometry.LineString(o);
+                                    t.geometry = l
+                                }
+                            }
+                        },
+                        Directions: function(e, t) {
+                            t.directions = [];
+                            for (var i = e.childNodes, r = 0; r < i.length; r++) {
+                                var n = (e = i[r]).nodeName;
+                                this._resultPaser.RouteInfo[n] && this._resultPaser.RouteInfo[n](e, t.directions)
+                            }
+                        },
+                        Direction: function(e, t) {
+                            var i = {}
+                              , r = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
+                            i.direction = r,
+                            i.nextID = e.getAttribute("nextID"),
+                            i.nextItem = e.getAttribute("nextItem"),
+                            t.push(i)
+                        }
+                    },
+                    Routes: {
+                        Route: function(e, t) {
+                            for (var i = e.childNodes, r = {}, n = 0; n < i.length; n++) {
+                                var o = (e = i[n]).nodeName;
+                                this._resultPaser.Routes[o] && this._resultPaser.Routes[o].apply(this, [e, r])
+                            }
+                            t.push(r)
+                        },
+                        Item: function(e, t) {
+                            GeoGlobe.Util.isArray(t.items) || (t.items = []);
+                            var i = e.childNodes
+                              , r = e.getAttribute("id")
+                              , n = {};
+                            r && (n = {
+                                id: r
+                            });
+                            for (var o = 0; o < i.length; o++) {
+                                var a = (e = i[o]).nodeName;
+                                this._resultPaser.Routes[a] && this._resultPaser.Routes[a].apply(this, [e, n])
+                            }
+                            t.items.push(n)
+                        },
+                        Distance: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
+                            t.distance = i
+                        },
+                        Name: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
+                            i && (t.name = i)
+                        },
+                        Length: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
+                            t.length = i
+                        },
+                        Direction: function(e, t) {
+                            var i = {}
+                              , r = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
+                            i.direction = r,
+                            i.nextID = e.getAttribute("nextID"),
+                            i.nextItem = e.getAttribute("nextItem"),
+                            t.direction = i
+                        },
+                        Geometry: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getElementsByTagNameNS(e, "*", "LineString")[0];
+                            if (i) {
+                                var r = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [i]);
+                                if ("string" == typeof r && r.length > 0) {
+                                    for (var n = r.split(" "), o = [], a = 0, s = n.length; a < s; a++) {
+                                        var x = n[a].split(",");
+                                        o.push(new GeoGlobe.Geometry.Point(new Number(x[0]),new Number(x[1])))
+                                    }
+                                    var l = new GeoGlobe.Geometry.LineString(o);
+                                    t.geometry = l
+                                }
+                            }
+                        },
+                        Duration: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
+                            t.duration = i
+                        },
+                        BoundingBox: function(e, t) {
+                            for (var i = e.childNodes, r = 0; r < i.length; r++) {
+                                var n = (e = i[r]).nodeName;
+                                this._resultPaser.Routes[n] && this._resultPaser.Routes[n].apply(this, [e, t])
+                            }
+                        },
+                        LowerCorner: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]).replace(/^\s*|\s*$/g, "")
+                              , r = (i = i.replace(/\s*,\s*/g, ",")).split(",");
+                            t.left = r[0],
+                            t.bottom = r[1]
+                        },
+                        UpperCorner: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]).replace(/^\s*|\s*$/g, "")
+                              , r = (i = i.replace(/\s*,\s*/g, ",")).split(",");
+                            t.right = r[0],
+                            t.top = r[1],
+                            t.bounds = new GeoGlobe.LngLatBounds(new GeoGlobe.LngLat(t.left,t.bottom),new GeoGlobe.LngLat(t.right,t.top)),
+                            delete t.left,
+                            delete t.bottom,
+                            delete t.right,
+                            delete t.top
+                        },
+                        Count: function(e, t) {
+                            var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]);
+                            t.count = i
+                        }
+                    }
+                }
+            }),
+            GeoGlobe.Query.RoutesResult = GeoGlobe.Class4OL({
+                data: null,
+                routes: null,
+                initialize: function(e) {
+                    this.routes = [];
+                    var t = null;
+                    if (e && e.routes && (this.data = e,
+                    t = e.routes),
+                    GeoGlobe.Util.isArray(t))
+                        for (var i = 0, r = t.length; i < r; i++) {
+                            var n = new GeoGlobe.Query.RouteResult;
+                            for (var o in t[i])
+                                n[o] = t[i][o];
+                            this.routes.push(n)
+                        }
+                },
+                CLASS_NAME: "GeoGlobe.Query.RoutesResult"
+            }),
+            GeoGlobe.Query.RouteResult = GeoGlobe.Class4OL({
+                bounds: null,
+                count: null,
+                distance: null,
+                duration: null,
+                geometry: null,
+                items: null,
+                initialize: function() {},
+                CLASS_NAME: "GeoGlobe.Query.RouteResult"
+            }),
+            GeoGlobe.Query.RouteInfoResult = GeoGlobe.Class4OL({
+                data: null,
+                items: null,
+                initialize: function(e) {
+                    if (this.items = [],
+                    e && e.items) {
+                        this.data = e;
+                        var t = e.items
+                    }
+                    if (GeoGlobe.Util.isArray(t))
+                        for (var i = 0, r = t.length; i < r; i++) {
+                            var n = new GeoGlobe.Query.RouteInfoItem;
+                            for (var o in t[i])
+                                n[o] = t[i][o];
+                            this.items.push(n)
+                        }
+                },
+                CLASS_NAME: "GeoGlobe.Query.RouteInfoResult"
+            }),
+            GeoGlobe.Query.RouteInfoItem = GeoGlobe.Class4OL({
+                id: null,
+                name: null,
+                toll: null,
+                length: null,
+                geometry: null,
+                level: null,
+                directions: null,
+                initialize: function() {},
+                CLASS_NAME: "GeoGlobe.Query.RouteInfoItem"
+            }),
+            GeoGlobe.Query.BusQuery = GeoGlobe.Class4OL(GeoGlobe.Query.Service, {
+                networkName: null,
+                transferScheme: null,
+                initialize: function(e, t, i) {
+                    this.name = e,
+                    this.url = t,
+                    GeoGlobe.Util.extend(this, i)
+                },
+                getCapabilities: function(e, t) {
+                    "function" != typeof t && (t = function() {
+                        alert("鍏氦鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + this.url + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
+                    }
+                    ),
+                    GeoGlobe.Request.GET({
+                        url: this.url,
+                        params: {
+                            REQUEST: "GetCapabilities"
+                        },
+                        scope: this,
+                        async: !1,
+                        success: function(t) {
+                            "function" == typeof e && e(t)
+                        },
+                        failure: t
+                    })
+                },
+                isExist: function() {
+                    var e = !1
+                      , t = this.url;
+                    return GeoGlobe.Request.GET({
+                        url: t,
+                        scope: this,
+                        async: !1,
+                        success: function() {
+                            e = !0
+                        }
+                    }),
+                    e
+                },
+                queryStation: function(e, t, i) {
+                    var r = {
+                        REQUEST: "QueryStation"
+                    };
+                    if (!e.networkName)
+                        throw "Error!Not network name for bus query.";
+                    r.NETWORKNAME = e.networkName,
+                    null !== e.stationId && void 0 !== e.stationId && (r.STATIONID = e.stationId),
+                    null !== e.stationName && void 0 !== e.stationName && (r.STATIONNAME = e.stationName),
+                    null !== e.lineId && void 0 !== e.lineId && (r.LINEID = e.lineId),
+                    null !== e.lineName && void 0 !== e.lineName && (r.LINENAME = e.lineName),
+                    null !== e.coordinate && void 0 !== e.coordinate && (r.COORDINATE = e.coordinate),
+                    null !== e.bbox && void 0 !== e.bbox && (r.BOX = e.bbox),
+                    GeoGlobe.Request.GET({
+                        url: this.url,
+                        params: r,
+                        scope: this,
+                        success: function(e) {
+                            var i = this._parserFeatures(e.responseText);
+                            t(i)
+                        },
+                        failure: i
+                    })
+                },
+                queryLine: function(e, t, i) {
+                    var r = {
+                        REQUEST: "QueryLine"
+                    };
+                    if (!e.networkName)
+                        throw "Error!Not network name for bus query.";
+                    r.NETWORKNAME = e.networkName,
+                    null !== e.lineName && void 0 !== e.lineName && (r.LINENAME = e.lineName),
+                    null !== e.lineId && void 0 !== e.lineId && (r.LINEID = e.lineId),
+                    null !== e.stationName && void 0 !== e.stationName && (r.STATIONNAME = e.stationName),
+                    null !== e.stationId && void 0 !== e.stationId && (r.STATIONID = e.stationId),
+                    null !== e.coordinate && void 0 !== e.coordinate && (r.COORDINATE = e.coordinate),
+                    null !== e.bbox && void 0 !== e.bbox && (r.BOX = e.bbox),
+                    GeoGlobe.Request.GET({
+                        url: this.url,
+                        params: r,
+                        scope: this,
+                        success: function(e) {
+                            var i = this._parserFeatures(e.responseText);
+                            t(i)
+                        },
+                        failure: i
+                    })
+                },
+                queryChange: function(e, t, i) {
+                    var r = {
+                        REQUEST: "QueryChange"
+                    };
+                    if (!e.networkName)
+                        throw "Error!Not network name for bus query.";
+                    r.NETWORKNAME = e.networkName,
+                    null !== e.startStationId && void 0 !== e.startStationId && (r.STARTSTATIONID = e.startStationId),
+                    null !== e.endStationId && void 0 !== e.endStationId && (r.ENDSTATIONID = e.endStationId),
+                    null !== e.orderType && void 0 !== e.orderType && (r.ORDERTYPE = e.orderType),
+                    null !== e.startCoordinate && void 0 !== e.startCoordinate && (r.STARTCOORDINATE = e.startCoordinate),
+                    null !== e.endCoordinate && void 0 !== e.endCoordinate && (r.ENDCOORDINATE = e.endCoordinate),
+                    null !== e.maxDepth && void 0 !== e.maxDepth && (r.MAXDEPTH = e.maxDepth),
+                    null !== e.maxCost && void 0 !== e.maxCost && (r.MAXCOST = e.maxCost),
+                    null !== e.maxSolutions && void 0 !== e.maxSolutions && (r.MAXSOLUTIONS = e.maxSolutions),
+                    null !== e.ChangeCount && void 0 !== e.ChangeCount && (r.CHANGECOUNT = e.ChangeCount),
+                    GeoGlobe.Request.GET({
+                        url: this.url,
+                        params: r,
+                        scope: this,
+                        success: function(e) {
+                            for (var i = [], r = (e.responseXML.documentElement ? e.responseXML : format.read(e.responseText)).selectNodes("/Features/FeatureCollection"), n = new GeoGlobe.Format.XML, o = 0; o < r.length; o++) {
+                                var a = r[o]
+                                  , s = this._getAttibutionOfNode(a, ["cost", "price", "walkingDistance", "transferTimes"])
+                                  , x = n.write(r[o])
+                                  , l = this._parserFeatures(x);
+                                l.attributes = s;
+                                for (var c = a.selectNodes("featureMember"), u = 0; u < c.length; u++) {
+                                    var h = c[u].selectNodes("Road");
+                                    l[u].isOnFoot = h[0].getAttribute("isOnFoot")
+                                }
+                                i.push(l)
+                            }
+                            t(i)
+                        },
+                        failure: i
+                    })
+                },
+                _getAttibutionOfNode: function(e, t) {
+                    var i = {};
+                    if (e.tagName)
+                        for (var r = 0; r < t.length; r++)
+                            i[t[r]] = e.getAttribute(t[r]);
+                    return i
+                },
+                _getGeometryType: function(e) {
+                    return "polygon"
+                },
+                _pagingToString: function(e, t) {
+                    return "<numPerPage>" + (t = t || this.maxPerPage) + "</numPerPage><curPage>" + (e = e || 1) + "</curPage>"
+                },
+                _orderByToString: function(e, t) {
+                    return e ? "<orderBy><PropertyName>" + e + "</PropertyName></orderBy>" : ""
+                },
+                _geometryToString: function(e) {
+                    return '<geometry><Polygon><outerBoundaryIs><LinearRing><coordinates decimal="." cs="," ts=" ">20,30 21,41 52,42 53,33 20,30</coordinates></LinearRing></outerBoundaryIs></Polygon></geometry>'
+                },
+                _stringToGeometry: function(e) {
+                    return GeoGlobe.Geometry.Polygon.createRegularPolygon(new GeoGlobe.Geometry.Point(360 * Math.random() - 160,90 * Math.random() - 70), Math.round(20 * Math.random()), Math.round(10 * Math.random()))
+                },
+                _parserFeatures: function(e) {
+                    var t = new GeoGlobe.Format.GML;
+                    return t.gmlns = "*",
+                    t.read(e)
+                },
+                _parserResponseText: function(e, t) {
+                    if (t) {
+                        var i = new RegExp("<" + t + ">",["g"])
+                          , r = new RegExp("</" + t + ">",["g"]);
+                        e = (e = e.replace(i, "<featureMember><" + t + ">")).replace(r, "</" + t + "></featureMember>")
+                    }
+                    return (e = (e = (e = e.replace(/<gml:LineString>/g, "<gml:LineString><gml:coordinates>")).replace(/<\/gml:LineString>/g, "</gml:coordinates></gml:LineString>")).replace(/<gml:Point>/g, "<gml:Point><gml:coordinates>")).replace(/<\/gml:Point>/g, "</gml:coordinates></gml:Point>")
+                },
+                _parserFeaturesNew: function(e, t) {
+                    var i = new GeoGlobe.Format.GML;
+                    return i.gmlns = "*",
+                    t && (i.featureName = t),
+                    i.read(e)
+                },
+                _parserSuccessResult: function(e) {
+                    return (new GeoGlobe.Util.Format.XML2JSON).read(e)
+                },
+                _parseToXML: function(e) {
+                    var t = e.responseXML;
+                    return t && t.documentElement || (t = e.responseText),
+                    (new GeoGlobe.Format.XML).read(t)
+                },
+                _parseToJSON: function(e) {
+                    return (new GeoGlobe.Format.XML2JSON).read(e)
+                },
+                queryTransferScheme: function(e, t, i) {
+                    var r = {
+                        request: "QueryTransferScheme",
+                        SERVICE: "BUS",
+                        VERSION: "1.0.0"
+                    };
+                    for (var n in {
+                        networkName: !0,
+                        transferMode: !0,
+                        startInput: !0,
+                        endInput: !0
+                    })
+                        if (!(n in e))
+                            throw new Error("缂哄皯蹇呴�夊睘鎬э細'" + n + "'銆�");
+                    r.networkName = e.networkName,
+                    null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
+                    null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
+                    null !== e.transferMode && void 0 !== e.transferMode && (r.TRANSFERMODE = e.transferMode),
+                    null !== e.startInput && void 0 !== e.startInput && (r.STARTINPUT = e.startInput),
+                    null !== e.endInput && void 0 !== e.endInput && (r.ENDINPUT = e.endInput),
+                    null !== e.inputMode && void 0 !== e.inputMode && (r.INPUTMODEL = e.inputMode),
+                    null !== e.ExistGoTime && void 0 !== e.ExistGoTime && (r.EXISTGOTIME = e.ExistGoTime),
+                    null !== e.StartTime && void 0 !== e.StartTime && (r.STARTTIME = e.StartTime),
+                    null !== e.MaxSearchDistance && void 0 !== e.MaxSearchDistance && (r.MAXSEARCHDISTANCE = e.MaxSearchDistance),
+                    null !== e.PrioritySubset && void 0 !== e.PrioritySubset && (r.PRIORITYSUBSET = e.PrioritySubset),
+                    null !== e.ExistAbsolutePriority && void 0 !== e.ExistAbsolutePriority && (r.EXISTABSOLUTEPRIORITY = e.ExistAbsolutePriority),
+                    null !== e.LagSubset && void 0 !== e.LagSubset && (r.LAGSUBSET = e.LagSubset),
+                    null !== e.OutputPage && void 0 !== e.OutputPage && (r.OUTPUTPAGE = e.OutputPage),
+                    null !== e.PageSize && void 0 !== e.PageSize && (r.PAGESIZE = e.PageSize),
+                    null !== e.ChangeCount && void 0 !== e.ChangeCount && (r.CHANGECOUNT = e.ChangeCount),
+                    GeoGlobe.Request.GET({
+                        url: this.url,
+                        params: r,
+                        async: !1,
+                        scope: this,
+                        success: GeoGlobe.Function.bind((function(e) {
+                            var i = e.responseXML
+                              , r = {
+                                startPoint: [],
+                                transferScheme: [],
+                                endPoint: []
+                            };
+                            if (!i)
+                                return t(r),
+                                r;
+                            var n = new GeoGlobe.Format.XML
+                              , o = i.selectNodes("/ServiceExceptionReport/ServiceExceptionMessage");
+                            if (o && o.length > 0)
+                                return t(r),
+                                r;
+                            var a = i.selectNodes("/QueryTransferSchemeResponse")
+                              , s = n.write(a[0])
+                              , x = this._parseToJSON(s)
+                              , l = x.QueryTransferSchemeResponse.StartPoint;
+                            GeoGlobe.Util.isArray(l) || (l = [l]);
+                            var c = x.QueryTransferSchemeResponse.EndPoint;
+                            GeoGlobe.Util.isArray(c) || (c = [c]);
+                            var u = x.QueryTransferSchemeResponse.TransferScheme
+                              , h = this._getPointGeometryByGMLPointStr(l[0].Geometry.gml_Point)
+                              , f = new GeoGlobe.Feature(h)
+                              , d = this._getPointGeometryByGMLPointStr(c[0].Geometry.gml_Point)
+                              , g = new GeoGlobe.Feature(d)
+                              , p = this._parserTransferScheme(u);
+                            t(r = {
+                                startPoint: f,
+                                transferScheme: p,
+                                endPoint: g
+                            })
+                        }
+                        ), this),
+                        failure: i
+                    })
+                },
+                _parserTransferScheme: function(e) {
+                    GeoGlobe.Util.isArray(e) || (e = [e]);
+                    for (var t = new Array, i = 0; i < e.length; i++) {
+                        var r = e[i]
+                          , n = this._parserSectionInfo(r.SectionInfo)
+                          , o = this._parserSectionRouting(r.SectionRouting)
+                          , a = {
+                            Cost: e[i].Cost,
+                            SectionInfo: n,
+                            SectionRouting: o,
+                            TotalDistance: e[i].TotalDistance,
+                            TransferCount: e[i].TransferCount
+                        };
+                        t.push(a)
+                    }
+                    return t
+                },
+                _parserSectionInfo: function(e) {
+                    GeoGlobe.Util.isArray(e) || (e = [e]);
+                    for (var t = new Array, i = 0; i < e.length; i++) {
+                        var r = this._getPointFeatureByObj(e[i].FromStation);
+                        e[i].FromStation.PassagewayRouting && ((n = this._getPointFeatureByObj(e[i].FromStation.PassagewayRouting)).SectionRouting && (n.attributes.SectionRouting = n.data.SectionRouting = this._parserSectionRouting(n.SectionRouting)),
+                        r.attributes.PassagewayRouting = r.data.PassagewayRouting = n);
+                        var n, o = this._getPointFeatureByObj(e[i].ToStation);
+                        e[i].ToStation.PassagewayRouting && ((n = this._getPointFeatureByObj(e[i].ToStation.PassagewayRouting)).SectionRouting && (n.attributes.SectionRouting = n.data.SectionRouting = this._parserSectionRouting(n.SectionRouting)),
+                        o.attributes.PassagewayRouting = o.data.PassagewayRouting = n);
+                        var a = this._parserSectionLines(e[i].SectionLines.SectionLine)
+                          , s = this._parserSectionRouting(e[i].SectionRouting);
+                        t.push({
+                            FromStation: r,
+                            SectionLine: a,
+                            ToStation: o,
+                            SectionRouting: s
+                        })
+                    }
+                    return t
+                },
+                _parserSectionLines: function(e) {
+                    GeoGlobe.Util.isArray(e) || (e = [e]);
+                    for (var t = new Array, i = 0; i < e.length; i++) {
+                        var r = new GeoGlobe.Feature(null,e[i]);
+                        t.push(r)
+                    }
+                    return t
+                },
+                _parserSectionRouting: function(e) {
+                    GeoGlobe.Util.isArray(e) || (e = [e]);
+                    for (var t = new Array, i = 0; i < e.length; i++)
+                        t.push(e[i]);
+                    return t
+                },
+                _getPointGeometryByGMLPointStr: function(e) {
+                    var t = e.split(",");
+                    return new GeoGlobe.Geometry.Point(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t[0]),_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t[1]))
+                },
+                _getPointFeatureByObj: function(e) {
+                    var t = null;
+                    return e.Geometry && e.Geometry.gml_Point && (t = this._getPointGeometryByGMLPointStr(e.Geometry.gml_Point)),
+                    new GeoGlobe.Feature(t,e)
+                },
+                _getLineGeometryByGMLLineStr: function(e) {
+                    if (!e)
+                        return null;
+                    for (var t = e.split(" "), i = [], r = 0, n = t.length; r < n; r++) {
+                        var o = this._getPointGeometryByGMLPointStr(t[r]);
+                        i.push(o)
+                    }
+                    return new GeoGlobe.Geometry.LineString(i)
+                },
+                queryTransferGeometry: function(e, t, i) {
+                    var r = {
+                        request: "QueryTransferGeometry",
+                        SERVICE: "BUS",
+                        VERSION: "1.0.0"
+                    };
+                    if (!e.networkName)
+                        throw "Error!Not network name for bus query.";
+                    if (null === e.parameterInfo || void 0 === e.parameterInfo || "" === e.parameterInfo)
+                        throw "Error!Not parameterInfo for bus query.";
+                    r.networkName = e.networkName,
+                    r.PARAMETERINFO = "";
+                    for (var n = 0; n < e.parameterInfo.length; n++)
+                        r.PARAMETERINFO += e.parameterInfo[n].toString(),
+                        n != e.parameterInfo.length - 1 && (r.PARAMETERINFO += "_");
+                    null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
+                    null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
+                    GeoGlobe.Request.GET({
+                        url: this.url,
+                        params: r,
+                        scope: this,
+                        async: !1,
+                        success: GeoGlobe.Function.bind((function(e) {
+                            var i = this._parseQueryTransferGeometryResult(e);
+                            t(i)
+                        }
+                        ), this),
+                        failure: i
+                    })
+                },
+                _parseQueryTransferGeometryResult: function(e) {
+                    resXML = e.responseXML;
+                    var t = [];
+                    if (!resXML)
+                        return t;
+                    var i = new GeoGlobe.Format.XML
+                      , r = resXML.selectNodes("/QueryTransferGeometryResponse");
+                    if (r && r.length <= 0)
+                        return t;
+                    var n = i.write(r[0])
+                      , o = this._parseToJSON(n).QueryTransferGeometryResponse.SectionGeometry;
+                    if (o) {
+                        GeoGlobe.Util.isArray(o) || (o = [o]);
+                        for (var a = 0; a < o.length; a++) {
+                            var s = this._getLineGeometryByGMLLineStr(o[a].Geometry.gml_LineString)
+                              , x = new GeoGlobe.Feature(s,{
+                                ID: o[a].ID
+                            });
+                            t.push(x)
+                        }
+                    }
+                    return t
+                },
+                queryKeyWord: function(e, t, i) {
+                    var r = {
+                        REQUEST: "QueryKeyWord",
+                        SERVICE: "BUS",
+                        VERSION: "1.0.0",
+                        SEARCHTYPE: 2
+                    };
+                    if (!e.networkName)
+                        throw "Error!Not network name for bus query.";
+                    if (null === e.keyWord || void 0 === e.keyWord || "" === e.keyWord)
+                        throw "Error!Not keyWord for bus query.";
+                    r.NETWORKNAME = e.networkName,
+                    r.KEYWORD = e.keyWord,
+                    null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
+                    null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
+                    null !== e.searchType && void 0 !== e.searchType && (r.SEARCHTYPE = e.searchType),
+                    null !== e.keyWordType && void 0 !== e.keyWordType && (r.KEYWORDTYPE = e.keyWordType),
+                    GeoGlobe.Request.GET({
+                        url: this.url,
+                        params: r,
+                        async: !1,
+                        scope: this,
+                        success: GeoGlobe.Function.bind((function(i) {
+                            var r = this._parserQueryKeyWordResult(i, e.keyWordType);
+                            t(r)
+                        }
+                        ), this),
+                        failure: i
+                    })
+                },
+                _parserQueryKeyWordResult: function(e, t) {
+                    var i = e.responseXML
+                      , r = [];
+                    if (!i)
+                        return r;
+                    var n = new GeoGlobe.Format.XML
+                      , o = i.selectNodes("/ServiceExceptionReport/ServiceExceptionMessage");
+                    if (o && o.length > 0)
+                        return r;
+                    var a = i.selectNodes("/QueryKeyWordResponse")
+                      , s = n.write(a[0])
+                      , x = this._parseToJSON(s);
+                    if (1 === t) {
+                        var l = x.QueryKeyWordResponse.Stations.Station;
+                        l && !GeoGlobe.Util.isArray(l) && (l = [l]);
+                        for (var c = 0; c < l.length; c++) {
+                            var u = this._getPointFeatureByObj(l[c]);
+                            r.push(u)
+                        }
+                    } else if (2 === t) {
+                        var h = x.QueryKeyWordResponse.Passageways.Passageway;
+                        for (h && !GeoGlobe.Util.isArray(h) && (h = [h]),
+                        c = 0; c < h.length; c++)
+                            u = this._getPointFeatureByObj(h[c]),
+                            r.push(u)
+                    } else {
+                        var f = x.QueryKeyWordResponse.Lines.Line;
+                        for (f && !GeoGlobe.Util.isArray(f) && (f = [f]),
+                        c = 0; c < f.length; c++) {
+                            var d = new GeoGlobe.Feature(null,f[c]);
+                            r.push(d)
+                        }
+                    }
+                    return r
+                },
+                queryStationInfo: function(e, t, i) {
+                    var r = {
+                        REQUEST: "QueryStationInfo",
+                        SERVICE: "BUS",
+                        VERSION: "1.0.0"
+                    };
+                    if (!e.networkName)
+                        throw "Error!Not network name for bus query.";
+                    if (null === e.stationId || void 0 === e.stationId || "" === e.stationId)
+                        throw "Error!Not stationId for bus query.";
+                    r.NETWORKNAME = e.networkName,
+                    null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
+                    null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
+                    null !== e.stationId && void 0 !== e.stationId && (r.STATIONID = e.stationId),
+                    GeoGlobe.Request.GET({
+                        url: this.url,
+                        params: r,
+                        scope: this,
+                        success: function(e) {
+                            if (resXML = e.responseXML,
+                            resXML) {
+                                for (var i = new GeoGlobe.Format.XML, r = this._parserQueryStationInfoNode("Lines", i, resXML), n = this._parserQueryStationInfoNode("Passageways", i, resXML), o = new Array, a = 0; a < n.length; a++) {
+                                    var s = this._getPointFeatureByObj(n[a]);
+                                    o.push(s)
+                                }
+                                t({
+                                    lines: r,
+                                    passageways: o
                                 })
-                                    , f = new (e[P("0x5d3")])({
-                                        owner: i,
-                                        primitiveType: e[P("0xbc2")][P("0xbc3")]
-                                    });
-                                f[P("0x5cb")] = h;
-                                var d = {
-                                    cull: {
-                                        enabled: !1
-                                    },
-                                    depthMask: !1,
+                            } else
+                                t({
+                                    lines: [],
+                                    passageways: []
+                                })
+                        },
+                        failure: i
+                    })
+                },
+                _parserQueryStationInfoNode: function(e, t, i) {
+                    switch (e) {
+                    case "Lines":
+                        var r = i.selectNodes("/QueryStationInfoResponse/StationInfo/Lines")
+                          , n = new Array;
+                        if (r.length > 0) {
+                            var o = t.write(r[0]);
+                            n = this._parseToJSON(o).Lines.Line,
+                            GeoGlobe.Util.isArray(n) || (n = [n])
+                        }
+                        return n;
+                    case "Passageways":
+                        r = i.selectNodes("/QueryStationInfoResponse");
+                        var a = new Array;
+                        if (r.length > 0) {
+                            o = t.write(r[0]);
+                            var s = this._parseToJSON(o).QueryStationInfoResponse.StationInfo.Passageways;
+                            s && (a = s.Passageway,
+                            GeoGlobe.Util.isArray(a) || (a = [a]))
+                        }
+                        return a;
+                    default:
+                        return []
+                    }
+                },
+                queryLineInfo: function(e, t, i) {
+                    var r = {
+                        REQUEST: "QueryLineInfo",
+                        SERVICE: "BUS",
+                        VERSION: "1.0.0"
+                    };
+                    if (!e.networkName)
+                        throw "Error!Not network name for bus query.";
+                    if (null === e.lineId || void 0 === e.lineId || "" === e.lineId)
+                        throw "Error!Not lineId for bus query.";
+                    r.NETWORKNAME = e.networkName,
+                    null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
+                    null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
+                    null !== e.lineId && void 0 !== e.lineId && (r.LINEID = e.lineId),
+                    null !== e.startNodeNumber && void 0 !== e.startNodeNumber && (r.STARTNODENUMBER = e.startNodeNumber),
+                    null !== e.endNodeNumber && void 0 !== e.endNodeNumber && (r.ENDNODENUMBER = e.endNodeNumber),
+                    GeoGlobe.Request.GET({
+                        url: this.url,
+                        params: r,
+                        scope: this,
+                        success: function(e) {
+                            var i = []
+                              , r = null;
+                            if (e.responseXML) {
+                                var n = (r = e.responseXML).selectNodes("/ServiceExceptionReport/ServiceExceptionMessage");
+                                if (n && n.length > 0)
+                                    return void t(i);
+                                for (var o = new GeoGlobe.Format.XML, a = this._parserQueryLineInfoNode("Line", o, r), s = new Array, x = 0; x < a.length; x++) {
+                                    for (var l = new Array, c = 0; c < a[x].VIAStations.Station.length; c++) {
+                                        var u = this._getPointFeatureByObj(a[x].VIAStations.Station[c]);
+                                        l.push(u)
+                                    }
+                                    a[x].Stations = l;
+                                    var h = this._getLineGeometryByGMLLineStr(a[x].Geometry.gml_LineString)
+                                      , f = new GeoGlobe.Feature(h,a[x]);
+                                    s.push(f)
+                                }
+                                i = s
+                            }
+                            t(i)
+                        },
+                        failure: i
+                    })
+                },
+                _parserQueryLineInfoNode: function(e, t, i) {
+                    switch (e) {
+                    case "Line":
+                        var r = i.selectNodes("/QueryLineInfoResponse")
+                          , n = t.write(r[0])
+                          , o = this._parseToJSON(n).QueryLineInfoResponse.Line;
+                        return new Array,
+                        o && !GeoGlobe.Util.isArray(o) ? [o] : o;
+                    default:
+                        return []
+                    }
+                },
+                queryPassagewayInfo: function(e, t, i) {
+                    var r = {
+                        REQUEST: "QueryPassagewayInfo",
+                        SERVICE: "BUS",
+                        VERSION: "1.0.0"
+                    };
+                    if (!e.networkName)
+                        throw "Error!Not network name for bus query.";
+                    if (null === e.passagewayId || void 0 === e.passagewayId || "" === e.passagewayId)
+                        throw "Error!Not passagewayId for bus query.";
+                    r.NETWORKNAME = e.networkName,
+                    null !== e.service && void 0 !== e.service && (r.SERVICE = e.service),
+                    null !== e.version && void 0 !== e.version && (r.VERSION = e.version),
+                    null !== e.passagewayId && void 0 !== e.passagewayId && (r.PASSAGEWAYID = e.passagewayId),
+                    GeoGlobe.Request.GET({
+                        url: this.url,
+                        params: r,
+                        scope: this,
+                        success: function(e) {
+                            var i = e.responseXML
+                              , r = [];
+                            if (!i)
+                                return t(r),
+                                r;
+                            new GeoGlobe.Format.XML;
+                            var n = i.selectNodes("/ServiceExceptionReport/ServiceExceptionMessage");
+                            if (n && n.length > 0)
+                                return t(r),
+                                r;
+                            var o = this._parserResponseText(e.responseText);
+                            r = this._parserFeaturesNew(o, "Stations"),
+                            t(r)
+                        }
+                    })
+                },
+                _queryByName: function(e, t, i) {
+                    var r = this
+                      , n = null;
+                    return r.queryKeyWord({
+                        networkName: r.networkName,
+                        keyWord: e,
+                        keyWordType: 1,
+                        SEARCHTYPE: 2
+                    }, (function(e) {
+                        if (0 != e.length) {
+                            var o = e[0].geometry.x + " " + e[0].geometry.y;
+                            r.queryKeyWord({
+                                networkName: r.networkName,
+                                keyWord: t,
+                                keyWordType: 1,
+                                SEARCHTYPE: 2
+                            }, (function(e) {
+                                if (0 != e.length) {
+                                    var t = e[0].geometry.x + " " + e[0].geometry.y;
+                                    n = r._queryTransferScheme(o, t, i)
+                                } else
+                                    alert("娌℃湁鏌ヨ鍒扮粓鐐�")
+                            }
+                            ))
+                        } else
+                            alert("娌℃湁鏌ヨ鍒拌捣鐐�")
+                    }
+                    )),
+                    n
+                },
+                queryBus: function(e, t, i) {
+                    var r = this
+                      , n = null;
+                    return r.getCapabilities(GeoGlobe.Function.bind((function(o) {
+                        var a = o.responseXML;
+                        a && a.documentElement || (a = o.responseText);
+                        var s = (new GeoGlobe.Format.BusCapabilities).read(a);
+                        if (s.capability) {
+                            var x = s.capability.networks[0];
+                            if (r.networkName = x,
+                            "string" == typeof e && "string" == typeof t)
+                                n = r._queryByName(e, t, i);
+                            else {
+                                var l = e.lng + " " + e.lat
+                                  , c = t.lng + " " + t.lat;
+                                n = r._queryTransferScheme(l, c, i)
+                            }
+                        } else
+                            alert("鍏氦鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + url + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
+                    }
+                    ), this), (function() {
+                        alert("鍏氦鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + url + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
+                    }
+                    )),
+                    {
+                        flag: !!n,
+                        featuresInfo: n
+                    }
+                },
+                failFn: function() {
+                    alert("鍏氦鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + url + "\n鎿嶄綔绫诲瀷锛欸etCapabilities")
+                },
+                _queryTransferScheme: function(e, t, i) {
+                    return this.queryTransferScheme({
+                        networkName: this.networkName,
+                        transferMode: i || 0,
+                        inputMode: 0,
+                        startInput: e,
+                        endInput: t
+                    }, (function(e) {
+                        featuresInfo = e
+                    }
+                    )),
+                    this.transferScheme = featuresInfo.transferScheme,
+                    featuresInfo
+                },
+                queryBusTransferSchemeByIndex: function(e) {
+                    var t = null
+                      , r = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e)
+                      , n = this.transferScheme[r].SectionInfo
+                      , o = new Array
+                      , a = new Array;
+                    for (i = 0; i < n.length; i++) {
+                        var s = n[i].SectionLine[0]
+                          , x = s.data.ID
+                          , l = s.data.FromOrdinal
+                          , c = s.data.ToOrdinal;
+                        o.push([0, x, l, c]),
+                        a.push(n[i].FromStation),
+                        a.push(n[i].ToStation)
+                    }
+                    return this.queryTransferGeometry({
+                        networkName: this.networkName,
+                        parameterInfo: o
+                    }, (function(e) {
+                        var i = e
+                          , r = new GeoGlobe.Format.GeoJSON
+                          , n = r.write(i)
+                          , o = r.write(a)
+                          , s = new GeoGlobe.Format.JSON
+                          , x = s.read(n)
+                          , l = s.read(o);
+                        t = {
+                            lineFeatures: i,
+                            geojsonRoute: x,
+                            stationFeatures: a,
+                            geojsonStation: l
+                        }
+                    }
+                    )),
+                    t
+                },
+                CLASS_NAME: "GeoGlobe.Query.BusQuery"
+            }),
+            document.implementation.hasFeature("XPath", "3.0") && (XMLDocument.prototype.selectNodes = function(e, t) {
+                t || (t = this);
+                for (var i = this.evaluate(e, t, (function(e) {
+                    return {
+                        csw: "http://www.opengis.net/cat/csw",
+                        smmd: "http://data.sbsm.gov.cn/smmd/2007",
+                        wfs: "http://www.opengis.net/wfs",
+                        gml: "http://www.opengis.net/gml",
+                        geoglobe: "http://www.geostar.com.cn/geoglobe"
+                    }[e] || null
+                }
+                ), XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null), r = [], n = 0; n < i.snapshotLength; n++)
+                    r[n] = i.snapshotItem(n);
+                return r
+            }
+            ,
+            Element.prototype.selectNodes = function(e) {
+                if (this.ownerDocument.selectNodes)
+                    return this.ownerDocument.selectNodes(e, this);
+                throw "For XML Elements Only"
+            }
+            ),
+            document.implementation.hasFeature("XPath", "3.0") && (XMLDocument.prototype.selectSingleNode = function(e, t) {
+                t || (t = this);
+                var i = this.selectNodes(e, t);
+                return i.length > 0 ? i[0] : null
+            }
+            ,
+            Element.prototype.selectSingleNode = function(e) {
+                if (this.ownerDocument.selectSingleNode)
+                    return this.ownerDocument.selectSingleNode(e, this);
+                throw "For XML Elements Only"
+            }
+            ),
+            GeoGlobe.Query.WFSQuery = GeoGlobe.Class4OL({
+                url: null,
+                version: "1.0.0",
+                featureNS: null,
+                isReverse: !1,
+                featurePrefix: "",
+                featureType: "",
+                maxFeatures: 10,
+                filter: null,
+                geometryName: "the_geom",
+                protocol: null,
+                format: null,
+                formatOptions: null,
+                isSeparate: !1,
+                srsName: "EPSG:4326",
+                time: null,
+                userecent: !0,
+                sortBy: null,
+                groupBy: null,
+                resultType: "Results",
+                startPosition: null,
+                initialize: function(e, t, i) {
+                    this.url = e,
+                    this.featureType = t;
+                    var r = null;
+                    i && (!0 === i.isReverse || !1 === i.isReverse ? (this.isReverse = i.isReverse,
+                    r = !i.isReverse) : r = !this.isReverse,
+                    i.format ? (i.format instanceof GeoGlobe.Format.GML.v2 || i.format instanceof GeoGlobe.Format.GML.v3) && i.format.setFeatureType_(t) : this.format = new GeoGlobe.Format.GML({
+                        xy: r
+                    })),
+                    GeoGlobe.Util.extend(this, i)
+                },
+                query: function(e, t, i) {
+                    this.protocol = new GeoGlobe.Protocol.WFS({
+                        readFormat: this.format,
+                        formatOptions: this.formatOptions,
+                        propertyNames: this.propertyNames,
+                        maxFeatures: this.maxFeatures,
+                        featurePrefix: this.featurePrefix,
+                        featureNS: this.featureNS,
+                        url: this.url,
+                        version: this.version,
+                        geometryName: this.geometryName,
+                        featureType: this.featureType,
+                        time: this.time,
+                        userecent: this.userecent,
+                        srsName: this.srsName
+                    });
+                    var r = e || this.filter
+                      , n = t || this.successFn
+                      , o = i || this.failFn
+                      , a = GeoGlobe.Function.bind((function(e) {
+                        if (e.success()) {
+                            var t = e.features;
+                            this.isSeparate && (t = this._separateFeatures(t));
+                            var i = this._read_trueName(e);
+                            i && (t.trueNames = i);
+                            var r = (new GeoGlobe.Format.GeoJSON).write(t)
+                              , a = (new GeoGlobe.Format.JSON).read(r);
+                            n({
+                                features: t,
+                                geojson: a
+                            })
+                        } else
+                            o()
+                    }
+                    ), this);
+                    this.response = this.protocol.read({
+                        sortBy: this.sortBy,
+                        filter: r,
+                        callback: a
+                    })
+                },
+                queryPage: function(e, t, i, r) {
+                    var n = r && r.perPageNumber || 15
+                      , o = ((r && r.pageNumber || 1) - 1) * n + 1;
+                    this.protocol = new GeoGlobe.Protocol.WFS({
+                        readFormat: this.format,
+                        multi: !0,
+                        formatOptions: this.formatOptions,
+                        propertyNames: this.propertyNames,
+                        maxFeatures: n,
+                        startPosition: o,
+                        featurePrefix: this.featurePrefix,
+                        url: this.url,
+                        featureNS: this.featureNS,
+                        version: this.version,
+                        geometryName: this.geometryName,
+                        featureType: this.featureType,
+                        time: this.time,
+                        userecent: this.userecent,
+                        srsName: this.srsName
+                    });
+                    var a = e || this.filter
+                      , s = t || this.successFn
+                      , x = i || this.failFn
+                      , l = GeoGlobe.Function.bind((function(e) {
+                        if (e.success()) {
+                            var t = e.features;
+                            this.isSeparate && (t = this._separateFeatures(t));
+                            var i = this._read_trueName(e);
+                            t.trueNames = i;
+                            var r = (new GeoGlobe.Format.GeoJSON).write(t)
+                              , n = (new GeoGlobe.Format.JSON).read(r);
+                            s({
+                                features: t,
+                                geojson: n
+                            })
+                        } else
+                            x()
+                    }
+                    ), this);
+                    this.response = this.protocol.read({
+                        sortBy: this.sortBy,
+                        filter: a,
+                        callback: l
+                    })
+                },
+                queryTotalNumber: function(e, t, i) {
+                    var r = new GeoGlobe.Format.WFSHits;
+                    this.protocol = new GeoGlobe.Protocol.WFS({
+                        readFormat: r,
+                        propertyNames: this.propertyNames,
+                        resultType: "hits",
+                        maxFeatures: this.maxFeatures,
+                        featurePrefix: this.featurePrefix,
+                        featureNS: this.featureNS,
+                        url: this.url,
+                        version: this.version,
+                        geometryName: this.geometryName,
+                        featureType: this.featureType,
+                        time: this.time,
+                        userecent: this.userecent
+                    });
+                    var n = e || this.filter
+                      , o = t || this.successFn
+                      , a = i || this.failFn
+                      , s = GeoGlobe.Function.bind((function(e) {
+                        if (e.success()) {
+                            var t = e.features;
+                            o(t)
+                        } else
+                            a()
+                    }
+                    ), this);
+                    this.response = this.protocol.read({
+                        filter: n,
+                        callback: s
+                    })
+                },
+                _read_trueName: function(e) {
+                    var t = [];
+                    if (e.priv && e.priv.responseText) {
+                        if (null == this.format)
+                            return null;
+                        var i = this.format.getXMLDoc().getElementsByTagName("trueName");
+                        if (null == i || 0 == i.length)
+                            return null;
+                        for (var r = 0; r < i.length; r++)
+                            t.push(i[r].text);
+                        return t
+                    }
+                    return t
+                },
+                getBufferRegion: function(e, t, i) {
+                    var r = this._getFeaturesCenter(e);
+                    switch (i) {
+                    case "km":
+                        t *= 1e3;
+                    case "m":
+                        t = this._meterToDegree(t, r)
+                    }
+                    return GeoGlobe.Geometry.Polygon.createRegularPolygon(e.geometry, t, 40, 360)
+                },
+                _getFeaturesCenter: function(e) {
+                    return this._getFeaturesExtent(e).getCenterLonLat()
+                },
+                _getFeaturesExtent: function(e) {
+                    GeoGlobe.Util.isArray(e) || (e = [e]);
+                    var t = null;
+                    if (e && e.length > 0) {
+                        t = new GeoGlobe.LngLatBounds;
+                        for (var i = null, r = 0, n = e.length; r < n; r++)
+                            (i = e[r].geometry) && t.extend(i.getBounds())
+                    }
+                    return t
+                },
+                _meterToDegree: function(e, t) {
+                    var i = t.lat;
+                    return e * (899e-8 / Math.cos(GeoGlobe.Util.rad(i)))
+                },
+                pointQuery: function(e, t, i, r, n) {
+                    t = t || 0,
+                    i = i || "degree";
+                    var o = new GeoGlobe.Filter.Spatial({
+                        type: GeoGlobe.Filter.Spatial.DWITHIN,
+                        property: this.geometryName,
+                        distance: t,
+                        distanceUnits: i,
+                        value: e
+                    });
+                    this.query(o, r, n)
+                },
+                pathQuery: function(e, t, i, r, n) {
+                    t = t || 0,
+                    i = i || "degree";
+                    var o = new GeoGlobe.Filter.Spatial({
+                        type: GeoGlobe.Filter.Spatial.DWITHIN,
+                        property: this.geometryName,
+                        distance: t,
+                        distanceUnits: i,
+                        value: e
+                    });
+                    this.query(o, r, n)
+                },
+                polygonQuery: function(e, t, i, r) {
+                    var n = t ? GeoGlobe.Filter.Spatial.CONTAINS : GeoGlobe.Filter.Spatial.INTERSECTS
+                      , o = new GeoGlobe.Filter.Spatial({
+                        type: n,
+                        property: this.geometryName,
+                        value: e
+                    });
+                    this.query(o, i, r)
+                },
+                bboxQuery: function(e, t, i) {
+                    var r = new GeoGlobe.Filter.Spatial({
+                        type: GeoGlobe.Filter.Spatial.BBOX,
+                        property: this.geometryName,
+                        value: e
+                    });
+                    this.query(r, t, i)
+                },
+                attributeQuery: function(e, t, i, r, n, o) {
+                    var a = r && r.matchCase
+                      , s = r ? r.lowerBoundary : null
+                      , x = r ? r.upperBoundary : null
+                      , l = new GeoGlobe.Filter.Comparison({
+                        type: e,
+                        property: t,
+                        value: i,
+                        matchCase: a,
+                        lowerBoundary: s,
+                        upperBoundary: x
+                    });
+                    this.query(l, n, o)
+                },
+                statisticsQuery: function(e, t, i) {
+                    this.protocol = new GeoGlobe.Protocol.WFS({
+                        readFormat: this.format,
+                        formatOptions: this.formatOptions,
+                        propertyNames: this.propertyNames,
+                        resultType: "statistics",
+                        maxFeatures: this.maxFeatures,
+                        featurePrefix: this.featurePrefix,
+                        featureNS: this.featureNS,
+                        url: this.url,
+                        version: this.version,
+                        geometryName: this.geometryName,
+                        featureType: this.featureType,
+                        time: this.time,
+                        userecent: this.userecent
+                    });
+                    var r = e || this.filter
+                      , n = t || this.successFn
+                      , o = i || this.failFn
+                      , a = GeoGlobe.Function.bind((function(e) {
+                        if (e.success()) {
+                            try {
+                                var t = e.priv.responseXML
+                                  , i = this._analysis_StatisticsResult(t)
+                            } catch (t) {
+                                return void n(e.priv.responseText)
+                            }
+                            n(i)
+                        } else
+                            o()
+                    }
+                    ), this);
+                    this.response = this.protocol.read({
+                        sortBy: this.sortBy,
+                        groupBy: this.groupBy,
+                        filter: r,
+                        callback: a
+                    })
+                },
+                _analysis_StatisticsResult: function(e) {
+                    var t = {}
+                      , i = e.documentElement.firstChild.childNodes;
+                    return 0 < i.length && (t.layers = this._analysis_StatisticsResult_results(i)),
+                    t
+                },
+                _analysis_StatisticsResult_results: function(e) {
+                    for (var t = [], i = 0; i < e.length; i++) {
+                        for (var r = {}, n = [], o = e[i].childNodes, a = 0; a < o.length; a++) {
+                            var s = {};
+                            s.layerName = o[a].parentNode.nodeName,
+                            "Microsoft Internet Explorer" == navigator.appName ? s.result = this._analysis_StatisticsResult_results_result_IE(o[a]) : s.result = this._analysis_StatisticsResult_results_result_google(o[a]),
+                            n.push(s)
+                        }
+                        r.results = n,
+                        t.push(r)
+                    }
+                    return t
+                },
+                _analysis_StatisticsResult_results_result_IE: function(e) {
+                    var t = {}
+                      , i = 0;
+                    "Key" == e.childNodes[0].nodeName && (t.Key = e.childNodes[0].text,
+                    i = 1);
+                    for (var r = [], n = []; i < e.childNodes.length; i++) {
+                        var o = {}
+                          , a = {};
+                        o.name = e.childNodes[i].getAttribute("name"),
+                        a.Value = e.childNodes[i].text,
+                        r.push(o),
+                        n.push(a)
+                    }
+                    return t.name = r,
+                    t.values = n,
+                    t
+                },
+                _analysis_StatisticsResult_results_result_google: function(e) {
+                    var t = {}
+                      , i = 0;
+                    "Key" == e.childNodes[0].nodeName && (t.Key = e.childNodes[0].innerHTML,
+                    i = 1);
+                    for (var r = [], n = []; i < e.childNodes.length; i++) {
+                        var o = {}
+                          , a = {};
+                        o.name = e.childNodes[i].getAttribute("name"),
+                        a.Value = e.childNodes[i].innerHTML,
+                        r.push(o),
+                        n.push(a)
+                    }
+                    return t.name = r,
+                    t.values = n,
+                    t
+                },
+                successFn: function(e) {},
+                failFn: function() {
+                    alert("瀵逛笉璧�,鏌ヨ澶辫触,璇锋煡璇㈡湇鍔℃槸鍚︽甯搞��")
+                },
+                _separateFeatures: function(e) {
+                    for (var t = {}, i = 0; i < e.length; i++) {
+                        var r, n = e[i];
+                        t[r = n.gml ? n.gml.featureType : n.type] || (t[r] = []),
+                        t[r].push(n)
+                    }
+                    return t
+                },
+                setTime: function(e) {
+                    this.time = e
+                },
+                setUserecent: function(e) {
+                    this.userecent = e
+                },
+                CLASS_NAME: "GeoGlobe.Query.WFSQuery"
+            }),
+            GeoGlobe.Query.WFSQuery.reverseGeometryXY = function(e) {
+                var t = {
+                    Point: function(e, t) {
+                        var i = e.x
+                          , r = e.y
+                          , n = e.clone(e);
+                        return n.x = r,
+                        n.y = i,
+                        n
+                    },
+                    LineString: function(e, t) {
+                        for (var i = e.clone(e), r = 0; r < i.components.length; r++) {
+                            var n = t.Point(i.components[r]);
+                            i.components[r] = n
+                        }
+                        return i
+                    },
+                    Polygon: function(e, t) {
+                        for (var i = e.clone(e), r = 0; r < i.components.length; r++)
+                            for (var n = 0; n < i.components[r].components.length - 1; n++) {
+                                var o = t.Point(i.components[r].components[n]);
+                                i.components[r].components[n] = o
+                            }
+                        return i
+                    }
+                };
+                return t[{
+                    "GeoGlobe.Geometry.Point": "Point",
+                    "GeoGlobe.Geometry.MultiPoint": "MultiPoint",
+                    "GeoGlobe.Geometry.LineString": "LineString",
+                    "GeoGlobe.Geometry.MultiLineString": "MultiLineString",
+                    "GeoGlobe.Geometry.Polygon": "Polygon",
+                    "GeoGlobe.Geometry.MultiPolygon": "MultiPolygon",
+                    "GeoGlobe.Geometry.Collection": "GeometryCollection"
+                }[e.CLASS_NAME]](e, t)
+            }
+            ,
+            GeoGlobe.Format.WFSHits = GeoGlobe.Class4OL(GeoGlobe.Format.XML, {
+                wfsns: "http://www.opengis.net/wfs",
+                featureCollection: "FeatureCollection",
+                read: function(e) {
+                    "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e]));
+                    var t = e.documentElement;
+                    return {
+                        numberOfFeatures: _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(t.getAttribute("numberOfFeatures"))
+                    }
+                }
+            }),
+            GeoGlobe.Query.GeoCodingQuery = function(e, t) {
+                t = GeoGlobe.Util.applyDefaults(t, GeoGlobe.Query.GeoCodingQuery.DEFAULTS);
+                var i = GeoGlobe.Query.GeoCodingQuery["v" + t.version.replace(/\./g, "_")];
+                if (!i)
+                    throw "涓嶆敮鎸佺殑鍦板潃鍖归厤鏈嶅姟鐗堟湰: " + t.version;
+                return new i(e,t)
+            }
+            ,
+            GeoGlobe.Query.GeoCodingQuery.DEFAULTS = {
+                version: "1.0.0"
+            },
+            GeoGlobe.Query.GeoCodingQuery.v1 = GeoGlobe.Class4OL({
+                version: "1.0.0",
+                url: null,
+                initialize: function(e, t) {
+                    this.url = e,
+                    GeoGlobe.Util.extend(this, t),
+                    this.format = new GeoGlobe.Format.JSON
+                },
+                getCommonParams: function(e) {
+                    var t = {
+                        request: "GetCategory",
+                        service: "GeoCoding",
+                        version: this.version,
+                        output: "json"
+                    };
+                    return GeoGlobe.Util.extend(t, e),
+                    t
+                },
+                getCategoryByName: function(e, t, i) {
+                    var r = this.getCommonParams();
+                    "string" == typeof e && 0 !== e.length && (r.categoryName = e),
+                    i = i || this.failFn,
+                    GeoGlobe.Function.bind(this._requestCategory, this)(r, t, i)
+                },
+                getCategoryByCode: function(e, t, i) {
+                    var r = this.getCommonParams();
+                    "number" == typeof e && (r.categoryCode = e),
+                    GeoGlobe.Function.bind(this._requestCategory, this)(r, t, i)
+                },
+                getAllCategory: function(e, t) {
+                    var i = this.getCommonParams();
+                    GeoGlobe.Function.bind(this._requestCategory, this)(i, e, t)
+                },
+                _requestCategory: function(e, t, i) {
+                    i = i || this.failFn,
+                    GeoGlobe.loadURL(this.url, e, this, (function(e) {
+                        try {
+                            var i = this.format.read(e.responseText)
+                        } catch (i) {
+                            return void t(e.responseText)
+                        }
+                        t(i)
+                    }
+                    ), i)
+                },
+                _analysis_GeoCodeResult: function(e) {
+                    var t = {
+                        status: e.status
+                    };
+                    switch (e.status) {
+                    case "OK":
+                        (i = e.results) && (t.results = this._analysis_GeoCodeResult_results(i));
+                        break;
+                    case "INVALID_REQUEST":
+                    case "NO_RESULTS":
+                    case "UNKNOWN_ERROR":
+                        break;
+                    default:
+                        var i;
+                        t = {
+                            requestKeyWord: e.requestKeyWord,
+                            count: e.count,
+                            statisticsLevel: e.statisticsLevel,
+                            statisticsLevelName: e.statisticsLevelName
+                        },
+                        e && e.count > 0 && (i = e.results) && (t.results = this._analysis_GeoCodeResult_statistics(i))
+                    }
+                    return t
+                },
+                _analysis_GeoCodeResult_results: function(e) {
+                    var t = [];
+                    if (GeoGlobe.Util.isArray(e)) {
+                        for (var i = 0, r = e.length; i < r; i++) {
+                            var n = {};
+                            n.requestKeyWord = e[i].requestKeyWord,
+                            e[i].errorCorrectionTips && (n.errorCorrectionTips = e[i].errorCorrectionTips),
+                            n.count = e[i].count,
+                            e[i].result && (n.result = this._analysis_GeoCodeResult_results_result(e[i].result)),
+                            t.push(n)
+                        }
+                        return t
+                    }
+                },
+                _analysis_GeoCodeResult_statistics: function(e) {
+                    var t = [];
+                    if (GeoGlobe.Util.isArray(e)) {
+                        for (var i = 0, r = e.length; i < r; i++) {
+                            var n = {};
+                            e[i].errorCorrectionTips && (n.errorCorrectionTips = e[i].errorCorrectionTips),
+                            e[i] && (n.name = e[i].name,
+                            n.value = e[i].value,
+                            n.remark = e[i].remark),
+                            t.push(n)
+                        }
+                        return t
+                    }
+                },
+                _analysis_GeoCodeResult_results_result: function(e) {
+                    for (var t = [], i = 0, r = e.length; i < r; i++) {
+                        var n = {}
+                          , o = {};
+                        n.resultType = e[i].resultType,
+                        n.precise = e[i].precise,
+                        n.isBrief = e[i].isBrief,
+                        n.score = e[i].score,
+                        e[i].addressComponent.street && (o = e[i].addressComponent.street),
+                        0 == n.isBrief && (n.addressComponent = this._analysis_GeoCodeResult_results_result_address(e[i].addressComponent, n.resultType)),
+                        n.poiArray = this._analysispoiArray(e[i].poiArray),
+                        e[i].location && (n.location = e[i].location),
+                        0 == n.precise && (n.referenceAddressArray = e[i].referenceAddressArray),
+                        o && (n.street_path = o),
+                        t.push(n)
+                    }
+                    return t
+                },
+                _analysis_GeoCodeResult_results_result_address: function(e, t) {
+                    var i = {
+                        country: e.country
+                    };
+                    if (e.province && (i.province = e.province),
+                    e.city && (i.city = e.city),
+                    e.district && (i.district = e.district),
+                    e.town && (i.town = e.town),
+                    e.street && (i.street = {
+                        name: e.street.name
+                    },
+                    "street" === t && e.street.geometry)) {
+                        var r = this.format.read(e.street.geometry)
+                          , n = null;
+                        (r.paths || r.rings || r.x && r.y) && (n = this._getGeometry(r),
+                        i.street.geometry = n)
+                    }
+                    if (e.streetNumber && (i.streetNumber = e.streetNumber),
+                    e.buildingNumber && (i.buildingNumber = e.buildingNumber),
+                    "adminArea" === t) {
+                        if (e.geometry) {
+                            var o = this.format.read(e.geometry)
+                              , a = null;
+                            o.rings || o.paths ? (a = this._getGeometry(o),
+                            i.geometry = a) : "number" == typeof o.x && "number" == typeof o.y && (i.geometry = this._getGeometry(o))
+                        }
+                        e.subordinate && (i.subordinate = e.subordinate),
+                        e.zipCode && (i.zipCode = e.zipCode),
+                        e.callingCode && (i.callingCode = e.callingCode)
+                    }
+                    return i
+                },
+                _analysispoiArray: function(e) {
+                    for (var t = [], i = 0, r = e.length; i < r; i++) {
+                        var n = {};
+                        for (var o in e[i])
+                            n[o] = e[i][o];
+                        if ("" != n.geometry && null != n.geometry) {
+                            var a = this.format.read(n.geometry);
+                            n.geometry = this._getGeometry(a)
+                        }
+                        t.push(n)
+                    }
+                    return t
+                },
+                _analysisLocation: function(e) {},
+                _getGeometry: function(e) {
+                    for (var t in e) {
+                        if ("spatialReference" == t)
+                            return;
+                        return e = e.hasOwnProperty("x") && e.hasOwnProperty("y") ? new GeoGlobe.Geometry.Point(e.x,e.y) : e.hasOwnProperty("xmin") && e.hasOwnProperty("ymin") && e.hasOwnProperty("xmax") && e.hasOwnProperty("ymax") ? new GeoGlobe.Bounds(e.xmin,e.ymin,e.xmax,e.ymax).toGeometry() : this._geometryType[t](e[t])
+                    }
+                },
+                _geometryType: {
+                    points: function(e) {
+                        var t = [];
+                        if (GeoGlobe.Util.isArray(e))
+                            for (var i = 0, r = e.length; i < r; i++) {
+                                var n = new GeoGlobe.Geometry.Point(e[i][0],e[i][1]);
+                                t.push(n)
+                            }
+                        return t
+                    },
+                    paths: function(e) {
+                        var t = [];
+                        if (GeoGlobe.Util.isArray(e)) {
+                            for (var i = 0, r = e.length; i < r; i++) {
+                                for (var n = [], o = 0, a = e[i].length; o < a; o++)
+                                    n.push(new GeoGlobe.Geometry.Point(e[i][o][0],e[i][o][1]));
+                                var s = new GeoGlobe.Geometry.LineString(n);
+                                t.push(s)
+                            }
+                            var x = new GeoGlobe.Geometry.MultiLineString(t)
+                        }
+                        return x
+                    },
+                    rings: function(e) {
+                        var t = [];
+                        if (GeoGlobe.Util.isArray(e)) {
+                            for (var i = 0, r = e.length; i < r; i++) {
+                                for (var n = [], o = 0, a = e[i].length; o < a; o++)
+                                    n.push(new GeoGlobe.Geometry.Point(e[i][o][0],e[i][o][1]));
+                                var s = new GeoGlobe.Geometry.LinearRing(n);
+                                t.push(s)
+                            }
+                            var x = new GeoGlobe.Geometry.Polygon(t)
+                        }
+                        return x
+                    }
+                },
+                failFn: function(e) {
+                    "string" == typeof e && alert(e),
+                    alert("瀵逛笉璧凤紝鏌ヨ璇锋眰澶辫触锛佽妫�鏌ュ湴鍧�鍖归厤鏈嶅姟鏄惁姝e父杩愯銆俓n褰撳墠鏈嶅姟鍦板潃涓猴細" + this.url)
+                },
+                CLASS_NAME: "GeoGlobe.Query.GeoCodingQuery.v1"
+            }),
+            GeoGlobe.Query.GeoCodingQuery.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Query.GeoCodingQuery.v1, {
+                addressesToLocations: function(e, t, i) {
+                    var r = this.getCommonParams({
+                        request: "GeoCoder"
+                    });
+                    if ("string" == typeof e.address)
+                        r.address = e.address;
+                    else if (GeoGlobe.Util.isArray(e.address)) {
+                        for (var n = "", o = 0; o < e.address.length; o++)
+                            n += e.address[o] + ",";
+                        n = n.substr(0, n.length - 1),
+                        r.address = n
+                    } else if (null == e.address || null == e.address)
+                        throw "address鏄繀閫夊弬鏁帮紒";
+                    if ("number" == typeof e.categoryCode && (r.categoryCode = e.categoryCode),
+                    e.extent instanceof GeoGlobe.LngLatBounds)
+                        r.bbox = e.extent.toBBOX(null, !0);
+                    else if (e.extent instanceof GeoGlobe.Geometry.Polygon) {
+                        for (var a = e.extent, s = [], x = (o = 0,
+                        a.components.length); o < x; o++)
+                            for (var l = a.components[o].components, c = 0; c < l.length; c++)
+                                s.push(l[c].toShortString());
+                        r.bbox = s.join(",")
+                    }
+                    "boolean" == typeof e.fuzzyMatch && (r.fuzzyMatch = e.fuzzyMatch),
+                    "string" == typeof e.resultType && (r.resultType = e.resultType),
+                    "number" == typeof e.maxCount && (r.maxCount = e.maxCount),
+                    "number" == typeof e.startPosition && (r.startPosition = e.startPosition),
+                    GeoGlobe.loadURL(this.url, r, this, (function(e) {
+                        try {
+                            var i = this.format.read(e.responseText);
+                            if ("result" == r.resultType)
+                                var n = this._parseQueryResultToFeature(i);
+                            else
+                                n = this._analysis_GeoCodeResult(i)
+                        } catch (i) {
+                            return void t(e.responseText)
+                        }
+                        t(n)
+                    }
+                    ), this.failFn)
+                },
+                locationToAddresses: function(e, t, i) {
+                    var r = this.getCommonParams({
+                        request: "GeoCoder"
+                    });
+                    if (!e.lonlat)
+                        throw "address鏄繀閫夊弬鏁帮紒璇峰~鍐欐纭殑鏁版嵁绫诲瀷锛�";
+                    r.latlng = e.lonlat.lat + "," + e.lonlat.lng,
+                    "number" == typeof e.tolerance && (r.tolerance = e.tolerance),
+                    "string" == typeof e.unit && (r.unit = e.unit),
+                    "string" == typeof e.resultType && (r.resultType = e.resultType),
+                    "number" == typeof e.maxCount && (r.maxCount = e.maxCount),
+                    "number" == typeof e.startPosition && (r.startPosition = e.startPosition),
+                    GeoGlobe.loadURL(this.url, r, this, (function(e) {
+                        try {
+                            var i = this.format.read(e.responseText);
+                            if ("result" == r.resultType)
+                                var n = this._parseQueryResultToFeature(i);
+                            else
+                                n = this._analysis_GeoCodeResult(i)
+                        } catch (i) {
+                            return void t(e.responseText)
+                        }
+                        t(n, i)
+                    }
+                    ), this.failFn)
+                },
+                getLocations: function(e, t, i) {
+                    this.addressesToLocations(e, GeoGlobe.Function.bind((function(e) {
+                        t(this._parseQueryResultToFeature(e, total))
+                    }
+                    ), this), i)
+                },
+                getLocationsByPage: function(e, t, i) {
+                    e.resultType = "hits",
+                    this.addressesToLocations(e, GeoGlobe.Function.bind((function(r) {
+                        if ("OK" == r.status) {
+                            e.resultType = "result";
+                            var n = r.results[0].count;
+                            null != e.maxCount && null != e.maxCount || (e.maxCount = 3),
+                            e.startPosition = (e.startPosition - 1) * e.maxCount + 1,
+                            this.addressesToLocations(e, GeoGlobe.Function.bind((function(e) {
+                                t(this._parseQueryResultToFeature(e, n))
+                            }
+                            ), this), i)
+                        } else
+                            alert("娌℃湁鏌ヨ鍒颁换浣曟暟鎹�")
+                    }
+                    ), this), i)
+                },
+                getAddresses: function(e, t, i) {
+                    this.locationToAddresses(e, GeoGlobe.Function.bind((function(e) {
+                        t(this._parseQueryResultToFeature(e, total))
+                    }
+                    ), this), i)
+                },
+                getAddressesByPage: function(e, t, i) {
+                    e.resultType = "hits",
+                    this.locationToAddresses(e, GeoGlobe.Function.bind((function(r) {
+                        if ("OK" == r.status) {
+                            e.resultType = "result";
+                            var n = r.results[0].count;
+                            null != e.maxCount && null != e.maxCount || (e.maxCount = 3),
+                            e.startPosition = (e.startPosition - 1) * e.maxCount + 1,
+                            this.locationToAddresses(e, GeoGlobe.Function.bind((function(e) {
+                                t(this._parseQueryResultToFeature(e, n))
+                            }
+                            ), this), i)
+                        } else
+                            alert("娌℃湁鏌ヨ鍒颁换浣曟暟鎹�")
+                    }
+                    ), this), i)
+                },
+                _parseQueryResultToFeature: function(e) {
+                    var t = [];
+                    if ("OK" == e.status && e.results)
+                        for (var i = 0; i < e.results.length; i++) {
+                            var r = e.results[i].result;
+                            if (r)
+                                for (var n = 0; n < r.length; n++) {
+                                    var o = {}
+                                      , a = null;
+                                    if (o.requestKeyWord = e.results[i].requestKeyWord,
+                                    GeoGlobe.Util.isArray(r[n].poiArray))
+                                        for (var s = 0; s < r[n].poiArray.length; s++)
+                                            o.CONTINENT = r[n].poiArray[s].CONTINENT,
+                                            o.GBCODE = r[n].poiArray[s].GBCODE,
+                                            o.STANDARDNAME = r[n].poiArray[s].STANDARDNAME,
+                                            o.name = r[n].poiArray[s].name;
+                                    if (r[n].addressComponent) {
+                                        var x = r[n].addressComponent;
+                                        o.address = this._getAddress(x, o.name),
+                                        o.country = r[n].addressComponent.country,
+                                        o.province = r[n].addressComponent.province,
+                                        o.city = r[n].addressComponent.city,
+                                        o.district = r[n].addressComponent.district,
+                                        r[n].addressComponent.street ? (o.streetName = r[n].addressComponent.street.name,
+                                        o.streetgeometry = r[n].addressComponent.street.geometry) : o.streetName = "",
+                                        o.streetNumber = r[n].addressComponent.streetNumber
+                                    }
+                                    r[n].location && (r[n].location.lng && (o.lng = r[n].location.lng),
+                                    r[n].location.lat && (o.lat = r[n].location.lat),
+                                    a = new GeoGlobe.Geometry.Point(r[n].location.lng,r[n].location.lat)),
+                                    o.isBrief = r[n].isBrief,
+                                    o.precise = r[n].precise,
+                                    o.resultType = r[n].resultType,
+                                    o.score = r[n].score;
+                                    var l = new GeoGlobe.Feature(a,o);
+                                    t.push(l)
+                                }
+                        }
+                    var c = (new GeoGlobe.Format.GeoJSON).write(t)
+                      , u = (new GeoGlobe.Format.JSON).read(c);
+                    return {
+                        status: e.status,
+                        features: t,
+                        geojsonFeatures: u
+                    }
+                },
+                _getAddress: function(e, t) {
+                    var i = "";
+                    return e.country && (i += e.country),
+                    e.province && (i += e.province),
+                    e.city && (i += e.city),
+                    e.district && (i += e.district),
+                    e.street && (e.street.name && (i += e.street.name),
+                    e.streetNumber && (i += e.streetNumber + "鍙�")),
+                    t && (i += t),
+                    i
+                },
+                CLASS_NAME: "GeoGlobe.Query.GeoCodingQuery.v1_0_0"
+            }),
+            GeoGlobe.Query.GeoCodingQuery.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Query.GeoCodingQuery.v1, {
+                method: "get",
+                initialize: function(e, t) {
+                    GeoGlobe.Util.extend(this, t),
+                    this.filterFormat = new GeoGlobe.Format.Filter,
+                    GeoGlobe.Query.GeoCodingQuery.v1.prototype.initialize.apply(this, arguments)
+                },
+                addressesToLocations: function(e, t, i) {
+                    var r = this.getCommonParams({
+                        request: "GeoCoder"
+                    });
+                    if (r.reverseMatch = !1,
+                    "string" == typeof e.address && (r.keyword = e.address),
+                    "number" == typeof e.categoryCode && (r.categoryCode = e.categoryCode),
+                    !(null != e.address && null != e.address || null != e.categoryCode && null != e.categoryCode))
+                        throw "address鏄繀閫夊弬鏁帮紒";
+                    if (e.extent instanceof GeoGlobe.LngLatBounds)
+                        r.bbox = e.extent.toBBOX(null, !0);
+                    else if (e.extent instanceof GeoGlobe.Geometry.Polygon) {
+                        for (var n = e.extent, o = [], a = 0, s = n.components.length; a < s; a++)
+                            for (var x = n.components[a].components, l = 0; l < x.length; l++)
+                                o.push(x[l].toShortString());
+                        r.bbox = o.join(",")
+                    }
+                    if (e.filter instanceof GeoGlobe.Filter) {
+                        var c = this.filterFormat.write(e.filter)
+                          , u = GeoGlobe.Format.XML.prototype.write.apply(this.filterFormat, [c]);
+                        r.filter = u
+                    }
+                    "string" == typeof e.resultType && (r.resultType = e.resultType),
+                    "statistics" == e.resultType && (r.statisticsLevel = e.statisticsLevel),
+                    "number" == typeof e.maxCount && (r.maxCount = e.maxCount),
+                    "number" == typeof e.startPosition && (r.startPosition = e.startPosition),
+                    "boolean" == typeof e.semanticAnalysis && (r.semanticAnalysis = e.semanticAnalysis),
+                    "boolean" == typeof e.customWeight && (r.customWeight = e.customWeight),
+                    this._setGeoCoderCommonProperty(r, e),
+                    this._getCodingRequest(r, t, i)
+                },
+                _getCodingRequest: function(e, t, i) {
+                    if ("get" == this.method)
+                        GeoGlobe.loadURL(this.url, e, this, (function(i) {
+                            try {
+                                var r = this.format.read(i.responseText);
+                                if ("result" == e.resultType)
+                                    var n = this._parseQueryResultToFeature(r);
+                                else
+                                    n = this._analysis_GeoCodeResult(r)
+                            } catch (e) {
+                                return void t(i.responseText)
+                            }
+                            t(n)
+                        }
+                        ), this.failFn);
+                    else {
+                        var r = GeoGlobe.Util.getParameterString(e);
+                        GeoGlobe.Request.POST({
+                            url: this.url,
+                            data: r,
+                            success: function(e) {
+                                try {
+                                    var i = this.format.read(e.responseText)
+                                      , r = this._analysis_GeoCodeResult(i)
+                                } catch (i) {
+                                    return void t(e.responseText)
+                                }
+                                t(r)
+                            },
+                            failure: this.failFn,
+                            scope: this
+                        })
+                    }
+                },
+                _setGeoCoderCommonProperty: function(e, t) {
+                    "string" == typeof t.sortFields && (e.sortFields = t.sortFields),
+                    "string" == typeof t.scoreFilter && (e.scoreFilter = t.scoreFilter)
+                },
+                locationToAddresses: function(e, t, i) {
+                    var r = this.getCommonParams({
+                        request: "GeoCoder"
+                    });
+                    if (r.reverseMatch = !0,
+                    !e.lonlat)
+                        throw "address鏄繀閫夊弬鏁帮紒璇峰~鍐欐纭殑鏁版嵁绫诲瀷锛�";
+                    r.keyword = e.lonlat.lat + "," + e.lonlat.lng,
+                    "number" == typeof e.tolerance && (r.tolerance = e.tolerance),
+                    "string" == typeof e.unit && (r.unit = e.unit),
+                    "string" == typeof e.resultType && (r.resultType = e.resultType),
+                    "statistics" == e.resultType && (r.statisticsLevel = e.statisticsLevel),
+                    "number" == typeof e.maxCount && (r.maxCount = e.maxCount),
+                    "number" == typeof e.startPosition && (r.startPosition = e.startPosition),
+                    "boolean" == typeof e.customWeight && (r.customWeight = e.customWeight),
+                    this._setGeoCoderCommonProperty(r, e),
+                    this._getCodingRequest(r, t, i)
+                },
+                batchAddressesToLocations: function(e, t, i) {
+                    var r = this.getCommonParams({
+                        request: "BatchGeoCoder",
+                        service: "GeoCoding"
+                    });
+                    if (r.reverseMatch = !1,
+                    GeoGlobe.Util.isArray(e.address)) {
+                        for (var n = "", o = 0; o < e.address.length; o++)
+                            n += e.address[o] + ",";
+                        n = n.substr(0, n.length - 1),
+                        r.keywords = n
+                    } else if (null == e.address || null == e.address)
+                        throw "address鏄繀閫夊弬鏁帮紒";
+                    if ("number" == typeof e.singleKeywordResultCount && (r.singleKeywordResultCount = e.singleKeywordResultCount),
+                    e.filter instanceof GeoGlobe.Filter) {
+                        var a = this.filterFormat.write(e.filter)
+                          , s = GeoGlobe.Format.XML.prototype.write.apply(this.filterFormat, [a]);
+                        r.filter = s
+                    }
+                    this._setGeoCoderCommonProperty(r, e),
+                    this._getCodingRequest(r, t, i)
+                },
+                batchLocationToAddresses: function(e, t, i) {
+                    var r = this.getCommonParams({
+                        request: "BatchGeoCoder",
+                        service: "GeoCoding"
+                    });
+                    if (r.reverseMatch = !0,
+                    e.lonlats instanceof GeoGlobe.LonLat)
+                        e.lonlats = [e.lonlats];
+                    else if (!GeoGlobe.Util.isArray(e.lonlats))
+                        throw "address鏄繀閫夊弬鏁帮紒璇峰~鍐欐纭殑鏁版嵁绫诲瀷锛�";
+                    if (GeoGlobe.Util.isArray(e.lonlats)) {
+                        for (var n = "", o = 0; o < e.lonlats.length; o++)
+                            n += e.lonlats[o].lat + "," + e.lonlats[o].lng + ";";
+                        n = n.substr(0, n.length - 1),
+                        r.keywords = n
+                    }
+                    "number" == typeof e.tolerance && (r.tolerance = e.tolerance),
+                    "string" == typeof e.unit && (r.unit = e.unit),
+                    "number" == typeof e.singleKeywordResultCount && (r.singleKeywordResultCount = e.singleKeywordResultCount),
+                    this._setGeoCoderCommonProperty(r, e),
+                    this._getCodingRequest(r, t, i)
+                },
+                _getAddress: function(e, t) {
+                    var i = "";
+                    return e.country && (i += e.country),
+                    e.province && (i += e.province),
+                    e.city && (i += e.city),
+                    e.district && (i += e.district),
+                    e.street && (e.street.name && (i += e.street.name),
+                    e.streetNumber && (i += e.streetNumber + "鍙�")),
+                    t && (i += t),
+                    i
+                },
+                getLocations: function(e, t, i) {
+                    this.addressesToLocations(e, GeoGlobe.Function.bind((function(e) {
+                        t(this._parseQueryResultToFeature(e, total))
+                    }
+                    ), this), i)
+                },
+                getLocationsByPage: function(e, t, i) {
+                    e.resultType = "hits",
+                    this.addressesToLocations(e, GeoGlobe.Function.bind((function(r) {
+                        if ("OK" == r.status) {
+                            e.resultType = "result";
+                            var n = r.results[0].count;
+                            null != e.maxCount && null != e.maxCount || (e.maxCount = 3),
+                            e.startPosition = (e.startPosition - 1) * e.maxCount + 1,
+                            this.addressesToLocations(e, GeoGlobe.Function.bind((function(e) {
+                                t(this._parseQueryResultToFeature(e, n))
+                            }
+                            ), this), i)
+                        } else
+                            alert("娌℃湁鏌ヨ鍒颁换浣曟暟鎹�")
+                    }
+                    ), this), i)
+                },
+                getAddresses: function(e, t, i) {
+                    this.locationToAddresses(e, GeoGlobe.Function.bind((function(e) {
+                        t(this._parseQueryResultToFeature(e, total))
+                    }
+                    ), this), i)
+                },
+                getAddressesByPage: function(e, t, i) {
+                    e.resultType = "hits",
+                    this.locationToAddresses(e, GeoGlobe.Function.bind((function(r) {
+                        if ("OK" == r.status) {
+                            e.resultType = "result";
+                            var n = r.results[0].count;
+                            null != e.maxCount && null != e.maxCount || (e.maxCount = 3),
+                            e.startPosition = (e.startPosition - 1) * e.maxCount + 1,
+                            this.locationToAddresses(e, GeoGlobe.Function.bind((function(e) {
+                                t(this._parseQueryResultToFeature(e, n))
+                            }
+                            ), this), i)
+                        } else
+                            alert("娌℃湁鏌ヨ鍒颁换浣曟暟鎹�")
+                    }
+                    ), this), i)
+                },
+                batchGetAddresses: function(e, t, i) {
+                    this.batchLocationToAddresses(e, GeoGlobe.Function.bind((function(e) {
+                        t(this._parseQueryResultToFeature(e))
+                    }
+                    ), this), i)
+                },
+                batchGetLocations: function(e, t, i) {
+                    this.batchAddressesToLocations(e, GeoGlobe.Function.bind((function(e) {
+                        t(this._parseQueryResultToFeature(e))
+                    }
+                    ), this), i)
+                },
+                _parseQueryResultToFeature: function(e) {
+                    var t = [];
+                    if ("OK" == e.status && e.results)
+                        for (var i = 0; i < e.results.length; i++) {
+                            var r = e.results[i].result;
+                            if (r)
+                                for (var n = 0; n < r.length; n++) {
+                                    var o = {}
+                                      , a = null;
+                                    if (o.requestKeyWord = e.results[i].requestKeyWord,
+                                    GeoGlobe.Util.isArray(r[n].poiArray))
+                                        for (var s = 0; s < r[n].poiArray.length; s++)
+                                            o.CONTINENT = r[n].poiArray[s].CONTINENT,
+                                            o.GBCODE = r[n].poiArray[s].GBCODE,
+                                            o.STANDARDNAME = r[n].poiArray[s].STANDARDNAME,
+                                            o.name = r[n].poiArray[s].name;
+                                    if (r[n].addressComponent) {
+                                        var x = r[n].addressComponent;
+                                        o.address = this._getAddress(x, o.name),
+                                        o.country = r[n].addressComponent.country,
+                                        o.province = r[n].addressComponent.province,
+                                        o.city = r[n].addressComponent.city,
+                                        o.district = r[n].addressComponent.district,
+                                        r[n].addressComponent.street ? (o.streetName = r[n].addressComponent.street.name,
+                                        o.streetgeometry = r[n].addressComponent.street.geometry) : o.streetName = "",
+                                        o.streetNumber = r[n].addressComponent.streetNumber
+                                    }
+                                    r[n].location && (r[n].location.lng && (o.lng = r[n].location.lng),
+                                    r[n].location.lat && (o.lat = r[n].location.lat),
+                                    a = new GeoGlobe.Geometry.Point(r[n].location.lng,r[n].location.lat)),
+                                    o.isBrief = r[n].isBrief,
+                                    o.precise = r[n].precise,
+                                    o.resultType = r[n].resultType,
+                                    o.score = r[n].score;
+                                    var l = new GeoGlobe.Feature(a,o);
+                                    t.push(l)
+                                }
+                        }
+                    var c = (new GeoGlobe.Format.GeoJSON).write(t)
+                      , u = (new GeoGlobe.Format.JSON).read(c);
+                    return {
+                        status: e.status,
+                        features: t,
+                        geojsonFeatures: u
+                    }
+                },
+                CLASS_NAME: "GeoGlobe.Query.GeoCodingQuery.v1_1_0"
+            }),
+            GeoGlobe.Service = GeoGlobe.Class({
+                name: null,
+                url: null,
+                version: null,
+                userid: "test@liferay.com",
+                initialize: function(e, t, i) {
+                    this.name = e,
+                    this.url = t,
+                    GeoGlobe.Util.extend(this, i)
+                },
+                getCapabilities: function(e, t) {},
+                isExist: function() {},
+                failFn: function(e) {
+                    alert("鏈嶅姟璇锋眰澶辫触锛岃妫�鏌ユ湇鍔℃槸鍚︽甯歌繍琛屾垨璇锋眰鍦板潃鏄惁姝g‘銆俓n璇锋眰鍦板潃锛�" + this.url + "\n鎿嶄綔绫诲瀷锛�" + e)
+                },
+                _parseToXML: function(e) {
+                    var t = e.responseXML;
+                    return t && t.documentElement || (t = e.responseText),
+                    (new GeoGlobe.Format.XML).read(t)
+                },
+                _checkIsError: function(e) {
+                    return (new GeoGlobe.Format.XML).read(e).selectNodes("ServiceExceptionReport").length > 0 ? this._parseToJSON(e) : null
+                },
+                _isException: function(e) {
+                    return !(!e || !e.ServiceExceptionReport)
+                },
+                _parseToJSON: function(e) {
+                    return (new GeoGlobe.Util.Format.XML2JSON).read(e)
+                },
+                CLASS_NAME: "GeoGlobe.Service"
+            }),
+            GeoGlobe.Service.WFST = GeoGlobe.Class4OL(GeoGlobe.Service, {
+                xy: !0,
+                initialize: function(e, t, i) {
+                    GeoGlobe.Service.prototype.initialize.apply(this, arguments)
+                },
+                getCapabilities: function(e, t) {
+                    var i = this.url
+                      , r = {
+                        REQUEST: "GetCapabilities",
+                        SERVICE: "WFS",
+                        VERSION: "1.0.0"
+                    };
+                    t || (t = function() {
+                        this.failFn(r.REQUEST)
+                    }
+                    ),
+                    GeoGlobe.loadURL(i, r, this, (function(t) {
+                        e(t)
+                    }
+                    ), t)
+                },
+                isExist: function() {
+                    var e = !1
+                      , t = this.url;
+                    return GeoGlobe.Request.GET({
+                        url: t,
+                        params: {
+                            REQUEST: "GetCapabilities",
+                            SERVICE: "WFS"
+                        },
+                        scope: this,
+                        async: !1,
+                        success: function() {
+                            e = !0
+                        }
+                    }),
+                    e
+                },
+                describeFeatureType: function(e, t, i) {
+                    var r = this.url;
+                    GeoGlobe.Util.applyDefaults(e, {
+                        SERVICE: "WFS",
+                        VERSION: "1.0.0",
+                        REQUEST: "DescribeFeatureType"
+                    }),
+                    i || (i = function() {
+                        this.failFn(e.REQUEST)
+                    }
+                    ),
+                    GeoGlobe.loadURL(r, e, this, (function(e) {
+                        t(e)
+                    }
+                    ), i)
+                },
+                getFeature: function(e, t, i) {
+                    var r = this.url;
+                    GeoGlobe.Util.applyDefaults(e, {
+                        SERVICE: "WFS",
+                        VERSION: "1.0.0",
+                        REQUEST: "GetFeature"
+                    }),
+                    i || (i = function() {
+                        this.failFn(e.REQUEST)
+                    }
+                    ),
+                    GeoGlobe.loadURL(r, e, this, (function(e) {
+                        t(e)
+                    }
+                    ), i)
+                },
+                lockFeature: function(e, t, i) {
+                    this.url,
+                    GeoGlobe.Util.applyDefaults(e, {
+                        service: "WFS",
+                        version: "1.0.0",
+                        request: "LockFeature",
+                        expiry: 1,
+                        lockAction: "ALL"
+                    });
+                    var r = this._parserFilterToString(e.filter)
+                      , n = GeoGlobe.String.format('<?xml version="1.0" encoding="UTF-8"?><LockFeature version="${version}" service="${service}" lockAction="${lockAction}" expiry="${expiry}" xmlns:wfs=" http://www.opengis.net/wfs" xmlns:gml=" http://www.opengis.net/gml" xmlns:myns=" http://www.someserver.com/myns" xmlns:ogc=" http://www.opengis.net/ogc" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs ../wfs/1.1.0/WFS.xsd"><Lock typeName="${typeName}">${filterXMLString}</Lock></LockFeature>', {
+                        version: e.version,
+                        service: e.service,
+                        lockAction: e.lockAction,
+                        expiry: e.expiry,
+                        typeName: e.typeName,
+                        filterXMLString: r
+                    });
+                    i || (i = function() {
+                        this.failFn(e.request)
+                    }
+                    ),
+                    new GeoGlobe.Request.POST({
+                        url: this.url,
+                        data: n,
+                        scope: this,
+                        success: t,
+                        failure: i
+                    })
+                },
+                transaction: function(e, t, i, r, n, o) {
+                    var a = this.url;
+                    GeoGlobe.Util.applyDefaults(e, {
+                        service: "WFS",
+                        version: "1.0.0",
+                        request: "Transaction",
+                        releaseAction: "ALL"
+                    });
+                    var s = e.lockId
+                      , x = "";
+                    s && (x += "<LockId>" + s + "</LockId>");
+                    var l = "";
+                    t && (l += this._getInsertString(t)),
+                    i && (l += this._getUpdateString(i)),
+                    r && (l += this._getDeleteString(r));
+                    var c = GeoGlobe.String.format('<?xml version="1.0" encoding="UTF-8"?><wfs:Transaction releaseAction="${releaseAction}" handle="Transaction 01" version="${version}" service="${service}" xmlns="http://www.someserver.com/myns" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:wfs="http://www.opengis.net/wfs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">${lockIdString}${transactionString}</wfs:Transaction>', {
+                        releaseAction: e.releaseAction,
+                        version: e.version,
+                        service: e.service,
+                        lockIdString: x,
+                        transactionString: l
+                    });
+                    o || (o = function() {
+                        this.failFn(e.request)
+                    }
+                    ),
+                    new GeoGlobe.Request.POST({
+                        url: a,
+                        data: c,
+                        scope: this,
+                        success: n,
+                        failure: o
+                    })
+                },
+                parseTransactionResult: function(e) {
+                    var t = (new GeoGlobe.Format.XML2JSON).read(e.responseText)
+                      , i = new Array
+                      , r = this._objToArray(t.wfs_WFS_TransactionResponse.wfs_TransactionResult.wfs_Status)
+                      , n = this._objToArray(t.wfs_WFS_TransactionResponse.wfs_InsertResults);
+                    if (!r)
+                        return i;
+                    for (var o = 0; o < r.length; o++)
+                        void 0 !== r[o].wfs_SUCCESS ? i.push({
+                            status: "SUCCESS",
+                            fid: n && n[o] ? n[o].ogc_FeatureId.fid : null
+                        }) : i.push({
+                            status: "FAILED",
+                            fid: null
+                        });
+                    return i
+                },
+                _objToArray: function(e) {
+                    return !e || e instanceof Array || (e = [e]),
+                    e
+                },
+                _getInsertString: function(e) {
+                    for (var t = e.features, i = e.typeName, r = "", n = 0; n < t.length; n++) {
+                        var o = t[n];
+                        r += '<wfs:Insert handle="Insert ' + n + '">' + this._getInsertFeatureString(o, i) + "</wfs:Insert>"
+                    }
+                    return r
+                },
+                _getInsertFeatureString: function(e, t) {
+                    var i = "";
+                    for (var r in e.attributes)
+                        "OID" != r && (i += GeoGlobe.String.format("<${tag}><![CDATA[${value}]]></${tag}>", {
+                            value: e.attributes[r] ? e.attributes[r] : "",
+                            tag: r
+                        }));
+                    return i += GeoGlobe.String.format("<GEOMETRY>${geometry}</GEOMETRY>", {
+                        geometry: this._getGeometryStringByFeature(e)
+                    }),
+                    GeoGlobe.String.format("<${typeName}>${content}</${typeName}>", {
+                        typeName: t,
+                        content: i
+                    })
+                },
+                _getUpdateString: function(e) {
+                    e.filter;
+                    for (var t = e.typeName, i = e.features, r = "", n = 0; n < i.length; n++)
+                        if (i[n].geometry) {
+                            var o = this._getUpdatePropertyString(i[n])
+                              , a = new GeoGlobe.Filter.FeatureId({
+                                fids: [t + "." + i[n].attributes.OID]
+                            });
+                            r += '<wfs:Update typeName="' + t + '" handle="Update ' + n + '">' + o + this._parserFilterToString(a) + "</wfs:Update>"
+                        }
+                    return r
+                },
+                _getUpdatePropertyString: function(e) {
+                    var t = "";
+                    for (var i in e.data)
+                        "OID" != i && e.data[i] && (t += "<wfs:Property><wfs:Name><![CDATA[" + i + "]]></wfs:Name><wfs:Value><![CDATA[" + (e.data[i] ? e.data[i] : "") + "]]></wfs:Value></wfs:Property>");
+                    return t + "<wfs:Property><wfs:Name>Geometry</wfs:Name><wfs:Value>" + this._getGeometryStringByFeature(e) + "</wfs:Value></wfs:Property>"
+                },
+                _getGeometryStringByFeature: function(e) {
+                    var t = new GeoGlobe.Format.GML({
+                        xy: this.xy
+                    });
+                    t.buildCoordinatesNode = GeoGlobe.Function.bind((function(e) {
+                        var t = this.createElementNS(this.gmlns, "gml:coordinates");
+                        t.setAttribute("decimal", "."),
+                        t.setAttribute("cs", ","),
+                        t.setAttribute("ts", " ");
+                        var i = [];
+                        if (e instanceof GeoGlobe.LngLatBounds)
+                            this.xy ? (i.push(e.left + "," + e.bottom),
+                            i.push(e.right + "," + e.top)) : (i.push(e.bottom + "," + e.left),
+                            i.push(e.top + "," + e.right));
+                        else
+                            for (var r = e.components ? e.components : [e], n = 0; n < r.length; n++)
+                                this.xy ? i.push(r[n].x + "," + r[n].y) : i.push(r[n].y + "," + r[n].x);
+                        var o = this.createTextNode(i.join(" "));
+                        return t.appendChild(o),
+                        t
+                    }
+                    ), t);
+                    var i = t.buildGeometryNode(e.geometry);
+                    return (new GeoGlobe.Format.XML).write(i)
+                },
+                _getDeleteString: function(e) {
+                    for (var t = e.filter, i = e.typeName, r = "", n = 0; n < t.fids.length; n++) {
+                        r += '<wfs:Delete typeName="' + i + '" handle="Delete ' + n + '">';
+                        var o = new GeoGlobe.Filter.FeatureId({
+                            fids: [t.fids[n]]
+                        });
+                        r += this._parserFilterToString(o),
+                        r += "</wfs:Delete>"
+                    }
+                    return r
+                },
+                _parserFilterToString: function(e) {
+                    var t = "";
+                    if (e) {
+                        var i = (new GeoGlobe.Format.Filter.v1).write(e);
+                        return (new GeoGlobe.Format.XML).write(i)
+                    }
+                    return t
+                },
+                CLASS_NAME: "GeoGlobe.Service.WFST"
+            }),
+            GeoGlobe.Service.CTS = GeoGlobe.Class4OL(GeoGlobe.Service, {
+                initialize: function(e, t, i) {
+                    GeoGlobe.Service.prototype.initialize.apply(this, arguments)
+                },
+                getCapabilities: function(e, t) {
+                    var i = this.url
+                      , r = {
+                        REQUEST: "GetCapabilities",
+                        SERVICE: "CTS"
+                    };
+                    t || (t = function() {
+                        this.failFn(r.REQUEST)
+                    }
+                    ),
+                    GeoGlobe.loadURL(i, r, this, (function(t) {
+                        e(t)
+                    }
+                    ), t)
+                },
+                isExist: function() {
+                    var e = !1
+                      , t = this.url;
+                    return GeoGlobe.Request.GET({
+                        url: t,
+                        params: {
+                            REQUEST: "GetCapabilities",
+                            SERVICE: "CTS"
+                        },
+                        scope: this,
+                        async: !1,
+                        success: function() {
+                            e = !0
+                        }
+                    }),
+                    e
+                },
+                TransCoords: function(e, t, i) {
+                    var r = this.url;
+                    GeoGlobe.Util.applyDefaults(e, {
+                        SERVICE: "CTS",
+                        REQUEST: "TransCoords"
+                    }),
+                    i || (i = function() {
+                        this.failFn(e.REQUEST)
+                    }
+                    ),
+                    GeoGlobe.loadURL(r, e, this, (function(i) {
+                        if ("xml" == e.FORMAT) {
+                            var r = {}
+                              , n = i.responseXML;
+                            GeoGlobe.Function.bind(this.xmltoJson, this);
+                            var o = this.xmltoJson(n);
+                            r.attributes = o.CTS_TransResult["cts:Coordinate"].attributes.dim;
+                            for (var a = o.CTS_TransResult["cts:Coordinate"].text.split(","), s = [], x = 0; x < a.length; x++)
+                                s.push(a[x]);
+                            r.coordvalue = s
+                        } else if ("json" == e.FORMAT) {
+                            r = {},
+                            o = i.responseText;
+                            var l = (new GeoGlobe.Format.JSON).read(o);
+                            r.attributes = l.CTS_TransResult.dim,
+                            r.coordvalue = l.CTS_TransResult.Coordinate
+                        }
+                        t(r)
+                    }
+                    ), i)
+                },
+                xmltoJson: function(e) {
+                    var t = {};
+                    if (1 == e.nodeType) {
+                        if (e.attributes.length > 0) {
+                            t.attributes = {};
+                            for (var i = 0; i < e.attributes.length; i++) {
+                                var r = e.attributes.item(i);
+                                t.attributes[r.nodeName] = r.nodeValue
+                            }
+                        }
+                    } else
+                        3 == e.nodeType && (t = e.nodeValue);
+                    if (e.hasChildNodes())
+                        for (var n = 0; n < e.childNodes.length; n++) {
+                            var o = e.childNodes.item(n)
+                              , a = o.nodeName.replace("ows:", "");
+                            if (void 0 === t[a = a.replace("#", "")])
+                                t[a] = this.xmltoJson(o);
+                            else {
+                                if (void 0 === t[a].push) {
+                                    var s = t[a];
+                                    t[a] = [],
+                                    t[a].push(s)
+                                }
+                                t[a].push(this.xmltoJson(o))
+                            }
+                        }
+                    return t
+                },
+                AffineTransform: function(e, t, i) {
+                    var r = this.url;
+                    GeoGlobe.Util.applyDefaults(e, {
+                        SERVICE: "CTS",
+                        REQUEST: "AffineTransform"
+                    }),
+                    i || (i = function() {
+                        this.failFn(e.REQUEST)
+                    }
+                    ),
+                    GeoGlobe.loadURL(r, e, this, (function(i) {
+                        if ("xml" == e.FORMAT) {
+                            var r = {}
+                              , n = i.responseXML;
+                            GeoGlobe.Function.bind(this.xmltoJson, this);
+                            var o = this.xmltoJson(n);
+                            r.attributes = o.CTS_AffineTransResult["cts:Coordinate"].attributes.dim;
+                            for (var a = o.CTS_AffineTransResult["cts:Coordinate"].text.split(","), s = [], x = 0; x < a.length; x++)
+                                s.push(a[x]);
+                            r.coordvalue = s
+                        } else if ("json" == e.FORMAT) {
+                            r = {},
+                            o = i.responseText;
+                            var l = (new GeoGlobe.Format.JSON).read(o);
+                            r.attributes = l.CTS_AffineTransResult.dim,
+                            r.coordvalue = l.CTS_AffineTransResult.Coordinate
+                        }
+                        t(r)
+                    }
+                    ), i)
+                },
+                CLASS_NAME: "GeoGlobe.Service.CTS"
+            }),
+            GeoGlobe.Service.WMS = GeoGlobe.Class4OL(GeoGlobe.Service, {
+                initialize: function(e, t, i) {
+                    GeoGlobe.Service.prototype.initialize.apply(this, arguments)
+                },
+                getCapabilities: function(e, t) {
+                    var i = this.url
+                      , r = {
+                        REQUEST: "GetCapabilities",
+                        SERVICE: "WMS"
+                    };
+                    t || (t = function() {
+                        this.failFn(r.REQUEST)
+                    }
+                    ),
+                    GeoGlobe.loadURL(i, r, this, (function(t) {
+                        var i = t.responseXML;
+                        GeoGlobe.Function.bind(this.xmlToJson, this);
+                        var r, n = this.xmlToJson(i), o = {}, a = n.WMT_MS_Capabilities, s = a.Capability.Layer.Layer, x = a.Capability.Request;
+                        r = s.length ? s[0] : s,
+                        o.version = a.attributes.version,
+                        o.format = x.GetMap.Format[1].text,
+                        o.layer = r.Title.text,
+                        o.bbox = r.BoundingBox.attributes.SRS,
+                        o.maxExtent = a.Capability.Layer.LatLonBoundingBox.attributes,
+                        e(o, n)
+                    }
+                    ), t)
+                },
+                isExist: function() {
+                    var e = !1
+                      , t = this.url;
+                    return GeoGlobe.Request.GET({
+                        url: t,
+                        params: {
+                            REQUEST: "GetCapabilities",
+                            SERVICE: "WMS"
+                        },
+                        scope: this,
+                        async: !1,
+                        success: function() {
+                            e = !0
+                        }
+                    }),
+                    e
+                },
+                xmlToJson: function(e) {
+                    var t = {};
+                    if (1 == e.nodeType) {
+                        if (e.attributes.length > 0) {
+                            t.attributes = {};
+                            for (var i = 0; i < e.attributes.length; i++) {
+                                var r = e.attributes.item(i);
+                                t.attributes[r.nodeName] = r.nodeValue
+                            }
+                        }
+                    } else
+                        3 == e.nodeType && (t = e.nodeValue);
+                    if (e.hasChildNodes())
+                        for (var n = 0; n < e.childNodes.length; n++) {
+                            var o = e.childNodes.item(n)
+                              , a = o.nodeName.replace("ows:", "");
+                            if (void 0 === t[a = a.replace("#", "")])
+                                t[a] = this.xmlToJson(o);
+                            else {
+                                if (void 0 === t[a].push) {
+                                    var s = t[a];
+                                    t[a] = [],
+                                    t[a].push(s)
+                                }
+                                t[a].push(this.xmlToJson(o))
+                            }
+                        }
+                    return t
+                },
+                getMap: function(e) {
+                    this.url;
+                    var t = {};
+                    return e.layers && (t.LAYERS = e.layers),
+                    e.format && (t.FORMAT = e.format),
+                    e.bbox && (t.BBOX = "{bbox-epsg-3857}"),
+                    e.width && (t.WIDTH = e.width),
+                    e.height && (t.HEIGHT = e.height),
+                    e.version && (t.VERSION = e.version),
+                    e.SRS && (t.SRS = e.SRS),
+                    GeoGlobe.Util.applyDefaults(t, {
+                        service: "WMS",
+                        request: "GetMap",
+                        TRANSPARENT: !0
+                    }),
+                    this.urlAppend(this.url, this.getParameterString(t || {}))
+                },
+                getParameterString: function(e) {
+                    var t = [];
+                    for (var i in e) {
+                        var r = e[i];
+                        if (null != r && "function" != typeof r) {
+                            var n;
+                            if ("object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(r) && r.constructor == Array) {
+                                for (var o, a = [], s = 0, x = r.length; s < x; s++)
+                                    o = r[s],
+                                    a.push(encodeURIComponent(null == o ? "" : o));
+                                n = a.join(",")
+                            } else
+                                n = r;
+                            t.push(encodeURIComponent(i) + "=" + n)
+                        }
+                    }
+                    return t.join("&")
+                },
+                urlAppend: function(e, t) {
+                    var i = e;
+                    if (t) {
+                        var r = (e + " ").split(/[?&]/);
+                        i += " " === r.pop() ? t : r.length ? "&" + t : "?" + t
+                    }
+                    return i
+                },
+                CLASS_NAME: "GeoGlobe.Service.WMS"
+            }),
+            GeoGlobe.Service.WMTS = GeoGlobe.Class4OL(GeoGlobe.Service, {
+                initialize: function(e, t, i) {
+                    GeoGlobe.Service.prototype.initialize.apply(this, arguments)
+                },
+                getCapabilities: function(e, t) {
+                    var i = this.url
+                      , r = {
+                        REQUEST: "GetCapabilities",
+                        SERVICE: "WMTS"
+                    };
+                    t || (t = function() {
+                        this.failFn(r.REQUEST)
+                    }
+                    ),
+                    GeoGlobe.loadURL(i, r, this, (function(t) {
+                        var i = t.responseXML;
+                        GeoGlobe.Function.bind(this.xmlToJson, this);
+                        var r = this.xmlToJson(i)
+                          , n = r.Capabilities
+                          , o = {}
+                          , a = n.Contents.Layer;
+                        a = a.length ? a[0] : a,
+                        o.version = n.attributes.version;
+                        var s = n.Contents;
+                        o.layer = a.Title.text,
+                        o.LayerIdentifier = a.Identifier.text,
+                        o.StyleIdentifier = a.Style.Identifier.text,
+                        o.MatrixSet = a.TileMatrixSetLink[0].TileMatrixSet.text,
+                        o.Format = a.Format[1].text,
+                        o.Bounding = a.BoundingBox;
+                        var x = ""
+                          , l = s.TileMatrixSet[0].TileMatrix;
+                        if (l.length > 0)
+                            for (var c = 0, u = l.length; c < u && c != u; c++)
+                                x += l[c].ScaleDenominator.text + ",";
+                        o.Scales = x.substr(0, x.length - 1),
+                        o.zoomOffset = l[0].Identifier.text,
+                        e(o, r)
+                    }
+                    ), t)
+                },
+                xmlToJson: function(e) {
+                    var t = {};
+                    if (1 == e.nodeType) {
+                        if (e.attributes.length > 0) {
+                            t.attributes = {};
+                            for (var i = 0; i < e.attributes.length; i++) {
+                                var r = e.attributes.item(i);
+                                t.attributes[r.nodeName] = r.nodeValue
+                            }
+                        }
+                    } else
+                        3 == e.nodeType && (t = e.nodeValue);
+                    if (e.hasChildNodes())
+                        for (var n = 0; n < e.childNodes.length; n++) {
+                            var o = e.childNodes.item(n)
+                              , a = o.nodeName.replace("ows:", "");
+                            if (void 0 === t[a = a.replace("#", "")])
+                                t[a] = this.xmlToJson(o);
+                            else {
+                                if (void 0 === t[a].push) {
+                                    var s = t[a];
+                                    t[a] = [],
+                                    t[a].push(s)
+                                }
+                                t[a].push(this.xmlToJson(o))
+                            }
+                        }
+                    return t
+                },
+                isExist: function() {
+                    var e = !1
+                      , t = this.url;
+                    return GeoGlobe.Request.GET({
+                        url: t,
+                        params: {
+                            REQUEST: "GetCapabilities",
+                            SERVICE: "WMTS"
+                        },
+                        scope: this,
+                        async: !1,
+                        success: function() {
+                            e = !0
+                        }
+                    }),
+                    e
+                },
+                getTile: function(e) {
+                    var t = {};
+                    return e.layer && (t.LAYER = e.layer),
+                    e.format && (t.FORMAT = e.format),
+                    e.tileMatrixSet && (t.TILEMATRIXSET = e.tileMatrixSet),
+                    e.TILEMATRIX && (t.TILEMATRIX = e.TILEMATRIX),
+                    e.TILEROW && (t.TILEROW = e.TILEROW),
+                    e.TILECOL && (t.TILECOL = e.TILECOL),
+                    e.version && (t.VERSION = e.version),
+                    e.style && (t.STYLE = e.style),
+                    GeoGlobe.Util.applyDefaults(t, {
+                        service: "WMTS",
+                        request: "GetTile"
+                    }),
+                    this.urlAppend(this.url, this.getParameterString(t || {}))
+                },
+                getParameterString: function(e) {
+                    var t = [];
+                    for (var i in e) {
+                        var r = e[i];
+                        if (null != r && "function" != typeof r) {
+                            var n;
+                            if ("object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(r) && r.constructor == Array) {
+                                for (var o, a = [], s = 0, x = r.length; s < x; s++)
+                                    o = r[s],
+                                    a.push(encodeURIComponent(null == o ? "" : o));
+                                n = a.join(",")
+                            } else
+                                n = r;
+                            t.push(encodeURIComponent(i) + "=" + n)
+                        }
+                    }
+                    return t.join("&")
+                },
+                urlAppend: function(e, t) {
+                    var i = e;
+                    if (t) {
+                        var r = (e + " ").split(/[?&]/);
+                        i += " " === r.pop() ? t : r.length ? "&" + t : "?" + t
+                    }
+                    return i
+                },
+                getCapabilitiesForRest: function(e, t) {
+                    var i = this.url;
+                    i.match(/\/$/) || (i += "/"),
+                    i += "1.0.0/WMTSCapabilities.xml",
+                    t || (t = function() {
+                        this.failFn("GetCapabilities")
+                    }
+                    ),
+                    GeoGlobe.loadURL(i, null, this, (function(t) {
+                        e(t)
+                    }
+                    ), t)
+                },
+                getTileForRest: function(e) {
+                    var t = e.layer
+                      , i = e.style
+                      , r = e.tileMatrixSet
+                      , n = e.tileMatrix
+                      , o = e.tileRow
+                      , a = e.tileCol
+                      , s = null
+                      , x = e.format ? e.format : "image/png";
+                    s || (s = {
+                        "image/png": "png",
+                        "image/png8": "png",
+                        "image/png24": "png",
+                        "image/png32": "png",
+                        png: "png",
+                        "image/jpeg": "jpg",
+                        "image/jpg": "jpg",
+                        jpeg: "jpg",
+                        jpg: "jpg"
+                    }[x] || x.split("/").pop());
+                    var l = t + "/" + i + "/" + r + "/" + n + "/" + o + "/" + a + "." + s
+                      , c = this.url;
+                    return c.match(/\/$/) || (c += "/"),
+                    c + l
+                },
+                CLASS_NAME: "GeoGlobe.Service.WMTS"
+            }),
+            GeoGlobe.Analysis.BufferAnalysis = GeoGlobe.Class4OL({
+                url: null,
+                type: 1,
+                accuracy: 32,
+                initialize: function(e, t) {
+                    this.url = e,
+                    GeoGlobe.Util.extend(this, t)
+                },
+                _buildPostXML: function(e, t) {
+                    return '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><wps:Execute service="WPS" version="1.0.0" xmlns:gml="http://www.opengis.net/gml" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 ../wpsExecute_request.xsd"><ows:Identifier>Buffer</ows:Identifier><wps:DataInputs><wps:Input><ows:Identifier>InputPolygon</ows:Identifier><wps:Data><wps:ComplexData schema="http://foo.bar/MyComplexValueSchema.xsd" mimeType="text/xml" encoding="UTF-8">' + (new GeoGlobe.Format.GML).write(e) + "</wps:ComplexData></wps:Data></wps:Input><wps:Input><ows:Identifier>BufferDistance</ows:Identifier><wps:Data><wps:LiteralData>" + t + "</wps:LiteralData></wps:Data></wps:Input><wps:Input><ows:Identifier>BufferType</ows:Identifier><wps:Data><wps:LiteralData>" + this.type + "</wps:LiteralData></wps:Data></wps:Input><wps:Input><ows:Identifier>BufferAccuracy</ows:Identifier><wps:Data><wps:LiteralData>" + this.accuracy + "</wps:LiteralData></wps:Data></wps:Input></wps:DataInputs><wps:ResponseForm><wps:RawDataOutput><ows:Identifier>BufferedPolygon</ows:Identifier></wps:RawDataOutput></wps:ResponseForm></wps:Execute>"
+                },
+                _getFeaturesCenter: function(e) {
+                    return this._getFeaturesExtent(e).getCenterLonLat()
+                },
+                _getFeaturesExtent: function(e) {
+                    GeoGlobe.Util.isArray(e) || (e = [e]);
+                    var t = null;
+                    if (e && e.length > 0) {
+                        t = new GeoGlobe.LngLatBounds;
+                        for (var i = null, r = 0, n = e.length; r < n; r++)
+                            (i = e[r].geometry) && t.extend(i.getBounds())
+                    }
+                    return t
+                },
+                startAnalysis: function(e, t, i) {
+                    var r = (new GeoGlobe.Format.GeoJSON).read(e)
+                      , n = this._getFeaturesCenter(r);
+                    switch (i && -1 != GeoGlobe.Util.indexOf(["m", "km", "degree"], i) || (i = "m"),
+                    i) {
+                    case "km":
+                        t *= 1e3;
+                    case "m":
+                        t = this._meterToDegree(t, n)
+                    }
+                    var o = this._buildPostXML(r, t);
+                    new GeoGlobe.Request.POST({
+                        url: this.url,
+                        data: o,
+                        scope: this,
+                        success: function(e) {
+                            if ("" != e.responseText && null != e.responseText) {
+                                var t = this._parserResult(e)
+                                  , i = (new GeoGlobe.Format.GeoJSON).write(t)
+                                  , r = (new GeoGlobe.Format.JSON).read(i);
+                                this.successFn(r)
+                            } else
+                                this.failFn()
+                        },
+                        failure: this.failFn
+                    })
+                },
+                _meterToDegree: function(e, t) {
+                    var i = t.lat;
+                    return e * (899e-8 / Math.cos(GeoGlobe.Util.rad(i)))
+                },
+                successFn: function(e) {},
+                failFn: function() {
+                    alert("缂撳啿鍒嗘瀽鎿嶄綔澶辫触锛岃妫�娴嬫湇鍔℃槸鍚︽甯歌繍琛屻��")
+                },
+                _parserResult: function(e) {
+                    var t = new GeoGlobe.Format.XML;
+                    return e.responseXML || (e.responseXML = t.read(e.responseText)),
+                    (new GeoGlobe.Format.GML).read(e.responseXML)
+                },
+                CLASS_NAME: "GeoGlobe.Analysis.BufferAnalysis"
+            }),
+            GeoGlobe.Analysis.BufferAnalysis.CAP_ROUND = 1,
+            GeoGlobe.Analysis.BufferAnalysis.CAP_BUTT = 2,
+            GeoGlobe.Analysis.BufferAnalysis.CAP_SQUARE = 3,
+            GeoGlobe.Analysis.CoreBufferAnalysis = GeoGlobe.Class({
+                url: null,
+                type: "intersection",
+                _requestStrTemplate: "{'BufferAnalysis': {'service': 'OverlapService','version': '1.0.0','layerName': '${layerName}','bufferRadius': '${bufferRadius}','bufferStyle':'${bufferStyle}','outPutFormat': 'JSON','bufferType': '${bufferType}','isSynchronization': 'true'}}",
+                initialize: function(e, t) {
+                    this.url = e,
+                    GeoGlobe.Util.extend(this, t)
+                },
+                _buildRequestStr: function() {
+                    return GeoGlobe.String.format(this._requestStrTemplate, {
+                        type: this.type,
+                        layerName: this.layerName,
+                        bufferRadius: this.bufferRadius,
+                        bufferStyle: this.bufferStyle,
+                        bufferType: this.bufferType
+                    })
+                },
+                startAnalysis: function(e) {
+                    if (this._checkSet())
+                        return !1;
+                    var t = this._buildRequestStr();
+                    new GeoGlobe.Request.POST({
+                        url: this.url,
+                        data: t,
+                        scope: this,
+                        success: function(t) {
+                            "" != t.responseText && null != t.responseText ? this.successFn(t, e) : this.failFn()
+                        },
+                        failure: this.failFn
+                    })
+                },
+                _checkSet: function() {
+                    if (!this.url)
+                        return !1
+                },
+                successFn: function(e) {},
+                failFn: function() {
+                    alert("缂撳啿鍒嗘瀽鎿嶄綔澶辫触锛岃妫�娴嬫湇鍔℃槸鍚︽甯歌繍琛�")
+                },
+                CLASS_NAME: "GeoGlobe.Analysis.CoreBufferAnalysis"
+            }),
+            GeoGlobe.Analysis.GetFeature = GeoGlobe.Class4OL({
+                url: null,
+                type: "intersection",
+                _reqStrTemplate: "{'GetFeature': {'service': 'OverlapService','version': '1.0.0','dataSource':'${sourceInputs}','Query': [{'typeName':'${dataInputs}'}],'maxFeatures': '','startPosition': '','outPutFormat': 'GeoJSON','resultType': ''}}",
+                initialize: function(e, t) {
+                    this.url = e,
+                    GeoGlobe.Util.extend(this, t)
+                },
+                _buildReqStr: function() {
+                    return GeoGlobe.String.format(this._reqStrTemplate, {
+                        type: this.type,
+                        dataInputs: this.typeName,
+                        sourceInputs: this.DataSource
+                    })
+                },
+                startAnalysis: function(e) {
+                    if (this._checkSet())
+                        return !1;
+                    var t = this._buildReqStr();
+                    new GeoGlobe.Request.POST({
+                        url: this.url,
+                        data: t,
+                        scope: this,
+                        success: function(e) {
+                            "" != e.responseText && null != e.responseText ? this.successFn(e) : this.failFn()
+                        },
+                        failure: this.failFn
+                    })
+                },
+                _checkSet: function() {
+                    if (!this.url)
+                        return !1
+                },
+                successFn: function(e) {},
+                failFn: function() {
+                    alert("鏈嶅姟璇锋眰鎿嶄綔澶辫触锛岃妫�娴嬫湇鍔℃槸鍚︽甯歌繍琛屻��")
+                },
+                CLASS_NAME: "GeoGlobe.Analysis.GetFeature"
+            }),
+            GeoGlobe.Analysis.SpatialAnalysis = GeoGlobe.Class({
+                url: null,
+                type: "intersection",
+                _requestStrTemplate: "{'SpatialAnalysis': {'service': 'OverlapService','version': '1.0.0','origionLayerNames': ['${origionLayerNames}'],'targetLayerNames': ['${targetLayerNames}'],'outPutFormat': 'GeoJSON','operator': '${dataInputs}','isSynchronization': 'true','tolerance': '${tolerance}'}}",
+                initialize: function(e, t) {
+                    this.url = e,
+                    GeoGlobe.Util.extend(this, t)
+                },
+                _buildRequestStr: function() {
+                    return GeoGlobe.String.format(this._requestStrTemplate, {
+                        type: this.type,
+                        dataInputs: this.operator,
+                        origionLayerNames: this.origionLayerNames,
+                        targetLayerNames: this.targetLayerNames,
+                        tolerance: this.tolerance
+                    })
+                },
+                startAnalysis: function(e) {
+                    if (this._checkSet())
+                        return !1;
+                    var t = this._buildRequestStr();
+                    new GeoGlobe.Request.POST({
+                        url: this.url,
+                        data: t,
+                        scope: this,
+                        success: function(t) {
+                            "" != t.responseText && null != t.responseText ? this.successFn(t, e) : this.failFn()
+                        },
+                        failure: this.failFn
+                    })
+                },
+                _checkSet: function() {
+                    if (!this.url)
+                        return !1
+                },
+                successFn: function(e) {},
+                failFn: function() {
+                    alert("鍙犵疆鍒嗘瀽鎿嶄綔澶辫触锛岃妫�娴嬫湇鍔℃槸鍚︽甯歌繍琛屻��")
+                },
+                CLASS_NAME: "GeoGlobe.Analysis.SpatialAnalysis"
+            })
+        }
+        ).call(this, __webpack_require__(96)(module), __webpack_require__(238))
+    }
+    , function(e, t) {
+        var i;
+        i = function() {
+            return this
+        }();
+        try {
+            i = i || new Function("return this")()
+        } catch (e) {
+            "object" == typeof window && (i = window)
+        }
+        e.exports = i
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(17)
+          , n = i(240)
+          , o = i(62);
+        i(65)("search", 1, (function(e, t, i, a) {
+            return [function(i) {
+                var r = e(this)
+                  , n = null == i ? void 0 : i[t];
+                return void 0 !== n ? n.call(i, r) : new RegExp(i)[t](String(r))
+            }
+            , function(e) {
+                var t = a(i, e, this);
+                if (t.done)
+                    return t.value;
+                var s = r(e)
+                  , x = String(this)
+                  , l = s.lastIndex;
+                n(l, 0) || (s.lastIndex = 0);
+                var c = o(s, x);
+                return n(s.lastIndex, l) || (s.lastIndex = l),
+                null === c ? -1 : c.index
+            }
+            ]
+        }
+        ))
+    }
+    , function(e, t) {
+        e.exports = Object.is || function(e, t) {
+            return e === t ? 0 !== e || 1 / e == 1 / t : e != e && t != t
+        }
+    }
+    , function(e, t, i) {
+        "use strict";
+        var r = i(17)
+          , n = i(19)
+          , o = i(81)
+          , a = i(62);
+        i(65)("match", 1, (function(e, t, i, s) {
+            return [function(i) {
+                var r = e(this)
+                  , n = null == i ? void 0 : i[t];
+                return void 0 !== n ? n.call(i, r) : new RegExp(i)[t](String(r))
+            }
+            , function(e) {
+                var t = s(i, e, this);
+                if (t.done)
+                    return t.value;
+                var x = r(e)
+                  , l = String(this);
+                if (!x.global)
+                    return a(x, l);
+                var c = x.unicode;
+                x.lastIndex = 0;
+                for (var u, h = [], f = 0; null !== (u = a(x, l)); ) {
+                    var d = String(u[0]);
+                    h[f] = d,
+                    "" === d && (x.lastIndex = o(l, n(x.lastIndex), c)),
+                    f++
+                }
+                return 0 === f ? null : h
+            }
+            ]
+        }
+        ))
+    }
+    , function(e, i, r) {
+        "use strict";
+        r.r(i);
+        r(146);
+        var n, o = r(144), a = r.n(o), s = (r(79),
+        r(15)), x = r.n(s), l = (r(195),
+        r(204),
+        r(205),
+        r(206),
+        r(207),
+        r(88),
+        r(9)), c = r.n(l), u = (r(129),
+        r(132),
+        r(208),
+        r(145)), h = r.n(u), f = r(8), d = r.n(f), g = (r(211),
+        r(212),
+        r(85),
+        r(213),
+        r(1)), p = r.n(g), m = r(2), b = r.n(m), v = r(68), C = r.n(v), _ = (r(69),
+        r(42),
+        r(86),
+        r(229),
+        r(230),
+        r(6)), A = r.n(_), I = (r(84),
+        r(141),
+        r(143),
+        r(0)), w = r.n(I), G = r(3), E = r.n(G), S = ["_latelyCollisionStamp", "collisionDetection", "boundBox", "minLevel", "{z}", "{x}", "CutString", "tile", "addCacheTile", "addLabelAndIco", "delaySynchronous", "send", "json", "LabelPoint", "Name", "initTDT", "pois", "createLabel", "_timer2", "coordinate", "font", "px ", "stringTable", "label", "sans-serif", "fontStyle", "bold ", "italic ", "fontColor", "shiningColor", "shiningSize", "backgroundPadding", "eyeOffset", "disableDepthTestDistance", "heightReference", "NONE", "symbolID", "billboard", "{id}", "displayHeight", "alignedAxis", "HeightReference", "priority", "xyz", "debug", "getElementsByClassName", "SceneTransforms", "getLabelReact", "class", "cssText", "position:absolute; top:", "px; left:", "px; width:", "px; height:", "collisionBox", "bindEvent", "moveEnd", "changed", "unbindEvent", "_roadTileset", "entity", "minX", "maxX", "maxY", "option optimize_for = LITE_RUNTIME;", "package GEOPOI;", "enum enumGeometryType {", "ePoint = 0;", "eMultiLineString = 1;", "ePolygon = 2;", "} ;", "message PBPOI{", "required uint64 OID = 1;", "required string Name =2;", "repeated double Coordinates =3 [packed=true];", "required enumGeometryType GeometryType = 4;", "optional int32 Interate = 5;", "optional int32 SymbolID = 10  [default = 0];", "optional double DisplayHeight = 11 [default = 32];", "optional uint32 ShiningColor=12 [default =0];", "optional uint32\tFontNameIndex=13 [default =0];", "optional int32\tFontSize=14 [default =18];", "optional uint32\tFontColor=15 [default =0];", "repeated string s = 1;", "message PBPOITile{", "required int64 Version = 1;", "required StringTable StringTable = 3;", "repeated PBPOI POIS = 4;", "ProtoBuf", "ProtoBuf.js is not present. Please see www/index.html for manual setup instructions.", "loadProto", "GeoPOI.proto", "GEOPOI", "PBPOITile", "enum enumZCoordType {eCloseGround = 0;eCloseSeaSurface = 1;eRelativelyGround = 2;eAbsolute = 3;};", "optional enumZCoordType ZCoordType = 16 [default = eAbsolute];", "message StringTable {", "required int64 TileKey = 2;", "GeoPOI2.proto", "optional int32 Priority = 5;", "repeated int32 Interates =6 [packed=true];", "optional int32 FontStyle=17;", "optional int32 ShiningSize=18;", "GeoPOI3.proto", "decode", "version", "Version", "titleKey", "TileKey", "StringTable", "POIS", "OID", "SymbolID", "DisplayHeight", "ShiningColor", "fontNameIndex", "FontNameIndex", "fontSize", "FontSize", "ZCoordType", "zCoordType", "geometryType", "Coordinates", "interates", "Interates", "FontStyle", "ShiningSize", "GeoWTFS", "hierarchy", "horizontalDistance", "verticalHeight", "spaceDistance", "MVTProvider", "_tileWidth", "tileWidth", "_tileHeight", "_mvtParser", "styleName", "_tileMatrixSetID", "_tileMatrixLabels", "protobuf", "maximumLevel", "_sourceMaxzoom", "sourceMaxzoom", "_symbolVisibility", "enablePickFeatures", "_pickedEvent", "_key", "https://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/{z}/{x}/{y}.vector.pbf?access_token={k}", "createForExtent", "getResolutions", "_pixelRatio", "Default", "Text", "_tileQueueForFeatures", "TileReplacementQueue", "_cacheSize", "getUrlTmpl", "_spriteUrl", "deferCache", "messageCache", "blankCanvas", "OffscreenCanvas", "_useWebWorker", "useWebWorker", "娴忚鍣ㄤ笉鏀寔OffscreenCanvas锛屾棤娉曚娇鐢╓ebWorker", "styleFunc", "getStyleUrl", "sources", "layers", "vector", "_styles", "sprite", "loadJson", ".json", "fetchJson", "stylefunction", ".png", "spriteData", "retry", "_initWorker", "_tileQueueForCanvas", "forEachLoadedTile", "imagery", "loadingImagery", "imageryLayer", "QuadtreeTileLoadState", "LOADING", "readyImagery", "addReference", "ImageryState", "setRequestHeader", "getTileCredits", "head", "yMvt", "zMvt", "replacementNext", "_lastBeforeStartOfFrame", "replacementPrevious", "tail", "\nvar sourceMaxZoom = ", ";\nvar resolutions = [", "];\nvar olmsUrl = '", "_olmsUrl", "';\nvar tileWidth = ", ";\nvar tileHeight = ", ';\nvar window={},document={implementation:{createDocument:function(){}},createElement:function(e){if("CANVAS"===e.toUpperCase())return new OffscreenCanvas(512,512)}};function getJSON(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.setRequestHeader("Accept","application/json"),s.onerror=function(){},s.onload=function(){if(200<=s.status&&s.status<300&&s.response){var e;try{e=JSON.parse(s.response)}catch(e){}t(e)}},s.send()}function getArrayBuffer(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onerror=function(){t(null)},s.onload=function(){var e=s.response;200<=s.status&&s.status<300&&s.response?t(e):t(null)},s.send()}function getImage(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="blob",s.onload=function(){var e=s.response;200<=s.status&&s.status<300&&s.response&&t(e)},s.send()}function clip(e,t){var s=JSON.parse(t),r=s[0],n=s[1],o=s[2];if(o>sourceMaxZoom){var a=[0,0,4096,4096],i=o-sourceMaxZoom,p=r-(r>>i<<i),l=n-(n>>i<<i),y=(a[2]-a[0])/(1<<i),u=[a[0]+p*y,a[1]+l*y,a[0]+(1+p)*y,a[1]+(1+l)*y];e.rect=u}return e}function renderCanvas(e,t){for(var s=window.GeoOLMS.Rbush(9,void 0),r=JSON.parse(t)[2],n=new OffscreenCanvas(512,512),o=n.getContext("2d"),a=e.rect?e.rect:[0,0,4096,4096],i=new window.GeoOLMS.ReplayGroup(0,a,8,window.devicePixelRatio,!0,s,100),p=0;p<e.length;p++)for(var l=e[p],y=styleFunc(l,r)||[],u=0;u<y.length;u++)window.GeoOLMS.renderFeature(i,l,y[u],16);i.finish();var c={},d=[tileWidth/(a[2]-a[0]),0,0,tileHeight/(a[3]-a[1]),-512*a[0]/(a[2]-a[0]),-512*a[1]/(a[3]-a[1])];return i.replay(o,d,0,{},!0,_replays,c),window.GeoOLMS.replayDeclutter(c,o,0,!0),i=null,n}importScripts(olmsUrl);var style,spriteUrl,spriteJson,spriteImage,styleFunc=function(){return[]},_mvtParser=new window.GeoOLMS.MVT,_replays=["Default","Image","Polygon","LineString","Text"];function loadTile(s){if("string"==typeof s.data)getArrayBuffer(s.data,function(e){if(e){var t=renderCanvas(clip(_mvtParser.readFeatures(e),s.key),s.key).transferToImageBitmap();postMessage({type:"loadTile",key:s.key,id:s.id,bitmap:t,features:e},[t,e])}else postMessage({type:"loadTile",key:s.key,id:s.id})});else if(s.data instanceof ArrayBuffer){var e=renderCanvas(clip(_mvtParser.readFeatures(s.data),s.key),s.key).transferToImageBitmap();postMessage({type:"loadTile",key:s.key,id:s.id,bitmap:e,features:s.data},[e,s.data])}}function setStyle(s){style=JSON.parse(s.style),(spriteUrl=s.spriteUrl)?getImage(spriteUrl+".png",function(e){createImageBitmap(e).then(function(e){var t=new OffscreenCanvas(e.width,e.height);t.getContext("2d").drawImage(e,0,0),spriteImage=t,getJSON(spriteUrl+".json",function(e){spriteJson=e,styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions,spriteJson,spriteImage),postMessage({type:"setStyle",id:s.id})})})}):(styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions),postMessage({type:"setStyle",id:s.id}))}function setPaintProperty(e){style=JSON.parse(e.style),styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions,spriteJson,spriteImage),postMessage({type:"setPaintProperty",id:e.id})}function setLayoutProperty(e){style=JSON.parse(e.style),styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions,spriteJson,spriteImage),postMessage({type:"setLayoutProperty",id:e.id})}self.onmessage=function(e){var t=e.data;"loadTile"===t.type?loadTile(t):"setStyle"===t.type?setStyle(t):"setPaintProperty"===t.type?setPaintProperty(t):"setLayoutProperty"===t.type&&setLayoutProperty(t)};\n\t\t', "text/javascript", "createObjectURL", "actors", "Worker ", "stringify", "setStyle", "revokeObjectURL", "bind", "target", "parent", "mapId", "callbackID", "receive", "callbacks", "loadTile", "spriteUrl", "DefferState", "_imageryProvider", "{y}", "{k}", "UNLOADED", "currentActor", "RELOADED", "bitmap", "bitmaprenderer", "transferFromImageBitmap", "DONE", "setPaintProperty", "bad request", "readFeatures", "renderCanvas", "loadArrayBuffer", "xMvt", "markTileRendered", "Rbush", "rect", "devicePixelRatio", "renderFeature", "finish", "replay", "_replays", "mysourceid", "style version 8 required.", "sources does not exist", "projection", "type_", "ends_", "MultiPolygon", "flatCoordinates_", "MultiLineString", "featureToGeoJSON", "id_", "properties_", "WMTS", "GetTile", "getParameterString", "combine", "GetStyle", "_styleName", "geoglobe-olms.js", "extensionsUsed", "KHR_technique_webgl", "extensionsRequired", "KHR_techniques_webgl", "extensions", "shaders", "techniques", "technique", "parameters", "_vtxf_cachedGltf", "execScript", "var ", "invalid index", "getParent", "input", "lazy", "compressionType", "outputBuffer", "outputIndex", "invalid code: ", "invalid distance", "bufferSize", "bufferType", "resize", "invalid inflate mode", "invalid uncompressed block header: length verify", "input buffer is broken", "set", "unknown BTYPE: ", "verify", "unsupported compression method", "invalid fcheck flag:", "fdict flag is not supported", "invalid adler-32 checksum", "LOG2E", "invalid compression method", "Zlib.Inflate", "Zlib.Inflate.prototype.decompress", "Zlib.Inflate.BufferType", "Zlib.Deflate", "Zlib.Deflate.compress", "Zlib.Deflate.prototype.compress", "length", "enumerable", "configurable", "value", "key", "prototype", "this hasn't been initialised - super() hasn't been called", "object", "function", "Super expression must either be null or a function, not ", "create", "setPrototypeOf", "__proto__", "amd", "defineProperty", "defineProperties", "Cartesian2", "Cartesian3", "Cartesian4", "Cartographic", "defined", "DeveloperError", "Ellipsoid", "HeadingPitchRoll", "IntersectionTests", "KeyboardEventModifier", "Matrix3", "Matrix4", "Plane", "Quaternion", "Ray", "Transforms", "CameraEventAggregator", "MapMode2D", "SceneMode", "Math", "scene is required.", "constrainedPitch", "PI_OVER_SIX", "enableInputs", "enableTranslate", "enableRotate", "enableTilt", "enableLook", "inertiaSpin", "inertiaTranslate", "maximumMovementRatio", "bounceAnimationTime", "minimumZoomDistance", "POSITIVE_INFINITY", "LEFT_DRAG", "zoomEventTypes", "WHEEL", "PINCH", "rotateEventTypes", "RIGHT_DRAG", "CTRL", "lookEventTypes", "SHIFT", "minimumPickingTerrainHeight", "_minimumPickingTerrainHeight", "minimumCollisionTerrainHeight", "_minimumCollisionTerrainHeight", "minimumTrackBallHeight", "_minimumTrackBallHeight", "enableCollisionDetection", "_scene", "_globe", "_ellipsoid", "GeoOption", "_aggregator", "GeoCameraEventAggregator", "canvas", "_lastInertiaTranslateMovement", "_lastInertiaTiltMovement", "_tween", "_horizontalRotationAxis", "_tiltCenterMousePosition", "_rotateMousePosition", "_rotateStartPosition", "_strafeStartPosition", "_zoomMouseStart", "_useZoomWorldPosition", "_tiltCVOffMap", "_looking", "_rotating", "_strafing", "_zoomingOnVector", "_rotatingZoom", "_maxCoord", "project", "PI_OVER_TWO", "_zoomFactor", "_rotateFactor", "_maximumRotateRate", "_minimumRotateRate", "_maximumZoomRate", "exp", "equalsEpsilon", "startPosition", "endPosition", "EPSILON14", "getButtonPressTime", "getButtonReleaseTime", "getTime", "active", "getLastMovement", "motion", "multiplyByScalar", "add", "clone", "ZERO", "isButtonDown", "isArray", "eventType", "modifier", "isMoving", "getMovement", "getStartMousePosition", "clamp", "abs", "maximumZoomDistance", "_minimumZoomRate", "autoResetHeadingPitch", "clientHeight", "min", "camera", "heading", "pitch", "roll", "zoomIn", "_adjustOrthographicFrustum", "equals", "SCENE2D", "getPickRay", "origin", "fromElements", "_zoomWorldPosition", "COLUMBUS_VIEW", "height", "position", "normalize", "distance", "getMagnitude", "SCENE3D", "positionCartographic", "dot", "direction", "clientWidth", "subtract", "magnitude", "asin", "sin", "cross", "cos", "right", "setView", "acosClamped", "rotate", "wgs84ToWindowCoordinates", "move", "UNIT_W", "pickEllipsoid", "globe", "pick", "positionWC", "directionWC", "cartographicToCartesian", "flyToBoundingSphere", "HeadingPitchRange", "angleAndHeight", "TWO_PI", "twistRight", "mapMode2D", "IDENTITY", "transform", "enableZoom", "inertiaZoom", "translateEventTypes", "_lastInertiaSpinMovement", "_lastInertiaZoomMovement", "tiltEventTypes", "_translateMousePosition", "_strafeMousePosition", "UNIT_X", "fromPointNormal", "rayPlane", "EPSILON6", "onMap", "mapProjection", "unproject", "eastNorthUpToFixedFrame", "UNIT_SPHERE", "_rotateRateRangeAdjustment", "_setTransform", "UNIT_Z", "maximumRadius", "_tiltCenter", "_projection", "constrainedAxis", "negate", "worldToCameraCoordinatesPoint", "sqrt", "angleBetween", "fromAxisAngle", "fromQuaternion", "multiplyByVector", "_tweens", "anyButtonDown", "contains", "update", "mode", "multiplyByPoint", "geodeticSurfaceNormal", "cartesianToCartographic", "fromCartesian3", "rotateRight", "enableGeoLocateRatate", "rotateUp", "worldToCameraCoordinates", "acos", "mostOrthogonalAxis", "_tiltOnEllipsoid", "EPSILON3", "rayEllipsoid", "getPoint", "start", "grazingAltitudeLocation", "stop", "rightWC", "magnitudeSquared", "look", "frustum", "EPSILON2", "EPSILON4", "lookUp", "_adjustedHeightForTerrain", "getHeight", "max", "ellipsoid", "terrainExaggeration", "reset", "adjustedHeightForTerrain", "isDestroyed", "destroy", "removeAll", "GEOSYMBOL", "assign", "_version", "getPrototypeOf", "call", "rotation", "scale", "Cesium", "GeoSymbol3D", "GEO_VERSION_NUMBER", "$ Cesium Version: 1.63.1 build-20200424180426 $", "Map", "defaultValue", "baseLayerPicker", "animation", "homeButton", "orderIndependentTranslucency", "sceneMode", "scene3DOnly", "maxLevel", "fullscreenButton", "imageryProvider", "SingleTileImageryProvider", "Assets/Images/Earth.jpg", "Viewer", "scene", "WGS84", "log2", "longitude", "toDegrees", "latitude", "geocentricSurfaceNormal", "PI_OVER_THREE", "getCameraOptionsFromMapbox", "zoom", "toRadians", "center", "bearing", "moveBackward", "destination", "orientation", "UNDERGROUND_MODE", "Cesium.js", "(^|(.*?\\/))(", ")(\\?|$)", "getElementsByTagName", "script", "src", "match", "ClockViewModel", "EMPTY_OBJECT", "layoutId", "layout container is required.", "getElement", "viewers", "_viewers", "_clockViewModel", "children", "addEventListener", "container", "options", "log", "getViewerById", "GeoMultiScreenWidget", "left-right", "SplitDirection", "LEFT", "RIGHT", "top-bottom", "viewer", "_viewer", "_isEnable", "_setSplitDirection", "_slider", "_initSlider", "_splitMode", "_createStyle", "_setSplitMode", "_upateSceneImagerySplitPositionBySlider", "_enableLayers", "enableLayers", "_updateEnableLayers", "toLowerCase", "left", "splitDirection", "_splitDirection", "className", "geo-split-slider", " top-bottom", "imagerySplitMode", "style", "top", "50%", " left-right", "_upDateImagerySplitPositionBySlider", "splitMode", "offsetLeft", "parentElement", "offsetWidth", "imagerySplitPosition", "offsetTop", "offsetHeight", "createElement", "div", "_element", "ScreenSpaceEventHandler", "setInputAction", "ScreenSpaceEventType", "PINCH_START", "MOUSE_MOVE", "GeoSplitSliderWidgetStyle", "type", "\n\n            /* 宸﹀彸鍒嗗睆 */\n            .geo-split-slider.left-right{\n                width: 5px;\n                height: 100%;\n                left: 50%;\n                top: 0px;                \n            }\n            \n            .geo-split-slider {\n                position: absolute;\n                background-color: #D3D3D3;/* transparent; */\n                z-index: 9999;\n            }\n            \n            .geo-split-slider.left-right:hover {\n                cursor: ew-resize;\n            }\n            \n            .geo-split-slider.top-bottom:hover{\n                cursor:ns-resize;\n            }\n            /* 涓婁笅鍒嗗睆 */\n            .geo-split-slider.top-bottom{\n                width: 100%;\n                height: 5px;\n                left: 0px;\n                top: 50%;\n            }\n                                \n                    ", "appendChild", "createTextNode", "color", "Color", "RED", "withAlpha", "appearance", "PerInstanceColorAppearance", "handler", "cursor", "crosshair", "_array_", "_labels_", "pickPosition", "fromCartesian", "name", "draw_circle", "GroundPrimitive", "GeometryInstance", "ClassificationType", "BOTH", "push", "primitives", "LEFT_CLICK", "remove", "geometry", "radius", "primitive", "CircleGeometry", "ColorGeometryInstanceAttribute", "宸﹂敭鍗曞嚮寮�濮嬬粯鍒讹紝鍙抽敭鍗曞嚮缁撴潫缁樺埗", "15px Microsoft YaHei", "get", "drawEnd", "RIGHT_CLICK", "_circles_", "lastP", "default", "createGeometry", "Entity", "attributes", "values", "callback", "clear", "draw_label", "entities", "DrawHeightWidget", "CHARTREUSE", "lineWidth", "activate", "PolylineCollection", "width", "loop", "material", "uniforms", "fromDegreesArrayHeights", "positions", "16px sans-serif", "fromDegrees", "DrawPointWidget", "pixelSize", "PointPrimitiveCollection", "LabelCollection", "宸﹂敭鍗曞嚮杩涜缁樺埗", "draw_point", "DrawPolygonWidget", "count", "_polylines_", "draw_polyline", "_array2_", "鐐瑰嚮鎸夐挳缁撴潫缁樺埗", "DODGERBLUE", "PolygonGeometry", "EllipsoidSurfaceAppearance", "VERTEX_FORMAT", "fromColor", "draw_polygon", "lineColor", "screenToCartesian", "lineClampGround", "VertexFormat", "POSITION_ONLY", "createPrimitive", "degreesArrayHeights", "_labels", "temporaryGroundPrimitive", "fixedGroundPrimitive", "concatGroundPrimitive", "draw_polylineConcat", "concatPrimitive", "temporaryPrimitive", "fixedPrimitive", "lineLoop", "createGroundPrimitive", "draw_polylineTemple", "concat", "finalGroundPrimitive", "finalPrimitive", "1.0.0", "2018.6.19", "xupinhui", "doublearrow", "algorithm", "connPoint", "tempPoint4", "points", "getTempPoint4", "PlotUtils", "isClockWise", "getArrowPoints", "slice", "getBezierPoints", "array2Dto1D", "controlPoint", "polygonalPoint", "fromDegreesArray", "headHeightFactor", "headWidthFactor", "neckHeightFactor", "neckWidthFactor", "getThirdPoint", "HALF_PI", "Constants", "getBaseLength", "reverse", "forEach", "mid", "getArrowHeadPoints", "getArrowBodyPoints", "wholeDistance", "getAngleOfThreePoints", "tailedAttackArrow", "tailWidthFactor", "swallowTailFactor", "swallowTailPnt", "getAttackArrowHeadPoints", "getAttackArrowBodyPoints", "getQBSplinePoints", "headTailFactor", "filter", "iterator", "symbol", "DrawHelper", "_tooltip", "_surfaces", "enhancePrimitives", "_handlersMuted", "mouseOut", "mouseMove", "leftUp", "LEFT_UP", "leftDown", "LEFT_DOWN", "setListener", "muteHandlers", "registerEditableShape", "setHighlighted", "_editMode", "showAt", "鐐瑰嚮浠ョ紪杈戝浘褰�", "setVisible", "leftClick", "leftDoubleClick", "disableAllEditMode", "editCleanUp", "stopDrawing", "disableAllHighlights", "_highlightedSurface", "setEdited", "_editedSurface", "setEditMode", "Material", "fromType", "ColorType", "PolylineMaterialAppearance", "_granularity", "_height", "_textureRotationAngle", "_createPrimitive", "_outlinePolygon", "setAttribute", "getAttribute", "this.ellipsoid must be defined.", "this.material must be defined.", "granularity", "this.granularity and scene2D/scene3D overrides must be greater than zero.", "show", "_primitive", "textureRotationAngle", "_id", "getGeometry", "Primitive", "asynchronous", "strokeColor", "getOutlineGeometry", "debugShowBoundingVolume", "destroyObject", "setStrokeStyle", "strokeWidth", "extent", "initialiseOptions", "setExtent", "fromPositions", "PolygonOutlineGeometry", "PolygonPrimitive", "isPolygon", "setCustom", "custom", "getCustom", "getPositions", "TailedAttackPrimitive", "setPositions", "PolylinePrimitive", "setWidth", "setGeodesic", "geodesic", "getGeodesic", "PolylineGeometry", "/geomap-api/JsCesuimDemo/resource/images/img_plot/dragIcon.png", "BillboardGroup", "addBillboards", "BillboardCollection", "_orderedBillboards", "createBillboard", "_billboards", "_options", "shiftX", "shiftY", "HorizontalOrigin", "CENTER", "VerticalOrigin", "iconUrl", "screenSpaceCameraController", "dragHandlers", "onDrag", "onDragEnd", "onDragStart", "onDoubleClick", "onClick", "_drawHelper", "tooltip", "insertBillboard", "splice", "addBillboard", "removeLastBillboard", "pop", "updateBillboardsPositions", "getBillboard", "countBillboards", "setOnTop", "startDrawingPolygon", "startDrawingPolyshape", "startDrawingPolyline", "startDrawing", "<p>Click to add first point</p>", "random", ")</p>", "<p>Double click to finish drawing</p>", "LEFT_DOUBLE_CLICK", "cartographicArrayToCartesianArray", "Rectangle", "northwest", "southwest", "startDrawingTailedAttack", "firstTime", "test", "<p>鐐瑰嚮浠ュ鍔犵涓�涓帶鍒剁偣</p>", "鍗曞嚮浠ュ鍔犱竴涓柊鐨勬帶鍒剁偣", "poly", "<p>鍙屽嚮鍙粨鏉熺粯鍒�</p>", "startDrawingExtent", "ExtentPrimitive", "<p>鎷栧姩鏀瑰彉绠ご</p><p>鍐嶆鐐瑰嚮缁撴潫缁樺埗</p>", "setEditable", "_editable", "executeListeners", "dragEnd", "_highlighted", "_strokeColor", "fromCssColorString", "white", "_markers", "onEdited", "EllipsoidGeodesic", "interpolateUsingFraction", "billBoard", "removeBillboard", "index", "Drag to create a new point", "_editMarkers", "_globeClickhandler", "Extent", "cartesianArrayToCartographicArray", "doubleArrow", "鎷栧姩浠ラ挸鍑诲舰鐘�", "PolygonPrimitive鍗曞嚮", "鎷栧姩浠ユ敼鍙樺舰鐘�", "TailedAttackPrimitive鍗曞嚮", "DrawHelperWidget", "Container is required", "./img/glyphicons_242_google_maps.png", "./img/glyphicons_097_vector_path_line.png", "./img/qianjijiantou.png", "./img/glyphicons_095_vector_path_circle.png", "./img/zhijiaojiantou.png", "DIV", "button", "title", "onclick", "SPAN", "IMG", "extentIcon", "鐐瑰嚮浠ョ粯鍒剁洿绠ご", "extentCreated", "鐐瑰嚮浠ョ粯鍒堕挸鍑荤澶�", "polygonCreated", "鐐瑰嚮浠ョ粯鍒舵敾鍑荤澶�", "tailedAttackCreated", "clearIcon", "addToolbar", "ClearWidget", "DrawWidget", "west", "east", "south", "north", "EPSILON7", "pow", "toFixed", "twipsy-arrow", "twipsy-inner", "_div", "block", "none", "_title", "undefined", "constructor", "_listeners", "addListener", "getCircleCenterOfThreePoints", "getIntersectPoint", "getAzimuth", "getPointOnLine", "getCubicValue", "getArcPoints", "FITTING_COUNT", "getBisectorNormals", "ZERO_TOLERANCE", "getCurvePoints", "getLeftMostControlPoint", "getRightMostControlPoint", "getNormal", "getBinomialFactor", "getFactorial", "getQuadricBSplineFactor", "MeasureAreaWidget", "tags", "tag", "userAgent", "MeasureAreaWidget_draw_point", "WHITE", "MeasureAreaWidget_draw_label", "measureEnd", "selectFeatures", "indexOf", "polygon", "YELLOW", "delete", "MeasureAreaWidget_draw_polygon", "MeasureAreaWidget_", "area", "km虏", "MeasureAzimuthWidget", "hideInfobox", "MeasureAzimuthWidget_result_label", "FILL_AND_OUTLINE", "18px KaiTi", "CADETBLUE", "Cesium3DTileset", "warn", "鍗曞嚮缁撴潫缁樺埗", "MeasureAzimuthWidget_draw_polyline", "MeasureAzimuthWidget_", "PolylineArrowMaterialProperty", "AQUA", "_polylineGraphicsAzimuth", "PolylineDashMaterialProperty", "_polylineGraphicsNorth", "polyline", "point", "coordinates", "12px sans-serif", "瑙掑害锛�", "showInfobox", "display", "selectionIndicator", "infoBox", "MeasureCoordinateWidget", "璇风偣鍑绘ā鍨�", "MeasureCoordinateWidget_", "MeasureCoordinateWidget_draw_coordinate", "MeasureCoordinateWidget_result_label", "缁忓害锛�", "绾害锛�", "楂樼▼锛�", "collection", "MeasureDistanceWidget", "MeasureDistanceWidget_draw_point", "flag", "!cartesian", "MeasureDistanceWidget_draw_label", "MeasureDistanceWidget_draw_polyline", "鎬婚暱锛�", "_polylineCollection", "_polyline", "_primitives", "MeasureDistanceWidget_result_label", "lerp", "MeasureElevationWidget_", "楂樼▼鍊硷細", "MeasureElevationWidget", "MeasureElevationWidget_result_label", "MeasureHeightWidget", "MeasureHeightWidget_draw_point", "MeasureHeightWidget_draw_polyline", "GREEN", "姘村钩璺濈锛�", "鍨傜洿楂樺害锛�", "绌洪棿璺濈锛�", "result_labelHeight", "MeasureHeightWidget_result_labelHeight", "MeasureSlopeWidget", "_camera", "_canvas", "_lineColor", "_lineWidth", "text", "MeasureSlopeWidget_draw_polyline", "MeasureSlopeWidget_", "PolylineArrow", "MeasureSlopeWidget_draw_label", "鍗曞嚮寮�濮嬬粯鍒�", "atan", "MeasureSlopeWidget_result_label_", "LabelStyle", "16px KaiTi", "MeasureVolumeWidget", "_designElevation", "_samplingPointsNumber", "samplingPointsNumber", "_depthTestAgainstTerrain", "depthTestAgainstTerrain", "_classificationPrimitives", "_pickedClassificationPrimitives", "_tin", "_minHeight", "_maxHeight", "MeasureVolumeWidget_", "MeasureVolumeWidget_draw_label", "_volumeResult", "then", "addClassificationPrimitive", "addVerticalPolylines", "addBasePolygon", "_classificationPrimitive", "BLUE", "_interpolationPoints", "features", "_verticalPolylines", "MeasureVolumeWidget_draw_vertical_polylines", "properties", "lineString", "bboxPolygon", "randomPoint", "booleanPointInPolygon", "ceil", "FeatureCollection", "Feature", "Point", "apply", "getVolume", "intersection", "vertexSerial", "excavationVolume", "excavationArea", "fillVolume", "fillArea", "baseArea", "volume", "搴曢潰绉細", "km鲁", "_resultLabels", "MeasureVolumeWidget_result_label_volume", "getGeometryInstanceAttributes", "_polylines", "toValue", "updateBaseElevation", "updateClassificationPrimitive", "浣撶Н锛�", "updateVerticalPolylinesAndBasePolygon", "ClassificationPrimitive", "MeasureVolumeWidget_draw_base_polygon", "miles", "convex", "steps", "edgeWidth", "edgeColor", "cylinderRadius", "clippingModeUnion", "enabled", "clippingPlanes", "modelEntityClippingPlanes", "computePlanes", "ClippingPlane", "createClippingPlanes", "ClippingPlaneCollection", "GeoFlood", "cartesianArrayHeights", "fragmentShader", "normalMapUrl", "createWaterFace", "creatPrimitive", "Water", "PolygonHierarchy", "VERSION", "parseFloat", "varying vec3 v_positionMC;\n\t\t\t\t\tvarying vec3 v_positionEC;\n\t\t\t\t\tvarying vec2 v_st;\n\t\t\t\t\t\n\t\t\t\t\tvoid main()\n\t\t\t\t\t{\n\t\t\t\t\t\tczm_materialInput materialInput;\n\t\t\t\t\t\tvec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n\t\t\t\t\t#ifdef FACE_FORWARD\n\t\t\t\t\t\tnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\t\t\t\t\t#endif\n\t\t\t\t\t\tmaterialInput.s = v_st.s;\n\t\t\t\t\t\tmaterialInput.st = v_st;\n\t\t\t\t\t\tmaterialInput.str = vec3(v_st, 0.0);\n\t\t\t\t\t\tmaterialInput.normalEC = normalEC;\n\t\t\t\t\t\tmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\n\t\t\t\t\t\tvec3 positionToEyeEC = -v_positionEC;\n\t\t\t\t\t\tmaterialInput.positionToEyeEC = positionToEyeEC;\n\t\t\t\t\t\tczm_material material = czm_getMaterial(materialInput);\n\t\t\t\t\t#ifdef FLAT\n\t\t\t\t\t\tgl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n\t\t\t\t\t#else\n\t\t\t\t\t\tgl_FragColor = czm_phong(normalize(positionToEyeEC), material", ", czm_lightDirectionEC", "GeoLimitHeight", "labelEntity", "polygonPlaneEntity", "targetHeight", "labelOption", "polygonPlaneOption", "polygonFitOption", "drawLabel", "drawPolygonPlane", "drawPolygonFit", "clearLabelEntity", "labelPosition", "labelText", "labelPixelOffset", "labelFillColor", "labelFont", "18px 妤蜂綋", "labelOutlineWidth", "labelStyle", "polygonPlanePerPositionHeight", "polygonPlaneHeight", "polygonPlaneMaterial", "polygonPlaneOutline", "polygonPlaneShow", "clearPolygonFitPrimitive", "polygonFitPositions", "error", "璇疯緭鍏ユ湁鏁堢殑鍧愭爣鏁扮粍锛�", "polygonFitHeight", "polygonFitExtrudedHeight", "polygonFitColor", "polygonFitPrimitive", "clearAll", "clearPolygonPlaneEntity", "GeoPLSViewShed3D_LIGHTPOINT", "GeoPLSViewShed3D_BOUNDARY", "GeoPLSViewShed3D_DASHLINE", "GeoPLSViewShed3D_ORIENTLINE", "GeoPLSViewShed3D", "groundPrimitives", "_pointLightHeight", "_pointLightPixelSize", "pointLightPixelSize", "_pointLightColor", "pointLightColor", "_boundaryWidth", "boundaryWidth", "_boundaryColor", "boundaryColor", "_orientLineWidth", "orientLineWidth", "_orientLineColor", "orientLineColor", "baseDEMLerpCfg", "_intervalAnalysis", "intervalAnalysis", "_pointLightCamera", "褰撳墠Cesium鐗堟湰锛�", ",鐐瑰厜婧愬彲瑙嗗煙鍒嗘瀽鏆備笉鏀寔璇ョ増鏈紝璇锋洿鎹㈣嚦1.50浠ヤ笂鐨勭増鏈�!", "firstLeftClick", "shadowMap", "enableGeoPLSViewShed3D", "_baseDEMLerpCfg", "enable", "angleInterval", "timeInterval", "num", "boundaryPositionArr", "startPointLng", "startPointLat", "startPointHgt", "interpolationBase", "visibleColor", "invisibleColor", "鍗曞嚮宸﹂敭纭畾鍙鍩熶綅缃�", "tipPosition", "鍗曞嚮宸﹂敭鍥哄畾鍙鍩熷崐寰�", "fromAlpha", "瑙嗛珮锛�", "鍗婂緞锛�", "BOTTOM", "dynamicAnalysis", "pointLightPosition", "realTimeRadius", "Camera", "context", "size", "_pointLightRadius", "depthBias", "fromRadians", "toCartesian", "sort", "terrainShadows", "ShadowMode", "ENABLED", "GroundPolylineGeometry", "GroundPolylinePrimitive", "showBackground", "backgroundColor", "horizontalOrigin", "verticalOrigin", "pixelOffset", "fillColor", "outlineWidth", "outlineColor", "GeoProfile", "getLerpValue", "lng_origin", "lat_origin", "hgt_origin", "lng_destination", "lat_destination", "hgt_destination", "floor", "samplingNum", "minHeight", "maxHeight", "surfaceLen", "YValueArray", "addLenArray", "lerpCoordnatesArray", "drawChart", "getElementById", "onmousedown", "clientX", "onmousemove", "clientY", "onmouseup", "init", "鍓栭潰绀烘剰鍥�", "#ccc", "bold", "axis", "<br />", "12%", "#aaa", "solid", "category", "闀垮害(绫�)", "rgba(0.0, 128, 255, 0.6)", "bolder", "dashed", "楂樼▼(绫�)", "rgba(0.0,255.0,255.0,0.8)", "setOption", "table", "tbody", "innerHTML", "璧风偣缁忓害锛�", "鎶曞奖璺濈锛�", "璧风偣绾害锛�", "缁堢偣楂樼▼锛�", "鍦拌〃璺濈锛�", "缁堢偣缁忓害锛�", "鏈�楂橀珮绋嬶細", "straightLen", "鏈�浣庨珮绋嬶細", "oTable", "originCoordanate", "originImage", "destinationCoordanate", "clearChart", "myChart", "chartContainer", "removeChild", "GEOSIGHTLINE_TIP", "REDLINE", "GREENLINE", "GeoSightline", "observeRelativeHeight", "targetRelativeHeight", "observeImage", "targetImage", "objectsToExclude", "observeActualPosition", "targetActualPosition", "observeEntity", "targetEntity", ",閫氳鍒嗘瀽鏆備笉鏀寔璇ョ増鏈紝璇锋洿鎹㈣嚦1.50浠ヤ笂鐨勭増鏈�!", "destroyHandler", "enableGeoSightline", "pickFromRays", "鍗曞嚮宸﹂敭纭畾瑙傚療鐐�", "drillPickFromRay", "clampToHeight", "_entities", "_array", "GeoSkyLineVolume", "skyLineShow", "skylineShow", "skyLineWidth", "skyLineMaterial", "skyLineVolumeMaterial", "ORANGE", "skyLineVolumeOutLine", "skyLineVolumeOutLineColor", "BLACK", "extrudeRatio", "skyLine", "skyLineVolume", "calculateSkyLinePositions", "data", "skyLinePositions", "drawSkyLine", "skyLineDepthFailMaterial", "drawSkyLineVolume", "cameraPosition", "cameraHeight", "澶╅檯绾跨ず鎰忓浘", "瀹藉害(PX)", "line", "getPointDistance", "interNumber", "holeDepth", "arrPoints", "earth", "sideMaterial", "bottomMaterial", "GeoExcavationRegion", "samplingPoints", "_sideMaterial", "_interNumber", "_depth", "depth", "StripeMaterialProperty", "_entitys", "_samplingPoints", "_callback", "_bottomMaterial", "_vPolyline", "_vertexNum", "_excavationRegion", "_arrayVertex", "_outPoints", "GeoTerrainSlope", "shadingUniforms", "updateMaterial", "contour", "spacing", "selectedShading", "slope", "aspect", "elevation", "materials", "elevationRampMaterial", "minimumHeight", "maximumHeight", "contourMaterial", "slopeRampMaterial", "contourUniforms", "ElevationContour", "ElevationRamp", "SlopeRamp", "AspectRamp", "image", "getContext", "createLinearGradient", "#000000", "addColorStop", "#2747E0", "#ffffff", "#0a8d33", "#afdd76", "#f2b602", "#eea706", "#df7702", "#a52100", "#682b06", "#6a2402", "fillStyle", "ElevationColorContour", "max(contourMaterial.alpha, elevationRampMaterial.alpha)", "SlopeColorContour", "max(contourMaterial.alpha, slopeRampMaterial.alpha)", "AspectColorContour", "max(contourMaterial.alpha, aspectRampMaterial.alpha)", "_ready", "dirty", "polys", "isCartesian3Point", "platSlot", "content", "bindTileset", "_tileset", "There is a tileset already, Only One Bind", "platBodyDebug", "tileLoad", "showPlat", "isPlatShow", "isPlatDirty", "clearPlatDirty", "addPlatArea", "platPickPoints", "_show", "getPlatArea", "removePlatArea", "number", "_pickObject", "_tile", "_runtime", "rootNodes", "_boundingVolume", "halfAxes", "matOrg", "createHalfMatrix", "matOrgI", "invertMatrix", "matPrj", "matPrjI", "modelMatrix", "computedMatrix", "initBoxMatrixes", "modelMatrixI", "buffers", "initRegionMatrixes", "initializePlatPoly", "buffer", "byteOffset", "BYTES_PER_ELEMENT", "isPlatPoint", "replaceCommandVertexBuffer", "platPolys", "toPlatBoxModel", "toPlatModel", "_header", "boundingVolume", "region", "toPlatRegionModel", "platModel", "hitPlatTest", "isUsed", "toUnplatModel", "platPickRegion", "initPlatBodyDebug", "createTileRegion", "tileRegion", "initializeCartographicPlatPoly", "initializeCartesianPlatPoly", "divideByScalar", "initCompressPlane", "_orientedBoundingBox", "isPlatPointResult", "mapPosition", "compressPlane", "isPlatPointNoResult", "normal", "isInsidedPoint", "minY", "isEqualFloat", "_nodeCommands", "BufferUsage", "STATIC_DRAW", "command", "_vertexArray", "_attributes", "vertexBuffer", "vertexArrayDestroyable", "_vao", "glDeleteVertexArray", "_cachedGltf", "_gltf", "bufferViews", "getBuffer", "inverse", "setColumn", "createNormal", "createMatrix", "GEOVIEWRADAR_TIP", "GEOVIEWRADAR_LIGHTPOINT", "GeoViewRadar", "pointLightHeight", "boundingSphereStackPartitions", "boundingSphereSlicePartitions", "boundingSphereSubdivisions", ",闆疯揪鍒嗘瀽鏆備笉鏀寔璇ョ増鏈紝璇锋洿鎹㈣嚦1.50浠ヤ笂鐨勭増鏈�!", "enableGeoViewRadar", "鍗曞嚮宸﹂敭纭畾闆疯揪浣嶇疆", "鍗曞嚮宸﹂敭鍥哄畾闆疯揪鍗婂緞", "ShadowMap", "debugShow", "_boundingSphere", "slicePartitions", "subdivisions", "GEOVIEWSHED3D_TIP", "GEOVIEWSHED3D_SPOTID", "GeoViewShed3D", "spotLightHeight", "_shadowMapNum", "_spotLightCameraList", "expandShadowMapList", "spotLightPosition", "realTimeHeading", "realTimePitching", "realTimeDistance", "realTimeFieldAngle", "鍗曞嚮宸﹂敭纭畾瑙傚療浣嶇疆", "鍗曞嚮宸﹂敭鍥哄畾瑙嗗煙鑼冨洿", "analysis", "observePtCoordinate", "frustumLength", "frustumField", "_terrainBias", "enableGeoViewShed3D", "lookAt", "fromHsl", "GeoVolumeCalculate_LINE", "GeoVolumeCalculate_TIP", "GeoVolumeCalculate_GON", "GeoVolumeCalculate_DEGON", "GeoVolumeCalculate_CORAL", "designElevation", "getValue", "shift", "polylineEntity", "volumeAnalysis", "VOLUME", "designPolygonEntity", "CORAL", "polygonEntity", "designPolygonEntity_coral", "宸﹂敭鐐瑰嚮缁樺埗锛屽彸閿偣鍑荤粨鏉�", "15px sans-serif", "SingleBuildingWidget", "PrimitiveCollection", "CORNFLOWERBLUE", "highlightColor_click", "highlightColor_move", "_INTERSECTED_FLOOR", "_INTERSECTED_FLOOR2", "classificationPrimitiveCollection", "extrudeToBuilding", "_INTERSECTED_FLOOR3", "baseHeight", "sampleHeightSupported", "sampleHeight", "鍦板舰杩樻湭鍑嗗濂斤紒", "寤虹瓚鐗╁熀纭�楂樺害baseHeight鏄繀闇�鐨勶紒", "levels", "GEO_SINGLEBUILDING", "callback_click", "_primitiveOptions", "geometryInstances", "toString", "callback_move", "highlightFloor", "deActivate", "removeInputAction", "FlyAround", "_pitch", "_roll", "speed", "_distance", "_positionCartographic", "isFlying", "deltaHeight", "keyEvent", "preRender", "_play", "_heading", "deltaDistance", "play", "鍙傛暟涓嶅彲缂虹渷锛�", "_preRender", "pause", "continue", "removeEventListener", "keydown", "shiftKey", "deltaRadians", "FreeFlight", "direct", "lat", "planePrimitive", "hpRoll", "fromBehind", "fixedFrameTransform", "pathPosition", "SampledPositionProperty", "speedVector", "hpRange", "readyPromise", "activeAnimations", "ModelAnimationLoop", "REPEAT", "boundingSphere", "range", "PolylineGlowMaterialProperty", "PALEGOLDENROD", "addSample", "JulianDate", "now", "headingPitchRollToFixedFrame", "lon", "postRender", "keydownOption", "keyCode", "RouteFly", "cartographicArray", "pointArray", "_stop", "cartesian3", "initialHeading", "differentBearing", "reduceBearing", "HorizontalRadian", "initializationFly", "clock", "startTime", "stopTime", "clockRange", "CLAMPED", "computeCirclularFlight", "addSeconds", "TRANSPARENT", "TimeInterval", "currentTime", "multiplier", "VerticalRadians", "WalkBrowse", "orientationAngle", "point1", "point2", "point3", "bearing1", "bearing2", "moveForward", "lookRight", "GeoCirclePipe", "topRadius", "bottomRadius", "_numSubGeometrys", "numSubGeometrys", "_imageColor", "imageColor", "_rotationXPerFrame", "rotationXPerFrame", "_rotationYPerFrame", "rotationYPerFrame", "rotationZPerFrame", "_instanceName", "endRadian", "_useImage", "_image", "_color", "multiplyByTranslation", "CirclePipeGeometry", "_startRadian", "_endRadian", "MaterialAppearance", "_waitForBuildingMaterial", "onTick", "onFrame", "_circlePipePrimitive", "fromRotationX", "fromRotationY", "fromRotationZ", "_rotationZPerFrame", "multiplyByMatrix3", "Image", "slices", "onMouseEnter", "onMouseLeave", "_onMouseLeftClick", "onMouseLeftClick", "_previousEnter", "_moveHandler", "_clickHandler", "images", "instanceNames", "_circlePipeCollection", "_onMouseEnter", "_onMouseLeave", "instanceName", "_center", "_drawCommandAlpha", "_drawCommandOpaque", "_needUpdate", "_va", "_speed", "_actived", "actived", "_lastTime", "_maxRadius", "_hSpeed", "_life", "_metallicFactor", "metallicFactor", "_roughnessFactor", "roughnessFactor", "_emissiveFactor", "emissiveFactor", "_initTransform", "_modelTransform", "_updateTime", "_updateCommands", "commandList", "vertexArray", "shaderProgram", "owner", "_updateVA", "_time", "getTimestamp", "_updateAlphaCommand", "_updateOpaqueCommand", "DrawCommand", "pass", "renderState", "RenderState", "fromCache", "WebGLConstants", "LEQUAL", "BlendingState", "ALPHA_BLEND", "ShaderProgram", "HDR", "uniformMap", "multiplyTransformation", "viewMatrix", "getRotation", "getMatrix3", "transpose", "Pass", "OPAQUE", "_computeStepCount", "createTypedArray", "ComponentDatatype", "FLOAT", "Buffer", "createVertexBuffer", "createIndexBuffer", "UNSIGNED_SHORT", "VertexArray", "_updateBoundingVolume", "round", "BoundingSphere", "attribute vec3 aPoint;\n", "attribute vec3 aNormal;\n", "attribute float aT;\n", "uniform mat3 u_normalMatrix;\n", "varying vec3 v_normalEC;\n", "varying vec3 v_positionEC;\n", "varying float v_t;\n", "void main(){\n", "   v_positionEC = (czm_modelViewRelativeToEye * vec4(aPoint, 1.0)).xyz;\n", "   v_normalEC = u_normalMatrix * aNormal;\n", "uniform vec4 u_color;\n", "uniform float u_metallicFactor;\n", "uniform float u_roughnessFactor;\n", "uniform vec3 u_emissiveFactor;\n", "float M_PI = 3.141592653589793;\n", "vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) \n", "    return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0);\n", "float smithVisibilityG1(float NdotV, float roughness) \n", "    return NdotV / (NdotV * (1.0 - k) + k);\n", "float smithVisibilityGGX(float roughness, float NdotL, float NdotV) \n", "    return smithVisibilityG1(NdotL, roughness) * smithVisibilityG1(NdotV, roughness);\n", "float GGX(float roughness, float NdotH) \n", "    float roughnessSquared = roughness * roughness;\n", "    float f = (NdotH * roughnessSquared - NdotH) * NdotH + 1.0;\n", "    return roughnessSquared / (M_PI * f * f);\n", "vec3 lambertianDiffuse(vec3 diffuseColor) \n", "    return diffuseColor / M_PI;\n", "vec3 LINEARtoSRGB(vec3 linearIn) \n", "#ifndef HDR \n", "    return pow(linearIn, vec3(1.0/2.2));\n", "#else \n", "#endif \n", "   if (!gl_FrontFacing){\n", "       n = -n;\n", "   }\n", "   vec4 baseColorWithAlpha = u_color;\n", "   if (v_t > 0.5){", "       baseColorWithAlpha.a = (2.0 - v_t * 2.0);\n", "   else{\n", "       baseColorWithAlpha.a = 1.0;\n", "   vec3 baseColor = baseColorWithAlpha.rgb;\n", "   float metalness = clamp(u_metallicFactor, 0.0, 1.0);\n", "   float roughness = clamp(u_roughnessFactor, 0.04, 1.0);\n", "   vec3 lightColor = vec3(1.5, 1.4, 1.2);\n", "   vec3 h = normalize(v + l);\n", "   float NdotL = clamp(dot(n, l), 0.001, 1.0);\n", "   float NdotH = clamp(dot(n, h), 0.0, 1.0);\n", "   float VdotH = clamp(dot(v, h), 0.0, 1.0);\n", "   vec3 f0 = vec3(0.04);\n", "   vec3 diffuseColor = baseColor * (1.0 - metalness) * (1.0 - f0);\n", "   float alpha = roughness * roughness;\n", "   float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n", "   vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));\n", "   vec3 r0 = specularColor.rgb;\n", "   float G = smithVisibilityGGX(alpha, NdotL, NdotV);\n", "   float D = GGX(alpha, NdotH);\n", "   vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor);\n", "   vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV);\n", "   vec3 color = NdotL * lightColor * (diffuseContribution + specularContribution);\n", "   color += u_emissiveFactor;\n", "   color = LINEARtoSRGB(color);\n", "   gl_FragColor = vec4(color, baseColorWithAlpha.a);\n", "    float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;\n", "    return linearIn;\n", "   if (v_t > 0.5){discard;}\n", "   vec3 n = normalize(v_normalEC);\n", "   baseColorWithAlpha.a = 1.0;\n", "   vec3 v = -normalize(v_positionEC);\n", "   vec3 l = normalize(czm_sunDirectionEC);\n", "   float LdotH = clamp(dot(l, h), 0.0, 1.0);\n", "   vec3 specularColor = mix(f0, baseColor, metalness);\n", "   vec3 F = fresnelSchlick2(r0, r90, VdotH);\n", "viewer is required.", "DEFAULT_HEIGHT", "_radius", "GeoDynamicCircle", "_classificationType", "classificationType", "DEFAULT_CLASSIFICATION_TYPE", "_bottomEllipse", "_waveEllipse", "_createDynamicCircle", "isShow", "setShow", "_isShow", "setColor", "DEFAULT_COLOR", "ellipse", "getColor", "setRadius", "DEFAULT_RADIUS", "semiMajorAxis", "getRadius", "setCenter", "position is required.", "ImageMaterialProperty", "CallbackProperty", "rgba(255, 255, 255, 1.0)", "rgba(255, 255, 255, 0.0)", "rgba(255, 255, 255, 0.9)", "rgba(255, 255, 255, 0.2)", "clearRect", "beginPath", "arc", "restore", "strokeStyle", "rgb(255, 255, 255)", "setLineDash", "stroke", "center is required.", "_length", "GeoDynamicCylinder", "DEFAULT_LENGTH", "_topRadius", "_bottomRadius", "particlesColor", "DEFAULT_PARTICLES_COLOR", "_cylinderColor", "cylinderColor", "particlesImageUrl", "_cylinderPrimitive", "_createDynamicCylinder", "_particlesPrimitive", "\n                varying vec3 v_positionEC;\n                varying vec3 v_normalEC;\n                varying vec2 v_st;\n                //varying vec4 v_color;\n                //uniform sampler2D u_image;\n                //uniform vec4 u_color;\n                void main()\n                {\n                    float powerRatio = fract(czm_frameNumber / 30.0) + 1.0;\n                    float alpha = pow(1.0 - v_st.t, powerRatio);\n                    vec4 color = vec4(", "red", "green", "blue", "alpha", ");\n                    // gl_FragColor = vec4(u_color.rgb, alpha*u_color.a);\n                    gl_FragColor = vec4(color.rgb, alpha*color.a);\n                }\n                ", "particles primitive", "_particlesImageUrl", "\n            varying vec3 v_positionEC;\n            varying vec3 v_normalEC;\n            varying vec2 v_st;\n            //varying vec4 v_color;\n            //uniform sampler2D u_image;\n            //uniform vec4 u_color;\n            void main()\n            {\n                vec3 positionToEyeEC = -v_positionEC;\n                vec3 normalEC = normalize(v_normalEC);\n                normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\n                float dt = fract(czm_frameNumber / 90.0);\n                vec2 st = fract(vec2(1.0) + v_st - vec2(dt, dt));\n                //vec4 imageColor = texture2D(u_image, st);\n\n                czm_materialInput materialInput;\n                materialInput.normalEC = normalEC;\n                materialInput.positionToEyeEC = positionToEyeEC;\n                materialInput.st = st;\n                czm_material material = czm_getMaterial(materialInput);\n\n\n                vec3 diffuse = material.diffuse;\n                float alpha = material.alpha;\n\n                //diffuse *= v_color.rgb;\n                //alpha *= v_color.a;\n                \n                vec4 ucolor = vec4(", ");\n                diffuse *= ucolor.rgb;\n                alpha *= ucolor.a;\n\n                 //diffuse *= u_color.rgb;\n                 //alpha *= u_color.a;\n\n                gl_FragColor = vec4(diffuse, alpha * pow(1.0 - v_st.t, 2.0));\n            }\n            ", "\n            attribute vec3 position3DHigh;\n            attribute vec3 position3DLow;\n            attribute vec3 normal;\n            attribute vec2 st;\n            attribute float batchId;\n\n            varying vec3 v_positionEC;\n            varying vec3 v_normalEC;\n            varying vec2 v_st;\n\n            void main()\n            {\n                vec4 p = czm_computePosition();\n\n                v_positionEC = (czm_modelViewRelativeToEye * p).xyz;      // position in eye coordinates\n                v_normalEC = czm_normal * normal;                         // normal in eye coordinates\n                v_st = st;\n\n                gl_Position = czm_modelViewProjectionRelativeToEye * p;\n            }\n            ", "DEFAULT_CYLINDER_COLOR", "GOLD", "GeoHeatMap", "heatmapOptions", "orange", "useEntities", "defaults", "gradient", "maxOpacity", "minOpacity", "_computeBounds", "_getContainer", "width: ", "px; height: ", "body", "_getImageryProvider", "getDataURL", "_rectangle", "_tilingScheme", "WebMercatorTilingScheme", "_mbounds", "_getID", "charAt", "WebMercatorProjection", "wgs84ToMercator", "wgs84ToMercatorBB", "mercatorToWgs84", "mercatorToWgs84BB", "rad2deg", "deg2rad", "mercatorPointToHeatmapPoint", "_xoffset", "_factor", "_spacing", "maxCanvasSize", "minCanvasSize", "setData", "_initBounds", "_setWidthAndHeight", "radiusFactor", "_yoffset", "bounds", "_container", "px; margin: 0px; display: none;", "repaint", "_heatmap", "-hm", "wgs84PointToHeatmapPoint", "_layer", "imageryLayers", "updateLayer", "_renderer", "1.21", "transparent", "addImageryProvider", "url", "url is required.", "_url", "GeoImageCircle", "_ellipse", "_createImageCircle", "TERRAIN", "_position", "_direction", "_baseScale", "_mode", "buildModuleUrl", "_url_1", "urlTop", "explode", "_positions", "_startScale", "_endScale", "_imageSize", "_endColor", "smoking", "life", "_minLife", "_maxLife", "_minSpeed", "_maxSpeed", "_count", "_grow", "grow", "_texture_0", "_texture_1", "_drawCommand", "_pointsArray", "_speedScaleLifeTimesArray", "_preTime", "_loadTexture", "_initFires", "addPosition", "_explode", "_owner", "_fires", "_directionsArray", "frameState", "Resource", "Texture", "fetchImage", "_emissionPosition", "randomBetween", "_growFires", "baseScale", "_updateFire", "_initFire", "_clock", "shouldAnimate", "secondsOfDay", "_updateCommand", "_isCommandReady", "updateNext", "instanceCount", "_updateCommandBoundingVolume", "_updateCommandShaderProgram", "_updateCommandUniforms", "_updateCommandRenderState", "aPosition", "aDirection", "aSpeedScaleLifeTime", "_updateCommandVA", "time", "aTexcoord", "aPlane", "u_startScale", "u_endScale", "u_imageSize", "u_endColor", "u_texture_0", "u_texture_1", "_updateCommandModelMatrix", "attribute vec2 aPlane;\n", "attribute vec4 aDirection;\n", "attribute vec4 aSpeedScaleLifeTime;\n", "attribute vec2 aTexcoord;\n", "uniform float u_endScale;\n", "varying vec3 v_texcoord_0;\n", "varying vec4 v_colorFact;\n", "vec4 computePosition(vec3 position, vec2 plane, vec3 direction, float imageSize, float baseScale, float speed, float time){\n", "   vec3 v = normalize(direction) * speed * time;\n", "   vec4 result = czm_modelView * vec4(v, 1.0);\n", "   result.xy += plane * imageSize * baseScale;\n", "   return result;\n", "void main()\n", "   float speed = aSpeedScaleLifeTime.x;\n", "   float baseScale = aSpeedScaleLifeTime.y;\n", "   float life = aSpeedScaleLifeTime.z;\n", "   baseScale *= mix(u_startScale, u_endScale, t);\n", "   gl_Position = czm_projection * positionEC;\n", "   v_texcoord_0.z = aDirection.w;\n", "   if (t > 0.618){\n", "       v_texIndex = 2.0;\n", "   else if (t > 0.382){\n", "       v_texIndex = 1.0;\n", "       v_texIndex = 0.0;\n", "       v_colorFact = vec4(1.0 - t);\n", "       v_colorFact = mix(u_startColor, u_endColor, t);\n", "uniform sampler2D u_texture_0;\n", "uniform sampler2D u_texture_1;\n", "   int mode = int(v_texcoord_0.z);\n", "   vec4 color = vec4(0.0);\n", "   if (mode == 0){\n", "           color = texture2D(u_texture_1, v_texcoord_0.xy);\n", "           color = texture2D(u_texture_0, v_texcoord_0.xy);\n", "       }\n", "   else if (mode == 1){\n", "       color.rg *= 1.4;\n", "   else if (mode == 2){\n", "       color = v_colorFact;\n", "   if (color.a == 1.0){\n", "       color.a = mc;\n", "       if (color.a > 0.995){\n", "   vec4 fact = czm_gammaCorrect(v_colorFact);\n", "   color *= fact;\n", "   if (color.a < 0.1){discard;}\n", "   gl_FragColor = color;\n", "_normalFact", "_alphaFact", "GeoLineSmokeEffect", "_startColor", "density", "normalFactor", "_smokes", "_needTime", "_door", "_maxNormalFactor", "_minNormalFactor", "_growSmokes", "_initSmokes", "_initSmoke", "multiply", "fromRotationTranslation", "multiplyByPointAsVector", "alphaFact", "normalFact", "_updateSmoke", "_udoor", "TRANSLUCENT", "_updateCommandShaderProgramAlpha", "_updateCommandRepeatVA", "_updateCommandShaderProgramOpaque", "IndexDatatype", "u_startColor", "attribute vec4 aPosition;\n", "uniform vec4 u_endColor;\n", "uniform float u_imageSize;\n", "   vec3 v = position;\n", "   result /= result.w;\n", "   float time = aSpeedScaleLifeTime.w;\n", "   float t = time / life;\n", "   vec4 positionEC = computePosition(aPosition.xyz, aPlane, aDirection.xyz, u_imageSize, baseScale, speed, time);\n", "   v_texcoord_0.xy = aTexcoord;\n", "   v_texcoord_0.z = t;\n", "   color = texture2D(u_texture_0, v_texcoord_0.xy);\n", "   vec4 fact = v_colorFact;\n", "   if (v_texcoord_0.z > 0.9){color.a *= 0.1;}\n", "uniform vec4 u_startColor;\n", "uniform float u_startScale;\n", "   v_colorFact = vec4(mix(u_startColor.rgb, u_endColor.rgb, aPosition.w * (u_startColor.a + u_endColor.a) / 2.0), aPosition.w);\n", "   if (v_texcoord_0.z > 0.9){discard;}\n", "   color = czm_gammaCorrect(color);\n", "playing", "sampleMaxHeight", "sampleMaxPoint", "isParabola", "autoToGround", "_name", "createGuid", "render", "_data", "posititons", "getData", "_createPolylines", "_lines", "duration", "_clearPolylines", "_definitionChanged", "Event", "createPropertyDescriptor", "getType", "getValueOrClonedDefault", "_materialCache", "addMaterial", "GeoOutlineFireEffect", "_fireEffect", "_postProcess", "_assigned", "_depthAttachment", "_clearCommand", "_yPlane", "_zPlane", "_xyRange", "_checkPositionsOrder", "_createGroundTexture", "_createXYPlanes", "_createPostProcess", "_updateAssiged", "_viewMatrix", "_invViewMatrix", "postProcessStages", "useLogDepth", "_createFireEffect", "GeoLineFireEffect", "_computePlane", "_createAssignedFrameBuffer", "drawingBufferWidth", "drawingBufferHeight", "_framebuffer", "PixelFormat", "DEPTH_STENCIL", "PixelDatatype", "UNSIGNED_INT_24_8", "Sampler", "CLAMP_TO_EDGE", "TextureWrap", "TextureMinificationFilter", "NEAREST", "TextureMagnificationFilter", "Framebuffer", "ClearCommand", "addFireEffect", "addSmokeEffect", "_depthStencilTexture", "_view", "passState", "framebuffer", "execute", "uniform mat4 u_nViewMatrix;\n", "uniform int u_count;\n", "uniform vec4 u_planes[", "];\n", "uniform vec4 u_xPlane;\n", "uniform vec4 u_yPlane;\n", "uniform vec4 u_zPlane;\n", "uniform vec2 u_xyRange;\n", "uniform sampler2D colorTexture;\n", "uniform sampler2D depthTexture;\n", "uniform sampler2D u_assignedTexture;\n", "uniform sampler2D u_groundTexture;\n", "varying vec2 v_textureCoordinates;\n", "vec4 toEye(in vec2 uv, in float depth){\n", "    vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0));\n", "    posInCamera = posInCamera / posInCamera.w;\n", "float getDepth(in vec4 depth){\n", "    float z_window = czm_unpackDepth(depth);\n", "    z_window = czm_reverseLogDepth(z_window);\n", "    float n_range = czm_depthRange.near;\n", "    float f_range = czm_depthRange.far;\n", "    return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n", "vec2 getGroundTexCoord(in vec3 position){\n", "    float y = czm_planeDistance(u_yPlane, position) / u_xyRange.y;\n", "    return vec2(x * 4.0, y * 4.0);\n", "    vec4 color = texture2D(colorTexture, v_textureCoordinates);\n", "    vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n", "    if(currD.r>=1.0){\n", "        gl_FragColor = color;\n", "        return;\n", "    vec4 assigned = texture2D(u_assignedTexture, v_textureCoordinates);\n", "    }\n", "    float depth = getDepth(currD);\n", "    float z = czm_planeDistance(u_zPlane, position.xyz);\n", "    vec2 gndTexCoord = getGroundTexCoord(position.xyz);\n", "    vec4 colorGround = texture2D(u_groundTexture, gndTexCoord);\n", "    for (int i = 0; i < ", "        if (i >= u_count){\n", "            break;\n", "        }\n", "        float d0 = czm_planeDistance(u_planes[i], position.xyz);\n", "        float d2 = czm_planeDistance(u_planes[i+2], position.xyz);\n", "        if (d0 > 0.0 && d1 > 0.0 && d2 > 0.0){\n", "           if (z < -1000.0){break;}\n", "           break;\n", "PostProcessStage", "_groundTexture", "_xPlane", "urlGround", "function ", "join", "l-1", ";while(l<=h){                var m=(l+h)>>>1,x=a[m]", ";if(x===y){return m}else if(x<=y){", ";var p=c(x,y);if(p===0){return m}else if(p<=0){", ";if(", "){i=m;", "l=m+1}else{h=m-1}", "h=m-1}else{l=m+1}", "return -1};", "return i};", "c(x,y)", "function dispatchBsearch", "(a,y,c,l,h){                    if(typeof(c)==='function'){                        return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)                    }else{                        return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)                    }}                    return dispatchBsearch", "triangulation", "binary-search-bounds", "stars", "edges", "removeTriangle", "addTriangle", "flip", "opposite", "cells", "neighbor", "flags", "next", "locate", "boundary", "constraint", "two-sum", "twoProduct", "fastTwoSum", "robust-subtract", "robustSubtract", "robust-sum", "linearExpansionSum", "two-product", "robust-scale", "scaleLinearExpansion", "sum(", "split", "substr", "prod(", "scale(", "prod(m", "var w", "=scale(w", "[0]);", "var p=", "sum", "diff", "slow", "function testInSphere(", ":return o", "robust-in-sphere", "delaunay", "isConstraint", "),prod(-", "Exact", "){var p=", ",n=", ",d=sub(p,n);        return d[d.length-1];};return ", "prod", "function getOrientation(", "case ", "}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation", "robust-orientation", "monotone", "idx", "lowerIds", "upperIds", "monotoneTriangulate", "cdt2d", "delaunayRefine", "classifyFaces", "map", "exterior", "infinity", "_points", "peekTransform", "anyDirection", "take", "_rings", "_find", "_fixups", "_checkCell", "triangulate", "GeoPolygonClippingEffect", "_clipResult", "clipResult", "_maskColor", "maskColor", "_polygons", "_areaCamera", "isTriangle", "Hide", "Show", "_enabled", "_disableAll", "_initialize", "_parseTriangles", "_translateToTriangles", "_adjustOrder", "_parsePolygons", "adjustOrder", "_enableAll", "_enableHideAll", "_enableShowAll", "_disableHideAll", "_disableShowAll", "_enablePrimitiveCollection", "_enableGlobe", "skyAtmosphere", "_disablePrimitiveCollection", "_disableGlobe", "skyBox", "_enablePrimitive", "_disablePrimitive", "_enableEntityCluster", "Model", "_enableModel", "EntityCluster", "_disableEntityCluster", "_disableModel", "_pointCollection", "_pointPrimitives", "_generateClipPlanes", "_clearSurfaceClippingPlanes", "_tilesInvalidated", "_tileProvider", "_clippingPlanes", "_surfaceShaderSet", "_resetSurfaceShaderSet", "_shadersByTexturesFlags", "_calcClipCenter", "fromTranslation", "_shouldRegenerateShaders", "_generateHidePlanes", "_generateShowPlanes", "_generateSourcePlanes", "GRAY", "mularea", "clip", "clippingFunctionMularea", "float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix)\n", "    vec3 clipNormal = vec3(0.0);\n", "    float clipAmount = 0.0;\n", "    float pixelWidth = czm_metersPerPixel(position);\n", "    bool bDiscard = true;\n", "    {\n", "        vec4 clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", "        clipNormal = clippingPlane.xyz;\n", "        clipPosition = -clippingPlane.w * clipNormal;\n", "        float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", "        if (amount > 0.0)\n", "        {\n", "           j++;\n", "           clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", "           clipNormal = clippingPlane.xyz;\n", "           clipPosition = -clippingPlane.w * clipNormal;\n", "           clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", "           if (amount > 0.0)\n", "           {\n", "               clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", "               clipNormal = clippingPlane.xyz;\n", "               amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", "               clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", "               {\n", "                   bDiscard = false;\n", "                   break;\n", "               }\n", "           }\n", "    if (bDiscard) {\n", "        discard;\n", "getClipAndStyleCodeForMulArea", "uniform sampler2D gltf_clippingPlanes; \n", "uniform mat4 gltf_clippingPlanesMatrix; \n", "uniform vec4 gltf_clippingPlanesEdgeStyle; \n", "{ \n", "    gltf_clip_main(); \n", "); \n", "    clippingPlanesEdgeColor.rgb = ", ".rgb; \n", "    float clippingPlanesEdgeWidth = ", "    if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) \n", "        gl_FragColor = clippingPlanesEdgeColor;\n", "    } \n", "} \n", "    vec3 clipPosition = vec3(0.0);\n", "        int j = i;\n", "        clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", "           amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", "               j++;\n", "               if (amount > 0.0)\n", "        //break;\n", "void main() \n", "    float clipDistance = clip(gl_FragCoord, ", ".a; \n", "    if (clipDistance < 0.0) \n", "    { \n", "peekSource", "addOutlinePosition", "_outline", "tileUnload", "raiseEvent", "_statistics", "decrementLoadCounts", "numberOfTilesWithContentReady", "unloadContent", "_enableTileset", "_root", "_removeEffectFromTileset", "_cache", "trim", "unloadTiles", "_unloadTileCallback", "GeoRadarScan", "DEFAULT_LINE_WIDTH", "_sectorColor", "_sectorWidth", "sectorWidth", "DEFAULT_SECTOR_WIDTH", "_createRadarScan", "_updateBorderMaterial", "_updateSectorMaterial", "_radarScanEntity", "_borderEntity", "setLineColor", "getLineColor", "setsectorColor", "radar", "rgba(", "rgba(255,255,255,1)", "255,255,255", ",1)", "moveTo", "lineTo", "fill", "_createCanvas", "GeoScanCircleEffect", "_repeat", "repeat", "_scanCirclePostProcess", "_scanAperturePostProcess", "_normal", "_setLife", "_setTime", "_color0", "_finishedEvent", "_updatePostProcesses", "_finish", "inverseViewMatrix", "_updateScanAperturePostProcess", "_updateScanCirclePostProcess", "uniform mat4 u_invViewMatrix;\n", "uniform vec3 u_center;\n", "   vec4 color = texture2D(colorTexture, v_textureCoordinates);\n", "   vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n", "   if(currD.r >= 1.0){\n", "       return;\n", "   float zd = czm_unpackDepth(currD);\n", "   zd = czm_reverseLogDepth(zd);\n", "   zd = (2.0 * zd - czm_depthRange.near - czm_depthRange.far) / (czm_depthRange.far - czm_depthRange.near);\n", "   vec2 xy = vec2((v_textureCoordinates.x * 2.0 - 1.0), (v_textureCoordinates.y * 2.0 - 1.0));\n", "   vec4 position = czm_inverseProjection * vec4(xy, zd, 1.0);\n", "   float z = 0.0;\n", "   if (all(notEqual(n, b))){\n", "       vec3 nc = cross(b, n);\n", "       b = normalize(b);\n", "       z = dot(b, position.xyz) - dot(b, u_center);\n", "   float d5 = u_param0.z * u_param0.y;\n", "   float hw = u_param0.w / 2.0;\n", "   float hw5 = hw * 12.0;\n", "   float hd = dot(u_normal, position.xyz) - dot(u_normal, u_center);\n", "   if (z < (d5 + hw5) && z > (d5 - hw5)){\n", "       color.rgb = mix(color.rgb, u_color.rgb, smoothstep(0.0, 1.0, z1));\n", "       float r = abs(z - d);\n", "       if (u_color.a < 1.0){\n", "           z = (r - hw * u_color.a) / (hw * (1.0 - u_color.a));\n", "       color.rgb = mix(color.rgb, u_color.rgb, clamp(al * ((hw * u_color.a > r) ? 1.0 : exp(-(pow(z, 2.27)))), 0.0, 1.0));\n", "invViewMatrix", "uniform vec3 u_normal;\n", "uniform vec4 u_param0;\n", "   position /= position.w;\n", "   float t = (u_param0.y > u_param0.x) ? u_param0.x : u_param0.y;\n", "   vec3 b = normalize(position.xyz - u_center);\n", "       b = cross(n, nc);\n", "   float d = u_param0.z * t;\n", "       float r = abs(z - d5);\n", "       color.rgb *= ((r / hw5) > 0.5) ? 0.996 : 1.018;\n", "       color.rgb += vec3(0.01) * u_color.rgb;\n", "   if (z < (d + hw) && z > (d - hw)){\n", "       r = 1.5707963 * r / hw;\n", "       color.rgb = color.rgb * vec3(0.618) + u_color.rgb * vec3(cos(r) * 0.382);\n", "GeoScanRingEffect", "longest", "_textureUrl", "_scanPostProcess", "_texture", "_param1", "_param3", "_loading", "_checkVisible", "_updateTexture", "_udpateParams", "setTextureUrl", "_param0", "_param4", "_longest", "only-if-cache", "_param2", "uniform vec4 u_param3;\n", "       gl_FragColor = color;\n", "   position = u_invViewMatrix * position;\n", "   float z0 = dot(u_param3.xyz, position.xyz) + u_param3.w;\n", "   if(z0 < -800.0 || z0 > 800.0){\n", "   vec3 v = u_param3.xyz * z0;\n", "   vec3 p = position.xyz - v;\n", "   float z2 = distance(u_param0.xyz, p);\n", "   float z3 = u_param2.x * 0.75;\n", "   if(z2 < z3){\n", "   gl_FragColor = mix(color, u_color, (z2 - z3) * 0.8 / (u_param2.x * 0.25));\n", "uniform vec4 u_param2;\n", "uniform vec4 u_param4;\n", "   float z0 = dot(u_param0.xyz, position.xyz) + u_param0.w;\n", "   if(z0 < 0.0){\n", "   float z1 = dot(u_param1.xyz, position.xyz) + u_param1.w;\n", "   if(z1 < 0.0){\n", "   float z2 = dot(u_param2.xyz, position.xyz) + u_param2.w;\n", "   if(z2 < 0.0){\n", "   float z3 = dot(u_param3.xyz, position.xyz) + u_param3.w;\n", "   if(z3 < 0.0){\n", "   float z4 = dot(u_param4.xyz, position.xyz) + u_param4.w;\n", "   float a = max(sColor.r, max(sColor.g, sColor.b));\n", "   gl_FragColor = mix(color, sColor, a * 0.8);\n", "_angle", "angle", "emit", "velocity", "imageSize", "_particleLife", "particleLife", "_emissionRate", "emissionRate", "_lifetime", "lifetime", "_system", "_initializeParticleSystem", "_reset", "_particles", "_billboard", "_particlePool", "VisualSenseStyleCondition", "_fieldName", "_fieldValue", "fieldValue", "minValue", "_maxValue", "maxValue", "_topic", "topic", "vec4(", "_makeColorShader", "if (visualSenseStyle_enabledMixColor == 1.0) { \n", "gl_FragColor *= ", "_minValue", " == ", ".0) \n", "if (", ".0 && ", "_makeLuminanceShader", ") \n", " >= ", " && ", "mixedColor", "luminanceAtZenith", "getLuminanceByProperty", "true", "getProperty", "ConditionParser", "parse", "fieldName", "_useElevation", "bloom", "glowOnly", "contrast", "brightness", "sigma", "stepSize", "isSelected", "GeoVisualSenseStyle", "_enabledMixedColor", "_enabledLuminanceAtZenith", "_enabledBloom", "_bloomStep", "_map", "_conditionParser", "_mixedColorConditions", "parseLuminanceAtZenith", "lightBand", "_enabledLightBand", "_luminanceAtZenithConditions", "conditions", "makeFragmentColorShader", "if (visualSenseStyle_enabledLuminanceAtZenith == 1.0) { \n", "luminanceValue = heightLightValue; \n", "makeShader", "makeLightBandShader", "float vtxf_a13 = fract(czm_frameNumber / 360.0);\n", "float vtxf_h = clamp(v_elevationPos.z / 300.0, 0.0, 1.0);\n", "vtxf_a13 = abs(vtxf_a13 - 0.5) * 2.0;\n", "float vtxf_diff = step(0.005, abs(vtxf_h - vtxf_a13));\n", "gl_FragColor.rgb += gl_FragColor.rgb * (1.0 - vtxf_diff);\n", "GeoWind", "level", "rectangle", "velocityScale", "particleMultiplier", "maxWindIntensity", "colors", "#00ffff", "#64f0ff", "#87e1ff", "#a0d0ff", "#c6adff", "#d49bff", "#ec6dff", "#ff1edb", "canvasContext", "_initWindy", "Windy", "header", "parameterCategory", "parameterNumber", "2,2", "2,3", "lo1", "la1", "refTime", "setHours", "getHours", "forecastTime", "interpolate", "release", "randomize", "substring", "indexFor", "rgba(0, 0, 0, 0.97)", "age", "globalCompositeOperation", "fillRect", "timer", "field", "_locationCoordinate", "_size", "_bounds", "tan", "_getLevel", "_getCenterPoint", "_calculateBounds", "1.16", "windy", "GEO_OVERVIEW_ICO_LAYER", "GEO_OVERVIWE_ICO_ID", "map2DOptions", "raster", "http://t3.tianditu.com/vec_c/wmts?SERVICE=WMTS&REQUEST=GetTile&LAYER=vec&TILEMATRIXSET=c&FORMAT=tiles&VERSION=1.0.0&STYLE=default&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=e90d56e5a09d1767899ad45846b0cefd", "tdt_layer_overview", "visible", "movingTargetIco", "movingTargetIcoSize", "movingTargetZoomLevel", "_isReady", "modelType", "ROAM", "_initOverview", "geo-cesium-viewer-overview", "layout", "toLocaleUpperCase", "startsWith", "bottom", "5px", "absolute", "_bindEvent", "map2D", "load", "loadImage", "addImage", "addSource", "addLayer", "updateAimingRect", "_unbindEvent", "GEOOVERVIEW_3D_RENDER_EVENT", "getMap2D", "getMap2DLayer", "getLayer", "addMap2DLayer", "removeLayer", "getMap2DSource", "addMap2DSource", "removeMap2DSource", "_latelyUpdateStamp", "_modelType", "getSource", "setLayoutProperty", "icon-rotate", "setModel", "setScalable", "boolean", "GeoOverviewWidget", "CustomGeographicTilingScheme", "_resolutions", "resolutions", "_maximumLevel", "_origin", "_fullExtent", "fullExtent", "_dataRectangle", "_matrixWidth", "_matrixHeight", "LN2", "_topTileExtent", "_numberOfLevelZeroTilesY", "_centerPoint", "_proposalHeight", "GeographicTilingScheme", "_numberOfLevelZeroTilesX", "getNumberOfXTilesAtLevel", "CustomWebMercatorTilingScheme", "matrixWidth", "numberOfLevelZeroTilesX", "numberOfLevelZeroTilesY", "_rectangleSouthwestInMeters", "rectangleSouthwestInMeters", "rectangleNortheastInMeters", "_rectangleNortheastInMeters", "getNumberOfYTilesAtLevel", "LineString", "GeoGeodesic", "radiansToDegrees", "degreesToRadians", "atan2", "_destination", "along", "_bearing", "geoTranslateByDistance", "GeoGeographicTilingScheme", "GeographicProjection", "when", "defer", "ToolManager", "_tools", "ModifyTerrainTool", "vertices", "heights", "mtHeight", "mtType", "fromKML", "resolve", "lenght", "timeStamp", "getTileDataAvailable", "_errorEvent", "_credit", "string", "Credit", "heightMapWidth", "heightMapHeight", "_subdomains", "firstRequestUrl", "{s}", "sTag", "_firstRequest", "layerName", "&Styles=&Format=image/mpt", "pngOnly", "maxTerrainLevel", "_maxTerrainLevel", "setFormatMPT", "_urlTemplate", "request=GetMap&Version=1.3.0&Service=WMS&v=1&CRS=EPSG:4326&bbox={south},{west},{north},{east}&height={height}&width={width}&optimizedOnly={optimizedOnly}&layers=", "_format", "_levelZeroMaximumGeometricError", "TerrainProvider", "_workerPool", "_pendingRequests", "_requestsCache", "_requestsCacheKeys", "errorEvent", "GeoSkylineTerrainProvider", "_geometricErrorFactor", "mpt", "png", "_isMPT", "replace", "requestFactorForLevel", "_requestGridSize", "getRequestBaseTerrainUrl", "getRequestElevationLayer", "getRequestUrl", "tilingScheme", "tileXYToNativeRectangle", "{north}", "{west}", "{east}", "{optimizedOnly}", "{height}", "isT_Inside_E", "DEGREES_PER_RADIAN", "isT_Intersects_E", "RADIANS_PER_DEGREE", "refreshElevationLayer", "_surface", "_levelZeroTiles", "findDirectParent", "freeResources", "isTileAvailable", "tileXYToRectangle", "terrainData", "_childTileMask", "markTileAsUnavailable", "requestTileGeometryBuffers", "requestedRectangle", "layer", "requestTileHeightBuffer", "all", "myReject", "reject", "isFloor", "arrayToHeightmapTerrainData", "otherwise", "_allElevationLayers", "each", "requestElevationLayerTileGeometry", "requestBaseTerrainTileGeometry", "nullTolerance", "nullValueNumber", "polygonVerticesX", "polygonVerticesY", "mergeBuffers", "offset", "tolerance", "_buffer", "Request", "subdomains", "/SG", "/Elevation", "format", "image/png", "image/mpt", "_modifyTerrainObjects", "modelFloorBestLevel", "NoMerge", "_selectedTiles", "NoFloor", "rootFloorRectangle", "getHRMTFP", "_model", "hasOwnProperty", "dataLoaded", "fetchArrayBuffer", "workerFinished", "queueWorkItem", "rejected", "extractTileHeightBuffer", "message", "HeightmapTerrainData", "workerPath is required.", "_workerPath", "workerPath", "_poolSize", "poolSize", "_workers", "_defered", "jobQueueSize", "onWorkerError", "workerId", "deferedId", "postMessage", "trimPool", "timerId", "terminate", "onWorkerMessage", "options.urls is required.", "_dataType", "dataType", "GeoTerrainProvider", "INT", "_tileType", "tileType", "HEIGHTMAP", "_urls", "urls", "_urls_length", "_url_i", "_url_step", "_readyPromise", "credit", "_heightmapWidth", "_heightmapHeight", "getEstimatedLevelZeroGeometricErrorForAHeightmap", "_opacity", "opacity", "_maxExtent", "maxExtent", "_topLevel", "_bottomLevel", "bottomLevel", "ready", "requestTileGeometry must not be called before ready returns true.", "promise", "requestTileGeometry", "&y=", "&l=", "_proxy", "getURL", "QUANTIZED_MESH", "_terrainDataStructure", "_skirtHeight", "getLevelMaximumGeometricError", "getvHeightBuffer", "_vHeightBuffer", "transformBuffer", "setInt8", "requestFunction", "GET", "open", "responseType", "arraybuffer", "async", "RequestScheduler", "request", "readyState", "status", "response", "byteLength", "Inflate", "decompress", "_rectangles", "getFloat64", "getFloat32", "subarray", "getUint32", "createTypedArrayFromArrayBuffer", "getUint8", "OCT_VERTEX_NORMALS", "_requestVertexNormals", "WATER_MASK", "METADATA", "_requestMetadata", "available", "endY", "EPSILON5", "fromRectangle", "_tileCredits", "int", "float", "quantized-mesh", "heightmap", "tileset", "source", "autoActivate", "originalColor", "fromBytes", "moveColor", "selectedFeature", "groundPrimitiveCollection", "geojson", "activateAction", "_seletedEvent", "XMLHttpRequest", "withCredentials", "Accept", "application/json", "onerror", "statusText", "onload", "_loadGroundPrimitives", "data鐨勭被鍨嬩笉琚敮鎸�!", "Polygon", "绫诲瀷锛岃绫诲瀷涓嶈鏀寔锛�", "GEO_MONOMER_FEATURE", "reloadGeoJSON", "_loadGeoJSON", "description", "isContaintFeature", "drillPick", "selectedColor", "deactivateAction", "Cesium3DTilesetMonomer", "EasingFunction", "Intersect", "OrthographicFrustum", "PerspectiveFrustum", "CameraFlightPath", "_transform", "_invTransform", "_actualTransform", "_transformChanged", "isTDT", "_positionWC", "_directionWC", "_up", "_upWC", "_right", "aspectRatio", "fov", "defaultMoveAmount", "defaultLookAmount", "defaultRotateAmount", "defaultZoomAmount", "maximumZoomFactor", "_moveEnd", "_changed", "_changedDirection", "_changedFrustum", "percentageChanged", "_modeChanged", "_max2Dfrustum", "_suspendTerrainAdjustment", "DEFAULT_VIEW_RECTANGLE", "DEFAULT_VIEW_FACTOR", "TRANSFORM_2D", "TRANSFORM_2D_INVERSE", "PI_OVER_FOUR", "computeView", "_updateCameraChanged", "numberOfListeners", "_changedPosition", "fovy", "_adjustHeightForTerrain", "basisTo2D", "getColumn", "EPSILON10", "inverseTransformation", "_actualInvTransform", "_rightWC", "zeroToTwoPi", "MORPHING", "_moveStart", "mode is required.", "An OrthographicOffCenterFrustum is required in 2D.", "A PerspectiveFrustum or OrthographicFrustum is required in 3D and Columbus view", "The camera frustum is expected to be orthographic for 2D camera control.", "tileProvider", "_tileLoadQueueHigh", "_tileLoadQueueMedium", "_tileLoadQueueLow", "_debug", "tilesWaitingForChildren", "pickPositionWorldCoordinates", "ROTATE", "fromHeadingPitchRoll", "endTransform", "getRectangleCameraCoordinates", "flyHome", "completeMorph", "flyTo", "cartesian is required.", "worldToCameraCoordinatesVector", "cameraToWorldCoordinates", "cameraToWorldCoordinatesPoint", "cameraToWorldCoordinatesVector", "direction is required.", "moveUp", "moveDown", "moveRight", "lookLeft", "lookDown", "twistLeft", "axis is required.", "rotateDown", "rotateLeft", "zoomOut", "offset is required", "lookAt is not supported while morphing.", "UNIT_Y", "transform is required", "lookAtTransform is not supported while morphing.", "setEndPoints", "_offCenterFrustum", "MAX_VALUE", "rectangle is required", "windowPosition is required.", "near", "distanceToBoundingSphere", "boundingSphere is required.", "getPixelSize", "drawingBufferHeight is required.", "getPixelDimensions", "EXPONENTIAL_OUT", "createCorrectPositionTween", "duration is required.", "_currentFlight", "destination is required.", "cancelFlight", "convert", "complete", "cancel", "pitchAdjustHeight", "flyOverLongitude", "flyOverLongitudeWeight", "easingFunction", "createTween", "DEFAULT_OFFSET", "viewBoundingSphere is not supported while morphing.", "fromCartesian4", "radii", "multiplyComponents", "oneOverRadii", "upWC", "computeVisibility", "fromCartographicArray", "EPSILON9", "switchToPerspectiveFrustum", "switchToOrthographicFrustum", "projectionMatrix", "CameraEventType", "_update", "_isDown", "_movement", "prevAngle", "_buttonsDown", "position1", "_eventHandler", "PINCH_END", "PINCH_MOVE", "_eventStartPosition", "_pressTime", "_releaseTime", "RIGHT_DOWN", "RIGHT_UP", "MIDDLE_DRAG", "MIDDLE_UP", "_lastMovement", "valid", "canvas is required.", "_currentMousePosition", "ALT", "type is required.", "GeoCloudPrimitive", "speedScale", "_base", "_step", "_gamma", "gamma", "_isInverse", "_animationMatrix", "_colorTexture_0", "_requestUrl", "_requestCommand", "../../../resource/images/10.jpg", "_url_0", "_createTexture", "_context", "RGBA", "CloudPrimitive fetchImage is failed!", "passes", "_isTexturesReady", "_timeoutWorkerCommand", "_updateAnimationMatrix", "_createCommandByWorker", "var PI_OVER_TWO = PI / 2.0;\n", "onmessage = function (e) {\n", "   var xCount = params.xCount;\n", "   if (!xCount){\n", "   var yCount = params.yCount;\n", "   if (!yCount){\n", "       postMessage({error:true});\n", "   var radius = params.radius;\n", "   if (!radius){\n", "   var pointsCount = (xCount + 1) * (yCount - 1) + 2 * xCount;\n", "   var pointsArray = new Float32Array(3 * pointsCount);\n", "   var texcoordArray = new Float32Array(2 * pointsCount);\n", "   var ptIndex = 0;\n", "   var tcIndex = 0;\n", "   var hFovRad = PI * 2.0;\n", "   var angleH = 0;\n", "   var angelV = 0;\n", "   var stepVRad = vFovRad / yCount;\n", "   for (var F = 0; F < xCount; F++){\n", "       pointsArray[ptIndex ++] = 0.0;\n", "       pointsArray[ptIndex ++] = -radius;\n", "       texcoordArray[tcIndex ++] = F / xCount + 1 / (xCount * 2.0);\n", "       texcoordArray[tcIndex ++] = 0.0;\n", "   var startHRad = -PI;\n", "   var startVRad = -PI_OVER_TWO + stepVRad;\n", "   for (var U = 0; U < yCount - 1; U++) {\n", "       angelV = startVRad + U * stepVRad;\n", "           angleH = startHRad + F * stepHRad;\n", "           pointsArray[ptIndex ++] = radius * Math.cos(angelV) * Math.cos(angleH);\n", "           pointsArray[ptIndex ++] = radius * Math.cos(angelV) * Math.sin(angleH);\n", "           pointsArray[ptIndex ++] = radius * Math.sin(angelV);\n", "           tt = 0.5 + angleH / hFovRad;\n", "           texcoordArray[tcIndex ++] = tt;\n", "           texcoordArray[tcIndex ++] = (U + 1) / yCount;\n", "       pointsArray[ptIndex ++] = radius;\n", "       texcoordArray[tcIndex ++] = 1.0;\n", "   var faceIndexCount = (xCount * (yCount - 2) + xCount) * 6;\n", "   var faceIndex = 0;\n", "   for (var F = 0; F < xCount; F ++){\n", "       faceIndexArray[faceIndex ++] = F + xCount + 1;\n", "       faceIndexArray[faceIndex ++] = F + xCount;\n", "   for (var U = 0; U < yCount - 2; U ++){\n", "           faceIndexArray[faceIndex ++] = F + xCount + U * (xCount + 1);\n", "           faceIndexArray[faceIndex ++] = F + xCount + 1 + U * (xCount + 1);\n", "           faceIndexArray[faceIndex ++] = F + xCount + 1 + (U + 1) * (xCount + 1);\n", "           faceIndexArray[faceIndex ++] = F + xCount + (U + 1) * (xCount + 1);\n", "       faceIndexArray[faceIndex ++] = F + xCount + (yCount - 2) * (xCount + 1);\n", "   postMessage({\n", "       faceIndexArray: faceIndexArray\n", "};\n", "onerror = function(error){\n", "application/javascript", "onmessage", "faceIndexArray", "PrimitiveType", "TRIANGLES", "FUNC_ADD", "ONE", "_createShaderProgram", "cull", "_card", "        attribute vec3 a_position;\n        attribute vec2 a_texcoord_0;\n        uniform mat4 u_animationMatrix;\n        varying vec2 v_texcoord_0;\n        ", "        void main()\n        {\n            vec4 p = vec4(a_position, 1.0);\n            v_texcoord_0 = a_texcoord_0;\n            gl_Position = czm_modelViewProjection * u_animationMatrix * p;\n        }\n        ", "        uniform sampler2D u_colorTexture_0;\n        uniform vec4 u_gamma;\n        varying vec2 v_texcoord_0;\n        ", "        float computeW(vec4 color){\n            float w = color.w;\n            if (w == 1.0){\n                //w = min(min(color.r, color.g), color.b);\n                w = sin(color.r * color.g * color.b * 1.5707963);\n            }\n            w = pow(w, u_gamma.w * 10.0);\n            return w;\n        }\n        void main()\n        {\n            vec4 color_0 = texture2D(u_colorTexture_0, v_texcoord_0);\n            color_0.w = computeW(color_0);\n            color_0.rgb *= u_gamma.xyz;\n            gl_FragColor = color_0;\n        }\n        ", "topCylinderColor", "bottomCylinderColor", "createPrestrainPrimitive", "ellipseAppearance", "prestrainEllipsePrimitive", "trackedEntity", "pointEntity", "ellipsePrimitive", "cylinderPrimitive", "MIDDLE_DOWN", "prestrainCylinderPrimitive", "removeById", "EllipseGeometry", "VERTEXT_FORMAT", "POSITION_AND_NORMAL", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAA6E2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE5LTA2LTExVDA5OjQ2OjU3KzA4OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTktMDYtMTFUMTA6MTY6NTMrMDg6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE5LTA2LTExVDEwOjE2OjUzKzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjNkNWU2OTU5LTZiOTMtZTQ0Mi1hNmFkLWVhMmExOWQxZGI0MTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo5ODQ4MzQ2Ny03Mjg5LTUzNGQtOTUyOC05MGY3MWU0MTEwMmU8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo5ODQ4MzQ2Ny03Mjg5LTUzNGQtOTUyOC05MGY3MWU0MTEwMmU8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6OTg0ODM0NjctNzI4OS01MzRkLTk1MjgtOTBmNzFlNDExMDJlPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTA2LTExVDA5OjQ2OjU3KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozZDVlNjk1OS02YjkzLWU0NDItYTZhZC1lYTJhMTlkMWRiNDE8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDYtMTFUMTA6MTY6NTMrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pu16zW8AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAEbhJREFUeNrsW3t0VPWd//x+9955ZDKTyeRNnrxCXEGEgAqyQXqEWmtdtbj0gVsaaVfWB6tSjh5r67J2j0qhPrrWcnqaLisKVK0bLdsKIiBGBOVhSYiERwghk5AQ8pqZ3Dv3/r77x/yGjrOZyUSC7jnu95zfyeP+Ht/f5/5+3/dlRIQvM3F8yenzACAPwDIAc0cwZhyABwBUXGrm1Es4dz6AbwGYB+BvAPzrCMZ6AHwfwE0A3gewGcChS8EkuwQy4DYA1QBKAZwDsA/AWwB2AwiN4GRWArgRwLUACgB0A3gNwDP/VwH4HoD7ANgB/BnAbwHUj9Lc2QDuBPB3AHwAXgHw41GZmYguts0mov1EdISIVozCfMO1hUT0ARE1EdGdFzvfxTKzjoi6ieipz2Hj8W0JEZ0moneJKOPzBiCfiE4Q0SEiKv0CNh/bXiaiEBF97bOM/ywyYB6APwFYB+DeEYzzAZgG4DKp5nwAFPlMABgA0AzgKIADAFpGMPcdAH4H4LERapsRn4BvUoS+l2J/HxEtJaI3iaiXUieLiN4jooeJaGKKa11GRANE9ItLdQVulszNSaFvERE9TUQ9iXZomqZlGIZpGIZlGIY5DCCvSWE73LppRNRBRGtG+wrMBLBXWnO7hun7UwAPAXDE/M+sq6s7vmfPnuaGhgZ/a2tr/7lz53TTNIkxxgCQ1+vVxowZk15eXp47c+bM0qqqqvEulys9bu71cm5/kvVdADoB/ATAz0fDDvDKCX8IoCZJvyskg1Oj//D7/Z01NTUf1NbW1h88eNCv67oBQOGca3a7XeGcI7q+YRjCNE0TQBgAr6ioyLnhhhsmLV68eEZlZeWEmHX6APwjgI1JeJkAoAnAfADbLhaAj+XbX5qkz3cAbLjwuk1z8LHHHvvjunXr9nZ2dp5XFMWTm5vrstvtXModBoDFiyPGGMnx1N3dPRgMBns1TbMtWrRoyqpVq24cO3bsmJj+qwGsTMLTrdJy9ADo/6wAPCIdmaIkfR4AsCb6x7Zt2w7de++9f2hsbDzjdruzc3JynEIIQUQqgHR5Naxij9s2PsOT7rQM5VjfQH/TQCgktYIpGTYUReEDAwPm2bNnz2ZkZLgef/zxr95zzz0LYtZ+CcB3k/D2nwBKkjliyQAoAnAawBQAhxP0uRvAL6N/rFmzZsuKFStqATjHjRvnE0KYROQAkCn9gBYAJwG0PVKcWzY1M+M6h6JkHusPvPPAsdP7pANVJptXAtGvqqra3t4eCAQCnXfcccc169ev/36MI/eyPIGJKCCv74aRAvA2gDapY4eimwC8Ef3jwQcffHnt2rVbMzMzC3w+n900TZKucEA6RB/W3TTvOBgD0zToRw7foR9peJQrWqlWNvZRraT0KTJNgAhzdh/IkzbDLOkIdXLOjXA4zFpbW1vnzp07cevWrcs1TbPL5X8O4EcJ+LwdwAsAskYSD7haSv4fJnheAKA2+sfDDz+8ee3atdvy8/OLvV6vZpqmDcAYadA8DWDT/oeWH3dMvgKOK66E88pKqJneYqurZ6Le3GkTg4ZHzc6C4s2A4s3A+zdd1yGNrdXSk8wQQnhVVbXKyspKdu7ceXzBggXPArAkCysA3JKA199LrbFqJAD8Qh6tRO5rbVSI1dTU7HziiSf+nJeXV+h0OiGEcEvBs1lai60AYLafiTR/K8JtLTarv6+YGCAEQIKXkBAVZFo2CpugsBldZ0B6fr8CoBNRLoBwWVlZ4Y4dO45WV1f/R9xGvQn4/RGAf0oVgHEAxkp9OxQtATADAI4cOXKqurp6o8fjyXW5XFxu3gHg1/HqJ7h/T7R5Qvveuz58+uQk6FL8G+HJYlCvIgE7MQX0v9mql8e8h4jyAFiFhYVFNTU1u2tqanbGBHfWJeD5vwG0A7gnFQAeAvAhgPNDPNPkkQYAWrp06UYAak5OjtOyLLt88+uk6vwUmaeaI635pMc4eaLK6usdz5yAogFWZ+v4cMuxK3m6Q1NzfFAyPUNtokuezBARZdpsNkpPT8+97777Xvf7/V0x9/2KBCDUyCjTsADMTWLwLAOQAQDr169/t66urqm0tDTHNE0BIEfq3Y+HNM+uW4D0r94Mx7SrMkiIKhEIljAVUDIBq/+8xzjdMoMBecxmA1OURIK5W54uuxDClpeX5xoYGAg98sgjb8T0eTLB2BekAzYpGQDXyp+vJdH5ICJz9erVOzVN83LOhYzYHJGRoKGDj3kF0AqLoXgyJtLAwAQYAszOwNI0kA5YXQFP+GzHlHDrKY/RcjKZbXJMCsZc0zTNnJyc3BdffPFAU1NTq3x+QwK7JSBVcHUyAL4rOw1F18g4H2praw8cPnz4TEFBgVsIoch5XkvGdejghwgd+rBcP940R/QEXOAAc6gAY4AJUMDyit7+vwVDCfdmDGedbpF3Ot3tdqvhcNhYt25dXVx4bijaCaBKmspDAjA9ibOzKPrLpk2bDgLQOOdRP/+g9OUTkggFYDQfqzSaPqkSuqlBYQDngACYBpAYzDLbz8xnmlZqGzt2OAAMuRmvZVkiLS3N++abbzbouh7VWt9Mor2yASxMBMDSJFHXrwBAT09Pb11d3SmPx+ORRpQqDZ2k5Jw5C6rbPZkCfdOgQAVnkTAIAJ6pgKm6qh87Osns6ipNMV2xTwpqm8/nczY2Nnbt2rWrST6bJu2QeDog7YXfJwLgsLwr8ZQDYDIA7N27t7mlpaXX4/FoUuV1yChOUhLBwBirp28K6brKnWBMkwAQwO0M4IDoBUSQplJYTEoBgF4AxwG4VVUFALFnz57mOGNuKKqX40aUGKmIgtXQ0NBORJaqqoyI0qTbGRxugv4d7/xDuKmtQnQDzEkAWZHGAMYBywBMAejNLTcyTi0AfpYCX80ApsmTqDU2Np6NeZYKiCkDcEGqnjlzpj/Gh1BlrGBYKszUzgyUF+4z9IIuxcHPCzDBAHAOUlRuWSHdEQ7odueEMW32orxPcOCTVKbtkN4jUxRF8/v9AzHPikcTgAuWSXd3dzhOiwRTmcCVQVudqnoQYZ7GbUwnzgVxBs4AaAohCIX6LZVl2wLwOc6myFcwCoDdbmc9PT1hy7KEoig8ludRzQ3KYManrncq4zb1TW4Ph1m7SRwAg2AcBEABQVEYzNAgwrqBzEAx0vuyU2XnwtqRyBqYEAJKYkPqMwPAYgD4TLm05T3XFrmddpdiU7lOsAQxBgEwEuCWgG6EedgSfFzIo2f3Oc8lMMWHezk0FM+jAYB1wRnQtNiJKSa2n5SKHcZSZuqzLJNl2zjvFWAMBMaIiDOCzdBdImxxj6WccAu8BOD1FPlnACCEgKqqTFEUFs/zaADQfUEf5uTYZfwORCQAuFOZYHJ5vvr2lg8mnT7dWcrcOZZ8ZRH+VQUUDCjcHDQ1jHOEzZzcFPlyyz2QrusiKyvLxjln8TyPBgCnLrzJ4uKMaEJFRnDzU5lg2pVFGz/6+NRXTncZpU63TdEUDi7lAFc4Bp0KINyC2R1vChJvpchXAQCFMUZCCKOwsNATpyJTysOnQo1RaT916tQxmqZp4XCYpNFUImN+yWPr3rQTmT5PPZwOy7QIXFVgd2rQbAoM04RmV5Gd6+lLc9q2M8aaU+RrHIBBeQ3MKVOmFMQZPCMG4FsyGBJPAwA+AoDp06eXlZeXZ/X09AzKE+ADcPmwCDb6RV5W2geluZ5DRm8IpmGBAFiWQDBggCwaTE/TPjQtq30goKfC+xjJ64Cu65bNZrPPmTNnXIyvsHeIMQqAbwO4LhEAj0Zd3iHoLQCw2+2OefPmjQ8Gg33yvgWTmJ0X6Fx3wCwfn7N74rjsAzAFhBDSCmTgjEFV+HFF4X8yDPNsMJgSALMBOBljZmdnZ2D69OkFM2bMGC+f7ZIJlKH8meejEa2hANgcm9mJo5ejvyxevHgGAKbrugDQI83OymTcTqrIM0vLshp9eZ5GxeOEKYDBUBhEBM2mwONxnPT5XNuyfK7urCzXcJvPkrGLLsaYYppm38KFC6+I2c/GJJHsvQB+kwiADQAKE0j24wA+AICrr7560vXXXz+xra2tWxod/TITk1CoGoaFYCgMu11pzc11tUEIMdCvQ9dNKJyhpNh7bOb04voZ04qMyiuLhgNgIQAHY0w/d+5cMDs721tdXT07Gn0DsCnBuFnyJPckAuCYvO9LEkxwwUF59NFH5wPQQ6GQYIz1So8xUSAC7+05ibd3HEVPz2Dz2OLs3RrnvVb3AMIDRrhoTObxMQXew5wzcIUjYskmpCp5hDsYY2pfX1/n/fffPyczMzMaRVkn9xBPpQBy48N9Q630qhQUQ9EbMvSFqqqqy5csWXKV3+9vVxRFlbH3WQC+MdTAvBw3crPTMbY06+SEcdm7HC6tHyAwjetOp7anr09vqD/SjobGDjQeTegKTJa8damqyk6ePNk9adKkwpUrV94Q0+enCcbeD+BEvH0wFABrAYyXKbGh6M7oL88888zf5+fnZ5w4ceK8qqpMhqlulu3TCrvAg4ICD/Lz3B2Zmc73XS77ABw2OF2OQE62e2uG23FIVRRoaqQNQdMRyQoHOOeD3d3dOoBATU3Nt1VVtcVsvisB37dhiHQ5T6Dy3olNeMbR+9Fj5PF43LW1tT8goqDf7w+oqmpKF/UbEqi06KCGI+1oONKOQ385g2PHu7o0RTnPnXZwzvQsb9rHBXme4Ji8DERbHH0dwA8ADHLO+0KhEJ0/f97/3HPPLZw1a1ZFjIxalcgVkY7TllQtwX+WE06UAY94qpa6dOzMmTMnvvLKK0sWLlz4W7/fj4KCApdpmm0ArpJG0lsA3ms44o86LFAUbnrcjsbCPPdVlhBdgaDe390dgG6Y8etcJqO8lwHoUhRFDwQC1NHRcWbFihUL4jLFX0siNx6WexpRcvTf5SZmJnheBuATADYA2Lx58/uLFi1aD8A5fvz4TMuyTCLyylNwTBpSDZVzftwBwMs5+3pPT+iq3t7Qac5ZDSJVpWg/+csMAOUyrjdFWnmdqqryzs7Owb6+vo6VK1cuePLJJxfFGXCJJP8qmTC5bKQAMHkdqpNMfo28EgCA3bt3NyxatGh9W1vb+YKCgnyn08kty4JMpjili9sqZUW/VFlRjzINkWxykdQoFoDznHOLiHhzc3MXAOv555+/ddmyZdfHCbenE/CXK69kJYD9IwUAiNTq/lFuoC9BnznymDsB4Ny5c+eXL1/+yoYNGz4CYCssLPTZbDYuhBDytKTJnzzOZxfStA7Juw4hBFpbW/sty+qdPXv2hGefffbWysrK8pgx9wF4Lgn/hxFJ8y9P+JZTiG/8Th7HqUn6lAP4AyJV4ZHMxZYtH61Zs2bX9u3bjwMQaWlpHq/Xa9c0jUtXeujAg2VRf3+/0dvb2w/AnDx5csFdd901++6774596zoiRRHJkjFPyqtRmjTSk2KApx7AnlgVmODKvIC4moLt27cffvXVVw/u3LnzRFNTU7dhGEaSaA0xxpSSkpKMWbNmldxyyy1Tbr/99umcc3tcdufO2NB2giTORumqd4wGAC5EqkWeSiFcPR/Av0ij6K/Ry2AwsH///pb6+np/S0tLb2dn56BpmtFYHnw+n1ZYWOiuqKjInzZtWnFeXp4vbt4ziFSB/nqY9a9FpDS/CsC7qcTRUm1FRNRPRD9Jsf/tRLSNLp4+JqIHiciRwprziEgQ0W2Xqli6SJa8bhjBmMtlyevbsrJ8OBokon1EtJqI5o5gnbvl+FsudbG0S+blwogUTnePYGyGzMyWIVLOosZogAFEqshOIHkl6FC0AZGPKRYAqBtpKPliytR7R+OjhYto1xDRUSL6CxF5vogPJhYS0Rki2k1E0z7HjfuIaD0RdRHRz77IL0ZivxxpJqLXiejqS7jxQiL6lVxry2h8rDGaH00VSRV5jTR3axEpZe28yHlV6cp+RxpcLQD+DcNXraeW8roEn81lIvIlyXyZoOxApHDqNzK8nuocy6ROL5GW3x5E6gXrR5NZdom/HZ6MSEXGfGnAvJTiuKnSwTkI4L8A7LhUDLL//3j6S05fegD+ZwD3gk1Njxe3yQAAAABJRU5ErkJggg==", "varying vec3 v_positionMC;\n\t\t\t\tvarying vec3 v_positionEC;\n\t\t\t\tvarying vec2 v_st;\n\t\t\t\t\n\t\t\t\tvoid main()\n\t\t\t\t{\n\t\t\t\t\tczm_materialInput materialInput;\n\t\t\t\t\tvec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n\t\t\t\t#ifdef FACE_FORWARD\n\t\t\t\t\tnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\t\t\t\t#endif\n\t\t\t\t\tmaterialInput.s = v_st.s;\n\t\t\t\t\tmaterialInput.st = v_st;\n\t\t\t\t\tmaterialInput.str = vec3(v_st, 0.0);\n\t\t\t\t\tmaterialInput.normalEC = normalEC;\n\t\t\t\t\tmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\n\t\t\t\t\tvec3 positionToEyeEC = -v_positionEC;\n\t\t\t\t\tmaterialInput.positionToEyeEC = positionToEyeEC;\n\t\t\t\t\tczm_material material = czm_getMaterial(materialInput);\n\t\t\t\t#ifdef FLAT\n\t\t\t\t\tgl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n\t\t\t\t#else\n\t\t\t\t\tgl_FragColor = czm_phong(normalize(positionToEyeEC), material", ");\n\t\t\t\t\tif(gl_FragColor.r==1.0&&gl_FragColor.g==1.0&&gl_FragColor.b==1.0&&gl_FragColor.a==1.0){\n\t\t\t\t\t\tgl_FragColor.a = 0.0;\n\t\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t\t}\n\t\t\t", "GeoLocateRatate", "GeoRayPick", "isOnly", "BoundingRectangle", "View", "deferred", "doPick", "minimumRadius", "postProcess", "offscreen", "_frameState", "brdfLutGenerator", "_brdfLutGenerator", "environmentMap", "_cubeMap", "morphTime", "cullingVolume", "computeCullingVolume", "_terrainExaggeration", "minimumDisableDepthTestDistance", "_minimumDisableDepthTestDistance", "invertClassification", "_sunColor", "_actualInvertClassificationColor", "isTranslucencySupported", "invertClassificationColor", "maximumScreenSpaceError", "CullingVolume", "_environmentState", "skyAtmosphereCommand", "skyBoxCommand", "sunDrawCommand", "sunComputeCommand", "moonCommand", "_depthPlane", "renderTranslucentDepthForPick", "planes", "originalFramebuffer", "useGlobeDepthFramebuffer", "viewport", "_hdr", "globeDepth", "useOIT", "usePostProcess", "useInvertClassification", "PickDepth", "derivedCommands", "picking", "depthOnlyCommand", "EPSILON12", "mergeSort", "updateCamera", "far", "updateFrustum", "ENVIRONMENT", "clearGlobeDepth", "_depthClearCommand", "frustumCommandsList", "opaqueFrustumNearOffset", "stencilBuffer", "updatePass", "commands", "GLOBE", "indices", "executeCopyDepth", "TERRAIN_CLASSIFICATION", "CLASSIFICATION", "CESIUM_3D_TILE", "CESIUM_3D_TILE_CLASSIFICATION", "depthTexture", "useDepthPicking", "createPotentiallyVisibleSet", "executeCopyColor", "uniformState", "_pickOffscreenView", "pickFramebuffer", "begin", "disableThisFrame", "pickEx", "end", "_defaultView", "endFrame", "_pick", "ray", "getDepthEx", "readPixels", "unpack", "getPixelsEx", "PickFramebuffer", "watchPlane", "_picker", "Scene", "_originalDestory", "_originalUpdate", "_updatePicked", "_content", "computeVisibilityWithPlaneMask", "MASK_INDETERMINATE", "MASK_OUTSIDE", "_visibility_Old", "visibility", "computeIntersectionWithBoundingVolume", "clippingPlanesOriginMatrix", "_isClipped", "INSIDE", "OUTSIDE", "Cesium3DTile", "projectTo2D", "_boundingVolume2D", "MASK_INSIDE", "INTERSECTING", "COLUMN0ROW0", "COLUMN0ROW1", "COLUMN0ROW2", "COLUMN1ROW0", "COLUMN2ROW0", "COLUMN2ROW2", "_videoProject", "_context2D", "_width", "_dirty", "_sampler", "_updateSize", "videoWidth", "timeupdate", "_getCurrentTexture", "_createSampler", "_source", "params", "UNSIGNED_BYTE", "copyFrom", "_recreateParseCanvas", "drawImage", "nextPowerOfTwo", "_readVideoFramePixels", "videoHeight", "_videoProjection", "_uniforms", "_postStage", "_videoTexture", "_addEvent", "_removeEvent", "_createEvent", "_FS_Cone", "uniform float mixNum;\n", "uniform float videoDistance;\n", "uniform sampler2D videoTexture;\n", "uniform mat4 videoMapMatrix;\n", "uniform mat4 videoViewMatrix;\n", "uniform vec3 videoMapPosition;\n", "    vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0);\n", "    return posInCamera;\n", "bool videoVisibility(sampler2D shadowMap, vec4 position){\n", "    vec4 positionEC = toEye(v_textureCoordinates, depth);\n", "    if (any(lessThan(videoPosition.xyz, vec3(0.0))) || any(greaterThan(videoPosition.xyz, vec3(1.0))))\n", "    bool visibility = videoVisibility(videoMapTexture, videoPosition);\n", "    if(visibility){\n", "        vec4 videoColor = texture2D(videoTexture, videoPosition.xy);\n", "    }else{\n", "_FS_Cone_Fill", "uniform sampler2D videoMapTexture;\n", "uniform vec4 u_videoColor;\n", "    float visibility = step(position.z, texture2D(shadowMap, position.xy).r);\n", "    return (visibility == 1.0);\n", "    vec4 videoPosition = videoMapMatrix * positionEC;\n", "    videoPosition /= videoPosition.w;\n", "        vec4 videoColor = u_videoColor;\n", "        gl_FragColor = vec4(mix(color.rgb, videoColor.rgb, mixNum), 1.0);\n", "_FS_Sphere", "        mat4 viewScene = videoViewMatrix;\n", "            gl_FragColor = color;\n", "            return;\n", "_FS_Sphere_Fill", "        vec4 positionWC = viewScene * positionEC;\n", "        depth = length(videoMapPosition - positionWC.xyz);\n", "_updateState", "_getCurrentVideoTexture", "fillVideo", "_createUniforms", "_createPostStage", "_clearData", "_addToScene", "_removeFromScene", "mixFactor", "_getShadowMapTexture", "_getShadowMapMatrix", "_getViewMatrix", "hitlineColor", "fovDistance", "_updatePost", "hitlineType", "_MinFovX", "_maxFovX", "_minFovY", "_MinFovY", "_maxFovY", "_MaxFovY", "_minFovDistance", "_MinFovDistance", "_maxFovDistance", "_MaxFovDistance", "_minHeading", "_MinHeading", "_maxHeading", "_MaxHeading", "_MinPitch", "_maxPitch", "_MaxPitch", "_minRoll", "_MinRoll", "_MaxRoll", "_minSegmentCount", "_maxSegmentCount", "_MaxSegmentCount", "_isInvSphere", "_isSphereType", "_minFovX", "_minPitch", "_maxRoll", "_MinSegmentCount", "clampSegmentCount", "clampFovY", "clampFovDistance", "clampHeading", "clampPitch", "_videoProjectionCamera", "_fovY", "_fovDistance", "_mixFactor", "_vs", "_fs", "_renderState", "_segmentCount", "_isNeedRecreate", "_visibly", "_shaderProgram", "minFovX", "config", "maxFovX", "maxFovY", "minFovDistance", "minHeading", "maxHeading", "minPitch", "maxPitch", "minRoll", "maxRoll", "minSegmentCount", "maxSegmentCount", "isSphereType", "isInvSphere", "fovX!", "minFovY", "fovY!", "maxFovDistance", "fovDistance!", "heading!", "roll!", "mixFactor!", "_render", "render!", "_getProjectionCamera", "update!", "_updatePosition", "_tryCreate", "_updateFovX", "fovX", "_updateFovY", "_updatePitch", "_updateRoll", "_updateParams", "fovY", "_computeTransformInv", "_computeTransform!", "_createVS", "uniform vec4 uDiffuseColor;\n", "varying vec4 vColor;\n", "varying vec4 clip_vertex;\n", "varying float fWindowZ;\n", "varying vec3 normal_vertex;\n", "vec4 depthClampFarPlane(vec4 clipPos)\n", "    fWindowZ = (0.5 * (clipPos.z / clipPos.w) + 0.5) * clipPos.w;\n", "    return clipPos;\n", "    vec4 pos = czm_modelViewProjection * vec4(aPosition.xyz, 1.0);\n", "    gl_Position = depthClampFarPlane(pos);\n", "    vColor = uDiffuseColor;\n", "    normal_vertex = aPosition.xyz;\n", "#extension GL_EXT_frag_depth : enable\n", "#extension GL_OES_standard_derivatives : enable\n", "    gl_FragDepthEXT = min(fWindowZ * gl_FragCoord.w, 1.0);\n", "    vec3 normal = cross(vec3(dFdx(normal_vertex.x), dFdx(normal_vertex.y), dFdx(normal_vertex.z)), vec3(dFdy(normal_vertex.x), dFdy(normal_vertex.y), dFdy(normal_vertex.z)));\n", "    normal = normalize(normal);\n", "    vec3 lightDirection = normalize(czm_sunPositionWC - vec3(eyePosition));\n", "    vec4 diffuse = vColor * LIGHT_COLOR * nDotL;\n", "    vec4 ambient = vColor * LIGHT_COLOR;\n", "    gl_FragColor = clamp(diffuse + ambient, vec4(0.0), vec4(1.0));\n", "_createVACone", "_fovX", "_createBoundingVolume", "_createVASphere", "_createVA!", "_createVASphereInv", "_createRenderState", "_createAttributes", "_createShadeProgram", "_createShadeProgram!", "_createFS", "fromCornerPoints", "_updateBoundingVolume!", "_computeTransform", "_recreate!", "LINES", "_shadowMap", "_updateMatrixEvent", "_updateEvent", "_createFramebufferDepth", "_textureSize", "_passes", "_shadowMapTexture", "_clearFramebuffer", "_clearPassState", "_destroyShadowFramebuffer", "_colorAttachment", "build", "_updateOri", "_sceneCamera", "_lightCamera", "videoProjectionMaps", "deactive", "updateFovX", "updateFovY", "updateFovDistance", "_shadowMapMatrix", "_nextName", "VideoProjection", "_instance", "nextName", "GeoVideoProjection", "_videoProjectionConfig", "_videoProjectionFrustumPrimitive", "_videoTextureSource", "_videoProjectionPostRender", "_videoShadowMap", "_fillVideo", "DeveloperErrorEvent", "AddToSceneEvent", "RemoveFromSceneEvent", "UpdateMatrixEvent", "UpdateEvent", "_rebuildPostRender", "CreationEvent", "clampFovX", "_createShadowMap", "_destroyPostStage", "updatePosition", "_updateFovDistance", "_updateHeading", "updateHeadingPitchRoll", "updatePitch", "updateRoll", "clampRoll", "updateHitLineColor", "updateMixFactor", "updateLineWidth", "isSamedName", "isSelf", "updateHeading", "_type", "visibly", "_removeAllEvent", "_projectBackFaces", "noname!", "_findByName", "destoryObject", "getByIndex", "removeByIndex", "removeByName", "getNames", "_videoProjectionCollection", "_renderVideoProjectionCollection", "destroyAllVideoProjections", "destroyVideoProjection", "createVideoProjection", "getVideoProjectionCollection", "_clearPassesVideoProjectionCommands", "_executePassesVideoProjectionCommands", "_executeVideoProjectionCommand", "shadows", "castCommands", "projectBackFaces", "outOfView", "shadowMapCullingVolume", "_updateVideoProjectionCommand", "castShadows", "isVisible", "originalCommand", "createCastDerivedCommand", "_updateVideoProjectionCommands", "debugCommandFilter", "logDepth", "hdr", "debugShowCommands", "shadowState", "receiveShadows", "receiveCommand", "oit", "lightShadowMaps", "lightShadowsEnabled", "pickId", "DerivedCommand", "pickOnly", "createDepthOnlyDerivedCommand", "createHdrCommand", "createReceiveDerivedCommand", "isSupported", "createDerivedCommands", "GeoViewAnalyse", "_stage", "filterFar", "inputPreviousStageTexture", "_textureCache", "outputTexture", "_index", "pixelFormat", "forcePowerOfTwo", "pixelDatatype", "clearColor", "initStage", "uniform float u_filterFar;\n", "vec4 clipToEye(vec2 uv, float depth)\n", "   vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\n", "   vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0);\n", "   posEC = posEC / posEC.w;\n", "void main() {\n", "    hsb.g = clamp(hsb.g + 0.03, 0.0, 1.0);\n", "    if (hsb.b > 0.5)\n", "        hsb.b = clamp(hsb.b + 0.01, 0.0, 1.0);\n", "        hsb.b = clamp(hsb.b - 0.02, 0.0, 1.0);\n", "    float depth = czm_readDepth(depthTexture, v_textureCoordinates);\n", "    vec4 posInCamera = clipToEye(v_textureCoordinates, depth);\n", "    float d = length(posInCamera.xyz);\n", "    if (d > u_filterFar)\n", "       gl_FragColor = vec4(mix(color.rgb, vec3(0.8, 0.85, 0.85), 1.0 - u_filterFar / d), 1.0);\n", "    else \n", "       gl_FragColor = vec4(color.rgb, 1.0);\n", "enableFilter", "_isSupported", "GeoWalkerAnimationCamera", "path", "moveStep", "rotateStep", "frameChange", "_lockCamera", "walkFrame", "addChangeEventListener", "_hooker", "_hookUpdate", "geoposition", "unactivate", "_walkAnimation", "_isPause", "changeEvent", "raiseChangeEvent", "isDone", "_isDone", "isPause", "_begin", "_toStop", "state", "_loadGeoposition", "_loadDirection", "run", "ComputeTimeDelta", "getMilliseconds", "getSeconds", "getMinutes", "_createState", "date", "endDirection", "moveSpeed", "rotateSpeed", "rotateSize", "manHeight", "manRange", "stateType", "UNKNOWN", "_readyCamera", "_walkQueue", "canLog", "_collideActived", "collideActived", "filterFog", "keys", "GeoWalkerCamera", "logarithmicDepthBuffer", "raiseUpdate", "FORWARD", "LEFTWARD", "computeLeftward", "UPWARD", "computeTrunUp", "DOWNWARD", "computeTrunDown", "computeTrunRight", "jumpUp", "computeInitialPosition", "computeForeward", "_computeCollideDistance", "Forward : height = ", "Forward Node : height = ", "computeBackward", "getTangentNormal", "Backward : height = ", "Backward Node : height = ", "collide :", " max: ", "Not collide", "computeTrunLeft", "raiseMouseMove", "filterWithCamera", "getFront", "getRear", "getAvgHeight", "getDropThreshold", "preventFalling", "getLatelyHeight", "GeoWater", "_pointsToCartographic", "_waterColor", "_refractColor", "_waveWidth", "_flowDirection", "_flowSpeed", "_normalTexture", "_m_startTime", "_reflectCamera", "_reflectPassState", "_isVisible", "_waterPolygon", "_computeBoundingRectangle", "_polygonHierarchy", "_lonMin", "_latMin", "_waterCenterPos", "initialize", "RenderbufferFormat", "DEPTH_COMPONENT16", "PassState", "_initialized", "waterPolygon", "workingFrustums", "_fScale", "setRow", "invWorldViewMatrix", "modelViewMatrix", "modeiViewProjection", "_fElapse", "_frameTime", "_flowAngle", "attribute vec3 position;\n\t\t\t\t\t\t\t\t\t\t\tattribute vec2 st;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_modelViewProjectionMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_modelViewMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_invWorldViewMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_texCoordOffset;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_texCoordScale;\n\t\t\t\t\t\t\t\t\t\t\tuniform float u_frameTime;\n\t\t\t\t\t\t\t\t\t\t\tuniform int u_clampToGroud;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec3 u_camPos;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec3 u_scale;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec3 eyeDir;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec2 texCoord;\n\t\t\t\t\t\t\t\t\t\t\tvarying float myTime;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec4 projectionCoord;\n\t\t\t\t\t\t\t\t\t\t\tvoid main(void)\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t//gl_Position = ftransform();\n\t\t\t\t\t\t\t\t\t\t\t\tgl_Position = u_modelViewProjectionMatrix * vec4(position.xyz,1.0);\n\t\t\t\t\t\t\t\t\t\t\t\tif (u_clampToGroud == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\teyeDir = (u_camPos - position.xyz) * u_scale;\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec4 pos = u_modelViewMatrix * vec4(position.xyz,1.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\teyeDir = vec3(u_invWorldViewMatrix*vec4(pos.xyz,0.0));\n\t\t\t\t\t\t\t\t\t\t\t\t\tprojectionCoord = gl_Position;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttexCoord = (st+u_texCoordOffset)*u_texCoordScale;\n\t\t\t\t\t\t\t\t\t\t\t\tmyTime = 0.01 * u_frameTime;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t", "uniform sampler2D u_normalMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform sampler2D u_refractMap;\n\t\t\t\t\t\t\t\t\t\t\t\t//uniform samplerCube u_cubeMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform sampler2D u_reflectMap;\n\t\t\t\t\t\t\t\t\t\t\t\t//uniform sampler2D u_flowMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_waterColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_refractColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform int u_useRefractTex;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_reflectColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform int u_reflection;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_flowDir;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec3 eyeDir;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec2 texCoord;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying float myTime;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec4 projectionCoord;\n\t\t\t\t\t\t\t\t\t\t\t\tvoid main (void)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t// texScale determines the amount of tiles generated.\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat texScale = 35.0;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// texScale2 determines the repeat of the water texture (the normalmap) itself\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat texScale2 = 10.0;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat myangle;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat transp;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 myNormal;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 mytexFlowCoord = texCoord * texScale;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// ff is the factor that blends the tiles.\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 ff = abs(2.0*(fract(mytexFlowCoord)) - 1.0) -0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// take a third power, to make the area with more or less equal contribution\n\t\t\t\t\t\t\t\t\t\t\t\t\t// of more tile bigger\n\t\t\t\t\t\t\t\t\t\t\t\t\tff = 0.5-4.0*ff*ff*ff;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// ffscale is a scaling factor that compensates for the effect that\n\t\t\t\t\t\t\t\t\t\t\t\t\t// adding normal vectors together tends to get them closer to the average normal\n\t\t\t\t\t\t\t\t\t\t\t\t\t// which is a visible effect. For more or less random waves, this factor\n\t\t\t\t\t\t\t\t\t\t\t\t\t// compensates for it\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 ffscale = sqrt(ff*ff + (1.0-ff)*(1.0-ff));\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 Tcoord = texCoord  * texScale2;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// offset makes the water move\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 offset = vec2(myTime,0.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// I scale the texFlowCoord and floor the value to create the tiling\n\t\t\t\t\t\t\t\t\t\t\t\t\t// This could have be replace by an extremely lo-res texture lookup\n\t\t\t\t\t\t\t\t\t\t\t\t\t// using NEAREST pixel.\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 sample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor(mytexFlowCoord)/ texScale).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// flowdir is supposed to go from -1 to 1 and the line below\n\t\t\t\t\t\t\t\t\t\t\t\t\t// used to be sample.xy * 2.0 - 1.0, but saves a multiply by\n\t\t\t\t\t\t\t\t\t\t\t\t\t// moving this factor two to the sample.b\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 flowdir = sample.xy -0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// sample.b is used for the inverse length of the wave\n\t\t\t\t\t\t\t\t\t\t\t\t\t// could be premultiplied in sample.xy, but this is easier for editing flowtexture\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir *= sample.b;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// build the rotation matrix that scales and rotates the complete tile\n\t\t\t\t\t\t\t\t\t\t\t\t\tmat2 rotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// this is the normal for tile A\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT0 = texture2D(u_normalMap, rotmat * Tcoord - offset).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// for the next tile (B) I shift by half the tile size in the x-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.5,0)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and the normal for tile B...\n\t\t\t\t\t\t\t\t\t\t\t\t\t// multiply the offset by some number close to 1 to give it a different speed\n\t\t\t\t\t\t\t\t\t\t\t\t\t// The result is that after blending the water starts to animate and look\n\t\t\t\t\t\t\t\t\t\t\t\t\t// realistic, instead of just sliding in some direction.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// This is also why I took the third power of ff above, so the area where the\n\t\t\t\t\t\t\t\t\t\t\t\t\t// water animates is as big as possible\n\t\t\t\t\t\t\t\t\t\t\t\t\t// adding a small arbitrary constant isn't really needed, but helps to show\n\t\t\t\t\t\t\t\t\t\t\t\t\t// a bit less tiling in the beginning of the program. After a few seconds, the\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tiling cannot be seen anymore so this constant could be removed.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// For the quick demo I leave them in. In a simulation that keeps running for\n\t\t\t\t\t\t\t\t\t\t\t\t\t// some time, you could just as well remove these small constant offsets\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT1 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.06+0.62).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// blend them together using the ff factor\n\t\t\t\t\t\t\t\t\t\t\t\t\t// use ff.x because this tile is shifted in the x-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalTAB = ff.x * NormalT0 + (1.0-ff.x) * NormalT1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the scaling of NormalTab and NormalTCD is moved to a single scale of\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalT later in the program, which is mathematically identical to\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalTAB = (NormalTAB - 0.5) / ffscale.x + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tile C is shifted in the y-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.0,0.5)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT0 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.33+0.27).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tile D is shifted in both x- and y-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.5,0.5)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT1 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.24).rg ;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalTCD = ff.x * NormalT0 + (1.0-ff.x) * NormalT1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalTCD = (NormalTCD - 0.5) / ffscale.x + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// now blend the two values togetherv\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT = ff.y * NormalTAB + (1.0-ff.y) * NormalTCD;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// this line below used to be here for scaling the result\n\t\t\t\t\t\t\t\t\t\t\t\t\t//NormalT = (NormalT - 0.5) / ffscale.y + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// below the new, direct scaling of NormalT\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT = (NormalT - 0.5) / (ffscale.y * ffscale.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// scaling by 0.3 is arbritrary, and could be done by just\n\t\t\t\t\t\t\t\t\t\t\t\t\t// changing the values in the normal map\n\t\t\t\t\t\t\t\t\t\t\t\t\t// without this factor, the waves look very strong\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT *= 0.3;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// to make the water more transparent\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransp = 1.0;//texture2D( u_flowMap, texFlowCoord ).a;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and scale the normals with the transparency\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT *= transp*transp;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// assume normal of plane is 0,0,1 and produce the normalized sum of adding NormalT to it\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyNormal = vec3(NormalT,sqrt(1.0-NormalT.x*NormalT.x - NormalT.y*NormalT.y));\n\t\t\t\t\t\t\t\t\t\t\t\t\t// 鑾峰彇鍙嶅皠棰滆壊銆俓n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 envColor = u_reflectColor.rgb;//vec3(0.5647, 0.6941, 0.8235);\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (u_reflection == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//vec3 reflectDir = reflect(eyeDir, myNormal);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//vec3 envColor = vec3(textureCube(u_cubeMap, -reflectDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// 濡傛灉瑕佸疄鐜板弽灏勭湡瀹炲満鏅紝闇�瑕佹妸鍦烘櫙娓叉煋5閬嶆瀯寤轰竴涓棤搴曠殑绔嬫柟浣撶汗鐞嗐�俓n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// 鐩墠浣跨敤涓�寮犲弽灏勭汗鐞嗚繎浼兼ā鎷熴�俓n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 final = projectionCoord.xy / projectionCoord.w;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfinal = final * 0.5 + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfinal.y = 1.0 - final.y;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tenvColor = texture2D(u_reflectMap, final + myNormal.xy/texScale2*transp).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t// very ugly version of fresnel effect\n\t\t\t\t\t\t\t\t\t\t\t\t\t// but it gives a nice transparent water, but not too transparent\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyangle = dot(myNormal,normalize(eyeDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyangle = 0.95-0.6*myangle*myangle;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// blend in the color of the plane below the water\n\t\t\t\t\t\t\t\t\t\t\t\t\t// add in a little distortion of the colormap for the effect of a refracted\n\t\t\t\t\t\t\t\t\t\t\t\t\t// view of the image below the surface.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// (this isn't really tested, just a last minute addition\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and perhaps should be coded differently\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the correct way, would be to use the refract routine, use the alpha channel for depth of\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the water (and make the water disappear when depth = 0), add some watercolor to the colormap\n\t\t\t\t\t\t\t\t\t\t\t\t\t// depending on the depth, and use the calculated refractdir and the depth to find the right\n\t\t\t\t\t\t\t\t\t\t\t\t\t// pixel in the colormap.... who knows, something for the next version\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 base = u_refractColor.rgb;//vec3(0.3, 0.4, 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (u_useRefractTex == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbase = texture2D(u_refractMap,(texCoord + myNormal.xy/texScale2*0.03*transp)*32.0).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tbase = mix(base, u_waterColor.rgb, u_waterColor.a);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// 鍏夌収璁$畻\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 lightDir = czm_sunDirectionEC;//normalize(vec3(0.0, 0.0, 1.0)); // 鍏夌収鏂瑰悜闇�瑕佷粠澶栭潰浼犲叆\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 reflectVec = reflect(-lightDir, myNormal);\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat diffuse = max(0.0, dot(myNormal, lightDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat spec = max(dot(reflectVec, normalize(-eyeDir)), 0.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\tspec = pow(spec, 128.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t//float lightIntensity = 0.7 * diffuse + 0.3 * spec;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat lightIntensity = 0.3 * spec;\n\t\t\t\t\t\t\t\t\t\t\t\t\tgl_FragColor = vec4(mix(base, envColor, myangle*transp), 1.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\tgl_FragColor += vec4(0.8)*lightIntensity;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// note that smaller waves appear to move slower than bigger waves\n\t\t\t\t\t\t\t\t\t\t\t\t\t// one could use the tiles and give each tile a different speed if that\n\t\t\t\t\t\t\t\t\t\t\t\t\t// is what you want\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t", "_uniformMap", "getColorTexture", "_reflectColor", "_waterGeometry", "UNSIGNED_INT", "water", "_updateReflectTexture", "ComputeCommand", "proxy", "metadata", "roadMetadata", "roadUrl", "labelGraphics", "billboardGraphics", "aotuCollide", "collisionPadding", "serverFirstStyle", "tileCache", "labelCache", "_isInitial", "_latelyGrid", "_UUID", "GEO_WTFS_LABEL_", "_UUIDRoad", "getCacheTile", "removeCacheTile", "getCacheLabel", "oid", "addCacheLabel", "removeCacheLabel", "timestamp", "getTileUrl", "/GetTiles?lxys={z},{x},{y}", "getIcoUrl", "/GetIcon?id={id}", "getRoadTileUrl", "_timer", "_tilesToRender", "getTilesToRender", "compareArray", "_queueCall", "_latelyRefreshStamp"];
+        n = S,
+        function(e) {
+            for (; --e; )
+                n.push(n.shift())
+        }(310);
+        var T, P = function(e, t) {
+            return S[e -= 0]
+        }, M = function() {
+            function e(e, t) {
+                for (var i = 0; i < t[P("0x0")]; i++) {
+                    var r = t[i];
+                    r[P("0x1")] = r[P("0x1")] || !1,
+                    r[P("0x2")] = !0,
+                    P("0x3")in r && (r.writable = !0),
+                    E()(e, r[P("0x4")], r)
+                }
+            }
+            return function(t, i, r) {
+                return i && e(t[P("0x5")], i),
+                r && e(t, r),
+                t
+            }
+        }();
+        function N(e, t) {
+            if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function")
+        }
+        function L(e) {
+            for (var t = e || P("0x120"), i = "", r = new RegExp(P("0x121") + t + P("0x122")), n = document[P("0x123")](P("0x124")), o = 0, a = n[P("0x0")]; o < a; o++) {
+                var s = n[o].getAttribute(P("0x125"));
+                if (s) {
+                    var x = s[P("0x126")](r);
+                    if (x) {
+                        i = x[1];
+                        break
+                    }
+                }
+            }
+            return i
+        }
+        !function(e) {
+            ("undefined" == typeof define ? "undefined" : w()(define)) === P("0x8") && define[P("0xd")] ? define(e) : e()
+        }((function() {
+            var e = function() {
+                try {
+                    return "x"in Object[P("0xe")]({}, "x", {})
+                } catch (e) {
+                    return !1
+                }
+            }()
+              , t = Object[P("0xf")];
+            e && null != t || (t = function(e) {
+                return e
+            }
+            );
+            var i = t
+              , r = Cesium
+              , n = r[P("0x10")]
+              , o = r[P("0x11")]
+              , a = r[P("0x12")]
+              , s = r[P("0x13")]
+              , x = r.defaultValue
+              , l = r[P("0x14")]
+              , c = r.destroyObject
+              , u = r[P("0x15")]
+              , h = r[P("0x16")]
+              , f = r[P("0x17")]
+              , d = r[P("0x18")]
+              , g = r[P("0x19")]
+              , p = r[P("0x1a")]
+              , m = r[P("0x1b")]
+              , b = r.OrthographicFrustum
+              , v = r[P("0x1c")]
+              , C = r[P("0x1d")]
+              , y = r[P("0x1e")]
+              , _ = r[P("0x1f")]
+              , A = r[P("0x20")]
+              , I = r.CameraEventType
+              , G = r[P("0x21")]
+              , E = r[P("0x22")]
+              , S = r.SceneTransforms
+              , T = r.TweenCollection
+              , L = Cesium[P("0x23")];
+            function R(e) {
+                if (!l(e))
+                    throw new u(P("0x24"));
+                this[P("0x25")] = -L[P("0x26")],
+                this[P("0x27")] = !0,
+                this[P("0x28")] = !0,
+                this.enableZoom = !0,
+                this[P("0x29")] = !0,
+                this[P("0x2a")] = !0,
+                this[P("0x2b")] = !0,
+                this[P("0x2c")] = .9,
+                this[P("0x2d")] = .9,
+                this.inertiaZoom = .8,
+                this[P("0x2e")] = .1,
+                this[P("0x2f")] = 3,
+                this[P("0x30")] = 1,
+                this.maximumZoomDistance = Number[P("0x31")],
+                this.translateEventTypes = I[P("0x32")],
+                this[P("0x33")] = [I[P("0x34")], I[P("0x35")]],
+                this[P("0x36")] = I[P("0x32")],
+                this.tiltEventTypes = [I[P("0x37")], I.MIDDLE_DRAG, I[P("0x35")], {
+                    eventType: I[P("0x32")],
+                    modifier: g[P("0x38")]
+                }, {
+                    eventType: I[P("0x37")],
+                    modifier: g.CTRL
+                }],
+                this[P("0x39")] = {
+                    eventType: I[P("0x32")],
+                    modifier: g[P("0x3a")]
+                },
+                this[P("0x3b")] = 15e4,
+                this[P("0x3c")] = this[P("0x3b")],
+                this[P("0x3d")] = 15e3,
+                this[P("0x3e")] = this[P("0x3d")],
+                this[P("0x3f")] = -75e5,
+                this[P("0x40")] = this[P("0x3f")],
+                this[P("0x41")] = !0,
+                this[P("0x42")] = e,
+                this[P("0x43")] = void 0,
+                this[P("0x44")] = void 0,
+                Cesium[P("0x45")] && Cesium[P("0x45")].GeoCameraEventAggregator ? this[P("0x46")] = new (Cesium[P("0x47")])(e.canvas) : this._aggregator = new A(e[P("0x48")]),
+                this._lastInertiaSpinMovement = void 0,
+                this._lastInertiaZoomMovement = void 0,
+                this[P("0x49")] = void 0,
+                this[P("0x4a")] = void 0,
+                this._tweens = new T,
+                this[P("0x4b")] = void 0,
+                this[P("0x4c")] = void 0,
+                this[P("0x4d")] = new n(-1,-1),
+                this._tiltCenter = new o,
+                this[P("0x4e")] = new n(-1,-1),
+                this[P("0x4f")] = new o,
+                this[P("0x50")] = new o,
+                this[P("0x51")] = new n(-1,-1),
+                this._zoomWorldPosition = new o,
+                this[P("0x52")] = !1,
+                this[P("0x53")] = !1,
+                this[P("0x54")] = !1,
+                this[P("0x55")] = !1,
+                this[P("0x56")] = !1,
+                this[P("0x57")] = !1,
+                this[P("0x58")] = !1,
+                this._adjustedHeightForTerrain = !1;
+                var t = e.mapProjection;
+                this[P("0x59")] = t[P("0x5a")](new s(Math.PI,L[P("0x5b")])),
+                this[P("0x5c")] = 5,
+                this[P("0x5d")] = void 0,
+                this._rotateRateRangeAdjustment = void 0,
+                this[P("0x5e")] = 1.77,
+                this[P("0x5f")] = 2e-4,
+                this._minimumZoomRate = 20,
+                this[P("0x60")] = 5906376272e3
+            }
+            function O(e, t, i, r, o, a, s) {
+                var x = a[s];
+                l(x) || (x = a[s] = {
+                    startPosition: new n,
+                    endPosition: new n,
+                    motion: new n,
+                    active: !1
+                });
+                var c, u = e[P("0x66")](t, i), h = e[P("0x67")](t, i), f = u && h && (h[P("0x68")]() - u[P("0x68")]()) / 1e3, d = new Date, g = h && (d.getTime() - h[P("0x68")]()) / 1e3;
+                if (u && h && f < .4) {
+                    var p = function(e, t) {
+                        if (e < 0)
+                            return 0;
+                        var i = 25 * (1 - t);
+                        return Math[P("0x61")](-i * e)
+                    }(g, r);
+                    if (x[P("0x69")])
+                        x[P("0x63")] = n[P("0x6e")](x[P("0x64")], x[P("0x63")]),
+                        x.endPosition = n[P("0x6c")](x[P("0x6b")], p, x[P("0x64")]),
+                        x.endPosition = n[P("0x6d")](x[P("0x63")], x[P("0x64")], x[P("0x64")]),
+                        x[P("0x6b")] = n[P("0x6e")](n[P("0x6f")], x[P("0x6b")]);
+                    else {
+                        var m = e[P("0x6a")](t, i);
+                        if (!l(m) || (c = m,
+                        n[P("0x62")](c[P("0x63")], c[P("0x64")], L[P("0x65")])))
+                            return;
+                        x[P("0x6b")].x = .5 * (m[P("0x64")].x - m[P("0x63")].x),
+                        x.motion.y = .5 * (m.endPosition.y - m.startPosition.y),
+                        x[P("0x63")] = n.clone(m[P("0x63")], x[P("0x63")]),
+                        x.endPosition = n[P("0x6c")](x[P("0x6b")], p, x[P("0x64")]),
+                        x[P("0x64")] = n[P("0x6d")](x[P("0x63")], x[P("0x64")], x[P("0x64")]),
+                        x.active = !0
+                    }
+                    if (isNaN(x[P("0x64")].x) || isNaN(x[P("0x64")].y) || n.distance(x[P("0x63")], x[P("0x64")]) < .5)
+                        return void (x[P("0x69")] = !1);
+                    e[P("0x70")](t, i) || o(a, e.getStartMousePosition(t, i), x)
+                } else
+                    x[P("0x69")] = !1
+            }
+            var F = [];
+            function D(e, t, i, r, n, o) {
+                if (l(i)) {
+                    var a = e._aggregator;
+                    Array[P("0x71")](i) || (F[0] = i,
+                    i = F);
+                    for (var s = i[P("0x0")], x = 0; x < s; ++x) {
+                        var c = i[x]
+                          , u = l(c[P("0x72")]) ? c[P("0x72")] : c
+                          , h = c[P("0x73")]
+                          , f = a[P("0x74")](u, h) && a[P("0x75")](u, h)
+                          , d = a[P("0x76")](u, h);
+                        e.enableInputs && t && (f ? r(e, d, f) : n < 1 && O(a, u, h, n, r, e, o))
+                    }
+                }
+            }
+            var U = new y
+              , k = new o
+              , B = new n
+              , W = new o
+              , j = new n
+              , V = new o
+              , z = new o
+              , H = new o
+              , q = new o
+              , X = new o
+              , Y = new o
+              , K = new o
+              , Q = new o
+              , Z = new o
+              , J = new o
+              , $ = new o
+              , ee = new o
+              , te = new o
+              , ie = new o
+              , re = new o
+              , ne = new o
+              , oe = new o
+              , ae = new o
+              , se = {
+                orientation: new f
+            };
+            function xe(e, t, i, r, s, x) {
+                var c = 1;
+                l(x) && (c = L[P("0x77")](Math[P("0x78")](x), .25, 1));
+                var u = e.minimumZoomDistance * c
+                  , h = e[P("0x79")]
+                  , f = r * (s - u);
+                f = L.clamp(f, e[P("0x7a")], e._maximumZoomRate);
+                var d = i[P("0x64")].y - i[P("0x63")].y;
+                if (!(e[P("0x7b")] && d < 0 && function(e, t) {
+                    var i = a[P("0x6e")](a[P("0xa1")])
+                      , r = a[P("0x6e")](a[P("0xa1")])
+                      , n = e[P("0x42")]
+                      , o = n.globe.ellipsoid
+                      , s = n[P("0x7e")]
+                      , x = n.canvas;
+                    if (1.5 <= Math.abs(s[P("0x80")]) && (s[P("0x7f")] <= .25 || 6.03 <= s[P("0x7f")]))
+                        return !1;
+                    var l = s.pickEllipsoid(new (Cesium[P("0x10")])(0,x.clientHeight), o, i)
+                      , c = s[P("0xa2")](new Cesium.Cartesian2(x.clientWidth,x[P("0x7c")]), o, r);
+                    if (l && c && Math[P("0x78")](l.x - c.x) < 8e4 && Math[P("0x78")](l.y - c.y) < 8e4)
+                        return !1;
+                    var u = new (Cesium[P("0x1e")]);
+                    u = s[P("0x86")](t, u);
+                    var h = n[P("0xa3")][P("0xa4")](u, n);
+                    if (h || (u[P("0x87")] = s[P("0xa5")],
+                    u[P("0x93")] = s[P("0xa6")],
+                    h = n[P("0xa3")][P("0xa4")](u, n)),
+                    !h)
+                        return !0;
+                    var f = o[P("0xa7")](s[P("0x91")], new (Cesium[P("0x11")]))
+                      , d = (o.geodeticSurfaceNormal(h),
+                    new Cesium.BoundingSphere(h,0));
+                    return s[P("0xa8")](d, {
+                        offset: new (Cesium[P("0xa9")])(0,Cesium[P("0x23")].toRadians(-90),Cesium.Cartesian3.distance(f, h)),
+                        duration: 0
+                    }),
+                    !0
+                }(e, t))) {
+                    var g = d / e[P("0x42")][P("0x48")][P("0x7c")]
+                      , p = f * (g = Math[P("0x7d")](g, e.maximumMovementRatio));
+                    if (!(0 < p && Math.abs(s - u) < 1 || p < 0 && Math.abs(s - h) < 1)) {
+                        s - p < u ? p = s - u - 1 : h < s - p && (p = s - h);
+                        var m = e[P("0x42")]
+                          , v = m[P("0x7e")]
+                          , C = m.mode
+                          , y = se.orientation;
+                        if (y[P("0x7f")] = v[P("0x7f")],
+                        y[P("0x80")] = v[P("0x80")],
+                        y[P("0x81")] = v[P("0x81")],
+                        v.frustum instanceof b)
+                            0 < Math.abs(p) && (v[P("0x82")](p),
+                            v[P("0x83")]());
+                        else {
+                            var _, A = n[P("0x84")](t, e._zoomMouseStart), I = e[P("0x57")], w = e._rotatingZoom;
+                            if (A || (e[P("0x51")] = n[P("0x6e")](t, e[P("0x51")]),
+                            l(e[P("0x43")]) && (_ = C === E[P("0x85")] ? (_ = v[P("0x86")](t, U)[P("0x87")],
+                            o[P("0x88")](_.y, _.z, _.x)) : Ce(e, t, k)),
+                            l(_) ? (e[P("0x52")] = !0,
+                            e[P("0x89")] = o.clone(_, e[P("0x89")])) : e[P("0x52")] = !1,
+                            I = e[P("0x57")] = !1,
+                            w = e[P("0x58")] = !1),
+                            e[P("0x52")]) {
+                                var G = C === E[P("0x8a")];
+                                if (v.positionCartographic[P("0x8b")] < 2e6 && (w = !0),
+                                !A || w) {
+                                    if (C === E.SCENE2D) {
+                                        var T = e._zoomWorldPosition
+                                          , M = v[P("0x8c")];
+                                        if (!o[P("0x84")](T, M) && v.positionCartographic[P("0x8b")] < 2 * e[P("0x59")].x) {
+                                            var N = v[P("0x8c")].x
+                                              , R = o.subtract(T, M, W);
+                                            o[P("0x8d")](R, R);
+                                            var O = o[P("0x8e")](T, M) * p / (.5 * v[P("0x8f")]());
+                                            v.move(R, .5 * O),
+                                            (v[P("0x8c")].x < 0 && 0 < N || 0 < v.position.x && N < 0) && (_ = v[P("0x86")](t, U)[P("0x87")],
+                                            _ = o.fromElements(_.y, _.z, _.x),
+                                            e[P("0x89")] = o[P("0x6e")](_, e[P("0x89")]))
+                                        }
+                                    } else if (C === E[P("0x90")]) {
+                                        var F = o.normalize(v[P("0x8c")], X);
+                                        if (v[P("0x91")][P("0x8b")] < 3e3 && Math.abs(o[P("0x92")](v[P("0x93")], F)) < .6)
+                                            G = !0;
+                                        else {
+                                            var D = m[P("0x48")]
+                                              , xe = j;
+                                            xe.x = D[P("0x94")] / 2,
+                                            xe.y = D[P("0x7c")] / 2;
+                                            var le = Ce(e, xe, V);
+                                            if (l(le) && v[P("0x91")].height < 1e6) {
+                                                var ce = K;
+                                                o[P("0x6e")](v.position, ce);
+                                                var ue = e[P("0x89")]
+                                                  , he = Y;
+                                                if (he = o[P("0x8d")](ue, he),
+                                                o[P("0x92")](he, F) < 0)
+                                                    return;
+                                                var fe = re
+                                                  , de = J;
+                                                o[P("0x6e")](v.direction, de),
+                                                o[P("0x6d")](ce, o[P("0x6c")](de, 1e3, ne), fe);
+                                                var ge = $
+                                                  , pe = ee;
+                                                o[P("0x95")](ue, ce, ge),
+                                                o[P("0x8d")](ge, pe);
+                                                var me = o.dot(F, pe);
+                                                if (0 <= me)
+                                                    return void (e[P("0x51")].x = -1);
+                                                var be = Math.acos(-me)
+                                                  , ve = o[P("0x96")](ce)
+                                                  , ye = o.magnitude(ue)
+                                                  , _e = ve - p
+                                                  , Ae = o.magnitude(ge)
+                                                  , Ie = Math[P("0x97")](L.clamp(Ae / ye * Math[P("0x98")](be), -1, 1)) - Math[P("0x97")](L.clamp(_e / ye * Math[P("0x98")](be), -1, 1)) + be
+                                                  , we = Q;
+                                                o.normalize(ce, we);
+                                                var Ge = Z;
+                                                Ge = o[P("0x99")](pe, we, Ge),
+                                                Ge = o.normalize(Ge, Ge),
+                                                o[P("0x8d")](o[P("0x99")](we, Ge, ne), de),
+                                                o[P("0x6c")](o[P("0x8d")](fe, ne), o[P("0x96")](fe) - p, fe),
+                                                o[P("0x8d")](ce, ce),
+                                                o[P("0x6c")](ce, _e, ce);
+                                                var Ee = te;
+                                                o[P("0x6c")](o[P("0x6d")](o[P("0x6c")](we, Math[P("0x9a")](Ie) - 1, oe), o.multiplyByScalar(de, Math[P("0x98")](Ie), ae), ne), _e, Ee),
+                                                o[P("0x6d")](ce, Ee, ce),
+                                                o.normalize(fe, we),
+                                                o.normalize(o[P("0x99")](we, Ge, ne), de);
+                                                var Se = ie;
+                                                return o[P("0x6c")](o[P("0x6d")](o[P("0x6c")](we, Math[P("0x9a")](Ie) - 1, oe), o[P("0x6c")](de, Math[P("0x98")](Ie), ae), ne), o.magnitude(fe), Se),
+                                                o.add(fe, Se, fe),
+                                                o[P("0x6e")](ce, v[P("0x8c")]),
+                                                o.normalize(o.subtract(fe, ce, ne), v[P("0x93")]),
+                                                o[P("0x6e")](v[P("0x93")], v[P("0x93")]),
+                                                o[P("0x99")](v.direction, v.up, v[P("0x9b")]),
+                                                o.cross(v[P("0x9b")], v[P("0x93")], v.up),
+                                                void v[P("0x9c")](se)
+                                            }
+                                            if (l(le)) {
+                                                var Te = o[P("0x8d")](le, z)
+                                                  , Pe = o[P("0x8d")](e[P("0x89")], H)
+                                                  , Me = o[P("0x92")](Pe, Te);
+                                                if (0 < Me && Me < 1) {
+                                                    var Ne = L[P("0x9d")](Me)
+                                                      , Le = o.cross(Pe, Te, q)
+                                                      , Re = p / (Math[P("0x78")](Ne) > L.toRadians(20) ? .75 * v.positionCartographic[P("0x8b")] : v[P("0x91")].height - p);
+                                                    v[P("0x9e")](Le, Ne * Re)
+                                                }
+                                            } else
+                                                G = !0
+                                        }
+                                    }
+                                    e[P("0x58")] = !G
+                                }
+                                if (!A && G || I) {
+                                    var Oe = S[P("0x9f")](m, e._zoomWorldPosition, B)
+                                      , Fe = (C !== E[P("0x8a")] && n[P("0x84")](t, e[P("0x51")]) && l(Oe) ? v[P("0x86")](Oe, U) : v.getPickRay(t, U)).direction;
+                                    C !== E[P("0x8a")] && C !== E.SCENE2D || o[P("0x88")](Fe.y, Fe.z, Fe.x, Fe),
+                                    v[P("0xa0")](Fe, p),
+                                    e[P("0x57")] = !0
+                                } else
+                                    v[P("0x82")](p);
+                                v[P("0x9c")](se)
+                            } else
+                                v[P("0x82")](p)
+                        }
+                    }
+                }
+            }
+            var le = new y
+              , ce = new y
+              , ue = new o;
+            function he(e, t, i) {
+                var r = e[P("0x42")][P("0x7e")]
+                  , n = r[P("0x86")](i[P("0x63")], le)[P("0x87")]
+                  , a = r[P("0x86")](i.endPosition, ce).origin;
+                n = o[P("0x88")](n.y, n.z, n.x, n),
+                a = o[P("0x88")](a.y, a.z, a.x, a);
+                var s = o[P("0x95")](n, a, ue)
+                  , x = o[P("0x96")](s);
+                0 < x && (o[P("0x8d")](s, s),
+                r[P("0xa0")](s, x))
+            }
+            function fe(e, t, i) {
+                l(i[P("0x8e")]) && (i = i[P("0x8e")]);
+                var r = e[P("0x42")][P("0x7e")];
+                xe(e, t, i, e[P("0x5c")], r[P("0x8f")]())
+            }
+            var de = new n
+              , ge = new n;
+            function pe(e, t, i) {
+                if (l(i[P("0xaa")]))
+                    !function(e, t) {
+                        var i = e._rotateFactor * e._rotateRateRangeAdjustment;
+                        i > e[P("0x5e")] && (i = e[P("0x5e")]),
+                        i < e[P("0x5f")] && (i = e[P("0x5f")]);
+                        var r = e._scene
+                          , n = r[P("0x7e")]
+                          , o = r[P("0x48")]
+                          , a = (t[P("0x64")].x - t[P("0x63")].x) / o.clientWidth
+                          , s = i * (a = Math[P("0x7d")](a, e[P("0x2e")])) * Math.PI * 4;
+                        n.twistRight(s)
+                    }(e, i.angleAndHeight);
+                else {
+                    var r = e[P("0x42")]
+                      , o = r[P("0x7e")]
+                      , a = r[P("0x48")]
+                      , s = a[P("0x94")]
+                      , x = a.clientHeight
+                      , c = de;
+                    c.x = 2 / s * i[P("0x63")].x - 1,
+                    c.y = 2 / x * (x - i[P("0x63")].y) - 1,
+                    c = n[P("0x8d")](c, c);
+                    var u = ge;
+                    u.x = 2 / s * i[P("0x64")].x - 1,
+                    u.y = 2 / x * (x - i[P("0x64")].y) - 1,
+                    u = n.normalize(u, u);
+                    var h = L[P("0x9d")](c.x);
+                    c.y < 0 && (h = L.TWO_PI - h);
+                    var f = L[P("0x9d")](u.x);
+                    u.y < 0 && (f = L[P("0xab")] - f);
+                    var d = f - h;
+                    o[P("0xac")](d)
+                }
+            }
+            var me = new y
+              , be = new o
+              , ve = new o;
+            function Ce(e, t, i) {
+                var r = e[P("0x42")]
+                  , n = e._globe
+                  , a = r[P("0x7e")];
+                if (l(n)) {
+                    var s;
+                    r.pickPositionSupported && (s = r.pickPositionWorldCoordinates(t, be));
+                    var x = a.getPickRay(t, me)
+                      , c = n.pickWorldCoordinates(x, r, ve);
+                    return (l(s) ? o.distance(s, a[P("0xa5")]) : Number[P("0x31")]) < (l(c) ? o[P("0x8e")](c, a[P("0xa5")]) : Number.POSITIVE_INFINITY) ? o.clone(s, i) : o.clone(c, i)
+                }
+            }
+            var ye = new y
+              , _e = new y
+              , Ae = new o
+              , Ie = new o
+              , we = new o
+              , Ge = new o
+              , Ee = new v(o.UNIT_X,0)
+              , Se = new n
+              , Te = new n;
+            function Pe(e, t, i) {
+                if (o.equals(t, e[P("0xb6")]) || (e[P("0x54")] = !1),
+                o.equals(t, e[P("0xb7")]) || (e[P("0x56")] = !1),
+                e._looking)
+                    Bt(e, t, i);
+                else if (e._strafing)
+                    tt(e, t, i);
+                else {
+                    var r, a = e._scene[P("0x7e")], s = n[P("0x6e")](i.startPosition, Se), x = n[P("0x6e")](i[P("0x64")], Te), c = a[P("0x86")](s, ye), u = o[P("0x6e")](o[P("0x6f")], Ge), h = o[P("0xb8")];
+                    if (a[P("0x8c")].z < e[P("0x3c")] && (r = Ce(e, s, Ae),
+                    l(r) && (u.x = r.x)),
+                    u.x > a[P("0x8c")].z && l(r))
+                        return o.clone(r, e._strafeStartPosition),
+                        e[P("0x56")] = !0,
+                        tt(e, t, i),
+                        void (e[P("0xb7")] = n[P("0x6e")](t, e[P("0xb7")]));
+                    var f = v[P("0xb9")](u, h, Ee);
+                    c = a[P("0x86")](s, ye);
+                    var g = d.rayPlane(c, f, Ae)
+                      , p = a.getPickRay(x, _e)
+                      , m = d[P("0xba")](p, f, Ie);
+                    if (!l(g) || !l(m))
+                        return e[P("0x54")] = !0,
+                        Bt(e, t, i),
+                        void n[P("0x6e")](t, e[P("0xb6")]);
+                    var b = o[P("0x95")](g, m, we)
+                      , C = b.x;
+                    b.x = b.y,
+                    b.y = b.z,
+                    b.z = C;
+                    var y = o[P("0x96")](b);
+                    y > L[P("0xbb")] && (o[P("0x8d")](b, b),
+                    a[P("0xa0")](b, y))
+                }
+            }
+            var Me = new n
+              , Ne = new y
+              , Le = new o
+              , Re = new o
+              , Oe = new m
+              , Fe = new m
+              , De = new o
+              , Ue = new v(o.UNIT_X,0)
+              , ke = new o
+              , Be = new s
+              , We = new m
+              , je = new C
+              , Ve = new p
+              , ze = new o;
+            function He(e, t, i) {
+                if (l(i[P("0xaa")]) && (i = i.angleAndHeight),
+                n.equals(t, e[P("0x4d")]) || (e[P("0x53")] = !1,
+                e._looking = !1),
+                e[P("0x54")])
+                    Bt(e, t, i);
+                else {
+                    var r = e[P("0x42")].camera;
+                    e[P("0x53")] || !e[P("0xbc")]() || r[P("0x8c")].z > e[P("0x3c")] ? (e[P("0x53")] = !0,
+                    function(e, t, i) {
+                        var r = e[P("0x42")]
+                          , a = r.camera
+                          , s = r.canvas
+                          , x = Me;
+                        x.x = s[P("0x94")] / 2,
+                        x.y = s[P("0x7c")] / 2;
+                        var c, u = a[P("0x86")](x, Ne), f = o[P("0xb8")], d = u.origin, g = u[P("0x93")], p = o[P("0x92")](f, g);
+                        if (Math[P("0x78")](p) > L[P("0xbb")] && (c = -o.dot(f, d) / p),
+                        !l(c) || c <= 0)
+                            return e[P("0x54")] = !0,
+                            Bt(e, t, i),
+                            n[P("0x6e")](t, e[P("0x4d")]);
+                        var b = o.multiplyByScalar(g, c, Le);
+                        o.add(d, b, b);
+                        var v = r[P("0xbd")]
+                          , C = v.ellipsoid;
+                        o[P("0x88")](b.y, b.z, b.x, b);
+                        var y = v[P("0xbe")](b, Be);
+                        C[P("0xa7")](y, b);
+                        var A = _[P("0xbf")](b, C, Oe)
+                          , I = e[P("0x43")]
+                          , w = e._ellipsoid;
+                        e[P("0x43")] = void 0,
+                        e[P("0x44")] = h[P("0xc0")],
+                        e._rotateFactor = 1,
+                        e[P("0xc1")] = 1;
+                        var G = m[P("0x6e")](a[P("0xaf")], We);
+                        a[P("0xc2")](A),
+                        xt(e, t, i, o[P("0xc3")]),
+                        a._setTransform(G),
+                        e[P("0x43")] = I;
+                        var E = (e[P("0x44")] = w)[P("0xc4")];
+                        e._rotateFactor = 1 / E,
+                        e[P("0xc1")] = E
+                    }(e, t, i)) : function(e, t, i) {
+                        var r, a, s = e[P("0x42")], x = s[P("0x7e")], c = o[P("0xb8")];
+                        if (n.equals(t, e[P("0x4d")]))
+                            r = o[P("0x6e")](e[P("0xc5")], Le);
+                        else {
+                            if (x[P("0x8c")].z < e[P("0x3c")] && (r = Ce(e, t, Le)),
+                            !l(r)) {
+                                var u, f = (a = x[P("0x86")](t, Ne))[P("0x87")], g = a[P("0x93")], b = o.dot(c, g);
+                                if (Math.abs(b) > L[P("0xbb")] && (u = -o[P("0x92")](c, f) / b),
+                                !l(u) || u <= 0)
+                                    return e[P("0x54")] = !0,
+                                    Bt(e, t, i),
+                                    n[P("0x6e")](t, e[P("0x4d")]);
+                                r = o[P("0x6c")](g, u, Le),
+                                o.add(f, r, r)
+                            }
+                            n[P("0x6e")](t, e._tiltCenterMousePosition),
+                            o[P("0x6e")](r, e[P("0xc5")])
+                        }
+                        var y = s[P("0x48")]
+                          , A = Me;
+                        A.x = y[P("0x94")] / 2,
+                        A.y = e._tiltCenterMousePosition.y,
+                        a = x[P("0x86")](A, Ne);
+                        var I = o[P("0x6e")](o.ZERO, De);
+                        I.x = r.x;
+                        var w = v[P("0xb9")](I, c, Ue)
+                          , G = d[P("0xba")](a, w, Re)
+                          , E = x[P("0xc6")]
+                          , S = E.ellipsoid;
+                        o[P("0x88")](r.y, r.z, r.x, r);
+                        var T = E[P("0xbe")](r, Be);
+                        S[P("0xa7")](T, r);
+                        var M, N = _[P("0xbf")](r, S, Oe);
+                        M = l(G) ? (o[P("0x88")](G.y, G.z, G.x, G),
+                        T = E[P("0xbe")](G, Be),
+                        S[P("0xa7")](T, G),
+                        _[P("0xbf")](G, S, Fe)) : N;
+                        var R = e._globe
+                          , O = e._ellipsoid;
+                        e[P("0x43")] = void 0,
+                        e[P("0x44")] = h[P("0xc0")],
+                        e[P("0x5d")] = 1,
+                        e[P("0xc1")] = 1;
+                        var F = o[P("0xc3")]
+                          , D = m[P("0x6e")](x.transform, We);
+                        x[P("0xc2")](N);
+                        var U = o[P("0x99")](o[P("0xc3")], o[P("0x8d")](x.position, ke), ke)
+                          , k = o[P("0x92")](x[P("0x9b")], U);
+                        if (xt(e, t, i, F, !1, !0),
+                        x._setTransform(M),
+                        k < 0) {
+                            i[P("0x63")].y > i[P("0x64")].y && (F = void 0);
+                            var B = x.constrainedAxis;
+                            x[P("0xc7")] = void 0,
+                            xt(e, t, i, F, !0, !1),
+                            x[P("0xc7")] = B
+                        } else
+                            xt(e, t, i, F, !0, !1);
+                        if (l(x[P("0xc7")])) {
+                            var W = o[P("0x99")](x[P("0x93")], x.constrainedAxis, ze);
+                            o[P("0x62")](W, o[P("0x6f")], L[P("0xbb")]) || (o[P("0x92")](W, x[P("0x9b")]) < 0 && o[P("0xc8")](W, W),
+                            o[P("0x99")](W, x.direction, x.up),
+                            o.cross(x[P("0x93")], x.up, x[P("0x9b")]),
+                            o.normalize(x.up, x.up),
+                            o.normalize(x[P("0x9b")], x[P("0x9b")]))
+                        }
+                        x._setTransform(D),
+                        e[P("0x43")] = R;
+                        var j = (e._ellipsoid = O)[P("0xc4")];
+                        e[P("0x5d")] = 1 / j,
+                        e[P("0xc1")] = j;
+                        var V = o[P("0x6e")](x[P("0xa5")], ke);
+                        if (e[P("0x41")] && Vt(e),
+                        !o[P("0x84")](x[P("0xa5")], V)) {
+                            x._setTransform(M),
+                            x[P("0xc9")](V, V);
+                            var z = o.magnitudeSquared(V);
+                            o.magnitudeSquared(x[P("0x8c")]) > z && (o.normalize(x[P("0x8c")], x[P("0x8c")]),
+                            o[P("0x6c")](x[P("0x8c")], Math[P("0xca")](z), x.position));
+                            var H = o[P("0xcb")](V, x[P("0x8c")])
+                              , q = o[P("0x99")](V, x[P("0x8c")], V);
+                            o[P("0x8d")](q, q);
+                            var X = C[P("0xcc")](q, H, je)
+                              , Y = p[P("0xcd")](X, Ve);
+                            p[P("0xce")](Y, x.direction, x[P("0x93")]),
+                            p[P("0xce")](Y, x.up, x.up),
+                            o[P("0x99")](x[P("0x93")], x.up, x[P("0x9b")]),
+                            o.cross(x[P("0x9b")], x[P("0x93")], x.up),
+                            x._setTransform(D)
+                        }
+                    }(e, t, i)
+                }
+            }
+            var qe = new n
+              , Xe = new y
+              , Ye = new o;
+            function Ke(e, t, i) {
+                l(i.distance) && (i = i[P("0x8e")]);
+                var r = e[P("0x42")]
+                  , n = r[P("0x7e")]
+                  , a = r[P("0x48")]
+                  , s = qe;
+                s.x = a.clientWidth / 2,
+                s.y = a[P("0x7c")] / 2;
+                var x, c, u = n[P("0x86")](s, Xe);
+                if (n[P("0x8c")].z < e[P("0x3c")] && (x = Ce(e, s, Ye)),
+                l(x))
+                    c = o.distance(u[P("0x87")], x);
+                else {
+                    var h = o.UNIT_X
+                      , f = u[P("0x87")]
+                      , d = u[P("0x93")];
+                    c = -o[P("0x92")](h, f) / o[P("0x92")](h, d)
+                }
+                xe(e, t, i, e[P("0x5c")], c)
+            }
+            var Qe = new y
+              , Ze = new v(o[P("0xb8")],0)
+              , Je = new o
+              , $e = new o
+              , et = new o;
+            function tt(e, t, i) {
+                var r = e[P("0x42")]
+                  , n = r[P("0x7e")]
+                  , a = Ce(e, i[P("0x63")], et);
+                if (l(a)) {
+                    var s = i[P("0x64")]
+                      , x = n.getPickRay(s, Qe)
+                      , c = o[P("0x6e")](n[P("0x93")], $e);
+                    r[P("0xd3")] === E[P("0x8a")] && o[P("0x88")](c.z, c.x, c.y, c);
+                    var u = v[P("0xb9")](a, c, Ze)
+                      , h = d[P("0xba")](x, u, Je);
+                    l(h) && (c = o[P("0x95")](a, h, c),
+                    r[P("0xd3")] === E.COLUMBUS_VIEW && o[P("0x88")](c.y, c.z, c.x, c),
+                    o[P("0x6d")](n[P("0x8c")], c, n.position))
+                }
+            }
+            var it = new o
+              , rt = new s
+              , nt = new o
+              , ot = new h
+              , at = new o;
+            function st(e, t, i) {
+                var r = e[P("0x42")].camera;
+                if (m[P("0x84")](r.transform, m[P("0xae")])) {
+                    var a, s, x, c = e[P("0x44")][P("0xd5")](r[P("0x8c")], at), u = e[P("0x44")][P("0xd6")](r[P("0xa5")], rt)[P("0x8b")], f = e._globe;
+                    if (l(f) && u < e[P("0x3c")] && (x = Ce(e, i.startPosition, et),
+                    l(x))) {
+                        var d = r[P("0x86")](i.startPosition, me)
+                          , g = e._ellipsoid[P("0xd5")](x);
+                        Math.abs(o.dot(d[P("0x93")], g)) < .05 && !e[P("0x54")] && (e[P("0x55")] = !1,
+                        e[P("0x56")] = !0)
+                    }
+                    n.equals(t, e[P("0x4e")]) ? e._looking ? Bt(e, t, i, c) : e[P("0x55")] ? xt(e, t, i) : e._strafing ? (o[P("0x6e")](x, e[P("0x50")]),
+                    tt(e, 0, i)) : (a = o[P("0x96")](e[P("0x4f")]),
+                    (s = nt).x = s.y = s.z = a,
+                    mt(e, t, i, h.fromCartesian3(s, ot))) : (e[P("0x54")] = !1,
+                    e[P("0x55")] = !1,
+                    e[P("0x56")] = !1,
+                    l(f) && u < e._minimumPickingTerrainHeight ? l(x) ? o[P("0x96")](r[P("0x8c")]) < o[P("0x96")](x) ? (o[P("0x6e")](x, e[P("0x50")]),
+                    e._strafing = !0,
+                    tt(e, 0, i)) : (a = o.magnitude(x),
+                    (s = nt).x = s.y = s.z = a,
+                    mt(e, t, i, h[P("0xd7")](s, ot)),
+                    o[P("0x6e")](x, e[P("0x4f")])) : (e[P("0x54")] = !0,
+                    Bt(e, t, i, c)) : l(r[P("0xa2")](i.startPosition, e._ellipsoid, it)) ? (mt(e, t, i, e[P("0x44")]),
+                    o[P("0x6e")](it, e[P("0x4f")])) : u > e._minimumTrackBallHeight ? (e[P("0x55")] = !0,
+                    xt(e, t, i)) : (e[P("0x54")] = !0,
+                    Bt(e, t, i, c)),
+                    n.clone(t, e._rotateMousePosition))
+                } else {
+                    i && i[P("0x63")] && i[P("0x64")] && (t = i[P("0x64")],
+                    i[P("0x64")] = i[P("0x63")],
+                    i.startPosition = t,
+                    i[P("0x64")].x = (i.startPosition.x + i[P("0x64")].x) / 2,
+                    i[P("0x64")].y = (i[P("0x63")].y + i[P("0x64")].y) / 2);
+                    var p = function(e) {
+                        var t = e[P("0x42")]
+                          , i = t[P("0x7e")]
+                          , r = t[P("0x43")][P("0x44")]
+                          , n = _[P("0xbf")](i[P("0x8c")], r, wt)
+                          , a = m.clone(i[P("0xaf")], Et);
+                        i[P("0xc2")](n);
+                        var s = new o;
+                        return s = m[P("0xd4")](i.viewMatrix, s, s),
+                        i._setTransform(a),
+                        s
+                    }(e);
+                    r[P("0x80")] > L[P("0x77")](e.constrainedPitch, -L.PI, 0) && 0 <= i.startPosition.y - i[P("0x64")].y || 0 < p.y && i[P("0x63")].y - i[P("0x64")].y <= 0 ? xt(e, t, i, o[P("0xc3")], !1, !0) : xt(e, t, i)
+                }
+            }
+            function xt(e, t, i, r, n, a) {
+                n = x(n, !1),
+                a = x(a, !1);
+                var s = e._scene
+                  , c = s[P("0x7e")]
+                  , u = s[P("0x48")]
+                  , h = c[P("0xc7")];
+                l(r) && (c.constrainedAxis = r);
+                var f = o[P("0x96")](c[P("0x8c")])
+                  , d = e._rotateFactor * (f - e._rotateRateRangeAdjustment);
+                d > e[P("0x5e")] && (d = e[P("0x5e")]),
+                d < e[P("0x5f")] && (d = e[P("0x5f")]);
+                var g = (i[P("0x63")].x - i[P("0x64")].x) / u[P("0x94")]
+                  , p = (i[P("0x63")].y - i[P("0x64")].y) / u[P("0x7c")];
+                g = Math[P("0x7d")](g, e.maximumMovementRatio),
+                p = Math[P("0x7d")](p, e[P("0x2e")]);
+                var m = d * g * Math.PI * 2
+                  , b = d * p * Math.PI;
+                n || c[P("0xd8")](-m),
+                a || (1 == e[P("0xd9")] && (c.constrainedAxis = void 0),
+                c[P("0xda")](b)),
+                c[P("0xc7")] = h
+            }
+            var lt = a[P("0x6e")](a[P("0xa1")])
+              , ct = a[P("0x6e")](a[P("0xa1")])
+              , ut = new o
+              , ht = new o
+              , ft = new o
+              , dt = new o
+              , gt = new n
+              , pt = new n;
+            function mt(e, t, i, r) {
+                var a = e._scene[P("0x7e")]
+                  , s = n[P("0x6e")](i[P("0x63")], gt)
+                  , x = n[P("0x6e")](i.endPosition, pt)
+                  , c = a[P("0xa2")](s, r, lt)
+                  , u = a[P("0xa2")](x, r, ct);
+                if (!l(c) || !l(u))
+                    return e[P("0x55")] = !0,
+                    void xt(e, 0, i);
+                if (c = a[P("0xdb")](c, c),
+                u = a[P("0xdb")](u, u),
+                l(a.constrainedAxis)) {
+                    var h = a[P("0xc7")]
+                      , f = o[P("0xdd")](h, ut);
+                    o.cross(f, h, f),
+                    o.normalize(f, f);
+                    var d = o[P("0x99")](h, f, ht)
+                      , g = o[P("0x96")](c)
+                      , p = o.dot(h, c)
+                      , m = Math[P("0xdc")](p / g)
+                      , b = o[P("0x6c")](h, p, ft);
+                    o.subtract(c, b, b),
+                    o[P("0x8d")](b, b);
+                    var v = o[P("0x96")](u)
+                      , C = o[P("0x92")](h, u)
+                      , y = Math[P("0xdc")](C / v)
+                      , _ = o[P("0x6c")](h, C, dt);
+                    o.subtract(u, _, _),
+                    o[P("0x8d")](_, _);
+                    var A = Math[P("0xdc")](o.dot(b, f));
+                    o[P("0x92")](b, d) < 0 && (A = L[P("0xab")] - A);
+                    var I = Math[P("0xdc")](o[P("0x92")](_, f));
+                    o.dot(_, d) < 0 && (I = L.TWO_PI - I);
+                    var w, G = A - I;
+                    w = o[P("0x62")](h, a[P("0x8c")], L.EPSILON2) ? a[P("0x9b")] : o[P("0x99")](h, a[P("0x8c")], ut);
+                    var E, S = o[P("0x99")](h, w, ut), T = o[P("0x92")](S, o[P("0x95")](c, h, ht)), M = o.dot(S, o[P("0x95")](u, h, ht));
+                    E = 0 < T && 0 < M ? y - m : 0 < T && M <= 0 ? 0 < o.dot(a[P("0x8c")], h) ? -m - y : m + y : m - y,
+                    a.rotateRight(G),
+                    a[P("0xda")](E)
+                } else {
+                    o[P("0x8d")](c, c),
+                    o[P("0x8d")](u, u);
+                    var N = o[P("0x92")](c, u)
+                      , R = o[P("0x99")](c, u, ut);
+                    if (N < 1 && !o[P("0x62")](R, o[P("0x6f")], L[P("0x65")])) {
+                        var O = Math[P("0xdc")](N);
+                        a.rotate(R, O)
+                    }
+                }
+            }
+            var bt = new o
+              , vt = new s;
+            function Ct(e, t, i) {
+                l(i[P("0x8e")]) && (i = i.distance);
+                var r = e[P("0x44")]
+                  , n = e._scene
+                  , a = n[P("0x7e")]
+                  , s = n.canvas
+                  , x = qe;
+                x.x = s[P("0x94")] / 2,
+                x.y = s[P("0x7c")] / 2;
+                var c, u, h = a.getPickRay(x, Xe), f = r[P("0xd6")](a[P("0x8c")], vt).height;
+                f < e[P("0x3c")] && (c = Ce(e, x, Ye)),
+                u = l(c) ? o.distance(h[P("0x87")], c) : f;
+                var d = o[P("0x8d")](a.position, bt);
+                xe(e, t, i, e._zoomFactor, u, o[P("0x92")](d, a[P("0x93")]))
+            }
+            var yt = new n
+              , _t = new y
+              , At = new o
+              , It = new o
+              , wt = new m
+              , Gt = new m
+              , Et = new m
+              , St = new C
+              , Tt = new p
+              , Pt = new s
+              , Mt = new o;
+            function Nt(e, t, i) {
+                var r = e[P("0x42")].camera;
+                if (i && i[P("0x63")] && i.endPosition && (t = i.endPosition,
+                i.endPosition = i[P("0x63")],
+                i[P("0x63")] = t,
+                i[P("0x64")].x = (i.startPosition.x + i[P("0x64")].x) / 2,
+                i[P("0x64")].y = (i[P("0x63")].y + i[P("0x64")].y) / 2),
+                m[P("0x84")](r[P("0xaf")], m[P("0xae")]))
+                    if (l(i[P("0xaa")]) && (i = i[P("0xaa")]),
+                    n[P("0x84")](t, e[P("0x4d")]) || (e[P("0xde")] = !1,
+                    e._looking = !1),
+                    e[P("0x54")]) {
+                        var a = e[P("0x44")][P("0xd5")](r[P("0x8c")], Mt);
+                        Bt(e, t, i, a)
+                    } else {
+                        var s = e[P("0x44")][P("0xd6")](r[P("0x8c")], Pt);
+                        e[P("0xde")] || s.height > e[P("0x3e")] ? (e._tiltOnEllipsoid = !0,
+                        function(e, t, i) {
+                            var r = e[P("0x44")]
+                              , a = e[P("0x42")]
+                              , s = a[P("0x7e")]
+                              , x = .25 * e[P("0x30")]
+                              , c = r[P("0xd6")](s[P("0xa5")], Lt)[P("0x8b")];
+                            if (!(c - x - 1 < L[P("0xdf")] && i[P("0x64")].y - i[P("0x63")].y < 0)) {
+                                var u = a[P("0x48")]
+                                  , f = yt;
+                                f.x = u[P("0x94")] / 2,
+                                f.y = u[P("0x7c")] / 2;
+                                var g, p = s.getPickRay(f, _t), b = d[P("0xe0")](p, r);
+                                if (l(b))
+                                    g = y[P("0xe1")](p, b[P("0xe2")], At);
+                                else {
+                                    if (!(c > e._minimumTrackBallHeight)) {
+                                        e[P("0x54")] = !0;
+                                        var v = e[P("0x44")][P("0xd5")](s.position, Mt);
+                                        return Bt(e, t, i, v),
+                                        n[P("0x6e")](t, e._tiltCenterMousePosition)
+                                    }
+                                    var C = d[P("0xe3")](p, r);
+                                    if (!l(C))
+                                        return;
+                                    var A = r[P("0xd6")](C, Pt);
+                                    A.height = 0,
+                                    g = r.cartographicToCartesian(A, At)
+                                }
+                                var I = _[P("0xbf")](g, r, wt)
+                                  , w = e[P("0x43")]
+                                  , G = e[P("0x44")];
+                                e[P("0x43")] = void 0,
+                                e[P("0x44")] = h[P("0xc0")],
+                                e[P("0x5d")] = 1,
+                                e[P("0xc1")] = 1;
+                                var E = m[P("0x6e")](s[P("0xaf")], Et);
+                                s._setTransform(I),
+                                s[P("0x80")] > L[P("0x77")](e.constrainedPitch, -L.PI, 0) && 0 <= i[P("0x63")].y - i[P("0x64")].y ? xt(e, 0, i, o.UNIT_Z, !1, !0) : xt(e, 0, i, o[P("0xc3")]),
+                                s._setTransform(E),
+                                e[P("0x43")] = w;
+                                var S = (e._ellipsoid = G)[P("0xc4")];
+                                e._rotateFactor = 1 / S,
+                                e[P("0xc1")] = S
+                            }
+                        }(e, t, i)) : function(e, t, i) {
+                            var r, a, s, x = e[P("0x44")], c = e[P("0x42")], u = c[P("0x7e")];
+                            if (n[P("0x84")](t, e[P("0x4d")]))
+                                r = o.clone(e[P("0xc5")], At);
+                            else {
+                                if (r = Ce(e, t, At),
+                                !l(r)) {
+                                    if (a = u[P("0x86")](t, _t),
+                                    s = d.rayEllipsoid(a, x),
+                                    !l(s)) {
+                                        if (x[P("0xd6")](u[P("0x8c")], Pt)[P("0x8b")] <= e[P("0x40")]) {
+                                            e._looking = !0;
+                                            var f = e[P("0x44")][P("0xd5")](u[P("0x8c")], Mt);
+                                            Bt(e, t, i, f),
+                                            n[P("0x6e")](t, e._tiltCenterMousePosition)
+                                        }
+                                        return
+                                    }
+                                    r = y[P("0xe1")](a, s[P("0xe2")], At)
+                                }
+                                n.clone(t, e[P("0x4d")]),
+                                o.clone(r, e[P("0xc5")])
+                            }
+                            var g = c[P("0x48")]
+                              , b = yt;
+                            b.x = g[P("0x94")] / 2,
+                            b.y = e[P("0x4d")].y,
+                            a = u[P("0x86")](b, _t);
+                            var v = o.magnitude(r)
+                              , A = o[P("0x88")](v, v, v, nt)
+                              , I = h[P("0xd7")](A, ot);
+                            if (s = d[P("0xe0")](a, I),
+                            l(s)) {
+                                var w = o[P("0x96")](a[P("0x87")]) > v ? s.start : s[P("0xe4")]
+                                  , G = y[P("0xe1")](a, w, It)
+                                  , E = _[P("0xbf")](r, x, wt)
+                                  , S = _[P("0xbf")](G, I, Gt)
+                                  , T = e[P("0x43")]
+                                  , M = e[P("0x44")];
+                                e[P("0x43")] = void 0,
+                                e[P("0x44")] = h.UNIT_SPHERE,
+                                e[P("0x5d")] = 1,
+                                e[P("0xc1")] = 1;
+                                var N = o[P("0xc3")]
+                                  , R = m[P("0x6e")](u[P("0xaf")], Et);
+                                u._setTransform(E);
+                                var O = o[P("0x99")](G, u.positionWC, ze)
+                                  , F = o[P("0x92")](u[P("0xe5")], O);
+                                if (xt(e, 0, i, N, !1, !0),
+                                u[P("0xc2")](S),
+                                F < 0) {
+                                    i.startPosition.y > i[P("0x64")].y && (N = void 0);
+                                    var D = u[P("0xc7")];
+                                    u[P("0xc7")] = void 0,
+                                    xt(e, 0, i, N, !0, !1),
+                                    u.constrainedAxis = D
+                                } else
+                                    (u[P("0x80")] < L[P("0x77")](e[P("0x25")], -L.PI, 0) || i.startPosition.y - i[P("0x64")].y <= 0) && xt(e, 0, i, N, !0, !1);
+                                if (l(u.constrainedAxis)) {
+                                    var U = o[P("0x99")](u[P("0x93")], u.constrainedAxis, ze);
+                                    o.equalsEpsilon(U, o.ZERO, L[P("0xbb")]) || (o[P("0x92")](U, u.right) < 0 && o[P("0xc8")](U, U),
+                                    o.cross(U, u[P("0x93")], u.up),
+                                    o[P("0x99")](u[P("0x93")], u.up, u[P("0x9b")]),
+                                    o[P("0x8d")](u.up, u.up),
+                                    o.normalize(u[P("0x9b")], u[P("0x9b")]))
+                                }
+                                u._setTransform(R),
+                                e[P("0x43")] = T;
+                                var k = (e._ellipsoid = M)[P("0xc4")];
+                                e[P("0x5d")] = 1 / k,
+                                e[P("0xc1")] = k;
+                                var B = o[P("0x6e")](u.positionWC, ze);
+                                if (e[P("0x41")] && Vt(e),
+                                !o.equals(u[P("0xa5")], B)) {
+                                    u[P("0xc2")](S),
+                                    u[P("0xc9")](B, B);
+                                    var W = o[P("0xe6")](B);
+                                    o[P("0xe6")](u[P("0x8c")]) > W && (o.normalize(u[P("0x8c")], u[P("0x8c")]),
+                                    o[P("0x6c")](u[P("0x8c")], Math[P("0xca")](W), u[P("0x8c")]));
+                                    var j = o[P("0xcb")](B, u[P("0x8c")])
+                                      , V = o[P("0x99")](B, u.position, B);
+                                    o[P("0x8d")](V, V);
+                                    var z = C.fromAxisAngle(V, j, St)
+                                      , H = p[P("0xcd")](z, Tt);
+                                    p[P("0xce")](H, u[P("0x93")], u[P("0x93")]),
+                                    p[P("0xce")](H, u.up, u.up),
+                                    o[P("0x99")](u[P("0x93")], u.up, u[P("0x9b")]),
+                                    o[P("0x99")](u[P("0x9b")], u[P("0x93")], u.up),
+                                    u._setTransform(R)
+                                }
+                            }
+                        }(e, t, i)
+                    }
+            }
+            var Lt = new s
+              , Rt = new n
+              , Ot = new n
+              , Ft = new y
+              , Dt = new y
+              , Ut = new o
+              , kt = new o;
+            function Bt(e, t, i, r) {
+                var n = e[P("0x42")][P("0x7e")]
+                  , a = Rt;
+                a.x = i.startPosition.x,
+                a.y = 0;
+                var s = Ot;
+                s.x = i[P("0x64")].x,
+                s.y = 0;
+                var c, u, h = n[P("0x86")](a, Ft), f = n[P("0x86")](s, Dt), d = 0;
+                n.frustum instanceof b ? (c = h[P("0x87")],
+                u = f[P("0x87")],
+                o[P("0x6d")](n[P("0x93")], c, c),
+                o.add(n[P("0x93")], u, u),
+                o[P("0x95")](c, n[P("0x8c")], c),
+                o[P("0x95")](u, n[P("0x8c")], u),
+                o[P("0x8d")](c, c),
+                o[P("0x8d")](u, u)) : (c = h[P("0x93")],
+                u = f[P("0x93")]);
+                var g = o[P("0x92")](c, u);
+                g < 1 && (d = Math[P("0xdc")](g)),
+                d = i[P("0x63")].x > i[P("0x64")].x ? -d : d;
+                var p = e[P("0x4c")];
+                if (l(r) ? n[P("0xe7")](r, -d) : l(p) ? n[P("0xe7")](p, -d) : n.lookLeft(d),
+                a.x = 0,
+                a.y = i[P("0x63")].y,
+                s.x = 0,
+                s.y = i[P("0x64")].y,
+                h = n.getPickRay(a, Ft),
+                f = n[P("0x86")](s, Dt),
+                d = 0,
+                n[P("0xe8")]instanceof b ? (c = h[P("0x87")],
+                u = f.origin,
+                o[P("0x6d")](n[P("0x93")], c, c),
+                o[P("0x6d")](n[P("0x93")], u, u),
+                o.subtract(c, n[P("0x8c")], c),
+                o[P("0x95")](u, n.position, u),
+                o.normalize(c, c),
+                o[P("0x8d")](u, u)) : (c = h[P("0x93")],
+                u = f.direction),
+                (g = o.dot(c, u)) < 1 && (d = Math.acos(g)),
+                d = i.startPosition.y > i[P("0x64")].y ? -d : d,
+                r = x(r, p),
+                l(r)) {
+                    var m = n[P("0x93")]
+                      , v = o.negate(r, Ut)
+                      , C = o[P("0x62")](m, r, L[P("0xe9")])
+                      , y = o.equalsEpsilon(m, v, L[P("0xe9")]);
+                    if (C || y)
+                        (C && d < 0 || y && 0 < d) && n[P("0xe7")](n[P("0x9b")], -d);
+                    else {
+                        g = o[P("0x92")](m, r);
+                        var _ = L.acosClamped(g);
+                        0 < d && _ < d && (d = _ - L.EPSILON4),
+                        g = o[P("0x92")](m, v),
+                        _ = L[P("0x9d")](g),
+                        d < 0 && _ < -d && (d = -_ + L[P("0xea")]);
+                        var A = o[P("0x99")](r, m, kt);
+                        n.look(A, d)
+                    }
+                } else
+                    n[P("0xeb")](d)
+            }
+            var Wt = new m
+              , jt = new s;
+            function Vt(e) {
+                e[P("0xec")] = !0;
+                var t = e[P("0x42")]
+                  , i = t.mode
+                  , r = t.globe;
+                if (l(r) && i !== E[P("0x85")] && i !== E.MORPHING) {
+                    var n, a, s = t[P("0x7e")], x = r.ellipsoid, c = t[P("0xbd")];
+                    m.equals(s[P("0xaf")], m[P("0xae")]) || (n = m[P("0x6e")](s[P("0xaf")], Wt),
+                    a = o[P("0x96")](s[P("0x8c")]),
+                    s[P("0xc2")](m.IDENTITY));
+                    var u = jt;
+                    i === E[P("0x90")] ? x[P("0xd6")](s[P("0x8c")], u) : c[P("0xbe")](s[P("0x8c")], u);
+                    var h = !1;
+                    if (u[P("0x8b")] < e[P("0x3e")]) {
+                        var f = r[P("0xed")](u);
+                        l(f) && (f += e[P("0x30")],
+                        u[P("0x8b")] < f && (u[P("0x8b")] = f,
+                        i === E[P("0x90")] ? x[P("0xa7")](u, s.position) : c.project(u, s.position),
+                        h = !0))
+                    }
+                    l(n) && (s[P("0xc2")](n),
+                    h && (o[P("0x8d")](s[P("0x8c")], s[P("0x8c")]),
+                    o[P("0xc8")](s[P("0x8c")], s[P("0x93")]),
+                    o[P("0x6c")](s[P("0x8c")], Math[P("0xee")](a, e[P("0x30")]), s[P("0x8c")]),
+                    o.normalize(s[P("0x93")], s[P("0x93")]),
+                    o[P("0x99")](s[P("0x93")], s.up, s[P("0x9b")]),
+                    o[P("0x99")](s[P("0x9b")], s[P("0x93")], s.up)))
+                }
+            }
+            R.prototype[P("0xbc")] = function() {
+                var e = this._scene
+                  , t = e.mode
+                  , i = e[P("0x7e")];
+                return t !== E[P("0x8a")] || Math[P("0x78")](i[P("0x8c")].x) - this[P("0x59")].x < 0 && Math[P("0x78")](i[P("0x8c")].y) - this[P("0x59")].y < 0
+            }
+            ;
+            var zt = new o
+              , Ht = new o;
+            R.prototype[P("0xd2")] = function() {
+                var e = this[P("0x42")][P("0x7e")];
+                m.equals(e.transform, m[P("0xae")]) ? (this[P("0x43")] = this[P("0x42")][P("0xa3")],
+                this[P("0x44")] = l(this[P("0x43")]) ? this._globe.ellipsoid : this[P("0x42")][P("0xbd")][P("0xef")]) : (this[P("0x43")] = void 0,
+                this._ellipsoid = h[P("0xc0")]),
+                this[P("0x3e")] = this[P("0x3d")] * this[P("0x42")][P("0xf0")],
+                this._minimumPickingTerrainHeight = this[P("0x3b")] * this[P("0x42")].terrainExaggeration,
+                this[P("0x40")] = this[P("0x3f")] * this[P("0x42")][P("0xf0")];
+                var t = this[P("0x44")][P("0xc4")];
+                this._rotateFactor = 1 / t,
+                this[P("0xc1")] = t,
+                this[P("0xec")] = !1;
+                var i, r, n, a = o[P("0x6e")](e[P("0xa5")], zt), s = o[P("0x6e")](e[P("0xa6")], Ht), x = this[P("0x42")][P("0xd3")];
+                x === E[P("0x85")] ? (n = (r = this)[P("0x42")][P("0xad")] === G.ROTATE,
+                m.equals(m[P("0xae")], r[P("0x42")][P("0x7e")][P("0xaf")]) ? (D(r, r[P("0x28")], r[P("0xb2")], he, r.inertiaTranslate, P("0x49")),
+                D(r, r[P("0xb0")], r[P("0x33")], fe, r[P("0xb1")], P("0xb4")),
+                n && D(r, r[P("0x29")], r[P("0xb5")], pe, r[P("0x2c")], P("0x4a"))) : (D(r, r[P("0xb0")], r[P("0x33")], fe, r[P("0xb1")], "_lastInertiaZoomMovement"),
+                n && D(r, r[P("0x29")], r[P("0xb2")], pe, r[P("0x2c")], P("0xb3")))) : x === E[P("0x8a")] ? (this[P("0x4c")] = o[P("0xc3")],
+                function(e) {
+                    var t = e[P("0x42")][P("0x7e")];
+                    if (m[P("0x84")](m[P("0xae")], t[P("0xaf")])) {
+                        var i = e[P("0xcf")];
+                        if (e[P("0x46")][P("0xd0")] && i.removeAll(),
+                        D(e, e[P("0x2a")], e[P("0xb5")], He, e[P("0x2c")], "_lastInertiaTiltMovement"),
+                        D(e, e[P("0x28")], e[P("0xb2")], Pe, e.inertiaTranslate, P("0x49")),
+                        D(e, e[P("0xb0")], e.zoomEventTypes, Ke, e[P("0xb1")], P("0xb4")),
+                        D(e, e[P("0x2b")], e[P("0x39")], Bt),
+                        !(e._aggregator[P("0xd0")] || l(e._lastInertiaZoomMovement) && e[P("0xb4")][P("0x69")] || l(e._lastInertiaTranslateMovement) && e[P("0x49")][P("0x69")] || i[P("0xd1")](e._tween))) {
+                            var r = t.createCorrectPositionTween(e[P("0x2f")]);
+                            l(r) && (e[P("0x4b")] = i[P("0x6d")](r))
+                        }
+                        i[P("0xd2")]()
+                    } else
+                        D(e, e[P("0x29")], e[P("0x36")], xt, e[P("0x2c")], P("0xb3")),
+                        D(e, e.enableZoom, e[P("0x33")], Ct, e[P("0xb1")], P("0xb4"))
+                }(this)) : x === E[P("0x90")] && (this[P("0x4c")] = void 0,
+                D(i = this, i[P("0x29")], i[P("0x36")], st, i[P("0x2c")], P("0xb3")),
+                D(i, i[P("0xb0")], i[P("0x33")], Ct, i[P("0xb1")], P("0xb4")),
+                D(i, i[P("0x2a")], i[P("0xb5")], Nt, 2, "_lastInertiaTiltMovement"),
+                D(i, i.enableLook, i[P("0x39")], Bt)),
+                this[P("0x41")] && !this[P("0xec")] && (o[P("0x84")](a, e[P("0xa5")]) && o[P("0x84")](s, e[P("0xa6")]) || Vt(this)),
+                this[P("0x46")][P("0xf1")]()
+            }
+            ,
+            R[P("0x5")][P("0xf2")] = function() {
+                return this[P("0xec")]
+            }
+            ,
+            R[P("0x5")][P("0xf3")] = function() {
+                return !1
+            }
+            ,
+            R[P("0x5")][P("0xf4")] = function() {
+                return this._tweens[P("0xf5")](),
+                this[P("0x46")] = this[P("0x46")] && this._aggregator[P("0xf4")](),
+                c(this)
+            }
+            ;
+            var qt = {
+                name: P("0xf6"),
+                version: "",
+                description: "",
+                code: "",
+                schemaCode: "",
+                visible: "",
+                type: ""
+            }
+              , Xt = (M(Yt, [{
+                key: "destroy",
+                value: function() {}
+            }]),
+            Yt);
+            function Yt(e) {
+                N(this, Yt),
+                e = Object[P("0xf7")]({}, qt, e),
+                this.name = e.name,
+                this._version = e.version + ""
+            }
+            Object[P("0xf")](Xt[P("0x5")], {
+                version: {
+                    get: function() {
+                        return this[P("0xf8")]
+                    },
+                    set: function(e) {
+                        this[P("0xf8")] = e + ""
+                    }
+                }
+            });
+            var Kt = (function(e, t) {
+                if (w()(t) !== P("0x8") && null !== t)
+                    throw new TypeError(P("0x9") + w()(t));
+                e[P("0x5")] = Object[P("0xa")](t && t[P("0x5")], {
+                    constructor: {
+                        value: e,
+                        enumerable: !1,
+                        writable: !0,
+                        configurable: !0
+                    }
+                }),
+                t && (Object[P("0xb")] ? Object[P("0xb")](e, t) : e[P("0xc")] = t)
+            }(Qt, Xt),
+            M(Qt, [{
+                key: "translate",
+                value: function() {}
+            }, {
+                key: P("0xfb"),
+                value: function() {}
+            }, {
+                key: P("0xfc"),
+                value: function() {}
+            }]),
+            Qt);
+            function Qt(e) {
+                return N(this, Qt),
+                function(e, t) {
+                    if (!e)
+                        throw new ReferenceError(P("0x6"));
+                    return !t || w()(t) !== P("0x7") && "function" != typeof t ? e : t
+                }(this, (Qt[P("0xc")] || Object[P("0xf9")](Qt))[P("0xfa")](this, e))
+            }
+            window[P("0xfd")] && (Cesium[P("0xf")] || (Cesium[P("0xf")] = i),
+            Cesium.GeoScreenSpaceCameraController = R,
+            Cesium[P("0xfe")] = Kt)
+        }
+        )),
+        (T = window.Cesium) && (T[P("0x45")] = {
+            GeoCamera: !0,
+            GeoCameraEventAggregator: !0,
+            GeoScreenSpaceCameraController: !0
+        },
+        T[P("0xff")] = P("0x100")),
+        function(e) {
+            e[P("0x101")] = function(t, i) {
+                if ((i = i || {}).baseLayerPicker = e[P("0x102")](i[P("0x103")], !1),
+                i.timeline = e[P("0x102")](i.timeline, !1),
+                i[P("0x104")] = e.defaultValue(i[P("0x104")], !1),
+                i.homeButton = e[P("0x102")](i[P("0x105")], !1),
+                i.navigationHelpButton = e[P("0x102")](i.navigationHelpButton, !1),
+                i[P("0x106")] = e[P("0x102")](i[P("0x106")], !0),
+                i.sceneMode = e[P("0x102")](i[P("0x107")], e[P("0x22")][P("0x90")]),
+                i[P("0x108")] = e.defaultValue(i[P("0x108")], !0),
+                i[P("0x109")] = e[P("0x102")](i[P("0x109")], 25),
+                i.geocoder = e.defaultValue(i.geocoder, !1),
+                i.fullscreenButton = e[P("0x102")](i[P("0x10a")], !1),
+                !e[P("0x14")](i[P("0x10b")])) {
+                    var r = L()
+                      , n = new (e[P("0x10c")])({
+                        url: r + P("0x10d"),
+                        rectangle: e.Rectangle.fromDegrees(-180, -90, 180, 90)
+                    });
+                    i.imageryProvider = n
+                }
+                return new (e[P("0x10e")])(t,i)
+            }
+            ,
+            e[P("0x10e")][P("0x5")].getCameraOptionsToMapbox = function() {
+                var t, i, r = this[P("0x10f")], n = this[P("0x48")], o = this[P("0x7e")], a = r.globe, s = e[P("0x16")][P("0x110")], x = 0, l = 0, c = null, u = new (e[P("0x10")])(n.clientWidth / 2,n[P("0x7c")] / 2), h = o[P("0x86")](u);
+                if (!(c = (c = r[P("0xa3")][P("0xa4")](h, r)) || o[P("0xa2")](u))) {
+                    var f = o[P("0x91")][P("0x6e")]()
+                      , d = a[P("0xed")](f);
+                    f[P("0x8b")] = d || 0,
+                    c = s[P("0xa7")](f)
+                }
+                var g = e[P("0x11")].distance(c, o[P("0x8c")]) / 1405.5;
+                t = Math[P("0x111")](78271.51696402031 / g) - 1.2;
+                var p = s.cartesianToCartographic(c);
+                if (i = [e[P("0x23")].toDegrees(p[P("0x112")]), e[P("0x23")][P("0x113")](p[P("0x114")])],
+                c) {
+                    var m = o.up
+                      , b = o[P("0x9b")]
+                      , v = new e.Cartesian3(-c.y,c.x,0)
+                      , C = e[P("0x11")][P("0xcb")](b, v);
+                    x = e[P("0x11")].cross(c, m, new (e[P("0x11")])).z < 0 ? -C : C,
+                    x = e[P("0x23")][P("0x113")](x);
+                    var y = o[P("0x8c")]
+                      , _ = new (e[P("0x11")]);
+                    s[P("0x115")](c, _);
+                    var A = new (e[P("0x11")]);
+                    e[P("0x11")][P("0x95")](y, c, A),
+                    e.Cartesian3[P("0x8d")](A, A);
+                    var I = Math[P("0xdc")](e[P("0x11")][P("0x92")](_, A));
+                    l = isNaN(I) ? 0 : I
+                } else
+                    x = e.Math[P("0x113")](o[P("0x7f")]),
+                    l = e[P("0x23")][P("0x116")];
+                return {
+                    center: i,
+                    zoom: t,
+                    bearing: x,
+                    pitch: l = e[P("0x23")][P("0x113")](l)
+                }
+            }
+            ,
+            e[P("0x10e")][P("0x5")][P("0x117")] = function(t) {
+                var i = this[P("0x10f")]
+                  , r = (this[P("0x48")],
+                this[P("0x7e")])
+                  , n = i.globe
+                  , o = e[P("0x102")](t, {
+                    center: [0, 0],
+                    zoom: 1,
+                    bearing: 0,
+                    pitch: 0
+                })
+                  , a = 78271.51696402031 / Math.pow(2, o[P("0x118")] + 1.2)
+                  , s = new e.Cartographic(e[P("0x23")][P("0x119")](o[P("0x11a")][0]),e[P("0x23")][P("0x119")](o[P("0x11a")][1]))
+                  , x = 1405.5 * a + (n[P("0xed")](s) || 0)
+                  , l = e.Math.toRadians(o[P("0x11b")])
+                  , c = e.Math[P("0x119")](o[P("0x80")] - 90)
+                  , u = {
+                    destination: e[P("0x16")][P("0x110")][P("0xa7")](s),
+                    orientation: {
+                        heading: l,
+                        pitch: c,
+                        roll: 0
+                    }
+                }
+                  , h = {
+                    destination: r[P("0x8c")][P("0x6e")](),
+                    orientation: {
+                        heading: r.heading,
+                        pitch: r[P("0x80")],
+                        roll: r.roll
+                    }
+                };
+                return r[P("0x9c")](u),
+                r[P("0x11c")](x),
+                u[P("0x11d")] = r[P("0x8c")][P("0x6e")](),
+                u[P("0x11e")].heading = r[P("0x7f")],
+                u[P("0x11e")][P("0x80")] = r[P("0x80")],
+                u[P("0x11e")][P("0x81")] = r.roll,
+                r[P("0x9c")](h),
+                u
+            }
+            ,
+            e[P("0x101")][P("0x11f")] = !1
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = new (e[P("0x127")]);
+            function i(i) {
+                var o = (i = e[P("0x102")](i, e[P("0x102")][P("0x128")]))[P("0x129")];
+                if (!e[P("0x14")](o))
+                    throw new DeveloperError(P("0x12a"));
+                o = e[P("0x12b")](o);
+                var a = i[P("0x12c")];
+                this[P("0x12d")] = [],
+                this[P("0x12e")] = t;
+                for (var s = this, x = o[P("0x12f")], l = 0; l < x[P("0x0")]; l++) {
+                    var c = x[l]
+                      , u = n(c, r(c.id, a));
+                    this[P("0x12d")].push(u)
+                }
+                for (var h = function(e) {
+                    var t = s[P("0x12d")][e];
+                    t[P("0x7e")].changed[P("0x130")]((function() {
+                        var e = t;
+                        s.onCameraChanged(e, s._viewers)
+                    }
+                    ))
+                }, f = 0; f < s[P("0x12d")][P("0x0")]; f++)
+                    h(f)
+            }
+            function r(e, t) {
+                if (!t || !e)
+                    return null;
+                for (var i = 0; i < t[P("0x0")]; i++) {
+                    var r = t[i];
+                    if (e == r[P("0x131")])
+                        return r[P("0x132")]
+                }
+            }
+            function n(i, r) {
+                return e.defaultValue(r, {
+                    clockViewModel: t,
+                    shouldAnimate: !0,
+                    showRenderLoopErrors: !1,
+                    baseLayerPicker: !1,
+                    infoBox: !1
+                }),
+                new (e[P("0x101")])(i,r)
+            }
+            function o(e, t) {
+                var i = !0
+                  , r = t[P("0x8c")]
+                  , n = e[P("0x8c")];
+                n[P("0x84")](r) || (i = !1);
+                var o = t[P("0x93")]
+                  , a = e[P("0x93")];
+                a[P("0x84")](o) || (i = !1);
+                var s = t.up
+                  , x = e.up;
+                x.equals(s) || (i = !1);
+                var l = t[P("0x7f")]
+                  , c = e[P("0x7f")];
+                l != c && (i = !1);
+                var u = t.pitch
+                  , h = e.pitch;
+                u != h && (i = !1);
+                var f = t[P("0x81")]
+                  , d = e[P("0x81")];
+                if (f != d && (i = !1),
+                i)
+                    return console[P("0x133")]("鍋滄"),
+                    !1;
+                t.setView({
+                    destination: n.clone(),
+                    orientation: {
+                        direction: a[P("0x6e")](),
+                        up: x[P("0x6e")](),
+                        heading: c,
+                        pitch: h,
+                        roll: d
+                    }
+                })
+            }
+            i[P("0x5")].onCameraChanged = function(e, t) {
+                !function(e, t) {
+                    for (var i = 0; i < t[P("0x0")]; i++) {
+                        var r = t[i];
+                        e != r && o(e[P("0x7e")], r[P("0x7e")])
+                    }
+                }(e, t)
+            }
+            ,
+            i[P("0x5")][P("0x134")] = function(e) {
+                for (var t = this[P("0x12d")], i = null, r = 0; r < t[P("0x0")]; r++)
+                    if ((i = t[r])[P("0x131")].id == e)
+                        return i;
+                return i
+            }
+            ,
+            i[P("0x5")].destroy = function() {
+                var e = this._viewers;
+                if (e) {
+                    for (var t = e[P("0x0")] - 1; 0 <= t; t--)
+                        e[t].destroy();
+                    this[P("0x12d")] = []
+                }
+            }
+            ,
+            e[P("0x135")] = i
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = {
+                left: {
+                    mode: P("0x136"),
+                    direction: e[P("0x137")][P("0x138")]
+                },
+                right: {
+                    mode: P("0x136"),
+                    direction: e[P("0x137")][P("0x139")]
+                },
+                top: {
+                    mode: "top-bottom",
+                    direction: 1
+                },
+                bottom: {
+                    mode: P("0x13a"),
+                    direction: -1
+                }
+            };
+            function i(t) {
+                var i = (t = e[P("0x102")](t, e.defaultValue[P("0x128")]))[P("0x13b")];
+                if (!e[P("0x14")](i))
+                    throw new DeveloperError("viewer is required.");
+                this[P("0x13c")] = i,
+                this[P("0x13d")] = e[P("0x102")](t.isEnable, !0),
+                this[P("0x13e")](t.splitDirection),
+                this[P("0x13f")] = this[P("0x140")](i, this[P("0x141")]),
+                this[P("0x142")](),
+                this[P("0x143")](this[P("0x141")]),
+                this[P("0x144")](),
+                this[P("0x145")] = e[P("0x102")](t[P("0x146")], []),
+                this[P("0x147")]()
+            }
+            i[P("0x5")]._setSplitDirection = function(i) {
+                i = (i = e[P("0x102")](i, "left"))[P("0x148")]();
+                var r = t[i];
+                r || (i = P("0x149"),
+                r = t[i]),
+                this._splitDirection = i,
+                this._splitMode = r.mode
+            }
+            ,
+            i.prototype._updateEnableLayers = function() {
+                for (var e = this[P("0x145")], i = e[P("0x0")] - 1; 0 <= i; i--)
+                    e[i][P("0x14a")] = t[this[P("0x14b")]][P("0x93")]
+            }
+            ,
+            i.prototype._setSplitMode = function(e) {
+                var t = this[P("0x13c")]
+                  , i = this[P("0x13f")];
+                i[P("0x14c")] = P("0x14d"),
+                e == P("0x13a") && (i[P("0x14c")] += P("0x14e"),
+                t.scene[P("0x14f")] = -1,
+                i[P("0x150")][P("0x149")] = 0,
+                i.style[P("0x151")] = P("0x152")),
+                e == P("0x136") && (i[P("0x14c")] += P("0x153"),
+                t[P("0x10f")][P("0x14f")] = 1,
+                i[P("0x150")][P("0x151")] = 0,
+                i[P("0x150")][P("0x149")] = P("0x152"))
+            }
+            ,
+            i[P("0x5")][P("0x154")] = function(e) {
+                var t = this[P("0x13c")];
+                if (this[P("0x155")] == P("0x136")) {
+                    var i = e[P("0x64")].x;
+                    if ((r = (slider[P("0x156")] + i) / slider[P("0x157")][P("0x158")]) < 0 || 1 < r)
+                        return;
+                    slider[P("0x150")][P("0x149")] = 100 * r + "%",
+                    t[P("0x10f")][P("0x159")] = r
+                }
+                if (this.splitMode == P("0x13a")) {
+                    var r;
+                    if (i = e[P("0x64")].y,
+                    (r = (slider[P("0x15a")] + i) / slider[P("0x157")][P("0x15b")]) < 0 || 1 < r)
+                        return;
+                    slider[P("0x150")][P("0x151")] = 100 * r + "%",
+                    slider[P("0x150")][P("0x149")] = 0,
+                    t[P("0x10f")].imagerySplitPosition = 1 - r
+                }
+            }
+            ,
+            i[P("0x5")]._initSlider = function(t, i) {
+                var r, n = this;
+                if (!this[P("0x13f")]) {
+                    var o = function(e) {
+                        if (s) {
+                            if (n.splitMode == P("0x136")) {
+                                var i = e[P("0x64")].x;
+                                if ((o = (r.offsetLeft + i) / r[P("0x157")][P("0x158")]) < 0 || 1 < o)
+                                    return;
+                                r[P("0x150")][P("0x149")] = 100 * o + "%",
+                                t.scene[P("0x159")] = o
+                            }
+                            if (n.splitMode == P("0x13a")) {
+                                var o;
+                                if (i = e.endPosition.y,
+                                (o = (r[P("0x15a")] + i) / r[P("0x157")][P("0x15b")]) < 0 || 1 < o)
+                                    return;
+                                r[P("0x150")][P("0x151")] = 100 * o + "%",
+                                r[P("0x150")][P("0x149")] = 0,
+                                t.scene[P("0x159")] = 1 - o
+                            }
+                        }
+                    };
+                    this[P("0x13f")] = document[P("0x15c")](P("0x15d")),
+                    r = this._slider,
+                    t[P("0x15e")].appendChild(r);
+                    var a = new (e[P("0x15f")])(r)
+                      , s = !1;
+                    a[P("0x160")]((function() {
+                        s = !0
+                    }
+                    ), e.ScreenSpaceEventType.LEFT_DOWN),
+                    a[P("0x160")]((function() {
+                        s = !0
+                    }
+                    ), e[P("0x161")][P("0x162")]),
+                    a[P("0x160")](o, e[P("0x161")][P("0x163")]),
+                    a.setInputAction(o, e.ScreenSpaceEventType.PINCH_MOVE),
+                    a.setInputAction((function() {
+                        s = !1
+                    }
+                    ), e.ScreenSpaceEventType.LEFT_UP),
+                    a[P("0x160")]((function() {
+                        s = !1
+                    }
+                    ), e[P("0x161")].PINCH_END)
+                }
+                return r
+            }
+            ,
+            i[P("0x5")][P("0x142")] = function() {
+                var e = P("0x164")
+                  , t = document.getElementById(e);
+                t || ((t = document.createElement(P("0x150")))[P("0x165")] = "text/css",
+                t.id = e,
+                document.getElementsByTagName("head")[0].appendChild(t));
+                var i = P("0x166");
+                t[P("0x167")](document[P("0x168")](i))
+            }
+            ,
+            i.prototype[P("0x144")] = function() {
+                var e, t = this[P("0x141")], i = this[P("0x13f")], r = this[P("0x13c")].scene;
+                t == P("0x136") && (e = (i[P("0x156")] + 0) / i[P("0x157")][P("0x158")],
+                r[P("0x159")] = e),
+                t == P("0x13a") && (e = (i.offsetTop + 0) / i.parentElement[P("0x15b")],
+                r.imagerySplitPosition = 1 - e)
+            }
+            ,
+            i.prototype.destroy = function() {
+                var e = this[P("0x13f")];
+                e && (this[P("0x13c")][P("0x131")].removeChild(e),
+                this[P("0x13c")][P("0x10f")][P("0x159")] = 0)
+            }
+            ,
+            e[P("0xf")](i.prototype, {
+                splitMode: {
+                    get: function() {
+                        return this[P("0x141")]
+                    },
+                    set: function(e) {
+                        this._splitMode = e,
+                        this[P("0x143")](e);
+                        var t, i = this[P("0x13f")], r = this[P("0x13c")];
+                        this.splitMode == P("0x136") && (t = (i.offsetLeft + 0) / i[P("0x157")][P("0x158")],
+                        r.scene[P("0x159")] = t),
+                        "top-bottom" == this[P("0x155")] && (t = (i.offsetTop + 0) / i[P("0x157")][P("0x15b")],
+                        r[P("0x10f")][P("0x159")] = 1 - t)
+                    }
+                },
+                isEnable: {
+                    get: function() {
+                        return this._isEnable
+                    },
+                    set: function(e) {
+                        this[P("0x13d")] = e
+                    }
+                },
+                enableLayers: {
+                    get: function() {
+                        return this._enableLayers
+                    },
+                    set: function(e) {
+                        this._enableLayers = e,
+                        this[P("0x147")]()
+                    }
+                },
+                splitDirection: {
+                    get: function() {
+                        return this[P("0x14b")]
+                    },
+                    set: function(e) {
+                        this._setSplitDirection(e),
+                        this._setSplitMode(this._splitMode),
+                        this._updateEnableLayers(),
+                        this._upateSceneImagerySplitPositionBySlider()
+                    }
+                }
+            }),
+            e.GeoSplitSliderWidget = i
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e.DrawCircleWidget = function(t, i) {
+                this[P("0x13b")] = t.viewer,
+                this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")][P("0x16b")][P("0x16c")](.3),
+                this[P("0x10f")] = this[P("0x13b")].scene,
+                this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
+                this.canvas = this[P("0x10f")][P("0x48")],
+                this.primitives = this[P("0x10f")].primitives,
+                this[P("0xef")] = this[P("0x10f")][P("0xa3")][P("0xef")],
+                this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1,
+                this[P("0x16d")] = new (e[P("0x16e")]),
+                this.callback = i || null
+            }
+            ;
+            function i(e, t) {
+                for (var i = 0; i < t.length; i++)
+                    t.get(i)[P("0x176")] == e && (t.remove(t[P("0x187")](i)),
+                    i--)
+            }
+            t[P("0x5")].activate = function() {
+                if (!this[P("0x16f")]) {
+                    this.handler = new (e[P("0x15f")])(this[P("0x48")]),
+                    this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x171");
+                    var t, i, r = this, n = [];
+                    this[P("0x172")] = n,
+                    this._circles_ = t = [],
+                    this[P("0x173")] = i,
+                    this[P("0x16f")][P("0x160")]((function(i) {
+                        r.lastP = i;
+                        var o = r[P("0x10f")][P("0x174")](i.position);
+                        if (!o) {
+                            var a = r[P("0x7e")].getPickRay(i[P("0x8c")]);
+                            o = r[P("0x10f")][P("0xa3")][P("0xa4")](a, r[P("0x10f")])
+                        }
+                        if (o && (e[P("0x13")][P("0x175")](o)[P("0x8b")] < 0 && (a = r[P("0x7e")][P("0x86")](i[P("0x8c")]),
+                        o = r[P("0x10f")].globe[P("0xa4")](a, r.scene)),
+                        n[0] = o,
+                        0 < n[P("0x0")])) {
+                            var s = new e.CircleGeometry({
+                                center: o,
+                                radius: 0,
+                                height: 0
+                            });
+                            s[P("0x176")] = P("0x177");
+                            var x = new (e[P("0x178")])({
+                                geometryInstances: new (e[P("0x179")])({
+                                    geometry: s,
+                                    attributes: {
+                                        color: e.ColorGeometryInstanceAttribute.fromColor(r[P("0x169")])
+                                    }
+                                }),
+                                appearance: r.appearance,
+                                classificationType: e[P("0x17a")][P("0x17b")],
+                                interleave: !0
+                            });
+                            x.name = P("0x177"),
+                            t[P("0x17c")]({
+                                geometry: {
+                                    center: o,
+                                    radius: 0,
+                                    height: 0
+                                },
+                                primitive: x
+                            }),
+                            r[P("0x17d")][P("0x6d")](x)
+                        }
+                    }
+                    ), e.ScreenSpaceEventType[P("0x17e")]),
+                    this[P("0x16f")].setInputAction((function(o) {
+                        var a = r.scene[P("0x174")](o.endPosition);
+                        if (!a) {
+                            var s = r.camera[P("0x86")](o[P("0x64")]);
+                            a = r[P("0x10f")][P("0xa3")][P("0xa4")](s, r[P("0x10f")])
+                        }
+                        if (!a)
+                            return i && (r[P("0x17d")][P("0x17f")](i),
+                            i = null),
+                            void (r._labels_ = i);
+                        e[P("0x13")].fromCartesian(a)[P("0x8b")] < 0 && (s = r.camera.getPickRay(o[P("0x64")]),
+                        a = r[P("0x10f")][P("0xa3")][P("0xa4")](s, r.scene));
+                        var x = e.Cartographic[P("0x175")](a)
+                          , l = e[P("0x23")][P("0x113")](x[P("0x112")])
+                          , c = e[P("0x23")][P("0x113")](x[P("0x114")])
+                          , u = x.height;
+                        0 < n[P("0x0")] && (t[0],
+                        r[P("0x17d")][P("0x17f")](t[0].primitive),
+                        t[0][P("0x180")][P("0x181")] = e.Cartesian3.distance(t[0].geometry[P("0x11a")], a),
+                        3189100 < t[0][P("0x180")][P("0x181")] && (t[0][P("0x180")][P("0x181")] = 3189100),
+                        t[0][P("0x182")] = new (e[P("0x178")])({
+                            geometryInstances: new (e[P("0x179")])({
+                                geometry: new (e[P("0x183")])({
+                                    center: t[0][P("0x180")].center[P("0x6e")](),
+                                    radius: t[0].geometry.radius,
+                                    height: t[0][P("0x180")][P("0x8b")]
+                                }),
+                                attributes: {
+                                    color: e[P("0x184")].fromColor(r[P("0x169")])
+                                }
+                            }),
+                            appearance: r[P("0x16d")],
+                            classificationType: e.ClassificationType[P("0x17b")],
+                            interleave: !0
+                        }),
+                        t[0][P("0x182")][P("0x176")] = P("0x177"),
+                        r[P("0x17d")][P("0x6d")](t[0][P("0x182")])),
+                        i ? i[P("0x187")](i[P("0x0")] - 1).position = e[P("0x11")].fromDegrees(l, c, u) : ((i = r[P("0x17d")].add(new e.LabelCollection))[P("0x176")] = "draw_label",
+                        i[P("0x6d")]({
+                            text: P("0x185"),
+                            font: P("0x186"),
+                            showBackground: !0
+                        }),
+                        i[P("0x187")](i.length - 1)[P("0x8c")] = e[P("0x11")].fromDegrees(l, c, u)),
+                        r[P("0x173")] = i
+                    }
+                    ), e.ScreenSpaceEventType.MOUSE_MOVE),
+                    this[P("0x16f")].setInputAction((function(e) {
+                        r[P("0x188")](e)
+                    }
+                    ), e.ScreenSpaceEventType[P("0x189")])
+                }
+            }
+            ,
+            t[P("0x5")].drawEnd = function(t) {
+                var i = this[P("0x172")]
+                  , r = this[P("0x18a")]
+                  , n = this[P("0x173")];
+                t = t || this[P("0x18b")],
+                this[P("0x16f")] = this[P("0x16f")] && this.handler[P("0xf4")](),
+                this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x18c"),
+                n && (this[P("0x17d")].remove(n),
+                n = null);
+                var o = this[P("0x10f")][P("0x174")](t.position);
+                if (!o) {
+                    var a = this[P("0x7e")][P("0x86")](t.position);
+                    o = this[P("0x10f")].globe[P("0xa4")](a, this[P("0x10f")])
+                }
+                if (o) {
+                    e[P("0x13")][P("0x175")](o)[P("0x8b")] < 0 && (a = this[P("0x7e")].getPickRay(t.position),
+                    o = this[P("0x10f")][P("0xa3")][P("0xa4")](a, this.scene));
+                    var s = e.Cartographic.fromCartesian(o);
+                    if (e.Math.toDegrees(s.longitude),
+                    e[P("0x23")][P("0x113")](s[P("0x114")]),
+                    s[P("0x8b")],
+                    this[P("0xd3")],
+                    0 < i[P("0x0")] && (this.primitives[P("0x17f")](r[0][P("0x182")]),
+                    r[0][P("0x180")][P("0x181")] = e.Cartesian3[P("0x8e")](r[0].geometry[P("0x11a")], o),
+                    3189100 < r[0][P("0x180")][P("0x181")] && (r[0][P("0x180")].radius = 3189100),
+                    r[0][P("0x182")] = new (e[P("0x178")])({
+                        geometryInstances: new (e[P("0x179")])({
+                            geometry: new (e[P("0x183")])({
+                                center: r[0].geometry[P("0x11a")][P("0x6e")](),
+                                radius: r[0][P("0x180")].radius,
+                                height: r[0][P("0x180")][P("0x8b")]
+                            }),
+                            attributes: {
+                                color: e[P("0x184")].fromColor(this[P("0x169")])
+                            }
+                        }),
+                        appearance: this[P("0x16d")],
+                        classificationType: e.ClassificationType[P("0x17b")],
+                        interleave: !0
+                    }),
+                    r[0][P("0x182")][P("0x176")] = P("0x177"),
+                    this[P("0x17d")][P("0x6d")](r[0].primitive),
+                    this.callback)) {
+                        var x = e[P("0x183")][P("0x18d")](new (e[P("0x183")])({
+                            center: r[0][P("0x180")][P("0x11a")].clone(),
+                            radius: r[0].geometry.radius,
+                            height: r[0].geometry.height
+                        }))
+                          , l = new (e[P("0x18e")])({
+                            polygon: {
+                                hierarchy: {
+                                    positions: function() {
+                                        for (var t = [], i = x[P("0x18f")][P("0x8c")][P("0x190")], r = 0; r < i[P("0x0")]; r += 3)
+                                            t[P("0x17c")](new e.Cartesian3(i[r],i[r + 1],i[r + 2]));
+                                        return t
+                                    }()
+                                }
+                            }
+                        });
+                        this[P("0x191")](l)
+                    }
+                    i = [],
+                    r = []
+                }
+            }
+            ,
+            t[P("0x5")][P("0x192")] = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x18c"),
+                i(P("0x193"), this[P("0x17d")]),
+                i(P("0x177"), this[P("0x17d")]),
+                function(e, t) {
+                    for (var i = t[P("0x190")], r = 0; r < i[P("0x0")]; r++)
+                        i[r][P("0x176")] == e && (t.remove(i[r]),
+                        r--)
+                }(P("0x177"), this[P("0x13b")][P("0x194")])
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x195")] = function(t, i) {
+                this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e.Color[P("0x196")].withAlpha(.5),
+                this.lineWidth = t[P("0x197")] ? t[P("0x197")] : 2,
+                this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
+                this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
+                this[P("0x48")] = this[P("0x10f")].canvas,
+                this[P("0x17d")] = this.scene[P("0x17d")],
+                this[P("0xef")] = this[P("0x10f")].globe[P("0xef")],
+                this[P("0x191")] = i || null
+            }
+            ;
+            function i(e, t) {
+                for (var i = 0; i < t[P("0x0")]; i++)
+                    t[P("0x187")](i).name == e && (t.remove(t[P("0x187")](i)),
+                    i--)
+            }
+            t.prototype[P("0x198")] = function() {
+                if (!this[P("0x16f")]) {
+                    this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
+                    this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x171");
+                    var t, i, r = this, n = [];
+                    this[P("0x16f")][P("0x160")]((function(i) {
+                        if (!(0 < n.length)) {
+                            var o = r[P("0x7e")][P("0x86")](i.position)
+                              , a = r.scene[P("0xa3")][P("0xa4")](o, r[P("0x10f")]);
+                            if (a) {
+                                var s = e[P("0x13")].fromCartesian(a)
+                                  , x = e[P("0x23")][P("0x113")](s[P("0x112")])
+                                  , l = e[P("0x23")][P("0x113")](s[P("0x114")])
+                                  , c = s[P("0x8b")];
+                                0 == n[P("0x0")] && (n.push(x),
+                                n[P("0x17c")](l),
+                                n[P("0x17c")](c),
+                                n[P("0x17c")](x),
+                                n[P("0x17c")](l),
+                                n[P("0x17c")](c),
+                                n[P("0x17c")](x),
+                                n.push(l),
+                                n[P("0x17c")](c),
+                                (t = r[P("0x17d")][P("0x6d")](new (e[P("0x199")]))).name = "draw_polyline",
+                                t[P("0x6d")]({
+                                    polyline: {}
+                                }),
+                                t[P("0x187")](t.length - 1)[P("0x19a")] = r[P("0x197")],
+                                t.get(t[P("0x0")] - 1)[P("0x19b")] = !0,
+                                t[P("0x187")](t.length - 1)[P("0x19c")][P("0x19d")].color = r[P("0x169")],
+                                t[P("0x187")](t[P("0x0")] - 1).positions = e[P("0x11")][P("0x19e")](n))
+                            }
+                        }
+                    }
+                    ), e[P("0x161")].LEFT_CLICK),
+                    this[P("0x16f")][P("0x160")]((function(o) {
+                        var a = r[P("0x7e")].getPickRay(o[P("0x64")])
+                          , s = r[P("0x10f")][P("0xa3")][P("0xa4")](a, r.scene);
+                        if (s) {
+                            var x = e[P("0x13")].fromCartesian(s)
+                              , l = e[P("0x23")][P("0x113")](x[P("0x112")])
+                              , c = e[P("0x23")][P("0x113")](x[P("0x114")])
+                              , u = x[P("0x8b")];
+                            9 == n[P("0x0")] && (n[3] = l,
+                            n[4] = c,
+                            n[5] = u,
+                            n[2] >= n[5] ? (n[6] = n[0],
+                            n[7] = n[1],
+                            n[8] = n[5]) : (n[6] = n[3],
+                            n[7] = n[4],
+                            n[8] = n[2]),
+                            t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")].fromDegreesArrayHeights(n)),
+                            i ? i.get(i[P("0x0")] - 1).position = e[P("0x11")][P("0x1a1")](l, c, u) : ((i = r[P("0x17d")][P("0x6d")](new e.LabelCollection)).name = P("0x193"),
+                            i[P("0x6d")]({
+                                text: P("0x185"),
+                                font: P("0x1a0"),
+                                showBackground: !0,
+                                disableDepthTestDistance: Number[P("0x31")]
+                            }),
+                            i[P("0x187")](i[P("0x0")] - 1).position = e[P("0x11")][P("0x1a1")](l, c, u))
+                        } else
+                            i && (r[P("0x17d")].remove(i),
+                            i = null)
+                    }
+                    ), e[P("0x161")][P("0x163")]),
+                    this[P("0x16f")][P("0x160")]((function(t) {
+                        if (r[P("0x16f")] = r.handler && r.handler.destroy(),
+                        r.viewer[P("0x48")].style[P("0x170")] = P("0x18c"),
+                        i && (r[P("0x17d")][P("0x17f")](i),
+                        i = null),
+                        r[P("0x191")]) {
+                            var o = new (e[P("0x18e")])({
+                                polyline: {
+                                    positions: e[P("0x11")][P("0x19e")](n)
+                                }
+                            });
+                            r.callback(o)
+                        }
+                    }
+                    ), e[P("0x161")][P("0x189")])
+                }
+            }
+            ,
+            t.prototype[P("0x192")] = function() {
+                this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](),
+                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                i(P("0x193"), this[P("0x17d")]),
+                i("draw_polyline", this[P("0x17d")])
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = e[P("0x1a2")] = function(t, i) {
+                this.viewer = t.viewer,
+                this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")][P("0x16b")],
+                this[P("0x1a3")] = t[P("0x1a3")] ? t[P("0x1a3")] : 10,
+                this.scene = this[P("0x13b")][P("0x10f")],
+                this.camera = this[P("0x13b")][P("0x7e")],
+                this.canvas = this.scene.canvas,
+                this[P("0x17d")] = this.scene.primitives,
+                this[P("0xef")] = this.scene.globe.ellipsoid,
+                this.callback = i || null
+            }
+            ;
+            function i(e, t) {
+                for (var i = 0; i < t.length; i++)
+                    t[P("0x187")](i).name == e && (t[P("0x17f")](t.get(i)),
+                    i--)
+            }
+            t[P("0x5")][P("0x198")] = function() {
+                if (!this[P("0x16f")]) {
+                    this[P("0x16f")] = new e.ScreenSpaceEventHandler(this[P("0x48")]),
+                    this.viewer[P("0x48")][P("0x150")][P("0x170")] = "crosshair";
+                    var t, i, r = this, n = [];
+                    this[P("0x16f")][P("0x160")]((function(o) {
+                        var a = r[P("0x10f")][P("0x174")](o[P("0x8c")]);
+                        if (!a) {
+                            var s = r[P("0x7e")][P("0x86")](o.position);
+                            a = r.scene[P("0xa3")].pick(s, r[P("0x10f")])
+                        }
+                        if (a && (e[P("0x13")][P("0x175")](a).height < 0 && (s = r.camera.getPickRay(o[P("0x8c")]),
+                        a = r[P("0x10f")][P("0xa3")][P("0xa4")](s, r.scene)),
+                        n[0] = a,
+                        t ? t[P("0xf5")]() : (t = r[P("0x17d")][P("0x6d")](new (e[P("0x1a4")]))).name = "draw_point",
+                        t[P("0x6d")]({
+                            position: a,
+                            color: r[P("0x169")],
+                            pixelSize: r[P("0x1a3")],
+                            disableDepthTestDistance: 30
+                        }),
+                        r[P("0x16f")] = r[P("0x16f")] && r[P("0x16f")][P("0xf4")](),
+                        r[P("0x13b")].canvas[P("0x150")].cursor = P("0x18c"),
+                        i && (r.primitives.remove(i),
+                        i = null),
+                        r[P("0x191")])) {
+                            var x = new (e[P("0x18e")])({
+                                position: n[0],
+                                point: {}
+                            });
+                            r[P("0x191")](x)
+                        }
+                    }
+                    ), e[P("0x161")][P("0x17e")]),
+                    this[P("0x16f")][P("0x160")]((function(t) {
+                        var n = r.scene.pickPosition(t[P("0x64")]);
+                        if (!n) {
+                            var o = r[P("0x7e")][P("0x86")](t[P("0x64")]);
+                            n = r.scene[P("0xa3")][P("0xa4")](o, r[P("0x10f")])
+                        }
+                        n ? (e[P("0x13")][P("0x175")](n).height < 0 && (o = r.camera[P("0x86")](t[P("0x64")]),
+                        n = r[P("0x10f")][P("0xa3")][P("0xa4")](o, r[P("0x10f")])),
+                        i ? i[P("0x187")](i.length - 1).position = n : ((i = r.primitives[P("0x6d")](new (e[P("0x1a5")])))[P("0x176")] = "draw_label",
+                        i.add({
+                            text: P("0x1a6"),
+                            font: P("0x186"),
+                            showBackground: !0
+                        }),
+                        i[P("0x187")](i[P("0x0")] - 1).position = n)) : i && (r[P("0x17d")].remove(i),
+                        i = null)
+                    }
+                    ), e[P("0x161")][P("0x163")])
+                }
+            }
+            ,
+            t[P("0x5")].clear = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = "default",
+                i(P("0x193"), this[P("0x17d")]),
+                i(P("0x1a7"), this[P("0x17d")])
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x1a8")] = function(t, i) {
+                this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")][P("0x196")][P("0x16c")](.5),
+                this.lineWidth = t.lineWidth ? t[P("0x197")] : 2,
+                this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
+                this.camera = this[P("0x13b")].camera,
+                this[P("0x48")] = this[P("0x10f")].canvas,
+                this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
+                this[P("0xef")] = this[P("0x10f")].globe[P("0xef")],
+                this.callback = i || null,
+                this[P("0x1a9")] = 0
+            }
+            ;
+            function i(e, t) {
+                for (var i = 0; i < t[P("0x0")]; i++)
+                    t[P("0x187")](i)[P("0x176")] == e && (t[P("0x17f")](t[P("0x187")](i)),
+                    i--)
+            }
+            t[P("0x5")].activate = function() {
+                if (!this[P("0x16f")]) {
+                    this.handler = new e.ScreenSpaceEventHandler(this[P("0x48")]),
+                    this[P("0x13b")].canvas[P("0x150")].cursor = P("0x171");
+                    var t, i, r = this, n = [], o = [], a = [];
+                    this[P("0x172")] = o,
+                    this._array2_ = a,
+                    this[P("0x1aa")] = t,
+                    this[P("0x173")] = i,
+                    this[P("0x16f")][P("0x160")]((function(i) {
+                        r[P("0x18b")] = i;
+                        var s = r[P("0x10f")].pickPosition(i[P("0x8c")]);
+                        if (!s) {
+                            var x = r[P("0x7e")].getPickRay(i[P("0x8c")]);
+                            s = r[P("0x10f")][P("0xa3")][P("0xa4")](x, r[P("0x10f")])
+                        }
+                        if (s) {
+                            e[P("0x13")].fromCartesian(s)[P("0x8b")] < 0 && (x = r[P("0x7e")][P("0x86")](i.position),
+                            s = r.scene.globe[P("0xa4")](x, r[P("0x10f")]));
+                            var l = e[P("0x13")][P("0x175")](s);
+                            o.push(s);
+                            var c = e[P("0x23")][P("0x113")](l[P("0x112")])
+                              , u = e[P("0x23")][P("0x113")](l.latitude)
+                              , h = l[P("0x8b")];
+                            a.push([c, u]),
+                            n[P("0x17c")](c),
+                            n[P("0x17c")](u),
+                            n.push(h),
+                            3 == n[P("0x0")] && ((t = r[P("0x17d")].add(new (e[P("0x199")]))).name = P("0x1ab"),
+                            t.add({
+                                polyline: {}
+                            }),
+                            t.get(t[P("0x0")] - 1)[P("0x19a")] = r.lineWidth,
+                            t[P("0x187")](t[P("0x0")] - 1)[P("0x19b")] = !0,
+                            t[P("0x187")](t[P("0x0")] - 1)[P("0x19c")].uniforms[P("0x169")] = r[P("0x169")],
+                            t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](n)),
+                            3 < n[P("0x0")] && (t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")].fromDegreesArrayHeights(n)),
+                            r[P("0x1aa")] = t
+                        }
+                    }
+                    ), e[P("0x161")][P("0x17e")]),
+                    this[P("0x16f")][P("0x160")]((function(o) {
+                        var a = r[P("0x10f")][P("0x174")](o[P("0x64")]);
+                        if (!a) {
+                            var s = r[P("0x7e")].getPickRay(o[P("0x64")]);
+                            a = r[P("0x10f")].globe.pick(s, r[P("0x10f")])
+                        }
+                        if (a) {
+                            e[P("0x13")][P("0x175")](a).height < 0 && (s = r[P("0x7e")][P("0x86")](o.endPosition),
+                            a = r.scene[P("0xa3")].pick(s, r[P("0x10f")]));
+                            var x = e[P("0x13")][P("0x175")](a)
+                              , l = e[P("0x23")][P("0x113")](x[P("0x112")])
+                              , c = e[P("0x23")][P("0x113")](x[P("0x114")])
+                              , u = x[P("0x8b")];
+                            if (3 <= n[P("0x0")]) {
+                                var h = n.concat();
+                                h[P("0x17c")](l),
+                                h[P("0x17c")](c),
+                                h[P("0x17c")](u),
+                                t[P("0x187")](t.length - 1)[P("0x19f")] = e.Cartesian3.fromDegreesArrayHeights(h)
+                            }
+                            i ? i[P("0x187")](i[P("0x0")] - 1).position = e[P("0x11")].fromDegrees(l, c, u) : ((i = r.primitives[P("0x6d")](new (e[P("0x1a5")]))).name = P("0x193"),
+                            i.add({
+                                text: P("0x185"),
+                                font: P("0x186"),
+                                showBackground: !0
+                            }),
+                            i[P("0x187")](i.length - 1)[P("0x8c")] = e[P("0x11")].fromDegrees(l, c, u)),
+                            r[P("0x173")] = i
+                        }
+                    }
+                    ), e[P("0x161")].MOUSE_MOVE),
+                    this.handler[P("0x160")]((function(e) {
+                        r.drawEnd(e)
+                    }
+                    ), e[P("0x161")].RIGHT_CLICK),
+                    this.count++
+                }
+            }
+            ,
+            t.prototype[P("0x188")] = function(t) {
+                if (0 != this[P("0x172")][P("0x0")]) {
+                    var i = this[P("0x172")]
+                      , r = this[P("0x1ac")]
+                      , n = this[P("0x1aa")]
+                      , o = this._labels_;
+                    t || (console[P("0x133")](P("0x1ad")),
+                    t = this.lastP),
+                    this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                    this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                    o && (this[P("0x17d")][P("0x17f")](o),
+                    o = null);
+                    var a = this[P("0x10f")][P("0x174")](t[P("0x8c")]);
+                    if (!a) {
+                        var s = this[P("0x7e")][P("0x86")](t[P("0x8c")]);
+                        a = this[P("0x10f")][P("0xa3")].pick(s, this.scene)
+                    }
+                    if (a) {
+                        e[P("0x13")].fromCartesian(a)[P("0x8b")] < 0 && (s = this[P("0x7e")][P("0x86")](t.position),
+                        a = this[P("0x10f")][P("0xa3")][P("0xa4")](s, this[P("0x10f")])),
+                        i[P("0x17c")](a);
+                        var x = e[P("0x13")].fromCartesian(a)
+                          , l = e.Math.toDegrees(x[P("0x112")])
+                          , c = e[P("0x23")][P("0x113")](x.latitude);
+                        r[P("0x17c")]([l, c]),
+                        n[P("0x187")](n[P("0x0")] - 1)[P("0x19c")].uniforms[P("0x169")] = e[P("0x16a")][P("0x1ae")][P("0x16c")](0);
+                        var u = new (e[P("0x178")])({
+                            geometryInstances: [],
+                            appearance: new (e[P("0x16e")]),
+                            show: !0,
+                            classificationType: e.ClassificationType[P("0x17b")]
+                        })
+                          , h = new (e[P("0x179")])({
+                            geometry: e[P("0x1af")].fromPositions({
+                                positions: i,
+                                vertexFormat: e[P("0x1b0")][P("0x1b1")]
+                            }),
+                            attributes: {
+                                color: e[P("0x184")][P("0x1b2")](e[P("0x16a")].GREEN.withAlpha(.3))
+                            }
+                        });
+                        if (u.geometryInstances[P("0x17c")](h),
+                        this[P("0x17d")][P("0x6d")](u)[P("0x176")] = P("0x1b3"),
+                        this[P("0x191")]) {
+                            var f = new e.Entity({
+                                polygon: {
+                                    hierarchy: {
+                                        positions: i
+                                    }
+                                }
+                            });
+                            this[P("0x191")](f)
+                        }
+                        this._array_ = [],
+                        this[P("0x1aa")] = null
+                    }
+                }
+            }
+            ,
+            t[P("0x5")][P("0x192")] = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this[P("0x13b")][P("0x48")][P("0x150")].cursor = "default",
+                i(P("0x193"), this[P("0x17d")]),
+                i(P("0x1ab"), this[P("0x17d")]),
+                i(P("0x1b3"), this[P("0x17d")])
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e.DrawPolylineWidget = function(t, i) {
+                this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x1b4")] = e[P("0x102")](t[P("0x1b4")], e[P("0x16a")].CHARTREUSE.withAlpha(.5)),
+                this[P("0x197")] = e.defaultValue(t[P("0x197")], 1),
+                this.lineLoop = e[P("0x102")](t.lineLoop, !0),
+                this.lineClampGround = e[P("0x102")](t.lineClampGround, !0),
+                this.scene = this[P("0x13b")][P("0x10f")],
+                this.camera = this[P("0x13b")].camera,
+                this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
+                this[P("0x191")] = i || null
+            }
+            ;
+            function i(e, t) {
+                for (var i = 0; i < t.length; i++)
+                    t[P("0x187")](i)[P("0x176")] == e && (t[P("0x17f")](t[P("0x187")](i)),
+                    i--)
+            }
+            function r(t) {
+                return [e[P("0x23")][P("0x113")](e[P("0x13")][P("0x175")](t)[P("0x112")]), e[P("0x23")][P("0x113")](e[P("0x13")][P("0x175")](t)[P("0x114")]), e[P("0x13")][P("0x175")](t)[P("0x8b")]]
+            }
+            t[P("0x5")][P("0x1b5")] = function(t) {
+                if (this[P("0x1b6")]) {
+                    if (!(r = this[P("0x10f")][P("0x174")](t))) {
+                        var i = this[P("0x7e")][P("0x86")](t);
+                        r = this.scene[P("0xa3")][P("0xa4")](i, this.scene)
+                    }
+                    if (!r)
+                        return;
+                    e[P("0x13")][P("0x175")](r)[P("0x8b")] < 0 && (i = this[P("0x7e")][P("0x86")](t),
+                    r = this[P("0x10f")][P("0xa3")][P("0xa4")](i, this[P("0x10f")]))
+                } else {
+                    i = this[P("0x7e")].getPickRay(t);
+                    var r = this.scene.globe.pick(i, this[P("0x10f")])
+                }
+                return r
+            }
+            ,
+            t[P("0x5")].createGroundPrimitive = function(t) {
+                if (this.lineWidth && this[P("0x1b4")] && this[P("0x17d")]) {
+                    var i = new (e[P("0x178")])({
+                        geometryInstances: new e.GeometryInstance({
+                            geometry: new e.CorridorGeometry({
+                                vertexFormat: e[P("0x1b7")][P("0x1b8")],
+                                positions: t,
+                                width: this.lineWidth
+                            }),
+                            attributes: {
+                                color: e.ColorGeometryInstanceAttribute.fromColor(this.lineColor)
+                            }
+                        }),
+                        classificationType: e.ClassificationType.BOTH
+                    });
+                    return this.primitives[P("0x6d")](i)
+                }
+                return !1
+            }
+            ,
+            t.prototype[P("0x1b9")] = function(t) {
+                if (this.lineWidth && this.lineColor && this.primitives) {
+                    var i = this[P("0x17d")][P("0x6d")](new (e[P("0x199")]));
+                    return i[P("0x6d")]({
+                        polyline: {}
+                    }),
+                    i[P("0x187")](i[P("0x0")] - 1)[P("0x19a")] = this[P("0x197")],
+                    i[P("0x187")](i[P("0x0")] - 1).material[P("0x19d")][P("0x169")] = this[P("0x1b4")],
+                    i[P("0x187")](i[P("0x0")] - 1)[P("0x19f")] = t,
+                    i
+                }
+                return !1
+            }
+            ,
+            t[P("0x5")][P("0x198")] = function() {
+                if (!this.handler) {
+                    this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
+                    this[P("0x13b")][P("0x48")].style[P("0x170")] = P("0x171");
+                    var t = [];
+                    this[P("0x1ba")] = [],
+                    this[P("0x1bb")] = null;
+                    var i = this;
+                    this[P("0x16f")][P("0x160")]((function(e) {
+                        var n = i.screenToCartesian(e[P("0x8c")]);
+                        t[P("0x17c")](n),
+                        i[P("0x1ba")] = i[P("0x1ba")].concat(r(n));
+                        var o = t[P("0x0")]
+                          , a = []
+                          , s = [];
+                        1 == o ? a = [t[o - 1]] : s = i.lineLoop ? (a = [t[o - 2], t[o - 1]],
+                        [t[0], t[o - 1]]) : (a = [t[o - 2], t[o - 1]],
+                        []),
+                        i.lineClampGround ? (i[P("0x17d")][P("0x17f")](i[P("0x1bc")]),
+                        i[P("0x17d")][P("0x17f")](i.concatGroundPrimitive),
+                        i[P("0x1bd")] = i.createGroundPrimitive(a),
+                        i[P("0x1bd")][P("0x176")] = "draw_polyline",
+                        i.concatGroundPrimitive = i.createGroundPrimitive(s),
+                        i[P("0x1be")].name = P("0x1bf")) : (i[P("0x17d")].remove(i[P("0x1c0")]),
+                        i[P("0x17d")].remove(i[P("0x1c1")]),
+                        i[P("0x1c2")] = i[P("0x1b9")](a),
+                        i.fixedPrimitive[P("0x176")] = "draw_polyline",
+                        i[P("0x1c0")] = i.createPrimitive(s),
+                        i[P("0x1c0")][P("0x176")] = "draw_polylineConcat")
+                    }
+                    ), e[P("0x161")].LEFT_CLICK),
+                    this[P("0x16f")][P("0x160")]((function(r) {
+                        var n = i.screenToCartesian(r.endPosition);
+                        if (n) {
+                            var o = t[P("0x0")];
+                            if (o)
+                                if (i[P("0x1b6")]) {
+                                    i.primitives[P("0x17f")](i[P("0x1bc")]),
+                                    i[P("0x17d")].remove(i[P("0x1be")]);
+                                    var a = i[P("0x1c3")] && 2 <= o ? [t[o - 1], n[P("0x6e")](), t[0]] : [t[o - 1], n.clone()];
+                                    i.temporaryGroundPrimitive = i[P("0x1c4")](a),
+                                    i[P("0x1bc")].name = P("0x1c5")
+                                } else {
+                                    i.primitives[P("0x17f")](i[P("0x1c1")]),
+                                    i[P("0x17d")].remove(i[P("0x1c0")]);
+                                    var s = i[P("0x1c3")] && 2 <= o ? [t[o - 1], n[P("0x6e")](), t[0]] : [t[o - 1], n[P("0x6e")]()];
+                                    i.temporaryPrimitive = i[P("0x1b9")](s),
+                                    i[P("0x1c1")][P("0x176")] = P("0x1c5")
+                                }
+                            i._labels ? i[P("0x1bb")][P("0x187")](i._labels[P("0x0")] - 1)[P("0x8c")] = n : (i._labels = i[P("0x17d")][P("0x6d")](new e.LabelCollection),
+                            i[P("0x1bb")][P("0x176")] = P("0x193"),
+                            i[P("0x1bb")][P("0x6d")]({
+                                text: P("0x185"),
+                                font: P("0x186"),
+                                showBackground: !0
+                            }),
+                            i._labels[P("0x187")](i._labels[P("0x0")] - 1)[P("0x8c")] = n)
+                        } else
+                            i[P("0x1bb")] && (i[P("0x17d")][P("0x17f")](i._labels),
+                            i[P("0x1bb")] = null)
+                    }
+                    ), e.ScreenSpaceEventType.MOUSE_MOVE),
+                    this.handler.setInputAction((function(e) {
+                        i[P("0x188")](t, e)
+                    }
+                    ), e[P("0x161")].RIGHT_CLICK)
+                }
+            }
+            ,
+            t.prototype[P("0x188")] = function(t, i) {
+                var n = this[P("0x1bb")];
+                this.handler = this[P("0x16f")] && this.handler[P("0xf4")](),
+                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = "default",
+                n && (this[P("0x17d")][P("0x17f")](n),
+                n = null);
+                var o = this[P("0x1b5")](i.position);
+                t[P("0x17c")](o),
+                this.degreesArrayHeights = this.degreesArrayHeights[P("0x1c6")](r(o));
+                var a = t.length;
+                if (this.lineClampGround) {
+                    this[P("0x17d")][P("0x17f")](this.temporaryGroundPrimitive),
+                    this[P("0x17d")][P("0x17f")](this[P("0x1be")]);
+                    var s = this.lineLoop && 2 < a ? [t[a - 2], t[a - 1], t[0]] : [t[a - 2], t[a - 1]];
+                    this[P("0x1c7")] = this[P("0x1c4")](s),
+                    this[P("0x1c7")][P("0x176")] = P("0x1ab")
+                } else {
+                    this[P("0x17d")].remove(this.temporaryPrimitive),
+                    this[P("0x17d")][P("0x17f")](this[P("0x1c0")]);
+                    var x = this[P("0x1c3")] && 2 < a ? [t[a - 2], t[a - 1], t[0]] : [t[a - 2], t[a - 1]];
+                    this[P("0x1c8")] = this[P("0x1b9")](x),
+                    this[P("0x1c8")][P("0x176")] = P("0x1ab")
+                }
+                if (this.callback) {
+                    var l = new e.Entity({
+                        polyline: {
+                            positions: e[P("0x11")][P("0x19e")](this[P("0x1ba")])
+                        }
+                    });
+                    this[P("0x191")](l)
+                }
+            }
+            ,
+            t[P("0x5")].clear = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this[P("0x13b")][P("0x48")].style[P("0x170")] = "default",
+                i(P("0x193"), this.primitives),
+                i(P("0x1ab"), this.primitives)
+            }
+        }(window[P("0xfd")]);
+        var R = {
+            version: P("0x1c9"),
+            createTime: P("0x1ca"),
+            author: P("0x1cb")
+        }
+          , O = {
+            type: P("0x1cc"),
+            headHeightFactor: .25,
+            headWidthFactor: .3,
+            neckHeightFactor: .85,
+            fixPointCount: 4,
+            neckWidthFactor: .15
+        }
+          , F = {
+            headHeightFactor: .18,
+            headWidthFactor: .3,
+            neckHeightFactor: .85,
+            neckWidthFactor: .15,
+            tailWidthFactor: .1,
+            headTailFactor: .8,
+            swallowTailFactor: 1
+        };
+        R[P("0x1cd")] = {},
+        R[P("0x1cd")].doubleArrow = function(e) {
+            this[P("0x1ce")] = null;
+            var t = {
+                controlPoint: this[P("0x1cf")] = null,
+                polygonalPoint: null
+            };
+            if (!((i = (this.points = e).length) < 2)) {
+                if (2 == i)
+                    return e;
+                var i, r, n, o = this.points[0], a = this[P("0x1d0")][1], s = this[P("0x1d0")][2];
+                3 == (i = e[P("0x0")]) ? this[P("0x1cf")] = R[P("0x1cd")][P("0x1d1")](o, a, s) : this.tempPoint4 = this.points[3],
+                3 == i || 4 == i ? this.connPoint = W[P("0x1d2")].mid(o, a) : this[P("0x1ce")] = this.points[4],
+                n = W[P("0x1d2")][P("0x1d3")](o, a, s) ? (r = R[P("0x1cd")].getArrowPoints(o, this[P("0x1ce")], this[P("0x1cf")], !1),
+                R[P("0x1cd")].getArrowPoints(this.connPoint, a, s, !0)) : (r = R[P("0x1cd")][P("0x1d4")](a, this[P("0x1ce")], s, !1),
+                R.algorithm[P("0x1d4")](this[P("0x1ce")], o, this[P("0x1cf")], !0));
+                var x = r.length
+                  , l = (x - 5) / 2
+                  , c = r.slice(0, l)
+                  , u = r[P("0x1d5")](l, 5 + l)
+                  , h = r[P("0x1d5")](5 + l, x)
+                  , f = n[P("0x1d5")](0, l)
+                  , d = n.slice(l, 5 + l)
+                  , g = n.slice(5 + l, x);
+                f = W.PlotUtils[P("0x1d6")](f);
+                var p = W[P("0x1d2")][P("0x1d6")](g[P("0x1c6")](c.slice(1)));
+                h = W[P("0x1d2")].getBezierPoints(h);
+                var m = f[P("0x1c6")](d, p, u, h)
+                  , b = R[P("0x1cd")][P("0x1d7")](m);
+                t[P("0x1d8")] = [o, a, s, this.tempPoint4, this[P("0x1ce")]],
+                t[P("0x1d9")] = Cesium.Cartesian3[P("0x1da")](b)
+            }
+            return t
+        }
+        ,
+        R.algorithm[P("0x1d1")] = function(e, t, i, r) {
+            this[P("0x165")] = O[P("0x165")],
+            this[P("0x1db")] = O.headHeightFactor,
+            this.headWidthFactor = O[P("0x1dc")],
+            this[P("0x1dd")] = O.neckHeightFactor,
+            this[P("0x1de")] = O[P("0x1de")];
+            var n = W[P("0x1d2")].mid(e, t)
+              , o = W[P("0x1d2")].distance(n, i)
+              , a = W.PlotUtils[P("0x1df")](i, n, 0, .3 * o, !0)
+              , s = W[P("0x1d2")][P("0x1df")](i, n, 0, .5 * o, !0)
+              , x = [n, a = W[P("0x1d2")][P("0x1df")](n, a, W.Constants[P("0x1e0")], o / 5, r), s = W[P("0x1d2")][P("0x1df")](n, s, W[P("0x1e1")][P("0x1e0")], o / 4, r), i]
+              , l = R[P("0x1cd")].getArrowHeadPoints(x, this.headHeightFactor, this[P("0x1dc")], this[P("0x1dd")], this.neckWidthFactor)
+              , c = l[0]
+              , u = l[4]
+              , h = W[P("0x1d2")][P("0x8e")](e, t) / W[P("0x1d2")][P("0x1e2")](x) / 2
+              , f = R.algorithm.getArrowBodyPoints(x, c, u, h)
+              , d = f[P("0x0")]
+              , g = f[P("0x1d5")](0, d / 2)
+              , p = f.slice(d / 2, d);
+            return g.push(c),
+            p[P("0x17c")](u),
+            (g = g[P("0x1e3")]())[P("0x17c")](t),
+            (p = p[P("0x1e3")]()).push(e),
+            g[P("0x1e3")]()[P("0x1c6")](l, p)
+        }
+        ,
+        R[P("0x1cd")][P("0x1d7")] = function(e) {
+            var t = [];
+            return e[P("0x1e4")]((function(e) {
+                t[P("0x17c")](e[0]),
+                t[P("0x17c")](e[1])
+            }
+            )),
+            t
+        }
+        ,
+        R[P("0x1cd")][P("0x1d4")] = function(e, t, i, r) {
+            this[P("0x165")] = O.type,
+            this.headHeightFactor = O[P("0x1db")],
+            this[P("0x1dc")] = O[P("0x1dc")],
+            this[P("0x1dd")] = O[P("0x1dd")],
+            this[P("0x1de")] = O[P("0x1de")];
+            var n = W.PlotUtils[P("0x1e5")](e, t)
+              , o = W[P("0x1d2")][P("0x8e")](n, i)
+              , a = W[P("0x1d2")].getThirdPoint(i, n, 0, .3 * o, !0)
+              , s = W.PlotUtils[P("0x1df")](i, n, 0, .5 * o, !0)
+              , x = [n, a = W[P("0x1d2")].getThirdPoint(n, a, W[P("0x1e1")].HALF_PI, o / 5, r), s = W[P("0x1d2")][P("0x1df")](n, s, W.Constants[P("0x1e0")], o / 4, r), i]
+              , l = R[P("0x1cd")][P("0x1e6")](x, this[P("0x1db")], this[P("0x1dc")], this[P("0x1dd")], this[P("0x1de")])
+              , c = l[0]
+              , u = l[4]
+              , h = W[P("0x1d2")][P("0x8e")](e, t) / W[P("0x1d2")][P("0x1e2")](x) / 2
+              , f = R[P("0x1cd")][P("0x1e7")](x, c, u, h)
+              , d = f.length
+              , g = f[P("0x1d5")](0, d / 2)
+              , p = f[P("0x1d5")](d / 2, d);
+            return g.push(c),
+            p[P("0x17c")](u),
+            (g = g[P("0x1e3")]())[P("0x17c")](t),
+            (p = p[P("0x1e3")]())[P("0x17c")](e),
+            g[P("0x1e3")]()[P("0x1c6")](l, p)
+        }
+        ,
+        R[P("0x1cd")][P("0x1e6")] = function(e, t, i) {
+            this.type = O.type,
+            this[P("0x1db")] = O[P("0x1db")],
+            this[P("0x1dc")] = O[P("0x1dc")],
+            this[P("0x1dd")] = O[P("0x1dd")],
+            this.neckWidthFactor = O[P("0x1de")];
+            var r = W.PlotUtils[P("0x1e2")](e) * this[P("0x1db")]
+              , n = e[e[P("0x0")] - 1]
+              , o = (W.PlotUtils.distance(t, i),
+            r * this.headWidthFactor)
+              , a = r * this[P("0x1de")]
+              , s = r * this[P("0x1dd")]
+              , x = W[P("0x1d2")][P("0x1df")](e[e[P("0x0")] - 2], n, 0, r, !0)
+              , l = W[P("0x1d2")][P("0x1df")](e[e[P("0x0")] - 2], n, 0, s, !0)
+              , c = W[P("0x1d2")][P("0x1df")](n, x, W[P("0x1e1")][P("0x1e0")], o, !1)
+              , u = W[P("0x1d2")].getThirdPoint(n, x, W.Constants[P("0x1e0")], o, !0);
+            return [W[P("0x1d2")].getThirdPoint(n, l, W[P("0x1e1")][P("0x1e0")], a, !1), c, n, u, W.PlotUtils[P("0x1df")](n, l, W[P("0x1e1")][P("0x1e0")], a, !0)]
+        }
+        ,
+        R[P("0x1cd")][P("0x1e7")] = function(e, t, i, r) {
+            for (var n = W.PlotUtils[P("0x1e8")](e), o = W[P("0x1d2")][P("0x1e2")](e) * r, a = (o - W[P("0x1d2")][P("0x8e")](t, i)) / 2, s = 0, x = [], l = [], c = 1; c < e[P("0x0")] - 1; c++) {
+                var u = W[P("0x1d2")][P("0x1e9")](e[c - 1], e[c], e[c + 1]) / 2
+                  , h = (o / 2 - (s += W.PlotUtils[P("0x8e")](e[c - 1], e[c])) / n * a) / Math[P("0x98")](u)
+                  , f = W[P("0x1d2")][P("0x1df")](e[c - 1], e[c], Math.PI - u, h, !0)
+                  , d = W[P("0x1d2")][P("0x1df")](e[c - 1], e[c], u, h, !1);
+                x[P("0x17c")](f),
+                l[P("0x17c")](d)
+            }
+            return x[P("0x1c6")](l)
+        }
+        ,
+        R[P("0x1cd")][P("0x1d1")] = function(e, t, i) {
+            var r, n, o, a = W[P("0x1d2")][P("0x1e5")](e, t), s = W[P("0x1d2")].distance(a, i), x = W[P("0x1d2")][P("0x1e9")](e, a, i);
+            return x < W[P("0x1e1")][P("0x1e0")] ? (r = s * Math.sin(x),
+            n = s * Math.cos(x),
+            o = W[P("0x1d2")][P("0x1df")](e, a, W.Constants[P("0x1e0")], r, !1),
+            W[P("0x1d2")].getThirdPoint(a, o, W[P("0x1e1")].HALF_PI, n, !0)) : x >= W[P("0x1e1")].HALF_PI && x < Math.PI ? (r = s * Math.sin(Math.PI - x),
+            n = s * Math.cos(Math.PI - x),
+            o = W[P("0x1d2")][P("0x1df")](e, a, W[P("0x1e1")][P("0x1e0")], r, !1),
+            W[P("0x1d2")].getThirdPoint(a, o, W.Constants[P("0x1e0")], n, !1)) : x >= Math.PI && x < 1.5 * Math.PI ? (r = s * Math[P("0x98")](x - Math.PI),
+            n = s * Math[P("0x9a")](x - Math.PI),
+            o = W[P("0x1d2")][P("0x1df")](e, a, W[P("0x1e1")].HALF_PI, r, !0),
+            W[P("0x1d2")].getThirdPoint(a, o, W[P("0x1e1")][P("0x1e0")], n, !0)) : (r = s * Math[P("0x98")](2 * Math.PI - x),
+            n = s * Math[P("0x9a")](2 * Math.PI - x),
+            o = W[P("0x1d2")][P("0x1df")](e, a, W.Constants[P("0x1e0")], r, !0),
+            W.PlotUtils[P("0x1df")](a, o, W[P("0x1e1")][P("0x1e0")], n, !1))
+        }
+        ,
+        R[P("0x1cd")][P("0x1ea")] = function(e) {
+            e = R[P("0x1cd")].dereplication(e),
+            this[P("0x1eb")] = F.tailWidthFactor,
+            this[P("0x1ec")] = F[P("0x1ec")],
+            this[P("0x1ed")] = F.swallowTailPnt;
+            var t = {
+                controlPoint: null,
+                polygonalPoint: null
+            };
+            if (!((d = (t[P("0x1d8")] = e)[P("0x0")]) < 2)) {
+                if (2 == e.length)
+                    return t.polygonalPoint = e,
+                    t;
+                var i = e
+                  , r = i[0]
+                  , n = i[1];
+                W[P("0x1d2")].isClockWise(i[0], i[1], i[2]) && (r = i[1],
+                n = i[0]);
+                var o = [W.PlotUtils[P("0x1e5")](r, n)].concat(i[P("0x1d5")](2))
+                  , a = R[P("0x1cd")][P("0x1ee")](o, r, n, F)
+                  , s = a[0]
+                  , x = a[4]
+                  , l = W[P("0x1d2")][P("0x8e")](r, n)
+                  , c = W[P("0x1d2")][P("0x1e2")](o)
+                  , u = c * this[P("0x1eb")] * this[P("0x1ec")];
+                this.swallowTailPnt = W[P("0x1d2")][P("0x1df")](o[1], o[0], 0, u, !0);
+                var h = l / c
+                  , f = R[P("0x1cd")][P("0x1ef")](o, s, x, h)
+                  , d = f[P("0x0")]
+                  , g = [r][P("0x1c6")](f[P("0x1d5")](0, d / 2));
+                g[P("0x17c")](s);
+                var p, m = [n][P("0x1c6")](f.slice(d / 2, d));
+                m[P("0x17c")](x),
+                g = W[P("0x1d2")].getQBSplinePoints(g),
+                m = W[P("0x1d2")][P("0x1f0")](m),
+                p = R[P("0x1cd")][P("0x1d7")](g[P("0x1c6")](a, m[P("0x1e3")](), [this[P("0x1ed")], g[0]])),
+                t.polygonalPoint = Cesium.Cartesian3[P("0x1da")](p)
+            }
+            return t
+        }
+        ,
+        R[P("0x1cd")][P("0x1ee")] = function(e, t, i, r) {
+            this[P("0x1db")] = r[P("0x1db")],
+            this.headTailFactor = r[P("0x1f1")],
+            this[P("0x1dc")] = r[P("0x1dc")],
+            this[P("0x1de")] = r[P("0x1de")],
+            this[P("0x1dd")] = r[P("0x1dd")];
+            var n = W[P("0x1d2")].getBaseLength(e)
+              , o = n * this.headHeightFactor
+              , a = e[e[P("0x0")] - 1];
+            n = W[P("0x1d2")].distance(a, e[e[P("0x0")] - 2]);
+            var s = W[P("0x1d2")][P("0x8e")](t, i);
+            o > s * this.headTailFactor && (o = s * this[P("0x1f1")]);
+            var x = o * this[P("0x1dc")]
+              , l = o * this.neckWidthFactor
+              , c = (o = n < o ? n : o) * this[P("0x1dd")]
+              , u = W[P("0x1d2")][P("0x1df")](e[e.length - 2], a, 0, o, !0)
+              , h = W.PlotUtils.getThirdPoint(e[e.length - 2], a, 0, c, !0)
+              , f = W.PlotUtils.getThirdPoint(a, u, W[P("0x1e1")].HALF_PI, x, !1)
+              , d = W[P("0x1d2")][P("0x1df")](a, u, W[P("0x1e1")][P("0x1e0")], x, !0);
+            return [W[P("0x1d2")][P("0x1df")](a, h, W.Constants.HALF_PI, l, !1), f, a, d, W.PlotUtils[P("0x1df")](a, h, W.Constants.HALF_PI, l, !0)]
+        }
+        ,
+        R.algorithm[P("0x1ef")] = function(e, t, i, r) {
+            for (var n = W[P("0x1d2")].wholeDistance(e), o = W[P("0x1d2")][P("0x1e2")](e) * r, a = (o - W.PlotUtils[P("0x8e")](t, i)) / 2, s = 0, x = [], l = [], c = 1; c < e[P("0x0")] - 1; c++) {
+                var u = W[P("0x1d2")][P("0x1e9")](e[c - 1], e[c], e[c + 1]) / 2
+                  , h = (o / 2 - (s += W[P("0x1d2")].distance(e[c - 1], e[c])) / n * a) / Math[P("0x98")](u)
+                  , f = W[P("0x1d2")][P("0x1df")](e[c - 1], e[c], Math.PI - u, h, !0)
+                  , d = W[P("0x1d2")][P("0x1df")](e[c - 1], e[c], u, h, !1);
+                x[P("0x17c")](f),
+                l[P("0x17c")](d)
+            }
+            return x.concat(l)
+        }
+        ,
+        R.algorithm.dereplication = function(e) {
+            var t = e[e[P("0x0")] - 1]
+              , i = !1
+              , r = [];
+            return r = e[P("0x1f2")]((function(e) {
+                if (e[0] != t[0] && e[1] != t[1])
+                    return e;
+                i = !0
+            }
+            )),
+            i && r[P("0x17c")](t),
+            r
+        }
+        ;
+        var D, U, k = (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && w()(Symbol[P("0x1f3")]) === P("0x1f4") ? function(e) {
+            return w()(e)
+        }
+        : function(e) {
+            return e && (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && e.constructor === A.a && e !== Symbol[P("0x5")] ? "symbol" : w()(e)
+        }
+        ;
+        D = window[P("0xfd")],
+        U = D[P("0x1f5")] = function() {
+            var e = D.Ellipsoid[P("0x110")]
+              , t = {
+                billBoard: [],
+                primitives: []
+            };
+            function i(e) {
+                function t(e) {
+                    var t = document[P("0x15c")](P("0x298"));
+                    t[P("0x14c")] = "twipsy right";
+                    var i = document[P("0x15c")](P("0x298"));
+                    i.className = P("0x2b0"),
+                    t[P("0x167")](i);
+                    var r = document[P("0x15c")]("DIV");
+                    r[P("0x14c")] = P("0x2b1"),
+                    t.appendChild(r),
+                    this[P("0x2b2")] = t,
+                    this._title = r,
+                    e[P("0x167")](t)
+                }
+                var i;
+                this[P("0x42")] = e[P("0x10f")],
+                this[P("0x1f6")] = (i = e[P("0x131")],
+                t.prototype[P("0x207")] = function(e) {
+                    this[P("0x2b2")][P("0x150")].display = P(e ? "0x2b3" : "0x2b4")
+                }
+                ,
+                t[P("0x5")][P("0x205")] = function(e, t) {
+                    e && t && (this.setVisible(!0),
+                    this[P("0x2b5")].innerHTML = t,
+                    this[P("0x2b2")][P("0x150")][P("0x149")] = e.x + 10 + "px",
+                    this[P("0x2b2")][P("0x150")][P("0x151")] = e.y - this[P("0x2b2")][P("0x7c")] / 2 + "px")
+                }
+                ,
+                new t(i)),
+                this[P("0x1f7")] = [],
+                this.initialiseHandlers(),
+                this[P("0x1f8")]()
+            }
+            i[P("0x5")].initialiseHandlers = function() {
+                var e, t = this[P("0x42")], i = this, r = new (D[P("0x15f")])(t[P("0x48")]);
+                function n(e, r) {
+                    if (1 != i[P("0x1f9")]) {
+                        var n = t[P("0xa4")](r);
+                        n && n[P("0x182")] && n[P("0x182")][e] && n[P("0x182")][e](r)
+                    }
+                }
+                r[P("0x160")]((function(e) {
+                    n("leftClick", e[P("0x8c")])
+                }
+                ), D[P("0x161")][P("0x17e")]),
+                r[P("0x160")]((function(e) {
+                    n("leftDoubleClick", e[P("0x8c")])
+                }
+                ), D.ScreenSpaceEventType.LEFT_DOUBLE_CLICK),
+                r[P("0x160")]((function(r) {
+                    if (1 != i[P("0x1f9")]) {
+                        var n = t.pick(r[P("0x64")]);
+                        !e || n && e == n[P("0x182")] || (e.isDestroyed && e[P("0xf3")]() || e.mouseOut(r.endPosition),
+                        e = null),
+                        n && n[P("0x182")] && ((n = n[P("0x182")])[P("0x1fa")] && (e = n),
+                        n.mouseMove && n[P("0x1fb")](r[P("0x64")]))
+                    }
+                }
+                ), D[P("0x161")].MOUSE_MOVE),
+                r[P("0x160")]((function(e) {
+                    n(P("0x1fc"), e[P("0x8c")])
+                }
+                ), D.ScreenSpaceEventType[P("0x1fd")]),
+                r[P("0x160")]((function(e) {
+                    n(P("0x1fe"), e.position)
+                }
+                ), D.ScreenSpaceEventType[P("0x1ff")])
+            }
+            ,
+            i[P("0x5")][P("0x200")] = function(e, t, i) {
+                e[t] = i
+            }
+            ,
+            i[P("0x5")][P("0x201")] = function(e) {
+                this._handlersMuted = e
+            }
+            ,
+            i[P("0x5")][P("0x202")] = function(e) {
+                var i = this;
+                E(e, P("0x1fb"), (function(t) {
+                    e[P("0x203")](!0),
+                    e[P("0x204")] || i._tooltip[P("0x205")](t, P("0x206"))
+                }
+                )),
+                E(e, P("0x1fa"), (function(t) {
+                    e[P("0x203")](!1),
+                    i[P("0x1f6")][P("0x207")](!1)
+                }
+                )),
+                E(e, P("0x208"), (function(i) {
+                    e.setEditMode(!0),
+                    t.primitives[P("0x17c")](e)
+                }
+                )),
+                E(e, P("0x209"), (function(i) {
+                    t.primitives[P("0x17c")](e)
+                }
+                ))
+            }
+            ,
+            i[P("0x5")].startDrawing = function(e) {
+                this[P("0x20a")](),
+                this[P("0x20b")] && this[P("0x20b")](),
+                this.editCleanUp = e,
+                this[P("0x201")](!0)
+            }
+            ,
+            i[P("0x5")][P("0x20c")] = function() {
+                this.editCleanUp && (this.editCleanUp(),
+                this[P("0x20b")] = null),
+                this[P("0x201")](!1)
+            }
+            ,
+            i[P("0x5")][P("0x20d")] = function() {
+                this[P("0x203")](void 0)
+            }
+            ,
+            i[P("0x5")][P("0x203")] = function(e) {
+                this[P("0x20e")] && !this[P("0x20e")][P("0xf3")]() && this[P("0x20e")] != e && this[P("0x20e")][P("0x203")](!1),
+                this._highlightedSurface = e
+            }
+            ,
+            i[P("0x5")][P("0x20a")] = function() {
+                this[P("0x20f")](void 0)
+            }
+            ,
+            i.prototype[P("0x20f")] = function(e) {
+                this[P("0x210")] && !this[P("0x210")][P("0xf3")]() && this[P("0x210")][P("0x211")](!1),
+                this._editedSurface = e
+            }
+            ;
+            var r = D[P("0x212")][P("0x213")](D[P("0x212")][P("0x214")]);
+            r[P("0x19d")][P("0x169")] = new (D[P("0x16a")])(1,1,0,.5);
+            var n = {
+                ellipsoid: D.Ellipsoid[P("0x110")],
+                textureRotationAngle: 0,
+                height: 0,
+                asynchronous: !0,
+                show: !0,
+                debugShowBoundingVolume: !1
+            }
+              , o = G(n, {
+                appearance: new (D[P("0x1b0")])({
+                    aboveGround: !1
+                }),
+                material: r,
+                granularity: Math.PI / 180
+            })
+              , a = G(n, {})
+              , s = G(n, {})
+              , x = G(n, {})
+              , l = (G(o, {
+                rotation: 0
+            }),
+            G(n, {
+                width: 5,
+                geodesic: !0,
+                granularity: 1e4,
+                appearance: new (D[P("0x215")])({
+                    aboveGround: !1
+                }),
+                material: r
+            }))
+              , c = (u[P("0x5")].initialiseOptions = function(e) {
+                I(this, e),
+                this[P("0x44")] = void 0,
+                this[P("0x216")] = void 0,
+                this[P("0x217")] = void 0,
+                this[P("0x218")] = void 0,
+                this._id = void 0,
+                this[P("0x219")] = !0,
+                this._primitive = void 0,
+                this[P("0x21a")] = void 0
+            }
+            ,
+            u.prototype[P("0x21b")] = function(e, t) {
+                this[e] = t,
+                this._createPrimitive = !0
+            }
+            ,
+            u[P("0x5")][P("0x21c")] = function(e) {
+                return this[e]
+            }
+            ,
+            u[P("0x5")].update = function(e, t, i) {
+                if (!D[P("0x14")](this[P("0xef")]))
+                    throw new (D[P("0x15")])(P("0x21d"));
+                if (!D[P("0x14")](this.appearance))
+                    throw new (D[P("0x15")])(P("0x21e"));
+                if (this[P("0x21f")] < 0)
+                    throw new (D[P("0x15")])(P("0x220"));
+                if (this[P("0x221")] && (this[P("0x219")] || D.defined(this[P("0x222")]))) {
+                    if (this[P("0x219")] || this[P("0x44")] !== this.ellipsoid || this[P("0x216")] !== this[P("0x21f")] || this._height !== this[P("0x8b")] || this._textureRotationAngle !== this[P("0x223")] || this[P("0x224")] !== this.id) {
+                        var r = this[P("0x225")]();
+                        if (!r)
+                            return;
+                        this[P("0x219")] = !1,
+                        this[P("0x44")] = this.ellipsoid,
+                        this._granularity = this.granularity,
+                        this._height = this[P("0x8b")],
+                        this._textureRotationAngle = this[P("0x223")],
+                        this[P("0x224")] = this.id,
+                        this[P("0x222")] = this[P("0x222")] && this[P("0x222")].destroy(),
+                        this[P("0x222")] = new (D[P("0x226")])({
+                            geometryInstances: new (D[P("0x179")])({
+                                geometry: r,
+                                id: this.id,
+                                pickPrimitive: this
+                            }),
+                            appearance: this[P("0x16d")],
+                            asynchronous: this[P("0x227")]
+                        }),
+                        this[P("0x21a")] = this[P("0x21a")] && this[P("0x21a")][P("0xf4")](),
+                        this[P("0x228")] && this[P("0x229")] && (this[P("0x21a")] = new (D[P("0x226")])({
+                            geometryInstances: new D.GeometryInstance({
+                                geometry: this[P("0x229")](),
+                                attributes: {
+                                    color: D[P("0x184")][P("0x1b2")](this[P("0x228")])
+                                }
+                            }),
+                            appearance: new (D[P("0x16e")])({
+                                flat: !0,
+                                renderState: {
                                     depthTest: {
                                         enabled: !0
                                     },
-                                    blending: {
-                                        color: e[P("0x16a")][P("0x2cf")],
-                                        enabled: !0,
-                                        equationRgb: e.WebGLConstants[P("0xbc4")],
-                                        equationAlpha: e[P("0x5d8")][P("0xbc4")],
-                                        functionSourceRgb: e[P("0x5d8")][P("0xbc5")],
-                                        functionDestinationRgb: e[P("0x5d8")].ZERO,
-                                        functionSourceAlpha: e[P("0x5d8")].ZERO,
-                                        functionDestinationAlpha: e.WebGLConstants[P("0xbc5")]
-                                    }
-                                };
-                                f[P("0x5d5")] = e[P("0x5d6")][P("0x5d7")](d),
-                                    f[P("0x5cc")] = i[P("0xbc6")](r),
-                                    f[P("0x5de")] = {
-                                        u_colorTexture_0: function () {
-                                            return i._colorTexture_0
+                                    lineWidth: 1
+                                }
+                            })
+                        }))
+                    }
+                    var n = this._primitive;
+                    n[P("0x16d")][P("0x19c")] = this[P("0x19c")],
+                    n[P("0x22a")] = this[P("0x22a")],
+                    n[P("0xd2")](e, t, i),
+                    this[P("0x21a")] && this[P("0x21a")].update(e, t, i)
+                }
+            }
+            ,
+            u.prototype.isDestroyed = function() {
+                return !1
+            }
+            ,
+            u.prototype[P("0xf4")] = function() {
+                return this._primitive = this[P("0x222")] && this[P("0x222")][P("0xf4")](),
+                D[P("0x22b")](this)
+            }
+            ,
+            u[P("0x5")][P("0x22c")] = function(e, t) {
+                this[P("0x228")] && this[P("0x228")][P("0x84")](e) && this[P("0x22d")] == t || (this[P("0x219")] = !0,
+                this[P("0x228")] = e,
+                this.strokeWidth = t)
+            }
+            ,
+            u);
+            function u() {}
+            function h(e) {
+                if (!D[P("0x14")](e[P("0x22e")]))
+                    throw new (D[P("0x15")])("Extent is required");
+                e = G(e, o),
+                this[P("0x22f")](e),
+                this.setExtent(e[P("0x22e")])
+            }
+            function f(e) {
+                e = G(e, o),
+                this[P("0x22f")](e),
+                this[P("0x234")] = !0
+            }
+            function d(e) {
+                e = G(e, o),
+                this.initialiseOptions(e),
+                this.isPolygon = !0
+            }
+            function g(e) {
+                e = G(e, l),
+                this.initialiseOptions(e)
+            }
+            i.ExtentPrimitive = (h[P("0x5")] = new c,
+            h.prototype[P("0x230")] = function(e) {
+                this[P("0x21b")](P("0x22e"), e)
+            }
+            ,
+            h[P("0x5")].getExtent = function() {
+                return this[P("0x21c")](P("0x22e"))
+            }
+            ,
+            h.prototype[P("0x225")] = function() {
+                if (D[P("0x14")](this.extent))
+                    return D[P("0x1af")][P("0x231")]({
+                        positions: this.extent,
+                        height: this.height,
+                        vertexFormat: D.EllipsoidSurfaceAppearance[P("0x1b1")],
+                        stRotation: this.textureRotationAngle,
+                        ellipsoid: this[P("0xef")],
+                        granularity: this[P("0x21f")]
+                    })
+            }
+            ,
+            h.prototype[P("0x229")] = function() {
+                return D[P("0x232")][P("0x231")]({
+                    positions: this.extent
+                })
+            }
+            ,
+            h),
+            i[P("0x233")] = (f[P("0x5")] = new c,
+            f[P("0x5")].setPositions = function(e) {
+                this[P("0x21b")](P("0x19f"), e)
+            }
+            ,
+            f[P("0x5")].getPositions = function() {
+                return this[P("0x21c")](P("0x19f"))
+            }
+            ,
+            f.prototype[P("0x235")] = function(e) {
+                this.setAttribute(P("0x236"))
+            }
+            ,
+            f.prototype[P("0x237")] = function(e) {
+                return this[P("0x21c")]("custom")
+            }
+            ,
+            f[P("0x5")][P("0x225")] = function() {
+                if (D[P("0x14")](this[P("0x19f")]) && !(this.positions[P("0x0")] < 3))
+                    return D[P("0x1af")][P("0x231")]({
+                        positions: this[P("0x19f")],
+                        height: this[P("0x8b")],
+                        vertexFormat: D.EllipsoidSurfaceAppearance[P("0x1b1")],
+                        stRotation: this[P("0x223")],
+                        ellipsoid: this[P("0xef")],
+                        granularity: this[P("0x21f")]
+                    })
+            }
+            ,
+            f[P("0x5")].getOutlineGeometry = function() {
+                return D.PolygonOutlineGeometry[P("0x231")]({
+                    positions: this[P("0x238")]()
+                })
+            }
+            ,
+            f),
+            i[P("0x239")] = (d[P("0x5")] = new c,
+            d[P("0x5")][P("0x23a")] = function(e) {
+                this.setAttribute(P("0x19f"), e)
+            }
+            ,
+            d[P("0x5")][P("0x238")] = function() {
+                return this[P("0x21c")]("positions")
+            }
+            ,
+            d.prototype.setCustom = function(e) {
+                this[P("0x21b")](P("0x236"))
+            }
+            ,
+            d[P("0x5")].getCustom = function(e) {
+                return this[P("0x21c")](P("0x236"))
+            }
+            ,
+            d[P("0x5")][P("0x225")] = function() {
+                if (D[P("0x14")](this[P("0x19f")]) && !(this[P("0x19f")].length < 3))
+                    return D[P("0x1af")][P("0x231")]({
+                        positions: this[P("0x19f")],
+                        height: this.height,
+                        vertexFormat: D[P("0x1b0")][P("0x1b1")],
+                        stRotation: this[P("0x223")],
+                        ellipsoid: this[P("0xef")],
+                        granularity: this.granularity
+                    })
+            }
+            ,
+            d[P("0x5")].getOutlineGeometry = function() {
+                return D.PolygonOutlineGeometry[P("0x231")]({
+                    positions: this.getPositions()
+                })
+            }
+            ,
+            d),
+            i[P("0x23b")] = (g[P("0x5")] = new c,
+            g[P("0x5")][P("0x23a")] = function(e) {
+                this[P("0x21b")]("positions", e)
+            }
+            ,
+            g[P("0x5")][P("0x23c")] = function(e) {
+                this.setAttribute(P("0x19a"), e)
+            }
+            ,
+            g[P("0x5")][P("0x23d")] = function(e) {
+                this[P("0x21b")](P("0x23e"), e)
+            }
+            ,
+            g.prototype[P("0x238")] = function() {
+                return this[P("0x21c")](P("0x19f"))
+            }
+            ,
+            g[P("0x5")].getWidth = function() {
+                return this[P("0x21c")](P("0x19a"))
+            }
+            ,
+            g[P("0x5")][P("0x23f")] = function(e) {
+                return this[P("0x21c")]("geodesic")
+            }
+            ,
+            g[P("0x5")][P("0x225")] = function() {
+                if (D.defined(this[P("0x19f")]) && !(this.positions[P("0x0")] < 2))
+                    return new (D[P("0x240")])({
+                        positions: this[P("0x19f")],
+                        height: this[P("0x8b")],
+                        width: this[P("0x19a")] < 1 ? 1 : this[P("0x19a")],
+                        vertexFormat: D.EllipsoidSurfaceAppearance[P("0x1b1")],
+                        ellipsoid: this.ellipsoid
+                    })
+            }
+            ,
+            g);
+            var p = {
+                iconUrl: "/geomap-api/JsCesuimDemo/resource/images/img_plot/dragIcon.png",
+                shiftX: 0,
+                shiftY: 0
+            }
+              , m = {
+                iconUrl: P("0x241"),
+                shiftX: 0,
+                shiftY: 0
+            }
+              , b = {
+                iconUrl: "/geomap-api/JsCesuimDemo/resource/images/img_plot/dragIconLight.png",
+                shiftX: 0,
+                shiftY: 0
+            };
+            function v(e) {
+                return [e[7], e[3]]
+            }
+            function C(e) {
+                var t = D[P("0x13")][P("0x175")](e);
+                return [D[P("0x23")][P("0x113")](t[P("0x112")]), D[P("0x23")].toDegrees(t[P("0x114")])]
+            }
+            function y(e, t) {
+                if (!(e.length < 2 || t[P("0x0")] < 2)) {
+                    var i = Math.PI / 8.5
+                      , r = Math.PI / 13
+                      , n = [];
+                    n[0] = e,
+                    n[1] = t;
+                    var o = n[0]
+                      , a = n[1]
+                      , s = W[P("0x1d2")][P("0x1e2")](n)
+                      , x = .15 * s
+                      , l = .2 * s
+                      , c = .25 * s
+                      , u = W[P("0x1d2")][P("0x1df")](a, o, W[P("0x1e1")][P("0x1e0")], x, !0)
+                      , h = W[P("0x1d2")][P("0x1df")](a, o, W[P("0x1e1")][P("0x1e0")], x, !1)
+                      , f = W.PlotUtils[P("0x1df")](o, a, i, c, !1)
+                      , d = W.PlotUtils[P("0x1df")](o, a, i, c, !0)
+                      , g = W[P("0x1d2")][P("0x1df")](o, a, r, l, !1)
+                      , p = W[P("0x1d2")][P("0x1df")](o, a, r, l, !0)
+                      , m = [];
+                    return m[P("0x17c")](u[0], u[1], g[0], g[1], f[0], f[1], a[0], a[1], d[0], d[1], p[0], p[1], h[0], h[1], o[0], o[1]),
+                    D.Cartesian3[P("0x1da")](m)
+                }
+            }
+            function _(e) {
+                for (var t = [], i = 0; i < e[P("0x0")]; i++) {
+                    var r = D[P("0x11")][P("0x1a1")](e[i][0], e[i][1], 0);
+                    t.push(r)
+                }
+                return t
+            }
+            function A(e, t) {
+                if (null == e || (w()(e) === P("0x2b6") ? P("0x2b6") : k(e)) != P("0x7"))
+                    return e;
+                if (e.constructor != Object && e[P("0x2b7")] != Array)
+                    return e;
+                if (e.constructor == Date || e[P("0x2b7")] == RegExp || e[P("0x2b7")] == Function || e.constructor == String || e.constructor == Number || e.constructor == Boolean)
+                    return new (e[P("0x2b7")])(e);
+                for (var i in t = t || new (e[P("0x2b7")]),
+                e)
+                    t[i] = w()(t[i]) == P("0x2b6") ? A(e[i], null) : t[i];
+                return t
+            }
+            function I(e, t) {
+                var i;
+                for (i in e = e || {},
+                t)
+                    void 0 === e[i] && (e[i] = A(t[i]))
+            }
+            function G(e, t) {
+                var i, r = A(e);
+                for (i in t)
+                    void 0 === r[i] && (r[i] = A(t[i]));
+                return r
+            }
+            function E(e, t, i) {
+                e[t] = i
+            }
+            function S(e) {
+                e[P("0x2b8")] = {},
+                e[P("0x2b9")] = function(e, t) {
+                    return this._listeners[e] = this[P("0x2b8")][e] || [],
+                    this._listeners[e][P("0x17c")](t),
+                    this[P("0x2b8")][e][P("0x0")]
+                }
+                ,
+                e.executeListeners = function(e, t) {
+                    if (this[P("0x2b8")][e[P("0x176")]] && 0 < this[P("0x2b8")][e[P("0x176")]][P("0x0")])
+                        for (var i = 0; i < this[P("0x2b8")][e[P("0x176")]][P("0x0")]; i++)
+                            this[P("0x2b8")][e[P("0x176")]][i](e);
+                    else
+                        t && t(e)
+                }
+            }
+            return i.prototype.createBillboardGroup = function(e, t, r) {
+                var n = new (i[P("0x242")])(this,t);
+                return n[P("0x243")](e, r),
+                n
+            }
+            ,
+            i[P("0x242")] = function(e, t) {
+                this._drawHelper = e,
+                this[P("0x42")] = e._scene,
+                this._options = G(t, p);
+                var i = new (D[P("0x244")]);
+                this[P("0x42")][P("0x17d")][P("0x6d")](i),
+                this._billboards = i,
+                this[P("0x245")] = []
+            }
+            ,
+            i.BillboardGroup[P("0x5")][P("0x246")] = function(t, i) {
+                var r = this[P("0x247")][P("0x6d")]({
+                    show: !0,
+                    position: t,
+                    pixelOffset: new (D[P("0x10")])(this[P("0x248")][P("0x249")],this._options[P("0x24a")]),
+                    eyeOffset: new (D[P("0x11")])(0,0,0),
+                    horizontalOrigin: D[P("0x24b")][P("0x24c")],
+                    verticalOrigin: D[P("0x24d")][P("0x24c")],
+                    scale: 1,
+                    image: this._options[P("0x24e")],
+                    color: new (D[P("0x16a")])(1,1,1,1)
+                });
+                if (i) {
+                    function n(e) {
+                        s.enableRotate = e
+                    }
+                    function o() {
+                        for (var e = 0, t = a._orderedBillboards[P("0x0")]; e < t && a._orderedBillboards[e] != r; ++e)
+                            ;
+                        return e
+                    }
+                    var a = this
+                      , s = this[P("0x42")][P("0x24f")];
+                    i[P("0x250")] && (a = this,
+                    E(r, P("0x1fe"), (function(t) {
+                        function s(e) {
+                            x.destroy(),
+                            n(!0),
+                            i[P("0x250")][P("0x252")] && i[P("0x250")][P("0x252")](o(), e)
+                        }
+                        var x = new (D[P("0x15f")])(a[P("0x42")][P("0x48")]);
+                        x.setInputAction((function(t) {
+                            var n = a[P("0x42")][P("0x7e")].pickEllipsoid(t[P("0x64")], e);
+                            n ? function(e) {
+                                r[P("0x8c")] = e;
+                                for (var t = 0, n = a[P("0x245")].length; t < n && a._orderedBillboards[t] != r; ++t)
+                                    ;
+                                i[P("0x250")][P("0x251")] && i[P("0x250")][P("0x251")](o(), e)
+                            }(n) : s(n)
+                        }
+                        ), D[P("0x161")][P("0x163")]),
+                        x.setInputAction((function(t) {
+                            s(a[P("0x42")][P("0x7e")].pickEllipsoid(t[P("0x8c")], e))
+                        }
+                        ), D[P("0x161")][P("0x1fd")]),
+                        n(!1),
+                        i[P("0x250")][P("0x253")] && i[P("0x250")].onDragStart(o(), a[P("0x42")][P("0x7e")][P("0xa2")](t, e))
+                    }
+                    ))),
+                    i[P("0x254")] && E(r, P("0x209"), (function(e) {
+                        i[P("0x254")](o())
+                    }
+                    )),
+                    i[P("0x255")] && E(r, P("0x208"), (function(e) {
+                        i.onClick(o())
+                    }
+                    )),
+                    i.tooltip && (E(r, "mouseMove", (function(e) {
+                        a[P("0x256")]._tooltip[P("0x205")](e, i[P("0x257")]())
+                    }
+                    )),
+                    E(r, P("0x1fa"), (function(e) {
+                        a[P("0x256")][P("0x1f6")][P("0x207")](!1)
+                    }
+                    )))
+                }
+                return r
+            }
+            ,
+            i[P("0x242")][P("0x5")][P("0x258")] = function(e, t, i) {
+                this[P("0x245")][P("0x259")](e, 0, this[P("0x246")](t, i))
+            }
+            ,
+            i[P("0x242")][P("0x5")][P("0x25a")] = function(e, t) {
+                this._orderedBillboards.push(this[P("0x246")](e, t))
+            }
+            ,
+            i[P("0x242")][P("0x5")][P("0x25b")] = function() {
+                this[P("0x247")][P("0x17f")](this[P("0x245")][P("0x25c")]())
+            }
+            ,
+            i.BillboardGroup[P("0x5")][P("0x243")] = function(e, t) {
+                for (var i = 0; i < e.length; i++)
+                    this[P("0x25a")](e[i], t)
+            }
+            ,
+            i[P("0x242")][P("0x5")][P("0x25d")] = function(e) {
+                for (var t = 0; t < e[P("0x0")]; t++)
+                    this[P("0x25e")](t)[P("0x8c")] = e[t]
+            }
+            ,
+            i.BillboardGroup[P("0x5")][P("0x25f")] = function() {
+                return this[P("0x245")][P("0x0")]
+            }
+            ,
+            i[P("0x242")].prototype[P("0x25e")] = function(e) {
+                return this[P("0x245")][e]
+            }
+            ,
+            i.BillboardGroup.prototype.removeBillboard = function(e) {
+                this[P("0x247")][P("0x17f")](this.getBillboard(e)),
+                this._orderedBillboards[P("0x259")](e, 1)
+            }
+            ,
+            i[P("0x242")][P("0x5")].remove = function() {
+                this[P("0x247")] = this._billboards && this._billboards[P("0xf5")]() && this[P("0x247")][P("0xf4")]()
+            }
+            ,
+            i[P("0x242")].prototype[P("0x260")] = function() {
+                this._scene.primitives.raiseToTop(this[P("0x247")])
+            }
+            ,
+            i[P("0x5")][P("0x261")] = function(e) {
+                e = G(e, o),
+                this[P("0x262")](!0, e)
+            }
+            ,
+            i.prototype[P("0x263")] = function(t) {
+                t = G(t, l),
+                this[P("0x264")]((function() {
+                    a[P("0x17f")](r),
+                    c[P("0x17f")](),
+                    u[P("0xf4")](),
+                    s[P("0x207")](!1)
+                }
+                ));
+                var r, n = this, o = this._scene, a = o[P("0x17d")], s = this._tooltip;
+                (r = new (U[P("0x23b")])(t))[P("0x227")] = !1,
+                a[P("0x6d")](r);
+                var x = []
+                  , c = new i.BillboardGroup(this,p)
+                  , u = new (D[P("0x15f")])(o[P("0x48")]);
+                u[P("0x160")]((function(t) {
+                    if (null != t[P("0x8c")]) {
+                        var i = o.camera[P("0xa2")](t[P("0x8c")], e);
+                        i && (0 == x[P("0x0")] && (x[P("0x17c")](i[P("0x6e")]()),
+                        c[P("0x25a")](x[0])),
+                        2 <= x[P("0x0")] && (r[P("0x19f")] = x,
+                        r[P("0x219")] = !0),
+                        x.push(i),
+                        c[P("0x25a")](i))
+                    }
+                }
+                ), D[P("0x161")][P("0x17e")]),
+                u[P("0x160")]((function(t) {
+                    var i = t[P("0x64")];
+                    if (null != i)
+                        if (0 == x[P("0x0")])
+                            s.showAt(i, P("0x265"));
+                        else {
+                            var n = o[P("0x7e")][P("0xa2")](i, e);
+                            n && (x[P("0x25c")](),
+                            n.y += 1 + Math[P("0x266")](),
+                            x.push(n),
+                            2 <= x[P("0x0")] && (r.positions = x,
+                            r[P("0x219")] = !0),
+                            c[P("0x25e")](x.length - 1)[P("0x8c")] = n,
+                            s.showAt(i, "<p>Click to add new point (" + x[P("0x0")] + P("0x267") + (2 < x.length ? P("0x268") : "")))
+                        }
+                }
+                ), D[P("0x161")].MOUSE_MOVE),
+                u[P("0x160")]((function(i) {
+                    var r = i[P("0x8c")];
+                    if (null != r) {
+                        if (x[P("0x0")] < 4)
+                            return;
+                        o[P("0x7e")][P("0xa2")](r, e) && (n.stopDrawing(),
+                        w()(t.callback) == P("0x8")) && (x.length,
+                        t.callback(x))
+                    }
+                }
+                ), D[P("0x161")][P("0x269")])
+            }
+            ,
+            i[P("0x5")][P("0x26e")] = function(t) {
+                this[P("0x264")]((function() {
+                    o[P("0x17f")](s),
+                    c.remove(),
+                    u[P("0xf4")](),
+                    a[P("0x207")](!1)
+                }
+                )),
+                this[P("0x26f")] = !0,
+                this.options = t;
+                var r = this
+                  , n = this._scene
+                  , o = n.primitives
+                  , a = this[P("0x1f6")]
+                  , s = new U.TailedAttackPrimitive(t);
+                /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent) ? s.asynchronous = !0 : s.asynchronous = !1,
+                o[P("0x6d")](s);
+                var x = []
+                  , l = []
+                  , c = new (i[P("0x242")])(this,p)
+                  , u = new (D[P("0x15f")])(n[P("0x48")]);
+                this.positions = x,
+                this.minPoints = 2,
+                this.poly = s,
+                u[P("0x160")]((function(t) {
+                    if (null != t[P("0x8c")]) {
+                        var i = n[P("0x7e")][P("0xa2")](t[P("0x8c")], e)
+                          , r = D[P("0x13")][P("0x175")](i)
+                          , o = [D[P("0x23")][P("0x113")](r.longitude), D[P("0x23")][P("0x113")](r[P("0x114")])];
+                        if (i) {
+                            if (0 == l[P("0x0")] && (x[P("0x17c")](i[P("0x6e")]()),
+                            c[P("0x25a")](x[0])),
+                            l[P("0x0")] < 3 && l[P("0x17c")](o),
+                            2 <= l[P("0x0")]) {
+                                l[P("0x17c")](o);
+                                var a = R[P("0x1cd")][P("0x1ea")](l);
+                                s[P("0x19f")] = a[P("0x1d9")],
+                                s.custom = a.controlPoint,
+                                s._createPrimitive = !0
+                            }
+                            x[P("0x17c")](i),
+                            5 <= x.length && c[P("0x25b")](),
+                            c[P("0x25a")](i)
+                        }
+                    }
+                }
+                ), D[P("0x161")][P("0x17e")]),
+                u[P("0x160")]((function(t) {
+                    var i = t[P("0x64")];
+                    if (null != i)
+                        if (0 == x[P("0x0")])
+                            a[P("0x205")](i, P("0x271"));
+                        else {
+                            var r = n[P("0x7e")].pickEllipsoid(i, e)
+                              , o = D.Cartographic[P("0x175")](r)
+                              , c = [D[P("0x23")].toDegrees(o[P("0x112")]), D.Math[P("0x113")](o[P("0x114")])];
+                            if (r) {
+                                if (x[P("0x25c")](),
+                                r.y += 1 + Math.random(),
+                                x.push(r),
+                                3 <= l[P("0x0")] && (l[P("0x25c")](),
+                                l[P("0x17c")](c)),
+                                2 == l[P("0x0")] && l.push(c),
+                                2 < x[P("0x0")]) {
+                                    var u = R[P("0x1cd")][P("0x1ea")](l);
+                                    s[P("0x19f")] = u ? u.polygonalPoint : null,
+                                    s[P("0x236")] = u ? u[P("0x1d8")] : null,
+                                    s[P("0x219")] = !0
+                                }
+                                var h = 3 == x[P("0x0")] ? "<p>鍙屽嚮鍙粨鏉熺粯鍒�</p>" : P("0x272");
+                                a[P("0x205")](i, h)
+                            }
+                        }
+                }
+                ), D.ScreenSpaceEventType.MOUSE_MOVE),
+                u[P("0x160")]((function(e) {
+                    r[P("0x188")](e, t)
+                }
+                ), D.ScreenSpaceEventType.LEFT_DOUBLE_CLICK)
+            }
+            ,
+            i[P("0x5")].drawEnd = function(t, i) {
+                var r, n = this.positions, o = this.minPoints, a = this[P("0x273")];
+                if (i = this[P("0x132")],
+                null == t) {
+                    if (this[P("0x26f")]) {
+                        if (this.stopDrawing(),
+                        w()(i[P("0x191")]) != P("0x8"))
+                            return;
+                        n[P("0x0")],
+                        i[P("0x191")](a[P("0x19f")], a[P("0x236")]),
+                        this[P("0x26f")] = !1
+                    }
+                } else if (null != (r = t[P("0x8c")])) {
+                    if (n[P("0x0")] < o + 2)
+                        return;
+                    scene[P("0x7e")][P("0xa2")](r, e) && (this[P("0x20c")](),
+                    w()(i.callback) == P("0x8")) && (n.length,
+                    i[P("0x191")](a[P("0x19f")], a[P("0x236")]))
+                }
+            }
+            ,
+            i[P("0x5")].startDrawingPolyshape = function(t, r) {
+                this[P("0x264")]((function() {
+                    s.remove(n),
+                    u.remove(),
+                    h.destroy(),
+                    x.setVisible(!1)
+                }
+                )),
+                this[P("0x26f")] = !0,
+                this.options = r;
+                var n, o = this, a = this[P("0x42")], s = a.primitives, x = this._tooltip;
+                this.minPoints = 2,
+                n = t ? new (U[P("0x233")])(r) : new (U[P("0x23b")])(r),
+                /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent) ? n[P("0x227")] = !0 : n[P("0x227")] = !1,
+                s[P("0x6d")](n);
+                var l = []
+                  , c = []
+                  , u = new (i[P("0x242")])(this,p)
+                  , h = new (D[P("0x15f")])(a[P("0x48")]);
+                this[P("0x273")] = n,
+                this.positions = l,
+                h.setInputAction((function(t) {
+                    if (null != t[P("0x8c")]) {
+                        var i = a[P("0x7e")][P("0xa2")](t[P("0x8c")], e)
+                          , r = D[P("0x13")][P("0x175")](i)
+                          , o = [D[P("0x23")].toDegrees(r[P("0x112")]), D[P("0x23")].toDegrees(r[P("0x114")])];
+                        if (i) {
+                            if (0 == c[P("0x0")] && (l[P("0x17c")](i[P("0x6e")]()),
+                            u[P("0x25a")](l[0])),
+                            c[P("0x0")] < 3 && c[P("0x17c")](o),
+                            2 <= c[P("0x0")]) {
+                                var s = R.algorithm.doubleArrow(c);
+                                n[P("0x19f")] = s[P("0x1d9")],
+                                n[P("0x236")] = s[P("0x1d8")],
+                                n._createPrimitive = !0
+                            }
+                            l[P("0x17c")](i),
+                            5 <= l.length && u.removeLastBillboard(),
+                            u[P("0x25a")](i)
+                        }
+                    }
+                }
+                ), D[P("0x161")][P("0x17e")]),
+                h[P("0x160")]((function(t) {
+                    var i = t[P("0x64")];
+                    if (null != i)
+                        if (0 == l.length)
+                            x[P("0x205")](i, "<p>鐐瑰嚮浠ュ鍔犵涓�涓帶鍒剁偣</p>");
+                        else {
+                            var r = a[P("0x7e")][P("0xa2")](i, e)
+                              , o = D.Cartographic.fromCartesian(r)
+                              , s = [D.Math.toDegrees(o[P("0x112")]), D.Math[P("0x113")](o[P("0x114")])];
+                            if (r) {
+                                if (l[P("0x25c")](),
+                                r.y += 1 + Math.random(),
+                                l[P("0x17c")](r),
+                                3 == c[P("0x0")] && (c[P("0x25c")](),
+                                c[P("0x17c")](s)),
+                                2 == c[P("0x0")] && c[P("0x17c")](s),
+                                2 <= l.length) {
+                                    var u = R[P("0x1cd")].doubleArrow(c);
+                                    n[P("0x19f")] = u ? u[P("0x1d9")] : null,
+                                    n.custom = u ? u[P("0x1d8")] : null,
+                                    n[P("0x219")] = !0
+                                }
+                                var h = 3 == l[P("0x0")] ? P("0x274") : P("0x272");
+                                x[P("0x205")](i, h)
+                            }
+                        }
+                }
+                ), D[P("0x161")][P("0x163")]),
+                h.setInputAction((function(e) {
+                    o[P("0x188")](e, r)
+                }
+                ), D[P("0x161")][P("0x269")])
+            }
+            ,
+            i.prototype[P("0x275")] = function(t) {
+                t = G(t, o),
+                this.startDrawing((function() {
+                    null != l && a[P("0x17f")](l),
+                    c[P("0x17f")](),
+                    u[P("0xf4")](),
+                    s.setVisible(!1)
+                }
+                ));
+                var r = this
+                  , n = this._scene
+                  , a = this[P("0x42")].primitives
+                  , s = this[P("0x1f6")]
+                  , x = []
+                  , l = null
+                  , c = null
+                  , u = new (D[P("0x15f")])(n[P("0x48")]);
+                u.setInputAction((function(o) {
+                    if (null != o.position) {
+                        var s = n[P("0x7e")][P("0xa2")](o[P("0x8c")], e);
+                        if (s)
+                            if (null == l) {
+                                var u = D.Cartographic[P("0x175")](s)
+                                  , h = D[P("0x23")][P("0x113")](u[P("0x112")])
+                                  , f = D[P("0x23")][P("0x113")](u[P("0x114")]);
+                                x.push(h, f);
+                                var d = y(x, x);
+                                l = new (i[P("0x276")])({
+                                    extent: d,
+                                    asynchronous: !1,
+                                    material: t[P("0x19c")]
+                                }),
+                                a[P("0x6d")](l),
+                                c = new i.BillboardGroup(r,p);
+                                var g = _([x, x]);
+                                c[P("0x243")](g)
+                            } else
+                                r.stopDrawing(),
+                                w()(t[P("0x191")]) == P("0x8") && (u = D[P("0x13")][P("0x175")](s),
+                                h = D.Math[P("0x113")](u.longitude),
+                                f = D[P("0x23")][P("0x113")](u[P("0x114")]),
+                                t[P("0x191")](y(x, [h, f])))
+                    }
+                }
+                ), D[P("0x161")].LEFT_DOWN),
+                u[P("0x160")]((function(t) {
+                    var i = t[P("0x64")];
+                    if (null != i)
+                        if (null == l)
+                            s.showAt(i, "<p>鐐瑰嚮寮�濮嬬粯鍒�</p>");
+                        else {
+                            var r = n[P("0x7e")][P("0xa2")](i, e);
+                            if (r) {
+                                var o = D.Cartographic[P("0x175")](r)
+                                  , a = D.Math[P("0x113")](o[P("0x112")])
+                                  , u = D.Math[P("0x113")](o[P("0x114")])
+                                  , h = y(x, [a, u]);
+                                l[P("0x230")](h);
+                                var f = _([x, [a, u]]);
+                                c[P("0x25d")](f),
+                                s.showAt(i, P("0x277"))
+                            }
+                        }
+                }
+                ), D.ScreenSpaceEventType[P("0x163")])
+            }
+            ,
+            i.prototype[P("0x1f8")] = function() {
+                var r = this;
+                function n(e) {
+                    r[P("0x42")],
+                    this[P("0x27c")] && this._highlighted == e || !0 !== this[P("0x204")] && ((this[P("0x27c")] = e) ? (r.setHighlighted(this),
+                    this[P("0x27d")] = this[P("0x228")],
+                    this[P("0x22c")](D[P("0x16a")][P("0x27e")](P("0x27f")), this.strokeWidth)) : this._strokeColor ? this[P("0x22c")](this._strokeColor, this[P("0x22d")]) : this[P("0x22c")](void 0, void 0))
+                }
+                function o(n) {
+                    if (this[P("0x204")] != n)
+                        if (r[P("0x20d")](),
+                        n) {
+                            r[P("0x20f")](this);
+                            var o = r[P("0x42")]
+                              , a = this;
+                            if (null == this[P("0x280")]) {
+                                function s(e, t) {
+                                    var i = e - 1 < 0 ? t.length - 1 : e - 1;
+                                    i < u[P("0x25f")]() && (u[P("0x25e")](i)[P("0x8c")] = l(i)),
+                                    (i = e) < u[P("0x25f")]() && (u.getBillboard(i)[P("0x8c")] = l(i))
+                                }
+                                function x() {
+                                    a.executeListeners({
+                                        name: P("0x281"),
+                                        positions: a[P("0x19f")]
+                                    })
+                                }
+                                var l = function(t) {
+                                    var i = a[P("0x19f")];
+                                    return e[P("0xa7")](new (D[P("0x282")])(e.cartesianToCartographic(i[t]),e.cartesianToCartographic(i[t < i[P("0x0")] - 1 ? t + 1 : 0]))[P("0x283")](.5))
+                                }
+                                  , c = new (i[P("0x242")])(r,m);
+                                t[P("0x284")].push(c);
+                                var u = new (i[P("0x242")])(r,b);
+                                t[P("0x284")].push(u);
+                                var h = {
+                                    dragHandlers: {
+                                        onDrag: function(e, t) {
+                                            a[P("0x19f")][e] = t,
+                                            s(e, a[P("0x19f")]),
+                                            a[P("0x219")] = !0
                                         },
-                                        u_animationMatrix: function () {
-                                            return i._animationMatrix
-                                        },
-                                        u_gamma: function () {
-                                            return i._gamma
+                                        onDragEnd: function() {
+                                            a[P("0x219")] = !0,
+                                            x()
                                         }
                                     },
-                                    f[P("0x5d4")] = e.Pass[P("0x73e")],
-                                    f[P("0xbc7")] = !1,
-                                    f[P("0x4bc")] = new (e[P("0x5f1")])(e[P("0x11")][P("0x6f")], i[P("0x63c")]),
-                                    f[P("0xbc8")] = P("0xb76"),
-                                    i[P("0x6ce")] = f,
-                                    s.terminate()
-                            }
-                                ,
-                                s.onerror = function (e) { }
-                                ,
-                                s[P("0xa70")]({
-                                    xCount: 36,
-                                    yCount: 36,
-                                    radius: o
-                                })
-                        }
-                    }
-                        ,
-                        t.prototype[P("0xbc6")] = function (t) {
-                            var i, r, n = "";
-                            i = n,
-                                r = n = i += P("0xbc9"),
-                                n = r += P("0xbca");
-                            var o, a, s = "";
-                            return o = s,
-                                a = s = o += P("0xbcb"),
-                                s = a += P("0xbcc"),
-                                e[P("0x5dc")].replaceCache({
-                                    context: t,
-                                    shaderProgram: void 0,
-                                    vertexShaderSource: n,
-                                    fragmentShaderSource: s,
-                                    attributeLocations: {
-                                        a_position: 0,
-                                        a_texcoord_0: 1
+                                    onDoubleClick: function(e) {
+                                        a[P("0x19f")][P("0x0")] < 4 || (a.positions[P("0x259")](e, 1),
+                                        a[P("0x219")] = !0,
+                                        c[P("0x285")](e),
+                                        u[P("0x285")](e),
+                                        s(e, a[P("0x19f")]),
+                                        x())
+                                    },
+                                    tooltip: function() {
+                                        if (3 < a.positions[P("0x0")])
+                                            return "Double click to remove this point"
                                     }
-                                })
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x102")];
-                    function i(i) {
-                        i = t(i, t.EMPTY_OBJECT),
-                            this.viewer = i[P("0x13b")],
-                            this.scene = this.viewer[P("0x10f")],
-                            this.scene[P("0x24f")][P("0xd9")] = !1,
-                            this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
-                            this[P("0xbcd")] = t(i[P("0xbcd")], new e.Color(1, 0, 0, .5)),
-                            this.bottomCylinderColor = t(i[P("0xbce")], new (e[P("0x16a")])(0, 1, 0, .5)),
-                            this[P("0xbcf")](),
-                            this[P("0x69")]()
-                    }
-                    function r(t, i, r, n) {
-                        return new (e[P("0x179")])({
-                            geometry: new (e[P("0xbd9")])({
-                                center: t,
-                                semiMajorAxis: i,
-                                semiMinorAxis: r,
-                                height: n,
-                                vertexFormat: e[P("0x1b0")][P("0xbda")]
-                            })
-                        })
-                    }
-                    function n(t, i, r, n, o, a, s, x, l, c) {
-                        return new (e[P("0x179")])({
-                            geometry: new e.CylinderGeometry({
-                                length: t,
-                                topRadius: i,
-                                bottomRadius: r,
-                                vertexFormat: e[P("0x1b7")][P("0xbdb")]
-                            }),
-                            attributes: {
-                                color: new (e[P("0x184")])(n, o, a, s)
-                            },
-                            modelMatrix: e[P("0x1b")][P("0x597")](e[P("0x1f")][P("0xbf")](e[P("0x11")][P("0x1a1")](x, l, c)), new (e[P("0x11")])(0, 0, 0), new (e[P("0x1b")]))
-                        })
-                    }
-                    function o(t, i) {
-                        return new (e[P("0x226")])({
-                            allowPicking: !0,
-                            geometryInstances: t,
-                            vertexCacheOptimize: !0,
-                            appearance: i,
-                            interleave: !0,
-                            asynchronous: !1,
-                            cull: !1,
-                            releaseGeometryInstances: !0,
-                            show: !0
-                        })
-                    }
-                    e[P("0xf")](i[P("0x5")], {}),
-                        i[P("0x5")][P("0xbcf")] = function () {
-                            var t, i, a, s = r(e[P("0x11")][P("0xb8")], 1e-4, 1e-4, 1e-4), x = (t = e[P("0x373")],
-                                i = Number[P("0x374")](t),
-                                P("0xbdd") + (1.68 <= i ? P("0x376") : "") + P("0xbde"));
-                            this[P("0xbd0")] = (a = x,
-                                new (e[P("0x1b0")])({
-                                    translucent: !0,
-                                    material: new (e[P("0x212")])({
-                                        fabric: {
-                                            type: "Image",
-                                            uniforms: {
-                                                image: P("0xbdc")
-                                            }
+                                };
+                                c[P("0x243")](a[P("0x19f")], h),
+                                this._markers = c;
+                                for (var f = [], d = 0, g = a[P("0x19f")].length + (this.isPolygon ? 0 : -1); d < g; d++)
+                                    f[P("0x17c")](l(d));
+                                var p = {
+                                    dragHandlers: {
+                                        onDragStart: function(e, t) {
+                                            this[P("0x286")] = e + 1,
+                                            a[P("0x19f")][P("0x259")](this[P("0x286")], 0, t),
+                                            a[P("0x219")] = !0
+                                        },
+                                        onDrag: function(e, t) {
+                                            a[P("0x19f")][this[P("0x286")]] = t,
+                                            a[P("0x219")] = !0
+                                        },
+                                        onDragEnd: function(e, t) {
+                                            c[P("0x258")](this[P("0x286")], t, h),
+                                            u[P("0x25e")](this[P("0x286")] - 1)[P("0x8c")] = l(this[P("0x286")] - 1),
+                                            u[P("0x258")](this[P("0x286")], l(this[P("0x286")]), p),
+                                            a[P("0x219")] = !0,
+                                            x()
                                         }
-                                    }),
-                                    fragmentShaderSource: a
-                                }));
-                            var l = o(s, this[P("0xbd0")]);
-                            this[P("0x17d")][P("0x6d")](l),
-                                this[P("0xbd1")] = l;
-                            var c = o([n(1e-4, 1e-4, 0, 1, 0, 0, 0, 0, 0, 0), n(1e-4, 0, 1e-4, 1, 0, 0, 0, 0, 0, 0)], new (e[P("0x16e")]));
-                            this.primitives.add(c),
-                                this.prestrainCylinderPrimitive = c
+                                    },
+                                    tooltip: function() {
+                                        return P("0x287")
+                                    }
+                                };
+                                u.addBillboards(f, p),
+                                this[P("0x288")] = u,
+                                this[P("0x289")] = new (D[P("0x15f")])(o.canvas),
+                                this[P("0x289")][P("0x160")]((function(e) {
+                                    var t = o[P("0xa4")](e.position);
+                                    t && t[P("0x182")] || a[P("0x211")](!1)
+                                }
+                                ), D[P("0x161")][P("0x17e")]),
+                                c[P("0x260")](),
+                                u[P("0x260")]()
+                            }
+                            this[P("0x204")] = !0
+                        } else
+                            null != this._markers && (this[P("0x280")].remove(),
+                            this[P("0x288")][P("0x17f")](),
+                            this._markers = null,
+                            this[P("0x288")] = null,
+                            this[P("0x289")][P("0xf4")]()),
+                            this[P("0x204")] = !1
+                }
+                D.Billboard[P("0x5")][P("0x278")] = function() {
+                    if (!this._editable) {
+                        this[P("0x279")] = !0;
+                        var t = this
+                          , i = this;
+                        E(t, P("0x1fe"), (function(o) {
+                            function a(e) {
+                                s[P("0xf4")](),
+                                n(!0),
+                                i[P("0x27a")]({
+                                    name: P("0x27b"),
+                                    positions: e
+                                })
+                            }
+                            var s = new (D[P("0x15f")])(r[P("0x42")][P("0x48")]);
+                            s[P("0x160")]((function(n) {
+                                var o, s = r[P("0x42")].camera[P("0xa2")](n[P("0x64")], e);
+                                s ? (o = s,
+                                t[P("0x8c")] = o,
+                                i[P("0x27a")]({
+                                    name: "drag",
+                                    positions: o
+                                })) : a(s)
+                            }
+                            ), D.ScreenSpaceEventType[P("0x163")]),
+                            s[P("0x160")]((function(t) {
+                                a(r[P("0x42")][P("0x7e")][P("0xa2")](t[P("0x8c")], e))
+                            }
+                            ), D[P("0x161")][P("0x1fd")]),
+                            n(!1)
+                        }
+                        )),
+                        S(t)
+                    }
+                    function n(e) {
+                        r[P("0x42")][P("0x24f")][P("0x29")] = e
+                    }
+                }
+                ,
+                U[P("0x23b")][P("0x5")][P("0x278")] = function() {
+                    if (!this[P("0x211")]) {
+                        var t = this;
+                        t[P("0x234")] = !1,
+                        t[P("0x227")] = !1,
+                        r[P("0x202")](t),
+                        t[P("0x211")] = o;
+                        var i = this[P("0x19a")];
+                        t[P("0x203")] = function(e) {
+                            !0 !== this[P("0x204")] && (e ? (r.setHighlighted(this),
+                            this[P("0x23c")](2 * i)) : this[P("0x23c")](i))
                         }
                         ,
-                        i[P("0x5")].active = function () {
-                            var t = null
-                                , i = this
-                                , a = new (e[P("0x15f")])(this[P("0x10f")][P("0x48")]);
-                            a[P("0x160")]((function (a) {
-                                if (!i.viewer[P("0xbd2")]) {
-                                    i.scene.screenSpaceCameraController.enableInputs = !1;
-                                    var s;
-                                    if (s = null == i[P("0x10f")][P("0xa4")](a[P("0x8c")]) ? i[P("0x10f")].globe.pick(i.viewer[P("0x7e")][P("0x86")](a.position), i[P("0x10f")]) : i[P("0x10f")][P("0x174")](a[P("0x8c")])) {
-                                        var x = e[P("0x13")][P("0x175")](s)
-                                            , l = e.Math.toDegrees(x[P("0x112")])
-                                            , c = e[P("0x23")][P("0x113")](x[P("0x114")])
-                                            , u = x[P("0x8b")] + .5
-                                            , h = e[P("0x11")][P("0x8e")](i[P("0x13b")][P("0x7e")][P("0x8c")], s) / 80
-                                            , f = i[P("0x13b")][P("0x194")][P("0x6d")]({
-                                                id: P("0xbd3"),
-                                                position: s,
-                                                point: {
-                                                    color: new (e[P("0x16a")])(1, 1, 1, 0)
+                        t.getExtent = function() {
+                            return D[P("0x28a")].fromCartographicArray(e[P("0x28b")](this[P("0x19f")]))
+                        }
+                        ,
+                        S(t),
+                        t[P("0x211")](!1)
+                    }
+                }
+                ,
+                U.PolygonPrimitive.prototype[P("0x278")] = function() {
+                    var e = this;
+                    e[P("0x227")] = !1;
+                    var o = r[P("0x42")];
+                    r[P("0x202")](e),
+                    e.setEditMode = function(n) {
+                        if (this[P("0x204")] != n)
+                            if (r[P("0x20d")](),
+                            n) {
+                                if (r[P("0x20f")](this),
+                                null == this[P("0x280")]) {
+                                    var a = new (i[P("0x242")])(r,m);
+                                    t[P("0x284")][P("0x17c")](a);
+                                    var s = {
+                                        dragHandlers: {
+                                            onDrag: function(t, i) {
+                                                var r = e[P("0x236")];
+                                                r[t] = C(i);
+                                                var n = R[P("0x1cd")][P("0x28c")](r);
+                                                e.positions = n[P("0x1d9")],
+                                                e[P("0x236")] = n.controlPoint,
+                                                e._createPrimitive = !0,
+                                                a[P("0x25d")](_(e[P("0x236")]))
+                                            },
+                                            onDragEnd: function() {
+                                                e[P("0x27a")]({
+                                                    name: P("0x281"),
+                                                    positions: e[P("0x19f")]
+                                                })
+                                            }
+                                        },
+                                        tooltip: function() {
+                                            return P("0x28d")
+                                        }
+                                    }
+                                      , x = e.custom;
+                                    a[P("0x243")](_(x), s),
+                                    this._markers = a,
+                                    this[P("0x289")] = new D.ScreenSpaceEventHandler(o[P("0x48")]),
+                                    this[P("0x289")][P("0x160")]((function(t) {
+                                        var i = o[P("0xa4")](t.position);
+                                        console[P("0x133")](P("0x28e")),
+                                        i && i[P("0x182")] || e[P("0x211")](!1)
+                                    }
+                                    ), D[P("0x161")][P("0x17e")]),
+                                    a[P("0x260")]()
+                                }
+                                this[P("0x204")] = !0
+                            } else
+                                null != this[P("0x280")] && (this[P("0x280")][P("0x17f")](),
+                                this[P("0x280")] = null,
+                                this[P("0x289")][P("0xf4")]()),
+                                this._editMode = !1
+                    }
+                    ,
+                    e[P("0x203")] = n,
+                    S(e),
+                    e[P("0x211")](!1)
+                }
+                ,
+                U.TailedAttackPrimitive[P("0x5")].setEditable = function() {
+                    var e = this;
+                    e[P("0x227")] = !1;
+                    var o = r._scene;
+                    r[P("0x202")](e),
+                    e[P("0x211")] = function(n) {
+                        if (this._editMode != n)
+                            if (r[P("0x20d")](),
+                            n) {
+                                if (r[P("0x20f")](this),
+                                null == this[P("0x280")]) {
+                                    var a = new (i[P("0x242")])(r,m);
+                                    t[P("0x284")][P("0x17c")](a);
+                                    var s = {
+                                        dragHandlers: {
+                                            onDrag: function(t, i) {
+                                                var r = e[P("0x236")];
+                                                r[t] = C(i);
+                                                var n = R[P("0x1cd")].tailedAttackArrow(r);
+                                                e.positions = n[P("0x1d9")],
+                                                e[P("0x236")] = n.controlPoint,
+                                                e[P("0x219")] = !0,
+                                                a[P("0x25d")](_(e[P("0x236")]))
+                                            },
+                                            onDragEnd: function() {
+                                                e[P("0x27a")]({
+                                                    name: P("0x281"),
+                                                    positions: e.positions
+                                                })
+                                            }
+                                        },
+                                        tooltip: function() {
+                                            return P("0x28f")
+                                        }
+                                    }
+                                      , x = e[P("0x236")];
+                                    a[P("0x243")](_(x), s),
+                                    this._markers = a,
+                                    this[P("0x289")] = new D.ScreenSpaceEventHandler(o[P("0x48")]),
+                                    this[P("0x289")][P("0x160")]((function(t) {
+                                        var i = o[P("0xa4")](t[P("0x8c")]);
+                                        console[P("0x133")](P("0x290")),
+                                        i && i[P("0x182")] || e.setEditMode(!1)
+                                    }
+                                    ), D.ScreenSpaceEventType.LEFT_CLICK),
+                                    a.setOnTop()
+                                }
+                                this[P("0x204")] = !0
+                            } else
+                                null != this[P("0x280")] && (this[P("0x280")][P("0x17f")](),
+                                this[P("0x280")] = null,
+                                this[P("0x289")][P("0xf4")]()),
+                                this._editMode = !1
+                    }
+                    ,
+                    e[P("0x203")] = n,
+                    S(e),
+                    e[P("0x211")](!1)
+                }
+                ,
+                U[P("0x276")][P("0x5")].setEditable = function() {
+                    if (!this[P("0x211")]) {
+                        var e = this
+                          , o = r._scene;
+                        r.registerEditableShape(e),
+                        e.asynchronous = !1,
+                        e[P("0x211")] = function(n) {
+                            if (this._editMode != n)
+                                if (r[P("0x20d")](),
+                                n) {
+                                    if (r[P("0x20f")](this),
+                                    null == this[P("0x280")]) {
+                                        var a = new (i[P("0x242")])(r,m);
+                                        t[P("0x284")][P("0x17c")](a);
+                                        var s = {
+                                            dragHandlers: {
+                                                onDrag: function(t, i) {
+                                                    var r = C(i)
+                                                      , n = C(a.getBillboard((t + 1) % 2).position)
+                                                      , o = 0 == t ? y(r, n) : y(n, r);
+                                                    e[P("0x230")](o),
+                                                    a[P("0x25d")](v(e.extent))
+                                                },
+                                                onDragEnd: function() {
+                                                    e[P("0x27a")]({
+                                                        name: P("0x281"),
+                                                        extent: e[P("0x22e")]
+                                                    })
                                                 }
-                                            });
-                                        f.enableGeoLocateRatate = !0,
-                                            i[P("0x13b")][P("0xbd2")] = f,
-                                            i[P("0x10f")].screenSpaceCameraController[P("0xd9")] = !0;
-                                        var d = o(r(s, h, h, u), i[P("0xbd0")]);
-                                        i[P("0x17d")][P("0x6d")](d),
-                                            i[P("0xbd4")] = d;
-                                        var g = o([n(.3 * h, .1 * h, 0, i[P("0xbcd")][P("0x66e")], i.topCylinderColor[P("0x66f")], i[P("0xbcd")].blue, i.topCylinderColor[P("0x671")], l, c, u + .2 * h), n(.3 * h, 0, .1 * h, i[P("0xbce")][P("0x66e")], i[P("0xbce")][P("0x66f")], i.bottomCylinderColor[P("0x670")], i.bottomCylinderColor[P("0x671")], l, c, u - .2 * h)], new (e[P("0x16e")]));
-                                        i.primitives[P("0x6d")](g),
-                                            i[P("0xbd5")] = g,
-                                            i[P("0x10f")][P("0x24f")][P("0x36")] = e.CameraEventType[P("0xb6e")],
-                                            t = setTimeout((function () {
-                                                i[P("0x10f")][P("0x24f")].enableInputs = !0
+                                            },
+                                            tooltip: function() {
+                                                return "鎷栧姩浠ユ敼鍙樻绠ご褰㈢姸"
                                             }
-                                            ), 10),
-                                            i[P("0x10f")][P("0xa3")].depthTestAgainstTerrain = !1
+                                        };
+                                        a[P("0x243")](v(e[P("0x22e")]), s),
+                                        this[P("0x280")] = a,
+                                        this[P("0x289")] = new D.ScreenSpaceEventHandler(o[P("0x48")]),
+                                        this[P("0x289")][P("0x160")]((function(t) {
+                                            var i = o.pick(t[P("0x8c")]);
+                                            console.log("ExtentPrimitive鍗曞嚮"),
+                                            i && i[P("0x182")] || e[P("0x211")](!1)
+                                        }
+                                        ), D[P("0x161")][P("0x17e")]),
+                                        a.setOnTop()
                                     }
-                                }
-                            }
-                            ), e[P("0x161")][P("0xbd6")]),
-                                a[P("0x160")]((function (r) {
-                                    i.viewer.trackedEntity[P("0xd9")] && (clearTimeout(t),
-                                        i[P("0xbd1")] && i[P("0x17d")][P("0x17f")](i[P("0xbd1")]),
-                                        i[P("0xbd7")] && i.primitives.remove(i[P("0xbd7")]),
-                                        i[P("0xbd4")] && i[P("0x17d")].remove(i[P("0xbd4")]),
-                                        i[P("0xbd5")] && i[P("0x17d")].remove(i[P("0xbd5")]),
-                                        i[P("0x13b")][P("0x194")][P("0xbd8")]("pointEntity"),
-                                        t = null,
-                                        i.prestrainEllipsePrimitive = null,
-                                        i[P("0xbd7")] = null,
-                                        i[P("0xbd4")] = null,
-                                        i.cylinderPrimitive = null,
-                                        i.viewer[P("0xbd2")] = void 0,
-                                        i.scene.screenSpaceCameraController[P("0xd9")] = !1,
-                                        i[P("0x10f")][P("0x24f")][P("0x36")] = e[P("0xb5f")].LEFT_DRAG,
-                                        i.scene[P("0x24f")].enableInputs = !0)
-                                }
-                                ), e[P("0x161")].MIDDLE_UP)
+                                    this[P("0x204")] = !0
+                                } else
+                                    null != this[P("0x280")] && (this[P("0x280")][P("0x17f")](),
+                                    this._markers = null,
+                                    this._globeClickhandler[P("0xf4")]()),
+                                    this[P("0x204")] = !1
                         }
                         ,
-                        e[P("0xbdf")] = i
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0xbe0")] = function (t, i) {
-                        if (i = w()(i) === P("0x2b6") || i,
-                            this[P("0xa8e")] = !1,
-                            t) {
-                            this.ready = !0,
-                                this[P("0x10f")] = t,
-                                this[P("0xbe1")] = i;
-                            var r = new (e[P("0xbe2")])(0, 0, 256, 256)
-                                , n = new (e[P("0x3cb")])(t);
-                            n.frustum = new (e[P("0xae2")])({
-                                width: 1,
-                                aspectRatio: 1,
-                                near: .01,
-                                far: 1e3
+                        e[P("0x203")] = n,
+                        S(e),
+                        e.setEditMode(!1)
+                    }
+                }
+            }
+            ,
+            i[P("0x291")] = function(e, i) {
+                if (!D.defined(i.container))
+                    throw new (D[P("0x15")])(P("0x292"));
+                I(i, {
+                    markerIcon: P("0x293"),
+                    polylineIcon: P("0x294"),
+                    polygonIcon: P("0x295"),
+                    circleIcon: P("0x296"),
+                    tailedAttackArrowIcon: "./img/gongjijiantou.png",
+                    extentIcon: P("0x297"),
+                    clearIcon: "./img/glyphicons_067_cleaning.png",
+                    polylineDrawingOptions: l,
+                    polygonDrawingOptions: a,
+                    extentDrawingOptions: s,
+                    circleDrawingOptions: x
+                });
+                var r = this
+                  , n = document[P("0x15c")](P("0x298"));
+                function o(e, t, i, r) {
+                    var o = document[P("0x15c")]("DIV");
+                    o[P("0x14c")] = P("0x299"),
+                    o[P("0x29a")] = i,
+                    n[P("0x167")](o),
+                    o[P("0x29b")] = r;
+                    var a = document.createElement(P("0x29c"));
+                    o[P("0x167")](a);
+                    var s = document[P("0x15c")](P("0x29d"));
+                    return s[P("0x125")] = t,
+                    a[P("0x167")](s),
+                    o
+                }
+                n[P("0x14c")] = "toolbar",
+                i[P("0x131")].appendChild(n);
+                var c = e._scene;
+                o(0, i[P("0x29e")], P("0x29f"), (function() {
+                    e.startDrawingExtent({
+                        callback: function(e) {
+                            r[P("0x27a")]({
+                                name: P("0x2a0"),
+                                extent: e
+                            })
+                        }
+                    })
+                }
+                )),
+                o(0, i.polygonIcon, P("0x2a1"), (function() {
+                    e[P("0x261")]({
+                        callback: function(e, t) {
+                            r[P("0x27a")]({
+                                name: P("0x2a2"),
+                                positions: e,
+                                custom: t
+                            })
+                        }
+                    })
+                }
+                )),
+                o(P("0x1ea"), i.tailedAttackArrowIcon, P("0x2a3"), (function() {
+                    e[P("0x26e")]({
+                        callback: function(e, t) {
+                            r.executeListeners({
+                                name: P("0x2a4"),
+                                positions: e,
+                                custom: t
+                            })
+                        }
+                    })
+                }
+                ));
+                var u = document.createElement(P("0x298"));
+                u.className = "divider",
+                n.appendChild(u),
+                o(P("0x192"), i[P("0x2a5")], "Remove all primitives", (function() {
+                    for (var e = t[P("0x17d")].length, i = t.billBoard[P("0x0")], r = 0; r < e; r++) {
+                        var n = t[P("0x17d")].pop();
+                        n._globeClickhandler[P("0xf4")](),
+                        c[P("0x17d")][P("0x17f")](n)
+                    }
+                    for (r = 0; r < i; r++)
+                        t[P("0x284")][P("0x25c")]()[P("0x17f")]()
+                }
+                )),
+                S(this)
+            }
+            ,
+            i[P("0x5")][P("0x2a6")] = function(e, t) {
+                return t = G(t, {
+                    container: e
+                }),
+                new (i[P("0x291")])(this,t)
+            }
+            ,
+            i.DrawWidget = function(e, t) {
+                var i = this;
+                "extentCreated" == t && e[P("0x275")]({
+                    callback: function(e) {
+                        i.executeListeners({
+                            name: P("0x2a0"),
+                            extent: e
+                        })
+                    }
+                }),
+                t == P("0x2a2") && e.startDrawingPolygon({
+                    callback: function(e, t) {
+                        i[P("0x27a")]({
+                            name: P("0x2a2"),
+                            positions: e,
+                            custom: t
+                        })
+                    }
+                }),
+                t == P("0x2a4") && e.startDrawingTailedAttack({
+                    callback: function(e, t) {
+                        i[P("0x27a")]({
+                            name: P("0x2a4"),
+                            positions: e,
+                            custom: t
+                        })
+                    }
+                }),
+                S(this)
+            }
+            ,
+            i[P("0x2a7")] = function() {
+                var e = drawHelper._scene
+                  , i = t[P("0x17d")][P("0x0")]
+                  , r = t[P("0x284")][P("0x0")];
+                if (0 != i && t[P("0x17d")][i - 1][P("0x204")]) {
+                    for (var n = 0; n < 1; n++) {
+                        var o = t[P("0x17d")][i - 1];
+                        o[P("0x289")][P("0xf4")](),
+                        e[P("0x17d")][P("0x17f")](o)
+                    }
+                    for (n = 0; n < 1; n++)
+                        t[P("0x284")][r - 1][P("0x17f")]();
+                    t = {
+                        billBoard: [],
+                        primitives: []
+                    },
+                    S(this)
+                }
+            }
+            ,
+            i[P("0x5")][P("0x69")] = function(e) {
+                return new (i[P("0x2a8")])(this,e)
+            }
+            ,
+            i[P("0x5")][P("0x192")] = function() {
+                return new (i[P("0x2a7")])(this)
+            }
+            ,
+            i
+        }();
+        var B, W = {
+            version: P("0x1c9")
+        };
+        W[P("0x1d2")] = {},
+        W.PlotUtils.distance = function(e, t) {
+            return Math[P("0xca")](Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2))
+        }
+        ,
+        W.PlotUtils.wholeDistance = function(e) {
+            for (var t = 0, i = 0; i < e[P("0x0")] - 1; i++)
+                t += W[P("0x1d2")].distance(e[i], e[i + 1]);
+            return t
+        }
+        ,
+        W[P("0x1d2")][P("0x1e2")] = function(e) {
+            return Math[P("0x2ae")](W[P("0x1d2")][P("0x1e8")](e), .99)
+        }
+        ,
+        W[P("0x1d2")][P("0x1e5")] = function(e, t) {
+            return [(e[0] + t[0]) / 2, (e[1] + t[1]) / 2]
+        }
+        ,
+        W[P("0x1d2")][P("0x2ba")] = function(e, t, i) {
+            var r = [(e[0] + t[0]) / 2, (e[1] + t[1]) / 2]
+              , n = [r[0] - e[1] + t[1], r[1] + e[0] - t[0]]
+              , o = [(e[0] + i[0]) / 2, (e[1] + i[1]) / 2]
+              , a = [o[0] - e[1] + i[1], o[1] + e[0] - i[0]];
+            return W[P("0x1d2")][P("0x2bb")](r, n, o, a)
+        }
+        ,
+        W.PlotUtils[P("0x2bb")] = function(e, t, i, r) {
+            if (e[1] == t[1]) {
+                var n = (r[0] - i[0]) / (r[1] - i[1])
+                  , o = n * (e[1] - i[1]) + i[0]
+                  , a = e[1];
+                return [o, a]
+            }
+            if (i[1] != r[1])
+                return s = (t[0] - e[0]) / (t[1] - e[1]),
+                n = (r[0] - i[0]) / (r[1] - i[1]),
+                [o = s * (a = (s * e[1] - e[0] - n * i[1] + i[0]) / (s - n)) - s * e[1] + e[0], a];
+            var s = (t[0] - e[0]) / (t[1] - e[1]);
+            return [o = s * (i[1] - e[1]) + e[0], a = i[1]]
+        }
+        ,
+        W[P("0x1d2")].getAzimuth = function(e, t) {
+            var i, r = Math[P("0x97")](Math.abs(t[1] - e[1]) / W[P("0x1d2")][P("0x8e")](e, t));
+            return t[1] >= e[1] && t[0] >= e[0] ? i = r + Math.PI : t[1] >= e[1] && t[0] < e[0] ? i = W[P("0x1e1")][P("0xab")] - r : t[1] < e[1] && t[0] < e[0] ? i = r : t[1] < e[1] && t[0] >= e[0] && (i = Math.PI - r),
+            i
+        }
+        ,
+        W[P("0x1d2")].getAngleOfThreePoints = function(e, t, i) {
+            var r = W[P("0x1d2")][P("0x2bc")](t, e) - W[P("0x1d2")][P("0x2bc")](t, i);
+            return r < 0 ? r + W[P("0x1e1")].TWO_PI : r
+        }
+        ,
+        W[P("0x1d2")].isClockWise = function(e, t, i) {
+            return (i[1] - e[1]) * (t[0] - e[0]) > (t[1] - e[1]) * (i[0] - e[0])
+        }
+        ,
+        W[P("0x1d2")][P("0x2bd")] = function(e, t, i) {
+            return [t[0] + e * (i[0] - t[0]), t[1] + e * (i[1] - t[1])]
+        }
+        ,
+        W.PlotUtils[P("0x2be")] = function(e, t, i, r, n) {
+            var o = 1 - (e = Math[P("0xee")](Math[P("0x7d")](e, 1), 0))
+              , a = e * e
+              , s = a * e
+              , x = o * o
+              , l = x * o;
+            return [l * t[0] + 3 * x * e * i[0] + 3 * o * a * r[0] + s * n[0], l * t[1] + 3 * x * e * i[1] + 3 * o * a * r[1] + s * n[1]]
+        }
+        ,
+        W.PlotUtils[P("0x1df")] = function(e, t, i, r, n) {
+            var o = W[P("0x1d2")][P("0x2bc")](e, t)
+              , a = n ? o + i : o - i
+              , s = r * Math.cos(a)
+              , x = r * Math[P("0x98")](a);
+            return [t[0] + s, t[1] + x]
+        }
+        ,
+        W[P("0x1d2")][P("0x2bf")] = function(e, t, i, r) {
+            var n, o, a = [], s = r - i;
+            s = s < 0 ? s + W[P("0x1e1")].TWO_PI : s;
+            for (var x = 0; x <= W[P("0x1e1")][P("0x2c0")]; x++) {
+                var l = i + s * x / W.Constants[P("0x2c0")];
+                n = e[0] + t * Math[P("0x9a")](l),
+                o = e[1] + t * Math.sin(l),
+                a[P("0x17c")]([n, o])
+            }
+            return a
+        }
+        ,
+        W[P("0x1d2")][P("0x2c1")] = function(e, t, i, r) {
+            var n = W[P("0x1d2")].getNormal(t, i, r)
+              , o = Math[P("0xca")](n[0] * n[0] + n[1] * n[1])
+              , a = n[0] / o
+              , s = n[1] / o
+              , x = W[P("0x1d2")].distance(t, i)
+              , l = W[P("0x1d2")][P("0x8e")](i, r);
+            if (o > W[P("0x1e1")][P("0x2c2")])
+                if (W.PlotUtils[P("0x1d3")](t, i, r)) {
+                    var c = e * x
+                      , u = i[0] - c * s
+                      , h = i[1] + c * a
+                      , f = [u, h];
+                    c = e * l;
+                    var d = [u = i[0] + c * s, h = i[1] - c * a]
+                } else
+                    c = e * x,
+                    f = [u = i[0] + c * s, h = i[1] - c * a],
+                    c = e * l,
+                    d = [u = i[0] - c * s, h = i[1] + c * a];
+            else
+                f = [u = i[0] + e * (t[0] - i[0]), h = i[1] + e * (t[1] - i[1])],
+                d = [u = i[0] + e * (r[0] - i[0]), h = i[1] + e * (r[1] - i[1])];
+            return [f, d]
+        }
+        ,
+        W[P("0x1d2")].getNormal = function(e, t, i) {
+            var r = e[0] - t[0]
+              , n = e[1] - t[1]
+              , o = Math[P("0xca")](r * r + n * n);
+            r /= o,
+            n /= o;
+            var a = i[0] - t[0]
+              , s = i[1] - t[1]
+              , x = Math[P("0xca")](a * a + s * s);
+            return [r + (a /= x), n + (s /= x)]
+        }
+        ,
+        W[P("0x1d2")][P("0x2c3")] = function(e, t) {
+            for (var i = [W.PlotUtils[P("0x2c4")](t)], r = 0; r < t[P("0x0")] - 2; r++) {
+                var n = t[r]
+                  , o = t[r + 1]
+                  , a = t[r + 2]
+                  , s = W[P("0x1d2")][P("0x2c1")](e, n, o, a);
+                i = i.concat(s)
+            }
+            var x = W[P("0x1d2")][P("0x2c5")](t);
+            i[P("0x17c")](x);
+            var l = [];
+            for (r = 0; r < t[P("0x0")] - 1; r++) {
+                for (n = t[r],
+                o = t[r + 1],
+                l.push(n),
+                e = 0; e < W[P("0x1e1")][P("0x2c0")]; e++) {
+                    var c = W[P("0x1d2")][P("0x2be")](e / W[P("0x1e1")][P("0x2c0")], n, i[2 * r], i[2 * r + 1], o);
+                    l[P("0x17c")](c)
+                }
+                l[P("0x17c")](o)
+            }
+            return l
+        }
+        ,
+        W[P("0x1d2")][P("0x2c4")] = function(e) {
+            var i = e[0]
+              , r = e[1]
+              , n = e[2]
+              , o = W[P("0x1d2")][P("0x2c1")](0, i, r, n)[0]
+              , a = W[P("0x1d2")][P("0x2c6")](i, r, n);
+            if (Math[P("0xca")](a[0] * a[0] + a[1] * a[1]) > W[P("0x1e1")][P("0x2c2")])
+                var s = W.PlotUtils.mid(i, r)
+                  , x = i[0] - s[0]
+                  , l = i[1] - s[1]
+                  , c = 2 / W[P("0x1d2")][P("0x8e")](i, r)
+                  , u = -c * l
+                  , h = c * x
+                  , f = u * u - h * h
+                  , d = 2 * u * h
+                  , g = h * h - u * u
+                  , p = o[0] - s[0]
+                  , m = o[1] - s[1]
+                  , b = s[0] + f * p + d * m
+                  , v = s[1] + d * p + g * m;
+            else
+                b = i[0] + t * (r[0] - i[0]),
+                v = i[1] + t * (r[1] - i[1]);
+            return [b, v]
+        }
+        ,
+        W[P("0x1d2")].getRightMostControlPoint = function(e) {
+            var i = e[P("0x0")]
+              , r = e[i - 3]
+              , n = e[i - 2]
+              , o = e[i - 1]
+              , a = W[P("0x1d2")][P("0x2c1")](0, r, n, o)[1]
+              , s = W.PlotUtils[P("0x2c6")](r, n, o);
+            if (Math[P("0xca")](s[0] * s[0] + s[1] * s[1]) > W[P("0x1e1")].ZERO_TOLERANCE)
+                var x = W.PlotUtils[P("0x1e5")](n, o)
+                  , l = o[0] - x[0]
+                  , c = o[1] - x[1]
+                  , u = 2 / W[P("0x1d2")][P("0x8e")](n, o)
+                  , h = -u * c
+                  , f = u * l
+                  , d = h * h - f * f
+                  , g = 2 * h * f
+                  , p = f * f - h * h
+                  , m = a[0] - x[0]
+                  , b = a[1] - x[1]
+                  , v = x[0] + d * m + g * b
+                  , C = x[1] + g * m + p * b;
+            else
+                v = o[0] + t * (n[0] - o[0]),
+                C = o[1] + t * (n[1] - o[1]);
+            return [v, C]
+        }
+        ,
+        W[P("0x1d2")][P("0x1d6")] = function(e) {
+            if (e[P("0x0")] <= 2)
+                return e;
+            for (var t = [], i = e[P("0x0")] - 1, r = 0; r <= 1; r += .01) {
+                for (var n = y = 0, o = 0; o <= i; o++) {
+                    var a = W[P("0x1d2")][P("0x2c7")](i, o)
+                      , s = Math[P("0x2ae")](r, o)
+                      , x = Math[P("0x2ae")](1 - r, i - o);
+                    n += a * s * x * e[o][0],
+                    y += a * s * x * e[o][1]
+                }
+                t.push([n, y])
+            }
+            return t[P("0x17c")](e[i]),
+            t
+        }
+        ,
+        W.PlotUtils[P("0x2c7")] = function(e, t) {
+            return W[P("0x1d2")][P("0x2c8")](e) / (W[P("0x1d2")][P("0x2c8")](t) * W[P("0x1d2")][P("0x2c8")](e - t))
+        }
+        ,
+        W[P("0x1d2")][P("0x2c8")] = function(e) {
+            if (e <= 1)
+                return 1;
+            if (2 == e)
+                return 2;
+            if (3 == e)
+                return 6;
+            if (4 == e)
+                return 24;
+            if (5 == e)
+                return 120;
+            for (var t = 1, i = 1; i <= e; i++)
+                t *= i;
+            return t
+        }
+        ,
+        W[P("0x1d2")].getQBSplinePoints = function(e) {
+            if (e[P("0x0")] <= 2)
+                return e;
+            var t = []
+              , i = e[P("0x0")] - 2 - 1;
+            t[P("0x17c")](e[0]);
+            for (var r = 0; r <= i; r++)
+                for (var n = 0; n <= 1; n += .05) {
+                    for (var o = y = 0, a = 0; a <= 2; a++) {
+                        var s = W[P("0x1d2")][P("0x2c9")](a, n);
+                        o += s * e[r + a][0],
+                        y += s * e[r + a][1]
+                    }
+                    t.push([o, y])
+                }
+            return t[P("0x17c")](e[e[P("0x0")] - 1]),
+            t
+        }
+        ,
+        W[P("0x1d2")][P("0x2c9")] = function(e, t) {
+            return 0 == e ? Math[P("0x2ae")](t - 1, 2) / 2 : 1 == e ? (-2 * Math[P("0x2ae")](t, 2) + 2 * t + 1) / 2 : 2 == e ? Math[P("0x2ae")](t, 2) / 2 : 0
+        }
+        ,
+        W[P("0x1e1")] = {
+            TWO_PI: 2 * Math.PI,
+            HALF_PI: Math.PI / 2,
+            FITTING_COUNT: 100,
+            ZERO_TOLERANCE: 1e-4
+        },
+        function(e) {
+            var t = e[P("0x2ca")] = function(t, i) {
+                this.viewer = t[P("0x13b")],
+                this.color = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")][P("0x196")].withAlpha(.5),
+                this[P("0x197")] = t.lineWidth ? t[P("0x197")] : 2,
+                this.scene = this[P("0x13b")][P("0x10f")],
+                this.camera = this[P("0x13b")][P("0x7e")],
+                this[P("0x48")] = this[P("0x10f")][P("0x48")],
+                this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
+                this[P("0xef")] = this[P("0x10f")][P("0xa3")].ellipsoid,
+                this[P("0x1a9")] = 0,
+                this[P("0x2cb")] = [],
+                this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1
+            }
+            ;
+            function i(e, t) {
+                for (var i = 0; i < t.length; i++)
+                    t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)),
+                    i--)
+            }
+            function r(e, t) {
+                for (var i = t[P("0x190")], r = 0; r < i[P("0x0")]; r++)
+                    i[r][P("0x2cc")] == e && (t[P("0x17f")](i[r]),
+                    r--)
+            }
+            function n(t, i, r, n) {
+                var o = t.add(new (e[P("0x1a5")]));
+                o[P("0x176")] = "MeasureAreaWidget_result_labelArea",
+                o.tag = P("0x2d8") + n,
+                o[P("0x6d")]({
+                    text: i,
+                    font: P("0x1a0"),
+                    showBackground: !0,
+                    disableDepthTestDistance: Number.POSITIVE_INFINITY
+                }),
+                o[P("0x187")](o[P("0x0")] - 1).position = r[r[P("0x0")] - 1]
+            }
+            t[P("0x5")][P("0x198")] = function() {
+                if (this.count++,
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                !this[P("0x16f")]) {
+                    this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
+                    this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = "crosshair";
+                    var t, i, r, n = this, o = [];
+                    this._array_ = o,
+                    this[P("0x1aa")] = t,
+                    this[P("0x173")] = i,
+                    this.handler[P("0x160")]((function(i) {
+                        if (n.lastP = i,
+                        1 == n[P("0xd3")])
+                            var a = n.camera[P("0x86")](i[P("0x8c")])
+                              , s = n[P("0x10f")][P("0xa3")][P("0xa4")](a, n[P("0x10f")]);
+                        else
+                            s = n[P("0x10f")][P("0x174")](i.position);
+                        s && (o[P("0x17c")](s),
+                        1 == o[P("0x0")] && ((t = n[P("0x17d")][P("0x6d")](new e.PolylineCollection)).name = "MeasureAreaWidget_draw_polyline",
+                        t[P("0x2cc")] = P("0x2ca") + "_" + n[P("0x1a9")],
+                        t[P("0x6d")]({
+                            polyline: {}
+                        }),
+                        t[P("0x187")](t[P("0x0")] - 1)[P("0x19a")] = n[P("0x197")],
+                        t[P("0x187")](t[P("0x0")] - 1).loop = !0,
+                        t[P("0x187")](t.length - 1)[P("0x19c")][P("0x19d")][P("0x169")] = n[P("0x169")],
+                        t[P("0x187")](t[P("0x0")] - 1).positions = o),
+                        3 <= o[P("0x0")] && (t.get(t[P("0x0")] - 1).positions = o,
+                        /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator[P("0x2cd")]) && n.measureEnd()),
+                        n[P("0x1aa")] = t,
+                        /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator[P("0x2cd")]) && ((r = n.primitives.add(new (e[P("0x1a4")]))).name = P("0x2ce"),
+                        r[P("0x2cc")] = "MeasureAreaWidget_" + n[P("0x1a9")],
+                        r.add({
+                            position: s,
+                            color: e[P("0x16a")][P("0x2cf")],
+                            outlineColor: e.Color[P("0x16b")],
+                            outlineWidth: 1,
+                            pixelSize: 5
+                        })))
+                    }
+                    ), e[P("0x161")].LEFT_CLICK),
+                    this[P("0x16f")][P("0x160")]((function(r) {
+                        if (!/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) {
+                            if (1 == n[P("0xd3")])
+                                var a = n[P("0x7e")][P("0x86")](r[P("0x64")])
+                                  , s = n.scene[P("0xa3")][P("0xa4")](a, n[P("0x10f")]);
+                            else
+                                s = n[P("0x10f")][P("0x174")](r[P("0x64")]);
+                            if (!s)
+                                return void (i && (n[P("0x17d")][P("0x17f")](i),
+                                i = null));
+                            if (1 <= o[P("0x0")]) {
+                                var x = o.concat();
+                                x.push(s),
+                                t[P("0x187")](t.length - 1)[P("0x19f")] = x
+                            }
+                            i ? i[P("0x187")](i[P("0x0")] - 1)[P("0x8c")] = s : ((i = n[P("0x17d")][P("0x6d")](new (e[P("0x1a5")])))[P("0x176")] = P("0x2d0"),
+                            i[P("0x2cc")] = P("0x2ca") + "_" + n[P("0x1a9")],
+                            i[P("0x6d")]({
+                                text: "宸﹂敭鍗曞嚮寮�濮嬬粯鍒讹紝鍙抽敭鍗曞嚮缁撴潫缁樺埗",
+                                font: P("0x1a0"),
+                                showBackground: !0,
+                                pixelOffset: new (e[P("0x10")])(10,10),
+                                disableDepthTestDistance: Number[P("0x31")]
                             }),
-                                this._pickOffscreenView = new (e[P("0xbe3")])(t, n, r),
-                                this[P("0xbe4")] = e.when[P("0x9ef")](),
-                                this[P("0xa90")] = this[P("0xbe4")][P("0xa90")]
+                            i[P("0x187")](i.length - 1).position = s),
+                            n[P("0x173")] = i
                         }
                     }
-                        ;
-                    t[P("0x5")][P("0xbe5")] = function (e, t) {
-                        var i = this;
-                        if (!i[P("0xa8e")])
-                            return null;
-                        var r = null;
-                        return i[P("0xb60")](e, t),
-                            i.promise.then((function (e) {
-                                r = i._pick(e)
+                    ), e[P("0x161")][P("0x163")]),
+                    this.handler[P("0x160")]((function(e) {
+                        n[P("0x2d1")](),
+                        n[P("0x16f")] = n[P("0x16f")] && n[P("0x16f")].destroy(),
+                        n[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x18c")
+                    }
+                    ), e[P("0x161")][P("0x189")])
+                }
+            }
+            ,
+            t.prototype[P("0x2d2")] = function(t) {
+                this.handler = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this.handler = new e.ScreenSpaceEventHandler(this[P("0x48")]);
+                var i = this;
+                this[P("0x16f")].setInputAction((function(t) {
+                    var r = i[P("0x13b")][P("0x10f")].pick(t.position);
+                    r && r.id && r.id && -1 < r.id[P("0x2cc")][P("0x2d3")](P("0x2ca")) && r.id[P("0x2d4")] && (r.id.polygon[P("0x19c")] = e[P("0x16a")][P("0x2d5")],
+                    i.tags.push(r.id[P("0x2cc")]))
+                }
+                ), e[P("0x161")][P("0x17e")])
+            }
+            ,
+            t[P("0x5")][P("0x2d6")] = function() {
+                if (this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](),
+                this[P("0x13b")].canvas.style[P("0x170")] = P("0x18c"),
+                this.tags && 0 < this.tags.length)
+                    for (var e = 0; e < this[P("0x2cb")][P("0x0")]; e++)
+                        i(this[P("0x2cb")][e], this[P("0x17d")]),
+                        r(this[P("0x2cb")][e], this[P("0x13b")][P("0x194")])
+            }
+            ,
+            t.prototype[P("0x2d1")] = function(t) {
+                if (null != this[P("0x172")] && 0 != this[P("0x172")][P("0x0")]) {
+                    if (this[P("0x173")] && (this.primitives[P("0x17f")](this[P("0x173")]),
+                    this[P("0x173")] = null),
+                    t = t || this[P("0x18b")],
+                    1 == this[P("0xd3")])
+                        var i = this[P("0x7e")][P("0x86")](t.position)
+                          , r = this[P("0x10f")][P("0xa3")][P("0xa4")](i, this[P("0x10f")]);
+                    else
+                        r = this[P("0x10f")][P("0x174")](t[P("0x8c")]);
+                    if (r) {
+                        this[P("0x172")][P("0x17c")](r),
+                        this[P("0x1aa")][P("0x187")](this._polylines_[P("0x0")] - 1).material.uniforms[P("0x169")] = e[P("0x16a")][P("0x196")].withAlpha(0),
+                        this[P("0x13b")].entities[P("0x6d")]({
+                            name: P("0x2d7"),
+                            tag: P("0x2d8") + this[P("0x1a9")],
+                            polygon: {
+                                hierarchy: {
+                                    positions: this._array_
+                                },
+                                material: this[P("0x169")],
+                                perPositionHeight: !1
                             }
-                            )),
-                            r
+                        });
+                        for (var o = [], a = 0; a < this._array_[P("0x0")]; a++) {
+                            var s = e.Cartographic[P("0x175")](this[P("0x172")][a])
+                              , x = e[P("0x23")][P("0x113")](s.longitude)
+                              , l = e.Math[P("0x113")](s[P("0x114")]);
+                            o[P("0x17c")]([x, l])
+                        }
+                        o[P("0x17c")](o[0]);
+                        var c, u = turf[P("0x2d4")]([o]), h = turf[P("0x2d9")](u);
+                        c = h < 1e6 ? "鎬婚潰绉細" + h.toFixed(2) + "m虏" : "鎬婚潰绉細" + (h / 1e6)[P("0x2af")](2) + P("0x2da"),
+                        /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator[P("0x2cd")]) ? 4 < this[P("0x17d")][P("0x0")] ? (this.primitives.remove(this[P("0x17d")][P("0x187")](this[P("0x17d")][P("0x0")] - 2)),
+                        n(this.primitives, c, this[P("0x172")])) : n(this[P("0x17d")], c, this[P("0x172")]) : (n(this[P("0x17d")], c, this[P("0x172")], this[P("0x1a9")]),
+                        this[P("0x1a9")]++)
                     }
-                        ;
-                    var i = new (e[P("0x5f1")]);
-                    function r(t) {
-                        var r, n, o, a = t.camera, s = t[P("0xbe9")];
-                        s[P("0x5ca")][P("0x0")] = 0,
-                            s.shadowMaps[P("0x0")] = 0,
-                            s[P("0xbea")] = t[P("0xbeb")],
-                            s[P("0xbec")] = t.skyBox && t[P("0x83d")][P("0xbed")],
-                            s[P("0xd3")] = t[P("0x6b9")],
-                            s[P("0xbee")] = t[P("0xbee")],
-                            s[P("0xbd")] = t.mapProjection,
-                            s.camera = a,
-                            s[P("0xbef")] = a[P("0xe8")][P("0xbf0")](a.positionWC, a[P("0xa6")], a.upWC),
-                            s.occluder = (n = (r = t)[P("0xa3")].ellipsoid,
-                                i[P("0x181")] = n[P("0xbe6")],
-                                e.Occluder.fromBoundingSphere(i, r.camera.positionWC)),
-                            s[P("0xf0")] = t[P("0xbf1")],
-                            s[P("0xbf2")] = t[P("0xbf3")],
-                            s[P("0xbf4")] = t[P("0xbf4")],
-                            s[P("0x77d")] = !1,
-                            s.sunColor = t[P("0xbf5")],
-                            t[P("0xbf6")] = e[P("0x16a")][P("0x6e")](t.invertClassificationColor, t._actualInvertClassificationColor),
-                            e.InvertClassification[P("0xbf7")](t[P("0xb84")]) || (t[P("0xbf6")].alpha = 1),
-                            s[P("0xbf8")] = t[P("0xbf6")],
-                            s.maximumScreenSpaceError = t[P("0xa3")][P("0xbf9")],
-                            (o = s[P("0xb87")])[P("0x75d")] = !1,
-                            o.pick = !1,
-                            o[P("0x456")] = !1,
-                            o[P("0xbe7")] = !1,
-                            o[P("0xbe8")] = !1,
-                            o[P("0xaa3")] = !1
+                }
+            }
+            ,
+            t[P("0x5")].clear = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                function(e, t) {
+                    for (var i = 0; i < t[P("0x0")]; i++)
+                        t[P("0x187")](i)[P("0x176")] && -1 < t[P("0x187")](i)[P("0x176")].indexOf("MeasureAreaWidget") && (t.remove(t[P("0x187")](i)),
+                        i--)
+                }(0, this[P("0x17d")]),
+                function(e, t) {
+                    for (var i = t[P("0x190")], r = 0; r < i[P("0x0")]; r++)
+                        i[r][P("0x176")] && -1 < i[r][P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](i[r]),
+                        r--)
+                }(P("0x2ca"), this[P("0x13b")][P("0x194")])
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x2db")] = function(e) {
+                this[P("0x13b")] = e.viewer,
+                this.scene = this.viewer[P("0x10f")],
+                this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
+                this[P("0x48")] = this.scene[P("0x48")],
+                this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
+                this[P("0x194")] = this[P("0x13b")].entities,
+                this[P("0xef")] = this[P("0x10f")][P("0xa3")][P("0xef")],
+                this[P("0x1a9")] = 0,
+                this[P("0x2cb")] = [],
+                this.mode = e[P("0xd3")] ? e[P("0xd3")] : 1
+            }
+            ;
+            function i(e, t) {
+                for (var i = t[P("0x190")], r = 0; r < i.length; r++)
+                    i[r][P("0x2cc")] == e && (t[P("0x17f")](i[r]),
+                    r--)
+            }
+            function r(e, t) {
+                for (var i = 0; i < t.length; i++)
+                    t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)),
+                    i--)
+            }
+            t.prototype.activate = function() {
+                this[P("0x1a9")]++,
+                this[P("0x16f")] && (this[P("0x16f")] = this.handler && this.handler.destroy()),
+                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
+                this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x171"),
+                this[P("0x2dc")]();
+                var t, i, r, n = this, o = [], a = [];
+                this._array_ = o;
+                var s = this[P("0x17d")][P("0x6d")](new e.LabelCollection);
+                s[P("0x176")] = P("0x2dd"),
+                s[P("0x2cc")] = "MeasureAzimuthWidget_" + this[P("0x1a9")],
+                s[P("0x6d")]({
+                    style: e.LabelStyle[P("0x2de")],
+                    outlineWidth: 2,
+                    text: "",
+                    font: P("0x2df"),
+                    showBackground: !1,
+                    backgroundColor: e[P("0x16a")][P("0x2e0")],
+                    pixelOffset: new (e[P("0x10")])(10,-15),
+                    disableDepthTestDistance: Number[P("0x31")]
+                }),
+                this[P("0x16f")][P("0x160")]((function(x) {
+                    if (2 == n[P("0xd3")]) {
+                        var l = n[P("0x10f")][P("0xa4")](x[P("0x8c")]);
+                        if (!l)
+                            return;
+                        if (!(l[P("0x182")]instanceof e[P("0x2e1")]))
+                            return void console[P("0x2e2")]("璇风偣鍑绘ā鍨�");
+                        var c = n[P("0x10f")].pickPosition(x[P("0x8c")])
+                    } else if (1 == n[P("0xd3")]) {
+                        var u = n[P("0x7e")][P("0x86")](x[P("0x8c")]);
+                        c = n[P("0x10f")].globe.pick(u, n[P("0x10f")])
                     }
-                    var n = new (e[P("0xbfa")]);
-                    function o(t, i, r, n) {
-                        var o = i[P("0xbe9")];
-                        if (t instanceof e[P("0x790")])
-                            t.execute(r, n);
+                    if (c) {
+                        var h = e.Cartographic[P("0x175")](c)
+                          , f = e.Math[P("0x113")](h[P("0x112")])
+                          , d = e.Math[P("0x113")](h[P("0x114")])
+                          , g = h[P("0x8b")];
+                        o[P("0x17c")](f),
+                        o[P("0x17c")](d),
+                        o.push(g),
+                        3 === o.length ? (a.push(f),
+                        a.push(d),
+                        a.push(g),
+                        t[P("0x187")](t.length - 1).text = P("0x2e3"),
+                        i = n[P("0x194")].add({
+                            name: P("0x2e4"),
+                            tag: P("0x2e5") + n[P("0x1a9")],
+                            polyline: {
+                                positions: e[P("0x11")][P("0x19e")](o),
+                                width: 10,
+                                material: new (e[P("0x2e6")])(e[P("0x16a")][P("0x2e7")]),
+                                clampToGround: !0
+                            }
+                        }),
+                        n[P("0x2e8")] = i,
+                        r = n[P("0x194")].add({
+                            name: "MeasureAzimuthWidget_draw_polyline",
+                            tag: P("0x2e5") + n[P("0x1a9")],
+                            polyline: {
+                                positions: e[P("0x11")].fromDegreesArrayHeights(a),
+                                width: 3,
+                                material: new (e[P("0x2e9")])({
+                                    color: e.Color[P("0x16b")]
+                                }),
+                                clampToGround: !0
+                            }
+                        }),
+                        n[P("0x2ea")] = r) : 6 === o[P("0x0")] && (i[P("0x2eb")][P("0x19f")] = e[P("0x11")][P("0x19e")](o),
+                        t && (n[P("0x17d")][P("0x17f")](t),
+                        t = null),
+                        n.measureEnd(o, s),
+                        o = [],
+                        a = [],
+                        r = i = null,
+                        n[P("0x16f")] = n[P("0x16f")] && n[P("0x16f")][P("0xf4")](),
+                        n[P("0x13b")][P("0x48")].style[P("0x170")] = P("0x18c"))
+                    }
+                }
+                ), e[P("0x161")][P("0x17e")]),
+                this.handler[P("0x160")]((function(a) {
+                    if (2 == n[P("0xd3")])
+                        var x = n[P("0x10f")][P("0x174")](a[P("0x64")]);
+                    else {
+                        var l = n[P("0x7e")][P("0x86")](a[P("0x64")]);
+                        x = n[P("0x10f")][P("0xa3")][P("0xa4")](l, n.scene)
+                    }
+                    if (x) {
+                        var c = e[P("0x13")][P("0x175")](x)
+                          , u = e[P("0x23")].toDegrees(c[P("0x112")])
+                          , h = e[P("0x23")][P("0x113")](c[P("0x114")])
+                          , f = c[P("0x8b")];
+                        if (!/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) {
+                            if (3 == o[P("0x0")]) {
+                                var d = o[P("0x1d5")]()
+                                  , g = o.slice();
+                                d[P("0x17c")](u),
+                                d[P("0x17c")](h),
+                                d[P("0x17c")](f),
+                                i[P("0x2eb")][P("0x19f")] = e[P("0x11")].fromDegreesArrayHeights(d);
+                                var p = turf[P("0x2ec")]([d[0], d[1]])
+                                  , m = turf[P("0x2ec")]([d[3], d[4]])
+                                  , b = 2 * turf[P("0x8e")](p, m) / 3
+                                  , v = turf[P("0x11d")](p, b, 0);
+                                g[P("0x17c")](v[P("0x180")][P("0x2ed")][0]),
+                                g[P("0x17c")](v[P("0x180")][P("0x2ed")][1]),
+                                g[P("0x17c")](0),
+                                r[P("0x2eb")][P("0x19f")] = e[P("0x11")][P("0x19e")](g),
+                                n[P("0x2d1")](d, s)
+                            }
+                            t && 0 != t.length ? t.get(t.length - 1).position = e[P("0x11")][P("0x1a1")](u, h, f) : ((t = n[P("0x17d")][P("0x6d")](new e.LabelCollection)).name = "MeasureAzimuthWidget_draw_label",
+                            t[P("0x2cc")] = P("0x2e5") + n[P("0x1a9")],
+                            t[P("0x6d")]({
+                                text: "鍗曞嚮寮�濮嬬粯鍒�",
+                                font: P("0x2ee"),
+                                showBackground: !0,
+                                pixelOffset: new (e[P("0x10")])(10,10),
+                                disableDepthTestDistance: Number[P("0x31")]
+                            }),
+                            t[P("0x187")](t[P("0x0")] - 1)[P("0x8c")] = e[P("0x11")][P("0x1a1")](u, h, f))
+                        }
+                    }
+                }
+                ), e[P("0x161")][P("0x163")])
+            }
+            ,
+            t[P("0x5")][P("0x2d1")] = function(t, i) {
+                var r = turf[P("0x2ec")]([t[0], t[1]])
+                  , n = turf[P("0x2ec")]([t[3], t[4]])
+                  , o = turf[P("0x11b")](r, n)
+                  , a = P("0x2ef") + o[P("0x2af")](2) + "掳";
+                i[P("0x187")](i.length - 1)[P("0x8c")] = e[P("0x11")][P("0x1a1")](t[3], t[4], t[5]),
+                i[P("0x187")](i[P("0x0")] - 1).text = a
+            }
+            ,
+            t[P("0x5")][P("0x2f0")] = function() {
+                this.viewer.infoBox && (this[P("0x13b")].infoBox[P("0x131")][P("0x150")][P("0x2f1")] = ""),
+                this.viewer.selectionIndicator && (this[P("0x13b")][P("0x2f2")][P("0x131")][P("0x150")][P("0x2f1")] = "")
+            }
+            ,
+            t.prototype.hideInfobox = function() {
+                this[P("0x13b")][P("0x2f3")] && (this[P("0x13b")][P("0x2f3")][P("0x131")][P("0x150")].display = P("0x2b4")),
+                this.viewer[P("0x2f2")] && (this[P("0x13b")][P("0x2f2")][P("0x131")][P("0x150")][P("0x2f1")] = P("0x2b4"))
+            }
+            ,
+            t[P("0x5")].clear = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this.viewer.canvas[P("0x150")][P("0x170")] = P("0x18c"),
+                function(e, t) {
+                    for (var i = 0; i < t.length; i++)
+                        t[P("0x187")](i)[P("0x176")] && -1 < t[P("0x187")](i)[P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](t[P("0x187")](i)),
+                        i--)
+                }(P("0x2db"), this[P("0x17d")]),
+                function(e, t) {
+                    for (var i = t[P("0x190")], r = 0; r < i[P("0x0")]; r++)
+                        i[r][P("0x176")] && -1 < i[r].name.indexOf(e) && (t[P("0x17f")](i[r]),
+                        r--)
+                }(P("0x2db"), this[P("0x13b")].entities),
+                this[P("0x2f0")]()
+            }
+            ,
+            t[P("0x5")][P("0x2d2")] = function() {
+                var t = this;
+                this[P("0x16f")] || (this.handler = new (e[P("0x15f")])(this.canvas),
+                this[P("0x16f")][P("0x160")]((function(i) {
+                    var r = t[P("0x13b")][P("0x10f")][P("0xa4")](i.position);
+                    r.id && r.id[P("0x2cc")] && -1 < r.id[P("0x2cc")][P("0x2d3")](P("0x2db")) && (t[P("0x2cb")][P("0x17c")](r.id[P("0x2cc")]),
+                    r.id._polyline.material[P("0x169")] = e.Color[P("0x2d5")].withAlpha(.5))
+                }
+                ), e[P("0x161")][P("0x17e")]))
+            }
+            ,
+            t[P("0x5")][P("0x2d6")] = function() {
+                if (this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this.viewer.canvas[P("0x150")][P("0x170")] = P("0x18c"),
+                this[P("0x2cb")] && 0 < this[P("0x2cb")][P("0x0")])
+                    for (var e = 0; e < this.tags[P("0x0")]; e++)
+                        r(this.tags[e], this[P("0x17d")]),
+                        i(this[P("0x2cb")][e], this[P("0x13b")][P("0x194")])
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x2f4")] = function(t, i) {
+                this.viewer = t[P("0x13b")],
+                this[P("0x169")] = t.color ? t.color : e[P("0x16a")][P("0x2d5")],
+                this.pixelSize = t[P("0x1a3")] ? t[P("0x1a3")] : 10,
+                this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
+                this.camera = this.viewer[P("0x7e")],
+                this[P("0x48")] = this[P("0x10f")][P("0x48")],
+                this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
+                this[P("0xef")] = this.scene.globe[P("0xef")],
+                this[P("0x1a9")] = 0,
+                this[P("0x2cb")] = [],
+                this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1
+            }
+            ;
+            function i(e, t) {
+                for (var i = 0; i < t[P("0x0")]; i++)
+                    t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)),
+                    i--)
+            }
+            t[P("0x5")][P("0x198")] = function() {
+                this.count++,
+                this.handler && (this.handler = this.handler && this[P("0x16f")][P("0xf4")]()),
+                this[P("0x16f")] = new (e[P("0x15f")])(this.canvas),
+                this.viewer[P("0x48")][P("0x150")][P("0x170")] = P("0x171");
+                var t, i, r = this, n = [];
+                this[P("0x16f")][P("0x160")]((function(o) {
+                    if (2 == r.mode) {
+                        var a = r[P("0x10f")][P("0xa4")](o.position);
+                        if (!a)
+                            return;
+                        if (!(a[P("0x182")]instanceof e[P("0x2e1")]))
+                            return void console[P("0x2e2")](P("0x2f5"));
+                        var s = r[P("0x10f")].pickPosition(o.position)
+                    } else {
+                        var x = r[P("0x7e")][P("0x86")](o[P("0x8c")]);
+                        s = r.scene[P("0xa3")][P("0xa4")](x, r[P("0x10f")])
+                    }
+                    if (s) {
+                        n[0] = s,
+                        t ? t.removeAll() : ((t = r[P("0x17d")][P("0x6d")](new e.PointPrimitiveCollection))[P("0x2cc")] = P("0x2f6") + r[P("0x1a9")],
+                        t[P("0x176")] = P("0x2f7")),
+                        t.add({
+                            position: s,
+                            color: r[P("0x169")],
+                            pixelSize: r[P("0x1a3")]
+                        }),
+                        r.handler = r[P("0x16f")] && r[P("0x16f")].destroy(),
+                        r[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                        i && (r[P("0x17d")][P("0x17f")](i),
+                        i = null);
+                        var l, c, u, h, f, d = e.Cartographic[P("0x175")](n[0]), g = {
+                            longitude: e[P("0x23")][P("0x113")](d[P("0x112")]),
+                            latitude: e.Math[P("0x113")](d[P("0x114")]),
+                            height: d[P("0x8b")]
+                        };
+                        l = r[P("0x17d")],
+                        c = g,
+                        u = n,
+                        h = r[P("0x1a9")],
+                        (f = l[P("0x6d")](new (e[P("0x1a5")])))[P("0x176")] = P("0x2f8"),
+                        f[P("0x2cc")] = P("0x2f6") + h,
+                        f[P("0x6d")]({
+                            text: P("0x2f9") + c[P("0x112")][P("0x2af")](7) + "掳\n" + P("0x2fa") + c.latitude[P("0x2af")](7) + "掳\n" + P("0x2fb") + c.height.toFixed(2) + "m",
+                            font: P("0x1a0"),
+                            showBackground: !0,
+                            pixelOffset: new (e[P("0x10")])(8,0),
+                            disableDepthTestDistance: Number[P("0x31")]
+                        }),
+                        f[P("0x187")](f[P("0x0")] - 1)[P("0x8c")] = u[u.length - 1]
+                    }
+                }
+                ), e[P("0x161")][P("0x1ff")])
+            }
+            ,
+            t[P("0x5")].clear = function() {
+                this.handler = this.handler && this.handler[P("0xf4")](),
+                this[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x18c"),
+                function(e, t) {
+                    for (var i = 0; i < t[P("0x0")]; i++)
+                        t[P("0x187")](i)[P("0x176")] && -1 < t.get(i)[P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](t[P("0x187")](i)),
+                        i--)
+                }(P("0x2f4"), this[P("0x17d")])
+            }
+            ,
+            t[P("0x5")][P("0x2d2")] = function() {
+                var t = this;
+                this[P("0x16f")] || (this[P("0x16f")] = new e.ScreenSpaceEventHandler(this[P("0x48")]),
+                this.handler[P("0x160")]((function(i) {
+                    var r = t[P("0x13b")][P("0x10f")][P("0xa4")](i.position);
+                    r && r.collection && r.collection[P("0x2cc")] && -1 < r[P("0x2fc")][P("0x2cc")][P("0x2d3")]("MeasureCoordinateWidget") && r[P("0x182")] && (t[P("0x2cb")][P("0x17c")](r[P("0x2fc")][P("0x2cc")]),
+                    r[P("0x182")][P("0x169")] = e.Color.YELLOW.withAlpha(.5))
+                }
+                ), e.ScreenSpaceEventType.LEFT_CLICK))
+            }
+            ,
+            t[P("0x5")][P("0x2d6")] = function(e) {
+                if (this.handler = this.handler && this[P("0x16f")].destroy(),
+                this[P("0x13b")][P("0x48")].style[P("0x170")] = P("0x18c"),
+                this[P("0x2cb")] && 0 < this[P("0x2cb")][P("0x0")])
+                    for (var t = 0; t < this[P("0x2cb")][P("0x0")]; t++)
+                        i(this[P("0x2cb")][t], this.primitives)
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x2fd")] = function(t, i) {
+                this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e.Color.CHARTREUSE[P("0x16c")](.5),
+                this.lineWidth = t.lineWidth ? t[P("0x197")] : 2,
+                this.scene = this.viewer[P("0x10f")],
+                this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
+                this[P("0x48")] = this[P("0x10f")].canvas,
+                this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
+                this[P("0x194")] = this[P("0x13b")].entities,
+                this.ellipsoid = this[P("0x10f")][P("0xa3")].ellipsoid,
+                this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1,
+                this[P("0x1a9")] = 0,
+                this[P("0x2cb")] = []
+            }
+            ;
+            function i(e, t) {
+                for (var i = 0; i < t.length; i++)
+                    t[P("0x187")](i).tag == e && (t.remove(t.get(i)),
+                    i--)
+            }
+            function r(e, t) {
+                for (var i = t[P("0x190")], r = 0; r < i.length; r++)
+                    i[r][P("0x2cc")] == e && (t[P("0x17f")](i[r]),
+                    r--)
+            }
+            t[P("0x5")][P("0x198")] = function() {
+                var t = this;
+                t[P("0x1a9")]++,
+                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
+                this[P("0x13b")].canvas[P("0x150")].cursor = P("0x171");
+                var i, r, n, o = [];
+                this._array_ = o,
+                this._polylines_ = i,
+                this[P("0x173")] = r,
+                this[P("0x16f")][P("0x160")]((function(r) {
+                    if (t[P("0x18b")] = r,
+                    3 == t[P("0xd3")])
+                        var a = t[P("0x10f")][P("0x174")](r[P("0x8c")]);
+                    else {
+                        var s = t[P("0x7e")][P("0x86")](r[P("0x8c")]);
+                        a = t[P("0x10f")][P("0xa3")][P("0xa4")](s, t[P("0x10f")])
+                    }
+                    if (a) {
+                        var x = e.Cartographic[P("0x175")](a)
+                          , l = e.Math[P("0x113")](x.longitude)
+                          , c = e[P("0x23")].toDegrees(x[P("0x114")])
+                          , u = x[P("0x8b")];
+                        o.push(l),
+                        o[P("0x17c")](c),
+                        o[P("0x17c")](u),
+                        3 == o[P("0x0")] && ((i = t[P("0x17d")][P("0x6d")](new (e[P("0x199")]))).tag = P("0x2fd") + "_" + t[P("0x1a9")],
+                        i[P("0x176")] = "MeasureDistanceWidget_draw_polyline",
+                        i[P("0x6d")]({
+                            polyline: {}
+                        }),
+                        i[P("0x187")](i[P("0x0")] - 1)[P("0x19a")] = t[P("0x197")],
+                        i.get(i[P("0x0")] - 1)[P("0x19c")][P("0x19d")][P("0x169")] = t[P("0x169")],
+                        i[P("0x187")](i[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](o)),
+                        3 < o[P("0x0")] && (i[P("0x187")](i[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](o)),
+                        t._polylines_ = i,
+                        (n = t[P("0x17d")][P("0x6d")](new (e[P("0x1a4")])))[P("0x2cc")] = P("0x2fd") + "_" + t[P("0x1a9")],
+                        n[P("0x176")] = P("0x2fe"),
+                        n[P("0x6d")]({
+                            position: a,
+                            color: e[P("0x16a")][P("0x2cf")],
+                            outlineColor: e[P("0x16a")][P("0x16b")],
+                            outlineWidth: 1,
+                            pixelSize: t[P("0x1a3")]
+                        }),
+                        t[P("0x2ff")] = !1,
+                        t[P("0x2d1")](r)
+                    }
+                }
+                ), e[P("0x161")][P("0x1ff")]),
+                this[P("0x16f")][P("0x160")]((function(n) {
+                    if (3 == t[P("0xd3")])
+                        var a = t[P("0x10f")].pickPosition(n.endPosition);
+                    else {
+                        var s = t[P("0x7e")][P("0x86")](n[P("0x64")]);
+                        a = t.scene[P("0xa3")][P("0xa4")](s, t[P("0x10f")])
+                    }
+                    if (!a)
+                        return console[P("0x133")](P("0x300")),
+                        void (r && (t.primitives[P("0x17f")](r),
+                        r = null));
+                    var x = e[P("0x13")][P("0x175")](a)
+                      , l = e.Math[P("0x113")](x[P("0x112")])
+                      , c = e[P("0x23")][P("0x113")](x[P("0x114")])
+                      , u = x[P("0x8b")];
+                    if (/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent))
+                        r = null;
+                    else {
+                        if (3 <= o.length) {
+                            var h = o[P("0x1c6")]();
+                            h[P("0x17c")](l),
+                            h[P("0x17c")](c),
+                            h.push(u),
+                            i[P("0x187")](i[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](h)
+                        }
+                        r && 0 != r[P("0x0")] ? r[P("0x187")](r.length - 1)[P("0x8c")] = e[P("0x11")][P("0x1a1")](l, c, u) : ((r = t[P("0x17d")][P("0x6d")](new (e[P("0x1a5")]))).name = P("0x301"),
+                        r[P("0x2cc")] = P("0x2fd") + "_" + t[P("0x1a9")],
+                        r.add({
+                            text: P("0x185"),
+                            font: P("0x1a0"),
+                            showBackground: !0,
+                            pixelOffset: new (e[P("0x10")])(10,10),
+                            disableDepthTestDistance: Number[P("0x31")]
+                        }),
+                        r.get(r.length - 1)[P("0x8c")] = e.Cartesian3.fromDegrees(l, c, u))
+                    }
+                    t[P("0x173")] = r
+                }
+                ), e[P("0x161")].MOUSE_MOVE),
+                this[P("0x16f")][P("0x160")]((function(i) {
+                    if (t.flag = !0,
+                    i = t[P("0x18b")],
+                    3 == t[P("0xd3")])
+                        var r = t[P("0x10f")][P("0x174")](i.position);
+                    else {
+                        var o = t.camera[P("0x86")](i.position);
+                        r = t[P("0x10f")][P("0xa3")][P("0xa4")](o, t[P("0x10f")])
+                    }
+                    if (r) {
+                        var a = e[P("0x13")][P("0x175")](r)
+                          , s = e[P("0x23")][P("0x113")](a.longitude)
+                          , x = e[P("0x23")][P("0x113")](a.latitude)
+                          , l = a[P("0x8b")];
+                        (n = t[P("0x17d")][P("0x6d")](new (e[P("0x1a4")])))[P("0x2cc")] = P("0x2fd") + "_" + t[P("0x1a9")],
+                        n[P("0x176")] = P("0x2fe"),
+                        n[P("0x6d")]({
+                            position: r,
+                            color: e[P("0x16a")][P("0x2cf")],
+                            outlineColor: e.Color[P("0x16b")],
+                            outlineWidth: 1,
+                            pixelSize: t.pixelSize
+                        }),
+                        t._array_[P("0x17c")](s),
+                        t[P("0x172")][P("0x17c")](x),
+                        t._array_.push(l),
+                        t[P("0x2d1")](i),
+                        t[P("0x16f")] = t[P("0x16f")] && t[P("0x16f")][P("0xf4")](),
+                        t.viewer.canvas[P("0x150")].cursor = "default",
+                        t[P("0x172")] = [],
+                        t[P("0x1aa")] = null
+                    }
+                }
+                ), e[P("0x161")][P("0x189")])
+            }
+            ,
+            t.prototype[P("0x2d1")] = function(t) {
+                if (null != this[P("0x172")] && 0 != this[P("0x172")][P("0x0")]) {
+                    if (/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator[P("0x2cd")]))
+                        this[P("0x172")] = this[P("0x172")];
+                    else if (!t) {
+                        console[P("0x133")](P("0x1ad")),
+                        t = this[P("0x18b")];
+                        var i = this[P("0x7e")][P("0x86")](t.position)
+                          , r = this[P("0x10f")][P("0xa3")][P("0xa4")](i, this[P("0x10f")]);
+                        if (!r)
+                            return;
+                        var n = e[P("0x13")].fromCartesian(r)
+                          , o = e[P("0x23")][P("0x113")](n[P("0x112")])
+                          , a = e[P("0x23")][P("0x113")](n[P("0x114")])
+                          , s = n[P("0x8b")];
+                        this[P("0x172")][this[P("0x172")][P("0x0")] - 1] == s && this._array_[this[P("0x172")][P("0x0")] - 2] == a && this._array_[this._array_[P("0x0")] - 3] == o ? this[P("0x172")] = this._array_ : (this[P("0x172")][P("0x17c")](o),
+                        this._array_[P("0x17c")](a),
+                        this[P("0x172")][P("0x17c")](s))
+                    }
+                    this._labels_ && (this[P("0x17d")][P("0x17f")](this[P("0x173")]),
+                    this._labels_ = null);
+                    var x = this[P("0xd3")];
+                    if (2 == this[P("0xd3")]) {
+                        var l = function(t, i) {
+                            for (var r = [], n = 0; n < t[P("0x0")] / 3 - 1; n++) {
+                                var o = 3 * n
+                                  , a = t[o]
+                                  , s = t[1 + o]
+                                  , x = t[2 + o]
+                                  , l = t[3 + o]
+                                  , c = t[4 + o]
+                                  , u = t[5 + o];
+                                r[P("0x17c")](a),
+                                r[P("0x17c")](s),
+                                r[P("0x17c")](x);
+                                for (var h = 0; h < 100; h++) {
+                                    var f = {
+                                        longitude: e.Math.toRadians(a),
+                                        latitude: e[P("0x23")].toRadians(s),
+                                        height: x
+                                    }
+                                      , d = {
+                                        longitude: e.Math[P("0x119")](l),
+                                        latitude: e[P("0x23")][P("0x119")](c),
+                                        height: u
+                                    }
+                                      , g = e[P("0x23")][P("0x308")](f[P("0x112")], d[P("0x112")], .01 * (h + 1))
+                                      , p = e[P("0x23")][P("0x308")](f[P("0x114")], d[P("0x114")], .01 * (h + 1))
+                                      , m = {
+                                        longitude: g,
+                                        latitude: p
+                                    }
+                                      , b = i[P("0xa3")][P("0xed")](m);
+                                    r.push(e.Math[P("0x113")](g)),
+                                    r[P("0x17c")](e.Math[P("0x113")](p)),
+                                    r[P("0x17c")](b)
+                                }
+                                r[P("0x17c")](l),
+                                r.push(c),
+                                r.push(u)
+                            }
+                            return r
+                        }(this[P("0x172")], this[P("0x10f")]);
+                        this[P("0x1aa")][P("0x187")](this._polylines_[P("0x0")] - 1)[P("0x19c")][P("0x19d")].color = e[P("0x16a")].CHARTREUSE[P("0x16c")](0),
+                        this[P("0x13b")].entities[P("0x6d")]({
+                            tag: P("0x2fd") + "_" + this[P("0x1a9")],
+                            name: P("0x302"),
+                            polyline: {
+                                positions: e.Cartesian3[P("0x19e")](l),
+                                width: this[P("0x197")],
+                                material: this.color
+                            }
+                        })
+                    }
+                    var c, u, h, f, d, g, p = e[P("0x11")][P("0x19e")](e[P("0x14")](l) ? l : this[P("0x172")]), m = 0;
+                    if (new (e[P("0x282")]),
+                    1 == x || 3 == x) {
+                        for (var b = 1; b < p[P("0x0")]; b++)
+                            m += e[P("0x11")][P("0x8e")](p[b - 1], p[b]);
+                        c = 0 == m ? "璧风偣" : 0 < m && m < 1e3 ? this[P("0x2ff")] ? P("0x303") + m.toFixed(2) + "m" : m[P("0x2af")](2) + "m" : this[P("0x2ff")] ? P("0x303") + (m / 1e3)[P("0x2af")](2) + "km" : (m / 1e3).toFixed(2) + "km"
+                    } else if (2 == x) {
+                        for (b = 1; b < p.length; b++)
+                            m += e[P("0x11")][P("0x8e")](p[b - 1], p[b]);
+                        c = 0 == m ? "璧风偣" : 0 < m && m < 1e3 ? this[P("0x2ff")] ? P("0x303") + m[P("0x2af")](2) + "m" : m.toFixed(2) + "m" : this[P("0x2ff")] ? P("0x303") + (m / 1e3)[P("0x2af")](2) + "km" : (m / 1e3)[P("0x2af")](2) + "km"
+                    }
+                    u = this[P("0x1a9")],
+                    f = c,
+                    d = p,
+                    (g = (h = this[P("0x17d")])[P("0x6d")](new (e[P("0x1a5")])))[P("0x176")] = "MeasureDistanceWidget_result_label",
+                    g[P("0x2cc")] = P("0x2fd") + "_" + u,
+                    g[P("0x6d")]({
+                        text: f,
+                        font: P("0x1a0"),
+                        showBackground: !0,
+                        backgroundColor: new (e[P("0x16a")])(1,0,0,.3),
+                        pixelOffset: new (e[P("0x10")])(10,10),
+                        disableDepthTestDistance: Number[P("0x31")]
+                    }),
+                    g[P("0x187")](g[P("0x0")] - 1)[P("0x8c")] = d[d[P("0x0")] - 1],
+                    3 < h[P("0x0")] && h[P("0x306")][h.length - 3].name == P("0x307") && (h[P("0x306")][h[P("0x0")] - 3]._labels[0].backgroundColor = new (e[P("0x16a")])(0,1,0,.3))
+                }
+            }
+            ,
+            t.prototype.clear = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this.handler[P("0xf4")](),
+                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                function(e) {
+                    for (var t = 0; t < e[P("0x0")]; t++)
+                        e.get(t)[P("0x176")] && -1 < e.get(t).name[P("0x2d3")](P("0x2fd")) && (e.remove(e[P("0x187")](t)),
+                        t--)
+                }((P("0x1a7"),
+                this[P("0x17d")])),
+                function(e) {
+                    for (var t = e[P("0x190")], i = 0; i < t.length; i++)
+                        t[i][P("0x176")] && -1 < t[i][P("0x176")][P("0x2d3")](P("0x2fd")) && (e[P("0x17f")](t[i]),
+                        i--)
+                }(this.viewer[P("0x194")])
+            }
+            ,
+            t[P("0x5")][P("0x2d2")] = function() {
+                var t = this;
+                this[P("0x16f")] || (this[P("0x16f")] = new e.ScreenSpaceEventHandler(this[P("0x48")]),
+                this.handler[P("0x160")]((function(i) {
+                    var r = t.viewer[P("0x10f")].pick(i.position);
+                    r && (r[P("0x182")][P("0x304")] && r[P("0x182")][P("0x304")][P("0x2cc")] && -1 < r[P("0x182")]._polylineCollection[P("0x2cc")].indexOf("MeasureDistanceWidget") && (t[P("0x2cb")][P("0x17c")](r[P("0x182")][P("0x304")].tag),
+                    r[P("0x182")][P("0x19c")][P("0x19d")][P("0x169")] = e[P("0x16a")][P("0x2d5")].withAlpha(.5)),
+                    r.id && r.id.tag && -1 < r.id[P("0x2cc")].indexOf(P("0x2fd")) && r.id[P("0x305")] && (t.tags[P("0x17c")](r.id.tag),
+                    r.id._polyline[P("0x19c")][P("0x169")] = e[P("0x16a")][P("0x2d5")].withAlpha(.5)))
+                }
+                ), e[P("0x161")][P("0x17e")]))
+            }
+            ,
+            t.prototype[P("0x2d6")] = function(e) {
+                if (this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](),
+                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                this[P("0x2cb")] && 0 < this[P("0x2cb")][P("0x0")])
+                    for (var t = 0; t < this[P("0x2cb")][P("0x0")]; t++)
+                        i(this[P("0x2cb")][t], this.primitives),
+                        r(this[P("0x2cb")][t], this[P("0x13b")][P("0x194")])
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = e.MeasureElevationWidget = function(t, i) {
+                this[P("0x13b")] = t[P("0x13b")],
+                this.color = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")].YELLOW,
+                this.pixelSize = t.pixelSize ? t[P("0x1a3")] : 10,
+                this.scene = this.viewer[P("0x10f")],
+                this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
+                this[P("0x48")] = this[P("0x10f")].canvas,
+                this.primitives = this[P("0x10f")][P("0x17d")],
+                this[P("0xef")] = this.scene[P("0xa3")][P("0xef")],
+                this.count = 0,
+                this.tags = [],
+                this.mode = t[P("0xd3")] ? t[P("0xd3")] : 1
+            }
+            ;
+            function i(e, t) {
+                for (var i = 0; i < t[P("0x0")]; i++)
+                    t[P("0x187")](i)[P("0x2cc")] == e && (t.remove(t[P("0x187")](i)),
+                    i--)
+            }
+            t[P("0x5")][P("0x198")] = function() {
+                this[P("0x1a9")]++,
+                this[P("0x16f")] && (this.handler = this[P("0x16f")] && this.handler[P("0xf4")]()),
+                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
+                this[P("0x13b")].canvas[P("0x150")].cursor = "crosshair";
+                var t, i, r = this, n = [];
+                this[P("0x16f")][P("0x160")]((function(o) {
+                    if (2 == r[P("0xd3")]) {
+                        var a = r[P("0x10f")][P("0xa4")](o[P("0x8c")]);
+                        if (!a)
+                            return;
+                        if (!(a.primitive instanceof e.Cesium3DTileset))
+                            return void console.warn(P("0x2f5"));
+                        var s = r[P("0x10f")][P("0x174")](o[P("0x8c")])
+                    } else {
+                        var x = r[P("0x7e")][P("0x86")](o[P("0x8c")]);
+                        s = r[P("0x10f")][P("0xa3")].pick(x, r[P("0x10f")])
+                    }
+                    if (s) {
+                        n[0] = s,
+                        t ? t[P("0xf5")]() : ((t = r.primitives[P("0x6d")](new e.PointPrimitiveCollection))[P("0x2cc")] = P("0x309") + r[P("0x1a9")],
+                        t[P("0x176")] = "MeasureElevationWidget_draw_point"),
+                        t.add({
+                            position: s,
+                            color: r[P("0x169")],
+                            pixelSize: r[P("0x1a3")]
+                        }),
+                        r[P("0x16f")] = r.handler && r[P("0x16f")][P("0xf4")](),
+                        r[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x18c"),
+                        i && (r[P("0x17d")][P("0x17f")](i),
+                        i = null);
+                        var l, c, u, h, f, d = e[P("0x13")].fromCartesian(n[0])[P("0x8b")], g = P("0x30a") + d[P("0x2af")](2) + "m";
+                        l = r[P("0x17d")],
+                        c = g,
+                        u = n,
+                        h = r.count,
+                        (f = l[P("0x6d")](new e.LabelCollection))[P("0x176")] = P("0x30c"),
+                        f[P("0x2cc")] = "MeasureElevationWidget_" + h,
+                        f[P("0x6d")]({
+                            text: c,
+                            font: P("0x1a0"),
+                            showBackground: !0,
+                            pixelOffset: new (e[P("0x10")])(6,2),
+                            disableDepthTestDistance: Number[P("0x31")]
+                        }),
+                        f[P("0x187")](f[P("0x0")] - 1)[P("0x8c")] = u[u[P("0x0")] - 1]
+                    }
+                }
+                ), e[P("0x161")][P("0x1ff")])
+            }
+            ,
+            t[P("0x5")][P("0x192")] = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                function(e, t) {
+                    for (var i = 0; i < t[P("0x0")]; i++)
+                        t.get(i)[P("0x176")] && -1 < t[P("0x187")](i)[P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](t[P("0x187")](i)),
+                        i--)
+                }(P("0x30b"), this[P("0x17d")])
+            }
+            ,
+            t[P("0x5")][P("0x2d2")] = function() {
+                var t = this;
+                this[P("0x16f")] || (this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
+                this.handler[P("0x160")]((function(i) {
+                    var r = t[P("0x13b")][P("0x10f")].pick(i[P("0x8c")]);
+                    r && r[P("0x2fc")] && r[P("0x2fc")][P("0x2cc")] && -1 < r[P("0x2fc")].tag.indexOf(P("0x30b")) && r.primitive && (t[P("0x2cb")][P("0x17c")](r[P("0x2fc")].tag),
+                    r[P("0x182")][P("0x169")] = e[P("0x16a")].YELLOW.withAlpha(.5))
+                }
+                ), e[P("0x161")].LEFT_CLICK))
+            }
+            ,
+            t[P("0x5")][P("0x2d6")] = function(e) {
+                if (this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                this[P("0x2cb")] && 0 < this[P("0x2cb")].length)
+                    for (var t = 0; t < this[P("0x2cb")][P("0x0")]; t++)
+                        i(this[P("0x2cb")][t], this.primitives)
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e.MeasureHeightWidget = function(t, i) {
+                this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")].CHARTREUSE[P("0x16c")](.5),
+                this[P("0x197")] = t[P("0x197")] ? t.lineWidth : 2,
+                this[P("0x10f")] = this.viewer[P("0x10f")],
+                this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
+                this.canvas = this[P("0x10f")][P("0x48")],
+                this.primitives = this[P("0x10f")][P("0x17d")],
+                this[P("0xef")] = this[P("0x10f")][P("0xa3")].ellipsoid,
+                this[P("0x191")] = i || function() {}
+                ,
+                this[P("0x1a9")] = 0,
+                this[P("0x2cb")] = [],
+                this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1
+            }
+            ;
+            function i(t, i, r, n) {
+                var o = t[P("0x6d")](new (e[P("0x1a5")]));
+                o[P("0x2cc")] = P("0x30d") + "_" + n,
+                o[P("0x176")] = P("0x315"),
+                o[P("0x6d")]({
+                    text: i,
+                    font: "16px sans-serif",
+                    showBackground: !0,
+                    disableDepthTestDistance: Number.POSITIVE_INFINITY
+                }),
+                o[P("0x187")](o[P("0x0")] - 1)[P("0x8c")] = e[P("0x11")].fromDegrees(r[r.length - 3], r[r[P("0x0")] - 2], r[r[P("0x0")] - 1])
+            }
+            function r(e, t) {
+                for (var i = 0; i < t[P("0x0")]; i++)
+                    t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)),
+                    i--)
+            }
+            t[P("0x5")].activate = function() {
+                if (this.count++,
+                this.handler = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                !this[P("0x16f")]) {
+                    this[P("0x16f")] = new (e[P("0x15f")])(this.canvas),
+                    this[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x171");
+                    var t, i, r = this, n = [];
+                    this[P("0x172")] = n,
+                    this[P("0x1aa")] = t,
+                    this[P("0x173")] = void 0,
+                    this[P("0x16f")][P("0x160")]((function(o) {
+                        if (2 == r[P("0xd3")])
+                            var a = r[P("0x10f")][P("0x174")](o[P("0x8c")]);
                         else {
-                            o[P("0x77d")] && e[P("0x14")](t.derivedCommands.logDepth) && (t = t[P("0xc0d")].logDepth[P("0x4d7")]);
-                            var a = o.passes;
-                            if (a[P("0xa4")] || a[P("0x456")]) {
-                                if (a[P("0xa4")] && !a[P("0x456")] && e.defined(t[P("0xc0d")][P("0xc0e")]))
-                                    return void (t = t.derivedCommands.picking.pickCommand).execute(r, n);
-                                if (e[P("0x14")](t[P("0xc0d")][P("0x456")]))
-                                    return void (t = t[P("0xc0d")].depth[P("0xc0f")])[P("0x797")](r, n)
-                            }
-                            t[P("0x797")](r, n)
+                            var s = r[P("0x7e")].getPickRay(o[P("0x8c")]);
+                            a = r.scene.globe.pick(s, r[P("0x10f")])
+                        }
+                        if (a) {
+                            var x = e[P("0x13")][P("0x175")](a)
+                              , l = e[P("0x23")][P("0x113")](x.longitude)
+                              , c = e[P("0x23")].toDegrees(x[P("0x114")])
+                              , u = x[P("0x8b")];
+                            0 < n[P("0x0")] && (9 == n[P("0x0")] && (n[3] = l,
+                            n[4] = c,
+                            n[5] = u,
+                            n[2] >= n[5] ? (n[6] = n[0],
+                            n[7] = n[1],
+                            n[8] = n[5]) : (n[6] = n[3],
+                            n[7] = n[4],
+                            n[8] = n[2]),
+                            t[P("0x187")](t.length - 1).positions = e[P("0x11")][P("0x19e")](n)),
+                            (i = r[P("0x17d")].add(new (e[P("0x1a4")])))[P("0x2cc")] = P("0x30d") + "_" + r.count,
+                            i[P("0x176")] = P("0x30e"),
+                            i[P("0x6d")]({
+                                position: a,
+                                color: r[P("0x169")],
+                                pixelSize: r[P("0x1a3")]
+                            }),
+                            r[P("0x172")] = n,
+                            r.measureEnd()),
+                            0 == n.length && (n[P("0x17c")](l),
+                            n[P("0x17c")](c),
+                            n.push(u),
+                            n[P("0x17c")](l),
+                            n[P("0x17c")](c),
+                            n[P("0x17c")](u),
+                            n[P("0x17c")](l),
+                            n.push(c),
+                            n[P("0x17c")](u),
+                            (t = r.primitives[P("0x6d")](new e.PolylineCollection))[P("0x2cc")] = P("0x30d") + "_" + r[P("0x1a9")],
+                            t.name = P("0x30f"),
+                            t[P("0x6d")]({
+                                polyline: {}
+                            }),
+                            t.get(t[P("0x0")] - 1)[P("0x19a")] = r[P("0x197")],
+                            t.get(t[P("0x0")] - 1)[P("0x19b")] = !0,
+                            t[P("0x187")](t[P("0x0")] - 1)[P("0x19c")].uniforms[P("0x169")] = r[P("0x169")],
+                            t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](n),
+                            (i = r.primitives[P("0x6d")](new e.PointPrimitiveCollection))[P("0x2cc")] = P("0x30d") + "_" + r.count,
+                            i[P("0x176")] = P("0x30e"),
+                            i[P("0x6d")]({
+                                position: a,
+                                color: r[P("0x169")],
+                                pixelSize: r[P("0x1a3")]
+                            }))
                         }
                     }
-                    function a(t, i, r) {
-                        return t[P("0x4bc")].distanceSquaredTo(r) - i[P("0x4bc")].distanceSquaredTo(r) + e[P("0x23")][P("0xc10")]
+                    ), e.ScreenSpaceEventType[P("0x17e")])
+                }
+            }
+            ,
+            t[P("0x5")][P("0x2d2")] = function(t) {
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]);
+                var i = this;
+                this[P("0x16f")][P("0x160")]((function(t) {
+                    var r = i.viewer[P("0x10f")].pick(t.position);
+                    r && r[P("0x2fc")] && r[P("0x2fc")][P("0x2cc")] && -1 < r[P("0x2fc")][P("0x2cc")][P("0x2d3")]("MeasureHeightWidget") && r[P("0x182")] && r.primitive instanceof e.Polyline && (r[P("0x182")].material[P("0x19d")][P("0x169")] = e.Color[P("0x310")],
+                    i[P("0x2cb")][P("0x17c")](r[P("0x2fc")][P("0x2cc")]))
+                }
+                ), e[P("0x161")][P("0x17e")])
+            }
+            ,
+            t.prototype[P("0x2d6")] = function(e) {
+                if (this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](),
+                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                this[P("0x2cb")] && 0 < this.tags[P("0x0")])
+                    for (var t = 0; t < this[P("0x2cb")][P("0x0")]; t++)
+                        r(this[P("0x2cb")][t], this.primitives)
+            }
+            ,
+            t[P("0x5")].measureEnd = function() {
+                var t;
+                this[P("0x16f")] = this.handler && this[P("0x16f")].destroy(),
+                this[P("0x13b")].canvas.style[P("0x170")] = P("0x18c"),
+                this._labels_ && (this.primitives[P("0x17f")](this._labels_),
+                this[P("0x173")] = null),
+                (x = [])[P("0x17c")]((this[P("0x172")][0] + this[P("0x172")][3]) / 2),
+                x[P("0x17c")]((this[P("0x172")][1] + this[P("0x172")][4]) / 2),
+                t = this[P("0x172")][2] >= this[P("0x172")][5] ? (x.push(this._array_[5]),
+                this._array_[5]) : (x.push(this[P("0x172")][2]),
+                this._array_[2]);
+                var r = e.Cartesian3[P("0x1a1")](this[P("0x172")][0], this[P("0x172")][1], t)
+                  , n = e[P("0x11")].fromDegrees(this._array_[3], this[P("0x172")][4], t)
+                  , o = e[P("0x11")][P("0x8e")](r, n);
+                a = o < 1e3 ? P("0x311") + o.toFixed(2) + "m" : P("0x311") + (o / 1e3)[P("0x2af")](2) + "km",
+                i(this[P("0x17d")], a, x, this.count);
+                var a, s = Math.abs(this._array_[2] - this[P("0x172")][5]), x = [];
+                this[P("0x172")][2] >= this[P("0x172")][5] ? (x[P("0x17c")](this[P("0x172")][0]),
+                x[P("0x17c")](this[P("0x172")][1])) : (x.push(this[P("0x172")][3]),
+                x.push(this[P("0x172")][4])),
+                x[P("0x17c")]((this[P("0x172")][2] + this._array_[5]) / 2),
+                a = s < 1e3 ? P("0x312") + s[P("0x2af")](2) + "m" : P("0x312") + (s / 1e3)[P("0x2af")](2) + "km",
+                i(this[P("0x17d")], a, x, this[P("0x1a9")]),
+                (x = []).push((this[P("0x172")][0] + this[P("0x172")][3]) / 2),
+                x[P("0x17c")]((this[P("0x172")][1] + this[P("0x172")][4]) / 2),
+                x[P("0x17c")]((this[P("0x172")][2] + this[P("0x172")][5]) / 2);
+                var l = Math[P("0xca")](Math.pow(o, 2) + Math[P("0x2ae")](s, 2));
+                a = l < 1e3 ? P("0x313") + l[P("0x2af")](2) + "m" : P("0x313") + (l / 1e3)[P("0x2af")](2) + "km",
+                i(this.primitives, a, x, this[P("0x1a9")]),
+                this[P("0x1a9")]++,
+                this.callback(o, s, l, this._array_)
+            }
+            ,
+            t[P("0x5")][P("0x192")] = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this.handler[P("0xf4")](),
+                this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                function(e) {
+                    for (var t = 0; t < e[P("0x0")]; t++)
+                        e[P("0x187")](t)[P("0x176")] && -1 < e[P("0x187")](t)[P("0x176")][P("0x2d3")](P("0x30d")) && (e[P("0x17f")](e.get(t)),
+                        t--)
+                }((P("0x314"),
+                this[P("0x17d")]))
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x316")] = function(t, i) {
+                this[P("0x13c")] = t[P("0x13b")],
+                this[P("0x42")] = this._viewer[P("0x10f")],
+                this[P("0x317")] = this[P("0x13c")][P("0x7e")],
+                this[P("0x318")] = this[P("0x42")][P("0x48")],
+                this[P("0x306")] = this[P("0x42")][P("0x17d")],
+                this[P("0x44")] = this[P("0x42")][P("0xa3")][P("0xef")],
+                this[P("0x319")] = t[P("0x1b4")] ? t[P("0x1b4")] : e[P("0x16a")].AQUA[P("0x16c")](.5),
+                this[P("0x31a")] = t[P("0x197")] ? t[P("0x197")] : 6,
+                this[P("0x191")] = i || function() {}
+                ,
+                this[P("0xd3")] = t.mode ? t[P("0xd3")] : 1,
+                this.count = 0,
+                this[P("0x2cb")] = []
+            }
+            ;
+            function i(e, t) {
+                for (var i = 0; i < t.length; i++)
+                    t.get(i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)),
+                    i--)
+            }
+            t.prototype[P("0x198")] = function() {
+                if (this[P("0x1a9")]++,
+                this.handler = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                !this[P("0x16f")]) {
+                    this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
+                    this[P("0x13c")][P("0x48")][P("0x150")][P("0x170")] = P("0x171");
+                    var t, i, r = this, n = [];
+                    this[P("0x172")] = n,
+                    this.handler[P("0x160")]((function(o) {
+                        if (2 == r.mode)
+                            var a = r[P("0x42")][P("0x174")](o[P("0x8c")]);
+                        else {
+                            var s = r[P("0x317")][P("0x86")](o[P("0x8c")]);
+                            a = r[P("0x42")][P("0xa3")][P("0xa4")](s, r[P("0x42")])
+                        }
+                        if (a) {
+                            var x = e[P("0x13")][P("0x175")](a)
+                              , l = e[P("0x23")].toDegrees(x[P("0x112")])
+                              , c = e[P("0x23")][P("0x113")](x[P("0x114")])
+                              , u = x.height;
+                            n[P("0x17c")](l, c, u),
+                            3 === n.length && (i[P("0x187")](i[P("0x0")] - 1)[P("0x31b")] = "鍗曞嚮缁撴潫缁樺埗",
+                            (t = r[P("0x306")][P("0x6d")](new (e[P("0x199")])))[P("0x176")] = P("0x31c"),
+                            t.tag = P("0x31d") + r[P("0x1a9")],
+                            t[P("0x6d")]({
+                                positions: e[P("0x11")].fromDegreesArrayHeights(n),
+                                width: r[P("0x31a")],
+                                loop: !0,
+                                material: new (e[P("0x212")])({
+                                    fabric: {
+                                        type: P("0x31e"),
+                                        uniforms: {
+                                            color: r[P("0x319")]
+                                        }
+                                    }
+                                })
+                            }),
+                            t[P("0x6d")]({
+                                positions: e.Cartesian3.fromDegreesArrayHeights(n),
+                                width: r[P("0x31a")],
+                                loop: !0,
+                                material: new (e[P("0x212")])({
+                                    fabric: {
+                                        type: "PolylineArrow",
+                                        uniforms: {
+                                            color: r._lineColor
+                                        }
+                                    }
+                                })
+                            })),
+                            6 === n[P("0x0")] && (i && (r._primitives[P("0x17f")](i),
+                            i = null),
+                            r[P("0x2d1")](n, t),
+                            r[P("0x16f")] = r[P("0x16f")] && r[P("0x16f")].destroy(),
+                            r._viewer[P("0x48")].style[P("0x170")] = "default")
+                        }
                     }
-                    function s(t, i, r, n) {
-                        var o = t[P("0x3cc")];
-                        e[P("0xc11")](n, a, t[P("0x7e")][P("0xa5")]);
-                        for (var s = n[P("0x0")], x = 0; x < s; ++x)
-                            i(n[x], t, o, r)
+                    ), e[P("0x161")].LEFT_CLICK),
+                    this[P("0x16f")][P("0x160")]((function(o) {
+                        if (2 == r[P("0xd3")])
+                            var a = r[P("0x42")].pickPosition(o.endPosition);
+                        else {
+                            var s = r[P("0x317")][P("0x86")](o.endPosition);
+                            a = r[P("0x42")][P("0xa3")][P("0xa4")](s, r[P("0x42")])
+                        }
+                        if (a) {
+                            var x = e[P("0x13")][P("0x175")](a)
+                              , l = e[P("0x23")][P("0x113")](x[P("0x112")])
+                              , c = e[P("0x23")].toDegrees(x[P("0x114")])
+                              , u = x[P("0x8b")];
+                            if (!/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) {
+                                if (3 == n[P("0x0")]) {
+                                    var h = n[P("0x1d5")]();
+                                    h[P("0x17c")](l, c, u),
+                                    r.measureEnd(h, t)
+                                }
+                                i && 0 != i[P("0x0")] ? i[P("0x187")](i[P("0x0")] - 1).position = a : ((i = r[P("0x306")][P("0x6d")](new (e[P("0x1a5")])))[P("0x176")] = P("0x31f"),
+                                i[P("0x2cc")] = "MeasureSlopeWidget_" + r.count,
+                                i[P("0x6d")]({
+                                    text: P("0x320"),
+                                    font: P("0x2ee"),
+                                    showBackground: !0,
+                                    pixelOffset: new (e[P("0x10")])(10,10),
+                                    disableDepthTestDistance: Number[P("0x31")]
+                                }),
+                                i[P("0x187")](i.length - 1).position = a)
+                            }
+                        }
                     }
-                    var x = new (e[P("0xae2")]);
-                    var l = new e.Cartesian3
-                        , c = new e.Cartesian3
-                        , u = new (e[P("0xbe2")])
-                        , h = new (e[P("0x16a")])(0, 0, 0, 0);
-                    t[P("0x5")]._update = function (t, i) {
-                        var a = this[P("0x10f")]
-                            , f = a[P("0xb84")]
-                            , d = f[P("0xc28")]
-                            , g = a[P("0xbe9")]
-                            , p = this[P("0xc29")]
-                            , m = (a[P("0x794")] = p)[P("0x7e")]
-                            , b = t[P("0x93")]
-                            , v = e[P("0x11")][P("0x99")](b, i, l);
-                        e[P("0x11")][P("0x8d")](v, v),
-                            i = e[P("0x11")][P("0x6e")](i, c),
-                            m[P("0x8c")] = t[P("0x87")],
-                            m[P("0x93")] = b,
-                            m.up = i,
-                            m[P("0x9b")] = v;
-                        var C, y, _, A, I, w = e[P("0xbe2")].clone(p.viewport, u), G = p[P("0xc2a")][P("0xc2b")](w, p[P("0xc06")]);
-                        a._jobScheduler[P("0xc2c")](),
-                            r(a),
-                            g[P("0xbf4")] = !1,
-                            g[P("0xb87")][P("0xa4")] = !0,
-                            g.passes[P("0xbe8")] = !0,
-                            g.passes.async = !1,
-                            g[P("0xc2d")] = !0,
-                            d[P("0xd2")](g),
-                            function (e) {
-                                var t = e[P("0xbe9")]
-                                    , i = e[P("0xbfb")];
-                                i[P("0xbfc")] = void 0,
-                                    i[P("0xbfd")] = void 0,
-                                    i[P("0xbfe")] = void 0,
-                                    i[P("0xbff")] = void 0,
-                                    i[P("0xc00")] = void 0,
-                                    i.clearGlobeDepth = !0,
-                                    (i.useDepthPlane = !0) && e[P("0xc01")][P("0xd2")](t),
-                                    i[P("0xc02")] = !1,
-                                    i.useWebVR = !1;
-                                for (var r = t[P("0xbef")], o = n[P("0xc03")], a = 0; a < 5; ++a)
-                                    o[a] = r[P("0xc03")][a];
-                                r = n
-                            }(a),
-                            function (t, i, r) {
-                                var n, a, l = t[P("0x794")];
-                                t[P("0x6d9")][P("0x5ca")][P("0x0")] = 0,
-                                    a = (n = t)[P("0xbe9")],
-                                    n._groundPrimitives[P("0xd2")](a),
-                                    n[P("0x306")][P("0xd2")](a),
-                                    n[P("0x43")] && n._globe.render(a),
-                                    l[P("0xc26")](t),
-                                    e[P("0x14")](r) && function (t, i, r) {
-                                        var n = t[P("0xb84")]
-                                            , o = t[P("0xbfb")]
-                                            , a = t[P("0x794")];
-                                        o[P("0xc04")] = i[P("0x796")];
-                                        var s = t._clearColorCommand;
-                                        e[P("0x16a")][P("0x6e")](r, s[P("0x169")]),
-                                            s[P("0x797")](n, i),
-                                            o[P("0xc05")] = !0,
-                                            a.globeDepth[P("0xd2")](n, i, a[P("0xc06")], t[P("0xc07")]),
-                                            a[P("0xc08")].clear(n, i, r),
-                                            o[P("0xc09")] = !1,
-                                            o[P("0xc0a")] = !1,
-                                            o.usePostProcessSelected = !1,
-                                            i[P("0x796")] = a[P("0xc08")][P("0x796")],
-                                            s[P("0x797")](n, i),
-                                            o[P("0xc0b")] = !1
-                                    }(t, i, r),
-                                    function (t, i) {
-                                        var r = t[P("0x7e")]
-                                            , n = t.context
-                                            , a = n.uniformState;
-                                        a[P("0xc12")](r);
-                                        var l = r[P("0xe8")][P("0x6e")](x);
-                                        l[P("0xb3e")] = r[P("0xe8")][P("0xb3e")],
-                                            l[P("0xc13")] = r[P("0xe8")].far,
-                                            a[P("0xc14")](l),
-                                            a.updatePass(e[P("0x5e4")][P("0xc15")]);
-                                        for (var c, u, h, f, d = t[P("0xbfb")], g = t[P("0x794")], p = s, m = d[P("0xc16")], b = d.useDepthPlane, v = t[P("0xc17")], C = t._stencilClearCommand, y = t[P("0xc01")], _ = g[P("0xc18")], A = _.length, I = 0; I < A; ++I) {
-                                            var w = A - I - 1
-                                                , G = _[w];
-                                            l[P("0xb3e")] = 0 != w ? G[P("0xb3e")] * t[P("0xc19")] : G[P("0xb3e")],
-                                                l[P("0xc13")] = G[P("0xc13")],
-                                                a[P("0xc14")](l);
-                                            var E = g[P("0xc08")];
-                                            v[P("0x797")](n, i),
-                                                n[P("0xc1a")] && C[P("0x797")](n, i),
-                                                a[P("0xc1b")](e[P("0x5e4")].GLOBE);
-                                            var S = G[P("0xc1c")][e[P("0x5e4")][P("0xc1d")]]
-                                                , T = G[P("0xc1e")][e[P("0x5e4")][P("0xc1d")]];
-                                            for (c = 0; c < T; ++c)
-                                                o(S[c], t, n, i);
-                                            for (e[P("0x14")](E) && d[P("0xc05")] && E[P("0xc1f")](n, i),
-                                                a[P("0xc1b")](e[P("0x5e4")][P("0xc20")]),
-                                                S = G[P("0xc1c")][e.Pass[P("0xc20")]],
-                                                T = G.indices[e[P("0x5e4")][P("0xc20")]],
-                                                c = 0; c < T; ++c)
-                                                o(S[c], t, n, i);
-                                            for (a[P("0xc1b")](e.Pass[P("0xc21")]),
-                                                S = G.commands[e[P("0x5e4")][P("0xc21")]],
-                                                T = G[P("0xc1e")][e[P("0x5e4")][P("0xc21")]],
-                                                c = 0; c < T; ++c)
-                                                o(S[c], t, n, i);
-                                            for (m && v[P("0x797")](n, i),
-                                                a.updatePass(e[P("0x5e4")][P("0xc22")]),
-                                                S = G.commands[e[P("0x5e4")].CESIUM_3D_TILE],
-                                                T = G[P("0xc1e")][e[P("0x5e4")][P("0xc22")]],
-                                                c = 0; c < T; ++c)
-                                                o(S[c], t, n, i);
-                                            for (a[P("0xc1b")](e[P("0x5e4")][P("0xc23")]),
-                                                S = G[P("0xc1c")][e[P("0x5e4")][P("0xc23")]],
-                                                T = G[P("0xc1e")][e[P("0x5e4")][P("0xc23")]],
-                                                c = 0; c < T; ++c)
-                                                o(S[c], t, n, i);
-                                            for (a[P("0xc1b")](e.Pass[P("0xc21")]),
-                                                S = G[P("0xc1c")][e[P("0x5e4")][P("0xc21")]],
-                                                T = G[P("0xc1e")][e[P("0x5e4")].CLASSIFICATION],
-                                                c = 0; c < T; ++c)
-                                                o(S[c], t, n, i);
-                                            for (0 < T && n[P("0xc1a")] && C[P("0x797")](n, i),
-                                                m && b && y.execute(n, i),
-                                                a.updatePass(e[P("0x5e4")][P("0x5e5")]),
-                                                S = G[P("0xc1c")][e.Pass.OPAQUE],
-                                                T = G[P("0xc1e")][e[P("0x5e4")].OPAQUE],
-                                                c = 0; c < T; ++c)
-                                                o(S[c], t, n, i);
-                                            if (0 != w && (l[P("0xb3e")] = G[P("0xb3e")],
-                                                a[P("0xc14")](l)),
-                                                a[P("0xc1b")](e.Pass.TRANSLUCENT),
-                                                (S = G[P("0xc1c")][e[P("0x5e4")].TRANSLUCENT]).length = G[P("0xc1e")][e.Pass[P("0x73e")]],
-                                                p(t, o, i, S),
-                                                n[P("0xc24")] && t[P("0xc25")] && d[P("0xc05")]) {
-                                                var M = E[P("0x796")].depthStencilTexture
-                                                    , N = (u = w,
-                                                        f = h = void 0,
-                                                        f = (h = t._view.pickDepths)[u],
-                                                        e[P("0x14")](f) || (f = new e.PickDepth,
-                                                            h[u] = f),
-                                                        f);
-                                                N[P("0xd2")](n, M),
-                                                    N.executeCopyDepth(n, i)
+                    ), e.ScreenSpaceEventType[P("0x163")])
+                }
+            }
+            ,
+            t[P("0x5")][P("0x2d1")] = function(t, i) {
+                if (t && !(t[P("0x0")] < 3) && i) {
+                    var r, n, o = [], a = [];
+                    t[2] >= t[5] ? (t[6] = t[0],
+                    t[7] = t[1],
+                    t[8] = t[5],
+                    r = t[5],
+                    n = [t[3], t[4], t[5]],
+                    t[0],
+                    t[3],
+                    t[1],
+                    t[4],
+                    t[0],
+                    t[1],
+                    t[2],
+                    t[5],
+                    o[P("0x17c")](t[3], t[4], t[5], t[0], t[1], t[2]),
+                    a.push(t[3], t[4], t[5], t[0], t[1], t[5])) : (t[6] = t[3],
+                    t[7] = t[4],
+                    t[8] = t[2],
+                    r = t[2],
+                    n = [t[0], t[1], t[2]],
+                    t[0],
+                    t[3],
+                    t[1],
+                    t[4],
+                    t[3],
+                    t[4],
+                    t[2],
+                    t[5],
+                    o[P("0x17c")](t[0], t[1], t[2], t[3], t[4], t[5]),
+                    a[P("0x17c")](t[0], t[1], t[2], t[3], t[4], t[2])),
+                    i.get(0)[P("0x19f")] = e[P("0x11")][P("0x19e")](o),
+                    i[P("0x187")](1)[P("0x19f")] = e.Cartesian3[P("0x19e")](a);
+                    var s = e[P("0x11")][P("0x1a1")](t[0], t[1], r)
+                      , x = e[P("0x11")][P("0x1a1")](t[3], t[4], r);
+                    !function(t, i, r, n, o) {
+                        var a;
+                        t < 1e3 ? t[P("0x2af")](2) : (t / 1e3)[P("0x2af")](2),
+                        i < 1e3 ? i[P("0x2af")](2) : (i / 1e3)[P("0x2af")](2),
+                        a = Math.round(e[P("0x23")].toDegrees(Math[P("0x321")](i / t))) + "掳";
+                        var s = function(e, t) {
+                            for (var i = 0; i < e[P("0x0")]; i++)
+                                if (e.get(i).name == t)
+                                    return e[P("0x187")](i)
+                        }(r, P("0x322") + n);
+                        s ? (s[P("0x187")](0)[P("0x31b")] = a,
+                        s[P("0x187")](0).position = e[P("0x11")][P("0x1a1")](o[0], o[1], o[2])) : ((s = r[P("0x6d")](new e.LabelCollection))[P("0x176")] = P("0x322") + n,
+                        s[P("0x2cc")] = "MeasureSlopeWidget_" + n,
+                        s[P("0x6d")]({
+                            position: e[P("0x11")].fromDegrees(o[0], o[1], o[2]),
+                            style: e[P("0x323")].FILL_AND_OUTLINE,
+                            outlineWidth: 2,
+                            text: a,
+                            font: P("0x324"),
+                            pixelOffset: new (e[P("0x10")])(-20,0),
+                            disableDepthTestDistance: Number.POSITIVE_INFINITY
+                        }))
+                    }(e[P("0x11")][P("0x8e")](s, x), Math.abs(t[2] - t[5]), this[P("0x306")], this[P("0x1a9")], n)
+                }
+            }
+            ,
+            t[P("0x5")][P("0x2d2")] = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")].destroy(),
+                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x318")]);
+                var t = this;
+                this[P("0x16f")][P("0x160")]((function(i) {
+                    var r = t[P("0x13c")][P("0x10f")][P("0xa4")](i[P("0x8c")]);
+                    if (r && r.collection && r[P("0x2fc")][P("0x2cc")] && -1 < r[P("0x2fc")][P("0x2cc")][P("0x2d3")](P("0x316"))) {
+                        var n = function(e, t) {
+                            for (var i = 0; i < e[P("0x0")]; i++)
+                                if (e[P("0x187")](i)[P("0x2cc")] == t && e[P("0x187")](i)[P("0x176")] == P("0x31c"))
+                                    return e[P("0x187")](i)
+                        }(t[P("0x306")], r.collection[P("0x2cc")]);
+                        n[P("0x187")](0).material[P("0x19d")][P("0x169")] = e[P("0x16a")][P("0x2d5")],
+                        n.get(1)[P("0x19c")][P("0x19d")][P("0x169")] = e[P("0x16a")].YELLOW,
+                        t[P("0x2cb")][P("0x17c")](r[P("0x2fc")][P("0x2cc")])
+                    }
+                }
+                ), e[P("0x161")][P("0x17e")])
+            }
+            ,
+            t[P("0x5")][P("0x2d6")] = function() {
+                if (this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")].destroy(),
+                this[P("0x2cb")] && 0 < this[P("0x2cb")][P("0x0")])
+                    for (var e = 0; e < this.tags.length; e++)
+                        i(this[P("0x2cb")][e], this[P("0x306")])
+            }
+            ,
+            t[P("0x5")].clear = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this[P("0x318")][P("0x150")][P("0x170")] = P("0x18c"),
+                function(e, t) {
+                    for (var i = 0; i < t.length; i++)
+                        t.get(i)[P("0x176")] && -1 < t[P("0x187")](i)[P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](t.get(i)),
+                        i--)
+                }(P("0x316"), this[P("0x306")])
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x325")] = function(t, i) {
+                t = e[P("0x102")](t, e[P("0x102")][P("0x128")]),
+                this[P("0x13c")] = t[P("0x13b")],
+                this[P("0x42")] = this._viewer[P("0x10f")],
+                this[P("0x44")] = this[P("0x42")][P("0xa3")].ellipsoid,
+                this[P("0x317")] = this[P("0x13c")][P("0x7e")],
+                this[P("0x318")] = this[P("0x42")].canvas,
+                this[P("0x306")] = this[P("0x42")].primitives,
+                this.callback = i || function() {}
+                ,
+                this[P("0x319")] = t.lineColor ? t[P("0x1b4")] : e.Color.CHARTREUSE,
+                this[P("0x31a")] = t[P("0x197")] ? t[P("0x197")] : 2,
+                this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1,
+                this[P("0x326")] = 0,
+                this[P("0x327")] = e[P("0x102")](t[P("0x328")], 500),
+                this._interpolationInterval = 3821.851414258813,
+                this[P("0x329")] = this[P("0x42")][P("0xa3")][P("0x32a")],
+                this[P("0x1a9")] = 0,
+                this[P("0x2cb")] = [],
+                this[P("0x32b")] = [],
+                this[P("0x32c")] = []
+            }
+            ;
+            function i(e, t) {
+                for (var i = 0, r = 0; r < t[P("0x0")]; r++)
+                    if (t[r] == e && i++,
+                    2 == i)
+                        return !0
+            }
+            function r(e, t, i, r, n, o, a) {
+                var s = {}
+                  , x = turf[P("0x2d4")]([[e[P("0x180")][P("0x2ed")][0][i[0]], t[0], t[1], e[P("0x180")][P("0x2ed")][0][i[0]]]])
+                  , l = turf.area(x)
+                  , c = a - r
+                  , u = 1 / 3 * l * c
+                  , h = turf[P("0x2d4")]([[e.geometry.coordinates[0][i[1]], t[0], t[1], e[P("0x180")].coordinates[0][i[1]]]])
+                  , f = turf[P("0x2d9")](h)
+                  , d = a - n
+                  , g = turf[P("0x2d4")]([[e.geometry[P("0x2ed")][0][i[1]], e[P("0x180")][P("0x2ed")][0][i[2]], t[0], t[1], e.geometry[P("0x2ed")][0][i[1]]]])
+                  , p = turf[P("0x2d9")](g)
+                  , m = turf[P("0x2d4")]([[e[P("0x180")][P("0x2ed")][0][i[1]], e[P("0x180")][P("0x2ed")][0][i[2]], t[1], t[0], e[P("0x180")][P("0x2ed")][0][i[1]]]])
+                  , b = turf.area(m)
+                  , v = b < p ? p : b
+                  , C = 1 / 3 * f * d + 1 / 3 * (v - f) * (d + (a - o));
+                return 0 <= c ? (s[P("0x34c")] = u,
+                s[P("0x34d")] = l,
+                s[P("0x34a")] = C,
+                s[P("0x34b")] = v) : (s[P("0x34c")] = C,
+                s.fillArea = v,
+                s[P("0x34a")] = u,
+                s[P("0x34b")] = l),
+                s
+            }
+            function n(t, i, r, n, o, a, s, x, l) {
+                var c = {}
+                  , u = Math[P("0x78")](t / (t - i))
+                  , h = new (e[P("0x11")])(0,0,0)
+                  , f = e.Cartesian3[P("0x1a1")](r[P("0x180")][P("0x2ed")][0][n][0], r[P("0x180")][P("0x2ed")][0][o][1], x)
+                  , d = e[P("0x11")][P("0x1a1")](r[P("0x180")][P("0x2ed")][0][o][0], r[P("0x180")][P("0x2ed")][0][o][1], l)
+                  , g = e[P("0x13")][P("0x175")](e[P("0x11")][P("0x308")](f, d, u, h));
+                return c[P("0x348")] = [e[P("0x23")][P("0x113")](g[P("0x112")]), e.Math[P("0x113")](g[P("0x114")])],
+                c.vertexSerial = [a, s],
+                c
+            }
+            function o(e, t) {
+                for (var i = t.values, r = 0; r < i[P("0x0")]; r++)
+                    i[r][P("0x2cc")] == e && (t[P("0x17f")](i[r]),
+                    r--)
+            }
+            function a(e, t) {
+                for (var i = 0; i < t[P("0x0")]; i++)
+                    t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t.get(i)),
+                    i--)
+            }
+            function s(e, t, i) {
+                for (var r = 0; r < t[P("0x0")]; r++)
+                    t[r][P("0x2cc")] == e && i[P("0x17f")](t[r].primitive)
+            }
+            e[P("0xf")](t.prototype, {
+                viewer: {
+                    get: function() {
+                        return this[P("0x13c")]
+                    }
+                },
+                designElevation: {
+                    get: function() {
+                        return this._designElevation
+                    }
+                },
+                tin: {
+                    get: function() {
+                        return this[P("0x32d")]
+                    }
+                },
+                minHeight: {
+                    get: function() {
+                        return this[P("0x32e")]
+                    }
+                },
+                maxHeight: {
+                    get: function() {
+                        return this[P("0x32f")]
+                    }
+                }
+            }),
+            t[P("0x5")][P("0x198")] = function() {
+                if (this[P("0x1a9")]++,
+                this.handler = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                !this[P("0x16f")]) {
+                    this[P("0x329")] = this[P("0x42")][P("0xa3")][P("0x32a")],
+                    this[P("0x42")].globe.depthTestAgainstTerrain = !1,
+                    this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x318")]),
+                    this[P("0x13c")][P("0x48")][P("0x150")][P("0x170")] = P("0x171");
+                    var t, i, r = this, n = [];
+                    this[P("0x172")] = n,
+                    this[P("0x16f")].setInputAction((function(i) {
+                        if (1 == r[P("0xd3")])
+                            var o = r[P("0x317")][P("0x86")](i[P("0x8c")])
+                              , a = r._scene[P("0xa3")].pick(o, r[P("0x42")]);
+                        else
+                            a = r[P("0x42")][P("0x174")](i[P("0x8c")]);
+                        a && (n.push(a),
+                        1 == n.length && ((t = r[P("0x306")][P("0x6d")](new (e[P("0x199")])))[P("0x176")] = "MeasureVolumeWidget_draw_polyline",
+                        t[P("0x2cc")] = P("0x330") + r[P("0x1a9")],
+                        t[P("0x6d")]({
+                            polyline: {}
+                        }),
+                        t[P("0x187")](t.length - 1)[P("0x19a")] = r[P("0x31a")],
+                        t[P("0x187")](t[P("0x0")] - 1)[P("0x19b")] = !0,
+                        t[P("0x187")](t.length - 1)[P("0x19c")][P("0x19d")].color = r[P("0x319")],
+                        t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = n),
+                        3 <= n[P("0x0")] && (t[P("0x187")](t[P("0x0")] - 1).positions = n,
+                        /Android|webOS|iPhone|ipad|iPod|BlackBerry/i.test(navigator[P("0x2cd")])),
+                        r[P("0x1aa")] = t)
+                    }
+                    ), e[P("0x161")].LEFT_CLICK),
+                    this.handler[P("0x160")]((function(o) {
+                        if (!/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) {
+                            if (1 == r[P("0xd3")])
+                                var a = r[P("0x317")].getPickRay(o.endPosition)
+                                  , s = r[P("0x42")][P("0xa3")].pick(a, r._scene);
+                            else
+                                s = r[P("0x42")][P("0x174")](o[P("0x64")]);
+                            if (!s)
+                                return;
+                            if (1 <= n[P("0x0")]) {
+                                var x = n[P("0x1d5")]();
+                                x[P("0x17c")](s),
+                                t[P("0x187")](t.length - 1).positions = x
+                            }
+                            i ? i.get(i[P("0x0")] - 1)[P("0x8c")] = s : ((i = r[P("0x306")][P("0x6d")](new (e[P("0x1a5")])))[P("0x176")] = P("0x331"),
+                            i[P("0x2cc")] = "MeasureVolumeWidget_" + r.count,
+                            i.add({
+                                text: P("0x185"),
+                                font: P("0x1a0"),
+                                showBackground: !0,
+                                pixelOffset: new e.Cartesian2(10,10),
+                                disableDepthTestDistance: Number[P("0x31")]
+                            }),
+                            i[P("0x187")](i[P("0x0")] - 1)[P("0x8c")] = s),
+                            r[P("0x173")] = i
+                        }
+                    }
+                    ), e[P("0x161")].MOUSE_MOVE),
+                    this[P("0x16f")][P("0x160")]((function(o) {
+                        if (1 == r[P("0xd3")])
+                            var a = r[P("0x317")][P("0x86")](o[P("0x8c")])
+                              , s = r[P("0x42")].globe.pick(a, r[P("0x42")]);
+                        else
+                            s = r[P("0x42")][P("0x174")](o[P("0x8c")]);
+                        s && (n[P("0x17c")](s),
+                        r[P("0x306")].remove(t),
+                        r[P("0x306")][P("0x17f")](i),
+                        r[P("0x332")] = r[P("0x2d1")](),
+                        r.callback(r[P("0x332")]),
+                        r[P("0x332")][P("0x333")]((function(t) {
+                            r[P("0x42")][P("0xa3")][P("0x32a")] = r._depthTestAgainstTerrain,
+                            r[P("0x334")](),
+                            r[P("0x335")](),
+                            r[P("0x336")](),
+                            r.addOuterPolygon(),
+                            function(t, i, r, n, o) {
+                                var a, s, x = i[P("0x34e")], l = i[P("0x34f")];
+                                s = x < 1e6 ? (a = P("0x350") + x[P("0x2af")](2) + "m虏",
+                                "浣撶Н锛�" + l[P("0x2af")](2) + "m鲁") : (a = P("0x350") + (x / 1e6)[P("0x2af")](2) + P("0x2da"),
+                                "浣撶Н锛�" + (l / 1e9)[P("0x2af")](2) + P("0x351")),
+                                o._resultLabels = t[P("0x6d")](new (e[P("0x1a5")]));
+                                var c = o[P("0x352")];
+                                c.name = P("0x353"),
+                                c[P("0x2cc")] = "MeasureVolumeWidget_" + n,
+                                c[P("0x6d")]({
+                                    style: e[P("0x323")][P("0x2de")],
+                                    outlineWidth: 2,
+                                    text: s + "\n" + a,
+                                    font: P("0x324"),
+                                    showBackground: !0,
+                                    pixelOffset: new e.Cartesian2(10,0),
+                                    disableDepthTestDistance: Number[P("0x31")]
+                                }),
+                                c[P("0x187")](c[P("0x0")] - 1).position = r[r[P("0x0")] - 1]
+                            }(r[P("0x306")], t, r[P("0x172")], r[P("0x1a9")], r)
+                        }
+                        )),
+                        r[P("0x16f")] = r[P("0x16f")] && r[P("0x16f")][P("0xf4")](),
+                        r[P("0x13c")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"))
+                    }
+                    ), e[P("0x161")][P("0x189")])
+                }
+            }
+            ,
+            t[P("0x5")][P("0x334")] = function() {
+                var t = new (e[P("0x179")])({
+                    geometry: e[P("0x1af")][P("0x231")]({
+                        positions: this[P("0x172")],
+                        height: this._minHeight,
+                        extrudedHeight: 1e5,
+                        vertexFormat: e[P("0x1b0")].VERTEX_FORMAT
+                    }),
+                    attributes: {
+                        color: e[P("0x184")][P("0x1b2")](e[P("0x16a")][P("0x310")].withAlpha(.5))
+                    },
+                    id: P("0x330") + this.count
+                });
+                this[P("0x337")] = new e.ClassificationPrimitive({
+                    geometryInstances: t,
+                    classificationType: e[P("0x17a")].BOTH
+                }),
+                this[P("0x32b")][P("0x17c")]({
+                    tag: "MeasureVolumeWidget_" + this[P("0x1a9")],
+                    primitive: this[P("0x337")]
+                }),
+                this[P("0x306")][P("0x6d")](this[P("0x337")])
+            }
+            ,
+            t[P("0x5")][P("0x336")] = function() {
+                this._designPolygonEntity = this[P("0x13c")][P("0x194")][P("0x6d")]({
+                    name: "MeasureVolumeWidget_draw_base_polygon",
+                    tag: "MeasureVolumeWidget_" + this[P("0x1a9")],
+                    polygon: {
+                        hierarchy: {
+                            positions: this[P("0x172")]
+                        },
+                        material: e[P("0x16a")][P("0x338")][P("0x16c")](.3),
+                        perPositionHeight: !1,
+                        height: this[P("0x326")]
+                    }
+                })
+            }
+            ,
+            t[P("0x5")].addVerticalPolylines = function() {
+                var t = this[P("0x339")][P("0x33a")]
+                  , i = [];
+                this[P("0x33b")] = this[P("0x306")].add(new (e[P("0x199")])),
+                this[P("0x33b")][P("0x176")] = P("0x33c"),
+                this._verticalPolylines[P("0x2cc")] = P("0x330") + this.count;
+                for (var r = 0; r < t[P("0x0")]; r++)
+                    if (!(t[r].properties.z < this[P("0x326")])) {
+                        var n = [t[r].geometry.coordinates[0], t[r][P("0x180")][P("0x2ed")][1], t[r][P("0x33d")].z]
+                          , o = [t[r][P("0x180")][P("0x2ed")][0], t[r][P("0x180")].coordinates[1], this[P("0x326")]]
+                          , a = [t[r][P("0x180")][P("0x2ed")][0], t[r].geometry.coordinates[1], this._maxHeight]
+                          , s = n.concat(o)
+                          , x = n.concat(a);
+                        i[P("0x17c")](s),
+                        this[P("0x33b")][P("0x6d")]({
+                            positions: e[P("0x11")][P("0x19e")](s),
+                            material: e[P("0x212")][P("0x213")](P("0x16a"), {
+                                color: new (e[P("0x16a")])(1,0,0,1)
+                            })
+                        }),
+                        this[P("0x33b")][P("0x6d")]({
+                            positions: e[P("0x11")].fromDegreesArrayHeights(x),
+                            material: e.Material[P("0x213")](P("0x16a"), {
+                                color: new (e[P("0x16a")])(0,1,0,.5)
+                            })
+                        })
+                    }
+            }
+            ,
+            t[P("0x5")].addOuterPolygon = function() {
+                this[P("0x339")].features
+            }
+            ,
+            t.prototype[P("0x2d1")] = function() {
+                var t = this;
+                if (this[P("0x172")] && 0 != this[P("0x172")].length) {
+                    1 == this[P("0xd3")] && (this._scene[P("0xa3")].depthTestAgainstTerrain = !0);
+                    for (var i = [], r = 0; r < this._array_.length; r++) {
+                        var n = e[P("0x13")][P("0x175")](this[P("0x172")][r])
+                          , o = e[P("0x23")][P("0x113")](n[P("0x112")])
+                          , a = e[P("0x23")].toDegrees(n[P("0x114")]);
+                        i[P("0x17c")]([o, a])
+                    }
+                    i[P("0x17c")](i[0]);
+                    var s = turf[P("0x33e")](i)
+                      , x = turf.bbox(s)
+                      , l = turf[P("0x33f")](x)
+                      , c = (turf[P("0x2d9")](l),
+                    this._samplingPointsNumber)
+                      , u = turf[P("0x340")](2 * c, {
+                        bbox: x
+                    })
+                      , h = turf.polygon([i]);
+                    for (r = 0; r < u[P("0x33a")][P("0x0")]; r++) {
+                        var f = turf[P("0x2ec")](u[P("0x33a")][r].geometry[P("0x2ed")]);
+                        turf[P("0x341")](f, h) || (u[P("0x33a")][P("0x259")](r, 1),
+                        r--)
+                    }
+                    var d = []
+                      , g = this[P("0x172")].concat(this[P("0x172")][0]);
+                    for (r = 0; r < g[P("0x0")] - 1; r++)
+                        for (var p = 1; p < Math[P("0x342")](c / 10); p++) {
+                            var m = new (e[P("0x11")])(0,0,0);
+                            m = e[P("0x11")].lerp(g[r], g[r + 1], p * (1 / Math[P("0x342")](c / 10)), m),
+                            d[P("0x17c")](m)
+                        }
+                    var b = this[P("0x172")].concat(d)
+                      , v = []
+                      , C = [];
+                    for (r = 0; r < b[P("0x0")]; r++) {
+                        var y = this._ellipsoid.cartesianToCartographic(b[r])[P("0x112")]
+                          , _ = this._ellipsoid[P("0xd6")](b[r]).latitude;
+                        v[P("0x17c")](new e.Cartographic(y,_)),
+                        C[P("0x17c")]([y, _])
+                    }
+                    for (r = 0; r < u[P("0x33a")][P("0x0")]; r++) {
+                        var A = e[P("0x23")][P("0x119")](u[P("0x33a")][r].geometry[P("0x2ed")][0])
+                          , I = e[P("0x23")][P("0x119")](u[P("0x33a")][r][P("0x180")][P("0x2ed")][1]);
+                        v.push(new (e[P("0x13")])(A,I))
+                    }
+                    var w = {};
+                    return w[P("0x33a")] = [],
+                    this[P("0x42")].sampleHeightMostDetailed(v)[P("0x333")]((function(i) {
+                        var r = [];
+                        w[P("0x165")] = P("0x343");
+                        for (var n = 0; n < i[P("0x0")]; n++)
+                            i[n][P("0x8b")] && (r.push(i[n][P("0x8b")]),
+                            w[P("0x33a")][P("0x17c")]({
+                                type: P("0x344"),
+                                geometry: {
+                                    coordinates: [e[P("0x23")][P("0x113")](i[n][P("0x112")]), e[P("0x23")][P("0x113")](i[n][P("0x114")])],
+                                    type: P("0x345")
+                                },
+                                properties: {
+                                    z: i[n][P("0x8b")]
+                                }
+                            }));
+                        t[P("0x32e")] = Math[P("0x7d")][P("0x346")](null, r),
+                        t[P("0x32f")] = Math[P("0xee")][P("0x346")](null, r),
+                        t[P("0x326")] = t[P("0x32e")],
+                        t[P("0x339")] = w;
+                        var o = turf.tin(w, "z");
+                        return t[P("0x32d")] = o,
+                        t[P("0x347")]()
+                    }
+                    ))
+                }
+            }
+            ,
+            t[P("0x5")].getVolume = function() {
+                for (var e = this[P("0x32d")], t = 0, o = 0, a = this._designElevation, s = 0; s < e[P("0x33a")].length; s++) {
+                    var x = e.features[s][P("0x33d")].a - a
+                      , l = e[P("0x33a")][s][P("0x33d")].b - a
+                      , c = e[P("0x33a")][s][P("0x33d")].c - a
+                      , u = []
+                      , h = [];
+                    if (x * l < 0 || x * c < 0 || l * c < 0) {
+                        if (x * l < 0) {
+                            var f = n(x, l, e[P("0x33a")][s], 0, 1, "a", "b", e[P("0x33a")][s][P("0x33d")].a, e[P("0x33a")][s][P("0x33d")].b);
+                            u[P("0x17c")](f[P("0x348")]),
+                            h[P("0x17c")](f[P("0x349")][0], f.vertexSerial[1])
+                        }
+                        var d;
+                        x * c < 0 && (f = n(x, c, e[P("0x33a")][s], 0, 2, "a", "c", e[P("0x33a")][s][P("0x33d")].a, e[P("0x33a")][s][P("0x33d")].c),
+                        u[P("0x17c")](f[P("0x348")]),
+                        h.push(f[P("0x349")][0], f[P("0x349")][1])),
+                        l * c < 0 && (f = n(l, c, e[P("0x33a")][s], 1, 2, "b", "c", e[P("0x33a")][s].properties.b, e.features[s][P("0x33d")].c),
+                        u[P("0x17c")](f[P("0x348")]),
+                        h[P("0x17c")](f[P("0x349")][0], f[P("0x349")][1])),
+                        i("a", h) && (t += (d = r(e[P("0x33a")][s], u, [0, 1, 2], e[P("0x33a")][s][P("0x33d")].a, e[P("0x33a")][s][P("0x33d")].b, e[P("0x33a")][s][P("0x33d")].c, a))[P("0x34a")],
+                        o += d[P("0x34b")]),
+                        i("b", h) && (t += (d = r(e[P("0x33a")][s], u, [1, 0, 2], e.features[s][P("0x33d")].b, e[P("0x33a")][s][P("0x33d")].a, e.features[s].properties.c, a))[P("0x34a")],
+                        o += d[P("0x34b")]),
+                        i("c", h) && (t += (d = r(e[P("0x33a")][s], u, [2, 0, 1], e[P("0x33a")][s].properties.c, e.features[s].properties.a, e[P("0x33a")][s].properties.b, a))[P("0x34a")],
+                        o += d.excavationArea)
+                    } else {
+                        var g = 1 / 3 * [a - e[P("0x33a")][s].properties.a + (a - e[P("0x33a")][s][P("0x33d")].b) + (a - e[P("0x33a")][s][P("0x33d")].c)];
+                        if (g < 0) {
+                            var p = turf.polygon([e.features[s][P("0x180")][P("0x2ed")][0]])
+                              , m = turf.area(p);
+                            t += m * -g,
+                            o += m
+                        }
+                    }
+                }
+                var b = {
+                    volume: Number(t[P("0x2af")](3)),
+                    baseArea: Number(o[P("0x2af")](3))
+                };
+                return new C.a((function(e) {
+                    e(b)
+                }
+                ))
+            }
+            ,
+            t.prototype[P("0x2d2")] = function() {
+                var t = this;
+                this[P("0x16f")] || (this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x318")]),
+                this.handler[P("0x160")]((function(i) {
+                    var r = t._viewer[P("0x10f")][P("0xa4")](i[P("0x8c")]);
+                    if (r)
+                        if (r[P("0x2fc")] && r.collection[P("0x2cc")] && -1 < r[P("0x2fc")][P("0x2cc")][P("0x2d3")](P("0x325"))) {
+                            var n = function(e, t) {
+                                for (var i = 0; i < t[P("0x0")]; i++)
+                                    if (t[i].tag == e)
+                                        return t[i][P("0x182")]
+                            }(r[P("0x2fc")][P("0x2cc")], t[P("0x32b")]);
+                            n[P("0x354")](r[P("0x2fc")][P("0x2cc")])[P("0x169")] = e[P("0x184")].toValue(e.Color[P("0x2d5")].withAlpha(.5));
+                            for (var o = 0; o < r[P("0x2fc")][P("0x355")][P("0x0")]; o++)
+                                r[P("0x2fc")][P("0x355")][o][P("0x19c")].uniforms.color = e[P("0x16a")][P("0x2d5")];
+                            t._pickedClassificationPrimitives.push(n),
+                            t[P("0x2cb")][P("0x17c")](r.collection[P("0x2cc")])
+                        } else
+                            r.id && -1 < r.id[P("0x2d3")](P("0x325")) && (r.primitive[P("0x354")](r.id)[P("0x169")] = e.ColorGeometryInstanceAttribute[P("0x356")](e[P("0x16a")][P("0x2d5")].withAlpha(.5)),
+                            t[P("0x32c")].push(r),
+                            t[P("0x2cb")][P("0x17c")](r.id))
+                }
+                ), e.ScreenSpaceEventType.LEFT_CLICK))
+            }
+            ,
+            t.prototype[P("0x2d6")] = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")]();
+                for (var e = 0; e < this._pickedClassificationPrimitives[P("0x0")]; e++)
+                    a(this[P("0x2cb")][e], this[P("0x306")]),
+                    o(this[P("0x2cb")][e], this[P("0x13c")][P("0x194")]),
+                    s(this[P("0x2cb")][e], this._classificationPrimitives, this[P("0x306")])
+            }
+            ,
+            t[P("0x5")][P("0x357")] = function(t) {
+                var i = this;
+                if (t)
+                    (this[P("0x326")] = t) > this[P("0x32f")] && (this[P("0x326")] = this[P("0x32f")]),
+                    t < this._minHeight && (this[P("0x326")] = this._minHeight),
+                    this[P("0x358")](),
+                    this[P("0x347")]()[P("0x333")]((function(e) {
+                        var t, r, n = e[P("0x34e")], o = e.volume;
+                        return r = n < 1e6 ? (t = P("0x350") + n.toFixed(2) + "m虏",
+                        "浣撶Н锛�" + o[P("0x2af")](2) + "m鲁") : (t = P("0x350") + (n / 1e6)[P("0x2af")](2) + P("0x2da"),
+                        P("0x359") + (o / 1e9)[P("0x2af")](2) + P("0x351")),
+                        i[P("0x352")].get(i._resultLabels.length - 1)[P("0x31b")] = r + "\n" + t,
+                        e
+                    }
+                    ));
+                else {
+                    if (this.handler)
+                        return;
+                    this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x318")]),
+                    this[P("0x13c")][P("0x48")][P("0x150")].cursor = P("0x171"),
+                    this[P("0x16f")][P("0x160")]((function(t) {
+                        if (1 == i.mode)
+                            var r = i._camera[P("0x86")](t[P("0x8c")])
+                              , n = i[P("0x42")][P("0xa3")][P("0xa4")](r, i[P("0x42")]);
+                        else
+                            n = i[P("0x42")].pickPosition(t[P("0x8c")]);
+                        if (n) {
+                            var o = e[P("0x13")][P("0x175")](n)[P("0x8b")];
+                            (i[P("0x326")] = o) > i._maxHeight && (i._designElevation = i[P("0x32f")]),
+                            o < i[P("0x32e")] && (i[P("0x326")] = i._minHeight),
+                            i[P("0x16f")] = i[P("0x16f")] && i[P("0x16f")][P("0xf4")](),
+                            i[P("0x13c")].canvas[P("0x150")].cursor = P("0x18c"),
+                            i[P("0x358")](),
+                            i[P("0x35a")](),
+                            i[P("0x347")]()[P("0x333")]((function(e) {
+                                var t, r, n = e[P("0x34e")], o = e.volume;
+                                return r = n < 1e6 ? (t = P("0x350") + n.toFixed(2) + "m虏",
+                                "浣撶Н锛�" + o[P("0x2af")](2) + "m鲁") : (t = P("0x350") + (n / 1e6)[P("0x2af")](2) + P("0x2da"),
+                                "浣撶Н锛�" + (o / 1e9)[P("0x2af")](2) + "km鲁"),
+                                i._resultLabels[P("0x187")](i[P("0x352")][P("0x0")] - 1)[P("0x31b")] = r + "\n" + t,
+                                e
+                            }
+                            ))
+                        }
+                    }
+                    ), e.ScreenSpaceEventType[P("0x17e")])
+                }
+            }
+            ,
+            t[P("0x5")].updateClassificationPrimitive = function() {
+                this[P("0x306")][P("0x17f")](this[P("0x337")]);
+                var t = new (e[P("0x179")])({
+                    geometry: e[P("0x1af")][P("0x231")]({
+                        positions: this._array_,
+                        height: this[P("0x326")],
+                        extrudedHeight: 1e5,
+                        vertexFormat: e[P("0x1b0")][P("0x1b1")]
+                    }),
+                    attributes: {
+                        color: e[P("0x184")][P("0x1b2")](e[P("0x16a")][P("0x310")][P("0x16c")](.5))
+                    },
+                    id: P("0x330") + this[P("0x1a9")]
+                });
+                this[P("0x337")] = new (e[P("0x35b")])({
+                    geometryInstances: t,
+                    classificationType: e[P("0x17a")].BOTH
+                }),
+                this._classificationPrimitives[P("0x17c")]({
+                    tag: "MeasureVolumeWidget_" + this.count,
+                    primitive: this._classificationPrimitive
+                }),
+                this[P("0x306")].add(this._classificationPrimitive)
+            }
+            ,
+            t[P("0x5")][P("0x35a")] = function() {
+                !function(e, t, i) {
+                    for (var r = 0; r < i.length; r++)
+                        i[P("0x187")](r)[P("0x2cc")] == e && i[P("0x187")](r).name == t && (i[P("0x17f")](i.get(r)),
+                        r--)
+                }("MeasureVolumeWidget_" + this[P("0x1a9")], P("0x33c"), this[P("0x306")]),
+                function(e, t, i) {
+                    for (var r = i.values, n = 0; n < r.length; n++)
+                        r[n][P("0x2cc")] == e && r[n][P("0x176")] == t && (i[P("0x17f")](r[n]),
+                        n--)
+                }(P("0x330") + this[P("0x1a9")], P("0x35c"), this._viewer.entities);
+                var t = this._interpolationPoints.features
+                  , i = []
+                  , r = [];
+                this[P("0x33b")] = this._primitives.add(new e.PolylineCollection),
+                this[P("0x33b")].name = P("0x33c"),
+                this[P("0x33b")][P("0x2cc")] = P("0x330") + this[P("0x1a9")];
+                for (var n = 0; n < t.length; n++)
+                    if (!(t[n].properties.z < this._designElevation)) {
+                        var o = [t[n][P("0x180")][P("0x2ed")][0], t[n][P("0x180")].coordinates[1], t[n][P("0x33d")].z]
+                          , a = [t[n][P("0x180")].coordinates[0], t[n][P("0x180")][P("0x2ed")][1], this[P("0x326")]]
+                          , s = [t[n][P("0x180")][P("0x2ed")][0], t[n].geometry.coordinates[1], this[P("0x32f")]]
+                          , x = o[P("0x1c6")](a)
+                          , l = o[P("0x1c6")](s);
+                        r[P("0x17c")](turf[P("0x2ec")]([t[n][P("0x180")].coordinates[0], t[n][P("0x180")][P("0x2ed")][1]], {
+                            z: t[n][P("0x33d")].z
+                        })),
+                        i[P("0x17c")](t[n][P("0x180")][P("0x2ed")][0], t[n][P("0x180")][P("0x2ed")][1], this[P("0x326")]),
+                        this[P("0x33b")][P("0x6d")]({
+                            positions: e.Cartesian3[P("0x19e")](x),
+                            material: e[P("0x212")][P("0x213")](P("0x16a"), {
+                                color: new e.Color(1,0,0,1)
+                            })
+                        }),
+                        this[P("0x33b")][P("0x6d")]({
+                            positions: e[P("0x11")][P("0x19e")](l),
+                            material: e[P("0x212")].fromType(P("0x16a"), {
+                                color: new (e[P("0x16a")])(0,1,0,.5)
+                            })
+                        })
+                    }
+                var c = turf.featureCollection(r)
+                  , u = (P("0x35d"),
+                turf[P("0x35e")](c))
+                  , h = [];
+                for (n = 0; n < u[P("0x180")][P("0x2ed")][0][P("0x0")]; n++)
+                    h[P("0x17c")](u[P("0x180")].coordinates[0][n][0], u.geometry[P("0x2ed")][0][n][1]);
+                this._designPolygonEntity = this._viewer[P("0x194")].add({
+                    name: P("0x35c"),
+                    tag: P("0x330") + this[P("0x1a9")],
+                    polygon: {
+                        hierarchy: {
+                            positions: e[P("0x11")][P("0x1da")](h)
+                        },
+                        material: e[P("0x16a")][P("0x338")].withAlpha(.3),
+                        perPositionHeight: !1,
+                        height: this[P("0x326")]
+                    }
+                })
+            }
+            ,
+            t.prototype.clear = function() {
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")].destroy(),
+                this[P("0x13c")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                function(e, t) {
+                    for (var i = 0; i < t[P("0x0")]; i++)
+                        t.get(i).name && -1 < t.get(i).name.indexOf(e) && (t[P("0x17f")](t[P("0x187")](i)),
+                        i--)
+                }(P("0x325"), this[P("0x306")]),
+                function(e, t) {
+                    for (var i = t[P("0x190")], r = 0; r < i.length; r++)
+                        i[r][P("0x176")] && -1 < i[r][P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](i[r]),
+                        r--)
+                }(P("0x325"), this._viewer[P("0x194")]),
+                function() {
+                    for (var e = 0; e < this[P("0x32b")][P("0x0")]; e++)
+                        this._primitives[P("0x17f")](this[P("0x32b")][e][P("0x182")])
+                }
+                .call(this)
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x102")]
+              , i = e.GeoClipping = function(i) {
+                i = t(i, e[P("0x102")][P("0x128")]),
+                this[P("0x35f")] = t(i[P("0x35f")], 64),
+                this[P("0x360")] = t(i.edgeWidth, 2),
+                this[P("0x361")] = t(i[P("0x361")], e[P("0x16a")][P("0x2cf")]),
+                this[P("0x362")] = t(i[P("0x362")], 50),
+                this[P("0x363")] = t(i.clippingModeUnion, !0),
+                this[P("0x364")] = t(i.enabled, !0),
+                this[P("0x365")] = void 0,
+                this[P("0x366")] = void 0
+            }
+            ;
+            i[P("0x5")][P("0x367")] = function(t) {
+                t = e[P("0x14")](t) ? t : this.steps;
+                for (var i = e.Math[P("0xab")] / t, r = [], n = 0; n < t; n++) {
+                    var o = n * i
+                      , a = new (e[P("0x11")]);
+                    a.x = 1,
+                    a.y = Math.tan(o),
+                    o > e.Math.PI_OVER_TWO && (a.x = -1,
+                    a.y *= -1),
+                    o > e.Math.PI && (a.x = -1),
+                    o > 3 * e[P("0x23")][P("0x5b")] && (a.x = 1,
+                    a.y = -a.y),
+                    e[P("0x11")][P("0x8d")](a, a);
+                    var s = new (e[P("0x368")])(a,this.cylinderRadius);
+                    r[P("0x17c")](s)
+                }
+                return this[P("0x365")] = r
+            }
+            ,
+            i[P("0x5")][P("0x369")] = function(t, i) {
+                for (var r = new (e[P("0x36a")])({
+                    modelMatrix: e[P("0x14")](t) ? t : e[P("0x1b")][P("0xae")],
+                    edgeWidth: this[P("0x360")],
+                    edgeColor: this[P("0x361")],
+                    unionClippingRegions: this[P("0x363")],
+                    enabled: this[P("0x364")]
+                }), n = this[P("0x367")](i), o = 0; o < n[P("0x0")]; o++)
+                    r[P("0x6d")](n[o]);
+                return this[P("0x366")] = r
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x36b")] = function(e, t) {
+                this.viewer = e.viewer,
+                this[P("0x10f")] = this.viewer[P("0x10f")],
+                this[P("0x48")] = this[P("0x10f")][P("0x48")],
+                this[P("0x17d")] = this.scene[P("0x17d")],
+                this[P("0x36c")] = null,
+                this[P("0x36d")] = null,
+                this[P("0x36e")] = null,
+                this[P("0x180")] = null,
+                this.appearance = null,
+                this[P("0x191")] = t || null
+            }
+            ;
+            t[P("0x5")][P("0x36f")] = function(e, t, i) {
+                return this[P("0x182")] && this[P("0x192")](),
+                this[P("0x182")] = this[P("0x370")](e, t, i),
+                this.primitive
+            }
+            ,
+            t[P("0x5")][P("0x370")] = function(t, i, r) {
+                var n, o, a, s, x, l;
+                if (t && i && !(i && i.length < 3))
+                    return this.fragmentShader = (n = e[P("0x373")],
+                    o = Number[P("0x374")](n),
+                    P("0x375") + (1.68 <= o ? P("0x376") : "") + ");\n\t\t\t\t\t\tgl_FragColor.a = 1.0;\n\t\t\t\t\t#endif\n\t\t\t\t\t}\n\t\t\t    "),
+                    this[P("0x36e")] = t,
+                    this[P("0x180")] = (a = i,
+                    s = r,
+                    new (e[P("0x1af")])({
+                        polygonHierarchy: new (e[P("0x372")])(e[P("0x11")][P("0x19e")](a)),
+                        extrudedHeight: s || 0,
+                        perPositionHeight: !1,
+                        closeTop: !0,
+                        closeBottom: !0,
+                        vertexFormat: e[P("0x1b0")].VERTEXT_FORMAT
+                    })),
+                    this.appearance || (this[P("0x16d")] = (x = this[P("0x36d")],
+                    l = this[P("0x36e")],
+                    new (e[P("0x1b0")])({
+                        material: new e.Material({
+                            translucent: !1,
+                            fabric: {
+                                type: P("0x371"),
+                                uniforms: {
+                                    normalMap: l,
+                                    frequency: 90,
+                                    animationSpeed: .03,
+                                    amplitude: 90,
+                                    specularIntensity: 5
+                                }
+                            }
+                        }),
+                        fragmentShaderSource: x
+                    }))),
+                    this[P("0x17d")][P("0x6d")](new (e[P("0x226")])({
+                        allowPicking: !0,
+                        geometryInstances: new e.GeometryInstance({
+                            geometry: this[P("0x180")],
+                            id: "GEOFlood_ID"
+                        }),
+                        vertexCacheOptimize: !0,
+                        appearance: this[P("0x16d")],
+                        interleave: !0,
+                        asynchronous: !1,
+                        cull: !1,
+                        releaseGeometryInstances: !0,
+                        show: !0
+                    }))
+            }
+            ,
+            t[P("0x5")][P("0x192")] = function() {
+                this[P("0x48")].style[P("0x170")] = P("0x18c"),
+                this[P("0x182")] && this.primitives[P("0x17f")](this.primitive)
+            }
+            ,
+            t[P("0x5")].clearPrimitive = function(e) {
+                e && this[P("0x17d")][P("0x17f")](e)
+            }
+            ,
+            t.prototype[P("0xf4")] = function() {
+                this.clear(),
+                this[P("0x13b")] = void 0,
+                this[P("0x10f")] = void 0,
+                this[P("0x48")] = void 0,
+                this[P("0x17d")] = void 0,
+                this[P("0x191")] = void 0
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x102")]
+              , i = e[P("0x377")] = function(i, r) {
+                i = t(i, e.defaultValue[P("0x128")]),
+                this[P("0x13b")] = i.viewer,
+                this[P("0x10f")] = this.viewer[P("0x10f")],
+                this[P("0x194")] = this[P("0x13b")].entities,
+                this[P("0x378")] = void 0,
+                this[P("0x379")] = void 0
+            }
+            ;
+            i.prototype.analysis = function(i) {
+                i = t(i, e[P("0x102")][P("0x128")]),
+                this[P("0x37a")] = t(i[P("0x37a")], 0);
+                var r = i[P("0x37b")]
+                  , n = i[P("0x37c")]
+                  , o = i[P("0x37d")];
+                r && this[P("0x37e")](r),
+                n && this[P("0x37f")](n),
+                o && this[P("0x380")](o)
+            }
+            ,
+            i[P("0x5")][P("0x37e")] = function(i) {
+                return this[P("0x381")](),
+                i = t(i, e[P("0x102")][P("0x128")]),
+                this[P("0x378")] = this[P("0x194")][P("0x6d")]({
+                    position: t(i[P("0x382")], new (e[P("0x10")])(0,0,0)),
+                    label: {
+                        text: t(i[P("0x383")], ""),
+                        pixelOffset: t(i[P("0x384")], new (e[P("0x10")])(0,-60)),
+                        fillColor: t(i[P("0x385")], new (e[P("0x16a")])(0,0,1,1)),
+                        font: t(i[P("0x386")], P("0x387")),
+                        outlineColor: t(i.labelOutlineColor, new (e[P("0x16a")])(0,0,1,1)),
+                        outlineWidth: t(i[P("0x388")], 1.8),
+                        style: e[P("0x102")](i[P("0x389")], e.LabelStyle[P("0x2de")]),
+                        show: t(i.labelShow, !0),
+                        disableDepthTestDistance: Number.POSITIVE_INFINITY
+                    }
+                }),
+                !0
+            }
+            ,
+            i[P("0x5")][P("0x37f")] = function(i) {
+                return this.clearPolygonPlaneEntity(),
+                i = t(i, e.defaultValue[P("0x128")]),
+                this.polygonPlaneEntity = this.entities[P("0x6d")]({
+                    polygon: {
+                        hierarchy: t(i.polygonPlaneHierarchy, new (e[P("0x11")])(0,0,0)),
+                        perPositionHeight: t(i[P("0x38a")], !1),
+                        height: t(i[P("0x38b")], this[P("0x37a")]),
+                        material: t(i[P("0x38c")], e[P("0x16a")][P("0x2d5")][P("0x16c")](.3)),
+                        outline: t(i[P("0x38d")], !0),
+                        outlineColor: t(i.polygonPlaneOutlineColor, e[P("0x16a")][P("0x2cf")]),
+                        show: t(i[P("0x38e")], !0)
+                    }
+                }),
+                !0
+            }
+            ,
+            i[P("0x5")][P("0x380")] = function(i) {
+                this[P("0x38f")]();
+                var r = (i = t(i, e[P("0x102")].EMPTY_OBJECT))[P("0x390")];
+                if (!r || 0 == r[P("0x0")])
+                    return console[P("0x391")](P("0x392")),
+                    !1;
+                var n, o, a, s, x = (n = r,
+                o = t(i[P("0x393")], this[P("0x37a")]),
+                a = t(i[P("0x394")], 1e4),
+                s = t(i[P("0x395")], new e.Color(1,0,0,.5)),
+                new e.GeometryInstance({
+                    geometry: new (e[P("0x1af")])({
+                        polygonHierarchy: new (e[P("0x372")])(e.Cartesian3[P("0x1da")](n)),
+                        height: o,
+                        extrudedHeight: a
+                    }),
+                    attributes: {
+                        color: e[P("0x184")][P("0x1b2")](s)
+                    }
+                })), l = new (e[P("0x16e")])({
+                    flat: !0
+                }), c = new (e[P("0x35b")])({
+                    geometryInstances: [x],
+                    appearance: l,
+                    classificationType: e.ClassificationType.CESIUM_3D_TILE
+                });
+                return this.polygonFitPrimitive = this[P("0x10f")][P("0x17d")][P("0x6d")](c),
+                !0
+            }
+            ,
+            i[P("0x5")][P("0x381")] = function() {
+                this[P("0x378")] && this[P("0x194")][P("0xd1")](this.labelEntity) && (this[P("0x194")][P("0x17f")](this[P("0x378")]),
+                this[P("0x378")] = void 0)
+            }
+            ,
+            i[P("0x5")].clearPolygonPlaneEntity = function() {
+                this[P("0x379")] && this[P("0x194")][P("0xd1")](this[P("0x379")]) && (this[P("0x194")].remove(this[P("0x379")]),
+                this.polygonPlaneEntity = void 0)
+            }
+            ,
+            i.prototype[P("0x38f")] = function() {
+                this[P("0x396")] && this[P("0x10f")][P("0x17d")][P("0xd1")](this[P("0x396")]) && (this[P("0x10f")][P("0x17d")][P("0x17f")](this[P("0x396")]),
+                this[P("0x396")] = void 0)
+            }
+            ,
+            i[P("0x5")][P("0x397")] = function() {
+                this[P("0x381")](),
+                this[P("0x398")](),
+                this[P("0x38f")]()
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = "GeoPLSViewShed3D_TIP"
+              , i = P("0x399")
+              , r = P("0x39a")
+              , n = P("0x39b")
+              , o = "GeoPLSViewShed3D_DSP"
+              , a = P("0x39c")
+              , s = e[P("0x39d")] = function(t, i) {
+                this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
+                this.canvas = this.scene[P("0x48")],
+                this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
+                this[P("0x39e")] = this[P("0x10f")].groundPrimitives,
+                this[P("0x191")] = i || null,
+                this[P("0x39f")] = e[P("0x102")](t.pointLightHeight, .2),
+                this[P("0x3a0")] = e[P("0x102")](t[P("0x3a1")], 5),
+                this[P("0x3a2")] = e.defaultValue(t[P("0x3a3")], e[P("0x16a")][P("0x2d5")]),
+                this[P("0x3a4")] = e.defaultValue(t[P("0x3a5")], 4),
+                this[P("0x3a6")] = e[P("0x102")](t[P("0x3a7")], e[P("0x16a")][P("0x2d5")]),
+                this[P("0x3a8")] = e[P("0x102")](t[P("0x3a9")], 8),
+                this[P("0x3aa")] = e[P("0x102")](t[P("0x3ab")], new (e[P("0x16a")])(1,1,0,.5)),
+                this._baseDEMLerpCfg = e.defaultValue(t[P("0x3ac")], {}),
+                this[P("0x3ad")] = e[P("0x102")](t[P("0x3ae")], !0),
+                this[P("0x3af")] = void 0,
+                b()(e[P("0x373")]) < 1.5 && console.error(P("0x3b0") + e.VERSION + P("0x3b1"))
+            }
+            ;
+            function x(t, i, r, n, o, a) {
+                for (var s = [], x = [], l = p()(t[P("0x3ca")] / r), c = 0; c < l; c++) {
+                    var h = {
+                        longitude: i[0],
+                        latitude: i[1],
+                        height: i[2]
+                    }
+                      , f = {
+                        longitude: i[3],
+                        latitude: i[4],
+                        height: i[5]
+                    }
+                      , d = e[P("0x23")].lerp(h[P("0x112")], f[P("0x112")], 1 / l * (c + 1))
+                      , g = e[P("0x23")][P("0x308")](h[P("0x114")], f[P("0x114")], 1 / l * (c + 1))
+                      , m = {
+                        longitude: d,
+                        latitude: g
+                    }
+                      , b = t.scene[P("0xa3")].getHeight(m)
+                      , v = e[P("0x11")][P("0x3d0")](d, g, b);
+                    s[P("0x17c")](v);
+                    var C = {
+                        longitude: i[0],
+                        latitude: i[1],
+                        height: b
+                    }
+                      , y = e.Cartographic[P("0x3d1")](C)
+                      , _ = e[P("0x11")].distance(y, v)
+                      , A = (b - i[2]) / _;
+                    x.push(A)
+                }
+                for (var I = [], w = [], G = [], E = [0], S = 0; S < x[P("0x0")] - 1; S++)
+                    I[P("0x0")] || x[S + 1] < x[S] && (I.push(x[S]),
+                    w[P("0x17c")](S)),
+                    I.length && (x[S] > I[I[P("0x0")] - 1] && x[S + 1] < x[S] && (I[P("0x17c")](x[S]),
+                    w[P("0x17c")](S)),
+                    x[S] > I[I[P("0x0")] - 1] && x[S - 1] < I[I[P("0x0")] - 1] && (G[P("0x17c")](x[S]),
+                    E[P("0x17c")](S)));
+                w.push(x[P("0x0")] - 1);
+                var T = w[P("0x1c6")](E);
+                T[P("0x3d2")]((function(e, t) {
+                    return e - t
+                }
+                ));
+                for (var M = [], N = 0; N < T[P("0x0")] - 1; N++) {
+                    var L = [s[T[N]], s[T[N + 1]]];
+                    M = N % 2 == 0 ? M.concat(u(L, a, n, !0)) : M[P("0x1c6")](u(L, a, o, !0))
+                }
+                return M
+            }
+            function l(t, i, r) {
+                var n = t.scene.pickPosition(i);
+                if (n) {
+                    var o = e[P("0x13")][P("0x175")](n);
+                    if (o.height < 0) {
+                        t.scene[P("0xa3")].depthTestAgainstTerrain = !0,
+                        t[P("0x13b")][P("0x3d3")] = e[P("0x3d4")][P("0x3d5")];
+                        var a = t.scene[P("0x7e")][P("0x86")](i)
+                          , s = t[P("0x10f")][P("0xa3")][P("0xa4")](a, t[P("0x10f")]);
+                        o = e[P("0x13")].fromCartesian(s)
+                    }
+                    r = r || 0;
+                    var x = e[P("0x11")][P("0x3d0")](o.longitude, o[P("0x114")], o.height + r)
+                      , l = e.Cartographic[P("0x175")](x);
+                    return [e[P("0x23")].toDegrees(l.longitude), e[P("0x23")][P("0x113")](l.latitude), l[P("0x8b")]]
+                }
+            }
+            function c(t, i, r, n) {
+                var o = t.add(new (e[P("0x1a5")]));
+                return o.add({
+                    text: i,
+                    font: P("0x1a0"),
+                    showBackground: !0,
+                    position: r,
+                    pixelOffset: new (e[P("0x10")])(10,-30),
+                    style: e[P("0x323")][P("0x2de")]
+                }),
+                o.name = n,
+                o
+            }
+            function u(t, i, r, n) {
+                var o = []
+                  , a = n ? t : e[P("0x11")][P("0x1da")](t)
+                  , s = new e.GeometryInstance({
+                    geometry: new (e[P("0x3d6")])({
+                        positions: a,
+                        width: i
+                    }),
+                    attributes: {
+                        color: e.ColorGeometryInstanceAttribute[P("0x1b2")](r)
+                    }
+                });
+                return o.push(s),
+                o
+            }
+            function h(t, i, r) {
+                var n = t.add(new (e[P("0x3d7")])({
+                    geometryInstances: i,
+                    appearance: new e.PolylineColorAppearance({
+                        translucent: !0
+                    })
+                }));
+                return n[P("0x176")] = r,
+                n
+            }
+            function f(e, t, i) {
+                for (var r = 0; r < e[P("0x0")]; r++)
+                    e[P("0x176")] == i && (t[P("0x8c")] && (e[P("0x187")](r)[P("0x8c")] = t[P("0x8c")]),
+                    t[P("0x31b")] && (e[P("0x187")](r).text = t[P("0x31b")]),
+                    void 0 !== t[P("0x3d8")] && (e.get(r).showBackground = t.showBackground),
+                    t.backgroundColor && (e[P("0x187")](r).backgroundColor = t[P("0x3d9")]),
+                    void 0 !== t[P("0x3da")] && (e[P("0x187")](r)[P("0x3da")] = t[P("0x3da")]),
+                    void 0 !== t[P("0x3db")] && (e[P("0x187")](r)[P("0x3db")] = t[P("0x3db")]),
+                    t[P("0x3dc")] && (e[P("0x187")](r)[P("0x3dc")] = t[P("0x3dc")]),
+                    t[P("0x3dd")] && (e[P("0x187")](r)[P("0x3dd")] = t.fillColor),
+                    t[P("0x3de")] && (e[P("0x187")](r)[P("0x3de")] = t[P("0x3de")]),
+                    t.outlineColor && (e.get(r).outlineColor = t[P("0x3df")]))
+            }
+            function d(e, t) {
+                for (var i = 0; i < t[P("0x0")]; i++)
+                    t.get(i).name == e && (t[P("0x17f")](t[P("0x187")](i)),
+                    i--)
+            }
+            s[P("0x5")][P("0x198")] = function() {
+                this.clear(),
+                this.canvas[P("0x150")].cursor = P("0x171");
+                var s = null
+                  , g = null
+                  , p = null
+                  , m = null
+                  , b = !0
+                  , v = null
+                  , C = null
+                  , y = this;
+                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
+                this[P("0x16f")].setInputAction((function(n) {
+                    if (b) {
+                        v = l(y, n[P("0x8c")], y._pointLightHeight),
+                        C = e.Cartesian3[P("0x1a1")](v[0], v[1], v[2]),
+                        d(t, y.primitives),
+                        b = !1,
+                        y[P("0x3b2")] = b,
+                        s = null,
+                        d(i, y[P("0x17d")]);
+                        var o = y[P("0x17d")][P("0x6d")](new (e[P("0x1a4")]));
+                        o[P("0x176")] = i,
+                        o.add({
+                            position: C,
+                            color: y[P("0x3a2")],
+                            pixelSize: y._pointLightPixelSize
+                        })
+                    } else if (y[P("0x10f")].globe[P("0x32a")] = !1,
+                    y[P("0x10f")][P("0x3b3")][P("0x3b4")] = !0,
+                    y[P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                    y[P("0x16f")] && !y.handler[P("0xf3")]() && y[P("0x16f")][P("0xf4")](),
+                    d(t, y[P("0x17d")]),
+                    b = !0,
+                    y.firstLeftClick = b,
+                    s = null,
+                    y[P("0x3b5")][P("0x3b6")])
+                        if (y[P("0x3ad")])
+                            y[P("0x3b7")] = e[P("0x102")](y[P("0x3b5")][P("0x3b7")], 1),
+                            y[P("0x3b8")] = e.defaultValue(y[P("0x3b5")][P("0x3b8")], 100),
+                            y[P("0x3b9")] = 0,
+                            setTimeout((function() {
+                                !function t(i) {
+                                    if (i[P("0x3b9")] % (2 * i[P("0x3b7")]) == 0) {
+                                        var n = {
+                                            longitude: i[P("0x3ba")][i[P("0x3b9")]],
+                                            latitude: i[P("0x3ba")][i.num + 1]
+                                        }
+                                          , o = i[P("0x10f")][P("0xa3")].getHeight(n)
+                                          , a = [i[P("0x3bb")], i[P("0x3bc")], i[P("0x3bd")], n.longitude, n[P("0x114")], o]
+                                          , s = e[P("0x102")](i[P("0x3b5")][P("0x3be")], 10)
+                                          , l = e[P("0x102")](i[P("0x3b5")][P("0x3bf")], new (e[P("0x16a")])(0,1,0,.8))
+                                          , c = e.defaultValue(i[P("0x3b5")][P("0x3c0")], new (e[P("0x16a")])(1,0,0,.8))
+                                          , u = e.defaultValue(i[P("0x3b5")][P("0x197")], 5)
+                                          , f = x(i, a, s, l, c, u);
+                                        h(i[P("0x10f")][P("0x39e")], f, r)
+                                    }
+                                    i.num += 2 * i[P("0x3b7")],
+                                    i[P("0x3b9")] < 720 && setTimeout((function() {
+                                        t(i)
+                                    }
+                                    ), i.timeInterval)
+                                }(y)
+                            }
+                            ), y.timeInterval);
+                        else {
+                            for (var a = [], c = 0; c < y.boundaryPositionArr[P("0x0")]; c++)
+                                if (c % 2 == 0) {
+                                    var u = {
+                                        longitude: y.boundaryPositionArr[c],
+                                        latitude: y[P("0x3ba")][c + 1]
+                                    }
+                                      , f = y[P("0x10f")].globe[P("0xed")](u)
+                                      , g = [y[P("0x3bb")], y[P("0x3bc")], y[P("0x3bd")], u[P("0x112")], u[P("0x114")], f]
+                                      , p = e[P("0x102")](y[P("0x3b5")][P("0x3be")], 10)
+                                      , m = e[P("0x102")](y[P("0x3b5")][P("0x3bf")], new (e[P("0x16a")])(0,1,0,.8))
+                                      , _ = e.defaultValue(y[P("0x3b5")][P("0x3c0")], new (e[P("0x16a")])(1,0,0,.8))
+                                      , A = e[P("0x102")](y[P("0x3b5")][P("0x197")], 5);
+                                    x(y, g, p, m, _, A),
+                                    a = a[P("0x1c6")](radiusLineInstance)
+                                }
+                            h(y[P("0x10f")][P("0x39e")], a, r)
+                        }
+                }
+                ), e[P("0x161")].LEFT_CLICK),
+                this[P("0x16f")][P("0x160")]((function(i) {
+                    var x, v, _, A, I, w, G, E, S, T;
+                    if (y.tipPosition = y.scene.pickPosition(i[P("0x64")]),
+                    y.tipPosition && (b && (s ? f(s, {
+                        position: y[P("0x3c2")]
+                    }, t) : s = c(y[P("0x17d")], P("0x3c1"), y[P("0x3c2")], t)),
+                    !b)) {
+                        s ? f(s, {
+                            position: y[P("0x3c2")]
+                        }, t) : s = c(y[P("0x17d")], P("0x3c3"), y[P("0x3c2")], t);
+                        var M = l(y, i[P("0x64")])
+                          , N = e[P("0x11")][P("0x1a1")](M[0], M[1], M[2]);
+                        if (m = e[P("0x11")][P("0x8e")](C, N),
+                        d(r, y[P("0x39e")]),
+                        d(a, y[P("0x39e")]),
+                        m) {
+                            var L = e.Math[P("0x113")](e[P("0x13")][P("0x175")](C)[P("0x112")])
+                              , R = e.Math.toDegrees(e[P("0x13")][P("0x175")](C)[P("0x114")])
+                              , O = e[P("0x13")][P("0x175")](C).height
+                              , F = function(e, t, i) {
+                                for (var r = [], n = 0; n <= 360; n++) {
+                                    var o = i * Math[P("0x98")](n * Math.PI / 180)
+                                      , a = i * Math.cos(n * Math.PI / 180)
+                                      , s = 6356725 + 21412 * (90 - t) / 90
+                                      , x = e + o / (s * Math[P("0x9a")](t * Math.PI / 180)) * 180 / Math.PI
+                                      , l = t + a / s * 180 / Math.PI;
+                                    r.push(x),
+                                    r[P("0x17c")](l)
+                                }
+                                return r
+                            }(L, R, m)
+                              , D = u(F, y[P("0x3a4")], y[P("0x3a6")])
+                              , U = (h(y[P("0x39e")], D, r),
+                            [L, R, F[0], F[1]])
+                              , k = (I = y.groundPrimitives,
+                            w = U,
+                            G = y._orientLineWidth,
+                            E = y[P("0x3aa")],
+                            S = a,
+                            T = new (e[P("0x179")])({
+                                geometry: new (e[P("0x3d6")])({
+                                    positions: e[P("0x11")][P("0x1da")](w),
+                                    width: G
+                                })
+                            }),
+                            I[P("0x6d")](new (e[P("0x3d7")])({
+                                geometryInstances: T,
+                                appearance: new (e[P("0x215")])({
+                                    material: new e.Material({
+                                        fabric: {
+                                            type: P("0x31e"),
+                                            uniforms: {
+                                                color: E
                                             }
                                         }
-                                    }(t, i)
-                            }(a, G, h),
-                            y = G,
-                            _ = (C = a)[P("0xb84")],
-                            A = C[P("0xbfb")],
-                            I = C[P("0x794")],
-                            y[P("0x796")] = A[P("0xc04")],
-                            I[P("0xc08")][P("0xc27")](_, y);
-                        var E = p[P("0xc2a")][P("0xc2e")](w);
-                        g[P("0xc2d")] = !1,
-                            a[P("0x794")] = a[P("0xc2f")],
-                            f[P("0xc30")](),
-                            this.deferred.resolve({
-                                object: E,
-                                ray: t
-                            })
+                                    })
+                                })
+                            })).name = S,
+                            [L, R, O, L, R, O + m / 3])
+                              , B = e[P("0x16a")][P("0x3c4")](e[P("0x16a")][P("0x2d5")], .7);
+                            p ? p[P("0x2eb")][P("0x19f")] = e[P("0x11")][P("0x19e")](k) : (x = y[P("0x13b")][P("0x194")],
+                            v = k,
+                            2,
+                            _ = B,
+                            A = n,
+                            p = x[P("0x6d")]({
+                                name: A,
+                                polyline: {
+                                    positions: e[P("0x11")][P("0x19e")](v),
+                                    width: 2,
+                                    material: new (e[P("0x2e9")])({
+                                        color: _,
+                                        dashLength: 5
+                                    })
+                                }
+                            }));
+                            var W = e[P("0x11")][P("0x1a1")](L, R, O + m / 3)
+                              , j = P("0x3c5") + y._pointLightHeight[P("0x2af")](2) + "绫砛n" + P("0x3c6") + m[P("0x2af")](4) + "绫砛n" + P("0x2f9") + L[P("0x2af")](6) + "搴n" + P("0x2fa") + R[P("0x2af")](6) + "搴�"
+                              , V = {
+                                position: W,
+                                text: j,
+                                showBackground: !0,
+                                backgroundColor: e[P("0x16a")][P("0x3c4")](e[P("0x16a")][P("0x2cf")], .8),
+                                horizontalOrigin: e[P("0x24b")][P("0x24c")],
+                                verticalOrigin: e.VerticalOrigin[P("0x3c7")],
+                                pixelOffset: new e.Cartesian2(0,0),
+                                fillColor: e[P("0x16a")].BLACK
+                            };
+                            if (f(g || (g = c(y[P("0x17d")], j, W, o)), V, o),
+                            y[P("0x3b5")].enable || y[P("0x3c8")](C, m),
+                            y[P("0x3c9")] = C,
+                            y[P("0x3ca")] = m,
+                            y[P("0x3b2")] = b,
+                            y[P("0x3b5")][P("0x3b6")]) {
+                                y.startPointLng = e[P("0x23")][P("0x119")](L),
+                                y[P("0x3bc")] = e[P("0x23")][P("0x119")](R),
+                                y[P("0x3bd")] = O,
+                                y[P("0x3ba")] = [];
+                                for (var z = 0; z < F[P("0x0")]; z++)
+                                    y[P("0x3ba")].push(e[P("0x23")].toRadians(F[z]));
+                                y.realTimeRadius = m
+                            }
+                        }
                     }
-                        ,
-                        t[P("0x5")][P("0xc31")] = function (t) {
-                            var i, r, n, o, a = t[P("0x7")], s = t[P("0xc32")], x = this[P("0xc29")], l = this[P("0x10f")], c = l[P("0xb84")];
-                            if (c[P("0xc24")])
-                                for (var u = x[P("0xc18")].length, h = 0; h < u; ++h) {
-                                    var f = (r = h,
-                                        o = n = void 0,
-                                        n = x.pickDepths,
-                                        o = n[r],
-                                        e[P("0x14")](o) || (o = new (e[P("0xc0c")]),
-                                            n[r] = o),
-                                        o).getDepthEx(c, 0, 0, x[P("0xc06")][P("0x19a")], x[P("0xc06")][P("0x8b")], this[P("0xbe1")]);
-                                    if (0 < f && f <= 1) {
-                                        var d = x.frustumCommandsList[h]
-                                            , g = d[P("0xb3e")] * (0 !== h ? l[P("0xc19")] : 1)
-                                            , p = g + f * (d.far - g);
-                                        i = e.Ray[P("0xe1")](s, p);
+                }
+                ), e[P("0x161")][P("0x163")])
+            }
+            ,
+            s.prototype[P("0x3c8")] = function(t, i) {
+                var r, n;
+                t && i && (null == this._pointLightCamera ? (this[P("0x3af")] = new (e[P("0x3cb")])(this[P("0x10f")]),
+                this[P("0x3af")][P("0x8c")] = t,
+                r = {
+                    context: this[P("0x10f")][P("0x3cc")],
+                    lightCamera: this._pointLightCamera,
+                    isPointLight: !0
+                },
+                this[P("0x10f")][P("0x3b3")].destroy(),
+                this[P("0x10f")][P("0x3b3")] = new e.ShadowMap(r),
+                (n = this.scene[P("0x3b3")])[P("0x3cd")] = 1024,
+                n[P("0x3ce")] = i,
+                n._terrainBias[P("0x3cf")] = 0,
+                n[P("0x364")] = !0,
+                n[P("0x3b4")] = !0) : (n = this[P("0x10f")][P("0x3b3")])[P("0x3ce")] = i)
+            }
+            ,
+            s[P("0x5")][P("0x192")] = function() {
+                this[P("0x3b5")][P("0x3b6")] && (this.num = 721),
+                this[P("0x10f")][P("0xa3")][P("0x32a")] = !1,
+                this.scene[P("0x3b3")][P("0x364")] = !1,
+                this[P("0x10f")][P("0x3b3")].enableGeoPLSViewShed3D = void 0,
+                this[P("0x48")].style.cursor = P("0x18c"),
+                this[P("0x3af")] = void 0,
+                this[P("0x16f")] && !this[P("0x16f")][P("0xf3")]() && this[P("0x16f")][P("0xf4")](),
+                d(t, this[P("0x17d")]),
+                d(o, this[P("0x17d")]),
+                d(i, this[P("0x17d")]),
+                d(r, this[P("0x39e")]),
+                d(a, this[P("0x39e")]),
+                function(e, t) {
+                    for (var i = 0; i < t.values[P("0x0")]; i++)
+                        t[P("0x190")][i][P("0x176")] == e && (t[P("0x17f")](t[P("0x190")][i]),
+                        i--)
+                }(n, this[P("0x13b")].entities)
+            }
+            ,
+            s[P("0x5")][P("0xf4")] = function() {
+                this[P("0x192")](),
+                this.viewer = void 0,
+                this._pointLightHeight = void 0,
+                this.scene = void 0,
+                this[P("0x48")] = void 0,
+                this[P("0x17d")] = void 0,
+                this[P("0x191")] = void 0,
+                this[P("0x3af")] = void 0
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = P("0x3e0")
+              , i = e.GeoProfile = function(e, t) {
+                this[P("0x13b")] = e[P("0x13b")],
+                this[P("0x10f")] = this.viewer[P("0x10f")]
+            }
+            ;
+            i[P("0x5")][P("0x3e1")] = function(t, i) {
+                this[P("0x3e2")] = t[0],
+                this[P("0x3e3")] = t[1],
+                this[P("0x3e4")] = t[2],
+                this[P("0x3e5")] = t[t[P("0x0")] - 3],
+                this[P("0x3e6")] = t[t.length - 2],
+                this[P("0x3e7")] = t[t[P("0x0")] - 1];
+                for (var r = [], n = 0; n < t[P("0x0")] - 3; n += 3) {
+                    var o = e[P("0x11")].fromDegrees(t[n], t[n + 1])
+                      , a = e.Cartesian3.fromDegrees(t[n + 3], t[n + 4])
+                      , s = e[P("0x11")][P("0x8e")](o, a);
+                    r[P("0x17c")](s),
+                    e[P("0x11")][P("0x8e")](o, a)
+                }
+                for (var x = 0, l = [], c = 0; c < r.length; c++) {
+                    var u = Math[P("0x3e8")](r[c] / i);
+                    l[P("0x17c")](u),
+                    x += u
+                }
+                this[P("0x3e9")] = x;
+                var h = []
+                  , f = [];
+                for (n = 0; n < l[P("0x0")]; n++) {
+                    for (var d = 0; d <= l[n]; d++) {
+                        var g = d * i;
+                        if (r[n] - g <= i)
+                            h[P("0x17c")](1);
+                        else {
+                            var p = g / r[n];
+                            h[P("0x17c")](p)
+                        }
+                    }
+                    f[P("0x17c")](h),
+                    h = []
+                }
+                for (var m = [], b = [], v = [], C = [], y = (n = 0,
+                0); y < f[P("0x0")]; y++) {
+                    for (d = 0; d < f[y].length; d++) {
+                        var _ = e[P("0x23")].lerp(t[n], t[n + 3], f[y][d])
+                          , A = e[P("0x23")].lerp(t[n + 1], t[n + 4], f[y][d])
+                          , I = {
+                            longitude: e[P("0x23")][P("0x119")](_),
+                            latitude: e[P("0x23")][P("0x119")](A)
+                        }
+                          , w = Number(this.scene[P("0xa3")][P("0xed")](I)[P("0x2af")](2));
+                        v.push(w),
+                        m[P("0x17c")](e[P("0x11")].fromDegrees(_, A, w)),
+                        b[P("0x17c")](e[P("0x11")].fromDegrees(_, A, 0))
+                    }
+                    n += 3
+                }
+                var G = Math[P("0x7d")].apply(null, v);
+                this[P("0x3ea")] = G;
+                var E = Math.max[P("0x346")](null, v);
+                this[P("0x3eb")] = E;
+                var S = 0;
+                for (n = 0; n < m.length - 1; n++)
+                    S += e[P("0x11")].distance(m[n], m[n + 1]);
+                this[P("0x3ec")] = S;
+                var T = e[P("0x11")].distance(m[0], m[m[P("0x0")] - 1]);
+                this.straightLen = T;
+                var M = 0;
+                for (y = 0; y < b[P("0x0")] - 1; y++)
+                    M += e[P("0x11")][P("0x8e")](b[y], b[y + 1]),
+                    C.push(M[P("0x2af")](2));
+                C.unshift(0);
+                var N = {};
+                return N[P("0x3ed")] = v,
+                N[P("0x3ee")] = C,
+                N[P("0x3ef")] = m,
+                N
+            }
+            ,
+            i[P("0x5")][P("0x3f0")] = function(e, t) {
+                var i = document[P("0x3f1")](t);
+                i[P("0x3f2")] = function(e) {
+                    var t = e || event
+                      , r = t[P("0x3f3")] - i[P("0x156")]
+                      , n = t.clientY - i[P("0x15a")];
+                    document[P("0x3f4")] = function(e) {
+                        var t = e || event;
+                        i.style[P("0x149")] = t[P("0x3f3")] - r + "px",
+                        i[P("0x150")][P("0x151")] = t[P("0x3f5")] - n + "px"
+                    }
+                    ,
+                    document[P("0x3f6")] = function() {
+                        document[P("0x3f4")] = null,
+                        document[P("0x3f6")] = null
+                    }
+                }
+                ;
+                var r = echarts[P("0x3f7")](i)
+                  , n = {
+                    title: {
+                        x: P("0x11a"),
+                        padding: 15,
+                        text: P("0x3f8"),
+                        textStyle: {
+                            color: P("0x3f9"),
+                            fontStyle: "normal",
+                            fontWeight: P("0x3fa"),
+                            fontFamily: "sans-serif",
+                            fontSize: 18
+                        }
+                    },
+                    tooltip: {
+                        trigger: P("0x3fb"),
+                        confine: !0,
+                        formatter: function(e) {
+                            return "闀垮害: " + e[0][P("0x176")] + P("0x3fc") + "楂樼▼: " + e[0].value
+                        }
+                    },
+                    grid: {
+                        left: "2%",
+                        right: P("0x3fd"),
+                        bottom: "3%",
+                        containLabel: !0
+                    },
+                    xAxis: {
+                        splitArea: {
+                            show: !1
+                        },
+                        splitLine: {
+                            show: !1,
+                            lineStyle: {
+                                color: [P("0x3fe")],
+                                width: 1,
+                                type: P("0x3ff")
+                            }
+                        },
+                        type: P("0x400"),
+                        boundaryGap: !1,
+                        data: e[P("0x3ee")],
+                        name: P("0x401"),
+                        nameTextStyle: {
+                            color: "#ccc",
+                            fontWeight: "bolder"
+                        },
+                        axisLine: {
+                            lineStyle: {
+                                color: P("0x402"),
+                                width: 4
+                            }
+                        },
+                        axisLabel: {
+                            color: P("0x3f9"),
+                            fontWeight: P("0x403")
+                        }
+                    },
+                    yAxis: {
+                        splitArea: {
+                            show: !1
+                        },
+                        splitLine: {
+                            show: !0,
+                            lineStyle: {
+                                color: [P("0x3fe")],
+                                width: 1,
+                                type: P("0x404")
+                            }
+                        },
+                        type: P("0x3"),
+                        name: P("0x405"),
+                        nameTextStyle: {
+                            color: P("0x3f9"),
+                            fontWeight: "bolder"
+                        },
+                        axisLine: {
+                            lineStyle: {
+                                color: P("0x402"),
+                                width: 4
+                            }
+                        },
+                        axisLabel: {
+                            color: P("0x3f9"),
+                            fontWeight: P("0x403")
+                        }
+                    },
+                    series: [{
+                        type: "line",
+                        data: e[P("0x3ed")],
+                        areaStyle: {
+                            color: P("0x406")
+                        }
+                    }]
+                };
+                r[P("0x407")](n);
+                var o = document[P("0x15c")](P("0x408"))
+                  , a = document[P("0x15c")](P("0x409"))
+                  , s = document.createElement("tr")
+                  , x = document.createElement("td");
+                x[P("0x40a")] = P("0x40b") + this[P("0x3e2")][P("0x2af")](6),
+                s[P("0x167")](x);
+                var l = document[P("0x15c")]("td");
+                l[P("0x40a")] = "璧风偣楂樼▼锛�" + e.YValueArray[0][P("0x2af")](2),
+                s[P("0x167")](l);
+                var c = document[P("0x15c")]("td");
+                c[P("0x40a")] = P("0x40c") + Number(e[P("0x3ee")][e[P("0x3ee")].length - 1]).toFixed(2),
+                s.appendChild(c),
+                a[P("0x167")](s);
+                var u = document[P("0x15c")]("tr")
+                  , h = document.createElement("td");
+                h.innerHTML = P("0x40d") + this.lat_origin[P("0x2af")](6),
+                u[P("0x167")](h);
+                var f = document[P("0x15c")]("td");
+                f[P("0x40a")] = P("0x40e") + e[P("0x3ed")][e[P("0x3ed")].length - 1].toFixed(2),
+                u[P("0x167")](f);
+                var d = document.createElement("td");
+                d[P("0x40a")] = P("0x40f") + this.surfaceLen[P("0x2af")](2),
+                u.appendChild(d),
+                a[P("0x167")](u);
+                var g = document.createElement("tr")
+                  , p = document[P("0x15c")]("td");
+                p[P("0x40a")] = P("0x410") + this.lng_destination[P("0x2af")](6),
+                g[P("0x167")](p);
+                var m = document.createElement("td");
+                m[P("0x40a")] = P("0x411") + this[P("0x3eb")],
+                g[P("0x167")](m);
+                var b = document.createElement("td");
+                b.innerHTML = "鐩寸嚎璺濈锛�" + this[P("0x412")][P("0x2af")](2),
+                g[P("0x167")](b),
+                a.appendChild(g);
+                var v = document.createElement("tr")
+                  , C = document[P("0x15c")]("td");
+                C[P("0x40a")] = "缁堢偣绾害锛�" + this[P("0x3e6")][P("0x2af")](6),
+                v.appendChild(C);
+                var y = document[P("0x15c")]("td");
+                y[P("0x40a")] = P("0x413") + this[P("0x3ea")],
+                v[P("0x167")](y);
+                var _ = document[P("0x15c")]("td");
+                return _[P("0x40a")] = "閲囨牱鐐规暟锛�" + this[P("0x3e9")],
+                v[P("0x167")](_),
+                a[P("0x167")](v),
+                o.appendChild(a),
+                i[P("0x167")](o),
+                this[P("0x414")] = o,
+                this.chartContainer = i,
+                this.myChart = r
+            }
+            ,
+            i[P("0x5")].drawMark = function(i) {
+                i = e.defaultValue(i, {});
+                var r = this[P("0x10f")][P("0x17d")][P("0x6d")](new (e[P("0x244")]));
+                r.add({
+                    position: i[P("0x415")],
+                    image: i[P("0x416")],
+                    verticalOrigin: e[P("0x24d")][P("0x3c7")],
+                    scale: .2
+                }),
+                r[P("0x6d")]({
+                    position: i[P("0x417")],
+                    image: i.destinationImage,
+                    verticalOrigin: e.VerticalOrigin[P("0x3c7")],
+                    scale: .2
+                }),
+                r.name = t
+            }
+            ,
+            i[P("0x5")].clearMark = function() {
+                for (var e = 0; e < this.scene[P("0x17d")][P("0x0")]; e++)
+                    this[P("0x10f")][P("0x17d")][P("0x187")](e)[P("0x176")] == t && (this[P("0x10f")][P("0x17d")][P("0x17f")](this[P("0x10f")][P("0x17d")][P("0x187")](e)),
+                    e--)
+            }
+            ,
+            i[P("0x5")][P("0x418")] = function() {
+                this[P("0x419")] && (this.myChart[P("0x192")](),
+                this[P("0x419")] = null),
+                this.oTable && this.chartContainer && this[P("0x41a")][P("0x41b")](this[P("0x414")])
+            }
+            ,
+            i.prototype.clear = function() {
+                this[P("0x418")](),
+                this.clearMark()
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = P("0x41c")
+              , i = "GEOSIGHTLINEBILLBOARD"
+              , r = P("0x41d")
+              , n = P("0x41e")
+              , o = e[P("0x41f")] = function(t, i) {
+                this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x420")] = t[P("0x420")],
+                this[P("0x421")] = t[P("0x421")],
+                this.observeImage = t[P("0x422")],
+                this[P("0x423")] = t.targetImage,
+                this[P("0x10f")] = this.viewer[P("0x10f")],
+                this[P("0x7e")] = this[P("0x13b")].camera,
+                this[P("0x48")] = this[P("0x10f")].canvas,
+                this[P("0x17d")] = this.scene[P("0x17d")],
+                this[P("0x194")] = this[P("0x13b")][P("0x194")],
+                this[P("0x191")] = i || null,
+                this[P("0x424")] = [],
+                this[P("0x425")] = null,
+                this[P("0x426")] = null,
+                this[P("0x427")] = null,
+                this[P("0x428")] = null,
+                b()(e[P("0x373")]) < 1.5 && console[P("0x391")]("褰撳墠Cesium鐗堟湰锛�" + e[P("0x373")] + P("0x429"))
+            }
+            ;
+            function a(t, i, r) {
+                if (t[P("0x10f")]) {
+                    var n = t[P("0x10f")].pickPosition(i);
+                    if (1.58 <= b()(e[P("0x373")])) {
+                        var o = t[P("0x13b")].scene[P("0x42f")](n);
+                        o && (n = o)
+                    }
+                    var a, s = e[P("0x13")][P("0x175")](n);
+                    if (s[P("0x8b")] < 0) {
+                        var x = t[P("0x7e")][P("0x86")](i)
+                          , l = t.scene[P("0xa3")][P("0xa4")](x, t.scene);
+                        s = e[P("0x13")][P("0x175")](l),
+                        t[P("0x10f")][P("0xa3")][P("0x32a")] = !0
+                    }
+                    return r = r || 1,
+                    a = s[P("0x8b")] + r,
+                    e.Cartesian3.fromRadians(s[P("0x112")], s[P("0x114")], a)
+                }
+            }
+            function s(t, i, r, n) {
+                var o = t[P("0x6d")](new (e[P("0x1a5")]));
+                return o[P("0x6d")]({
+                    text: i,
+                    font: P("0x1a0"),
+                    showBackground: !0,
+                    position: r,
+                    pixelOffset: new (e[P("0x10")])(10,-10)
+                }),
+                o.name = n,
+                o
+            }
+            function x(e, t, i) {
+                for (var r = 0; r < e[P("0x0")]; r++)
+                    e.name == i && (e.get(r)[P("0x8c")] = t)
+            }
+            function l(e, t) {
+                u(e, t)
+            }
+            function c(t, r, n) {
+                var o = t.add(new (e[P("0x244")]));
+                return o[P("0x6d")]({
+                    position: r,
+                    image: n,
+                    scale: .4,
+                    verticalOrigin: e.VerticalOrigin.MIDDLE
+                }),
+                o[P("0x176")] = i,
+                o
+            }
+            function u(e, t) {
+                for (var i = 0; i < t.length; i++)
+                    t[P("0x187")](i).name == e && (t[P("0x17f")](t[P("0x187")](i)),
+                    i--)
+            }
+            function h(e, t) {
+                for (var i = 0; i < t._entities._array[P("0x0")]; i++)
+                    t[P("0x430")][P("0x431")][i][P("0x176")] == e && (t[P("0x17f")](t[P("0x430")][P("0x431")][i]),
+                    i--)
+            }
+            o[P("0x5")][P("0x198")] = function() {
+                this[P("0x10f")][P("0xa3")][P("0x32a")] = !1,
+                this[P("0x42a")](),
+                this[P("0x192")](),
+                1.52 == b()(e[P("0x373")]) && (this.scene.enableGeoSightline = !0),
+                1.58 <= b()(e[P("0x373")]) && (this[P("0x10f")][P("0x42b")] = !1),
+                this.canvas[P("0x150")][P("0x170")] = "crosshair";
+                var i = null
+                  , r = !0
+                  , n = this;
+                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
+                this[P("0x16f")][P("0x160")]((function(e) {
+                    r ? (n[P("0x192")](),
+                    n.observeActualPosition = a(n, e[P("0x8c")], n[P("0x420")]),
+                    c(n[P("0x17d")], n.observeActualPosition, n.observeImage),
+                    l(t, n[P("0x17d")]),
+                    i = null,
+                    r = !1) : (n[P("0x426")] = a(n, e.position, n[P("0x421")]),
+                    c(n[P("0x17d")], n[P("0x426")], n[P("0x423")]),
+                    n[P("0x42c")](),
+                    l(t, n.primitives),
+                    r = !(i = null),
+                    n[P("0x10f")][P("0x42b")] = !1,
+                    n[P("0x42a")]())
+                }
+                ), e[P("0x161")][P("0x17e")]),
+                this[P("0x16f")][P("0x160")]((function(e) {
+                    n[P("0x3c2")] = n[P("0x10f")][P("0x174")](e[P("0x64")]),
+                    n[P("0x3c2")] && (r && (i ? x(i, n[P("0x3c2")], t) : i = s(n.primitives, P("0x42d"), n.tipPosition, t)),
+                    r || (i ? x(i, n.tipPosition, t) : i = s(n[P("0x17d")], "鍗曞嚮宸﹂敭纭畾鐩爣鐐�", n[P("0x3c2")], t)))
+                }
+                ), e[P("0x161")].MOUSE_MOVE)
+            }
+            ,
+            o.prototype.pickFromRays = function() {
+                var t = new (e[P("0x11")])(0,0,0);
+                this[P("0x424")] = [this.observeEntity, this[P("0x428")]];
+                var i = e.Cartesian3[P("0x8d")](e[P("0x11")].subtract(this.targetActualPosition, this.observeActualPosition, new (e[P("0x11")])), new (e[P("0x11")]))
+                  , o = new (e[P("0x1e")])(this.observeActualPosition,i)
+                  , a = []
+                  , s = []
+                  , x = [];
+                a = this[P("0x10f")][P("0x42e")](o, 1e3, this[P("0x424")]);
+                var l = e.Cartesian3[P("0x8e")](this[P("0x425")], this[P("0x426")]);
+                if (0 !== a.length && !a[0][P("0x8c")])
+                    for (var c = 1; c < Math[P("0x3e8")](l) + 1; c++)
+                        if (e[P("0x11")][P("0x308")](this[P("0x425")], this[P("0x426")], c * (1 / Math.floor(l)), t),
+                        i = e[P("0x11")][P("0x8d")](e[P("0x11")].subtract(this[P("0x426")], this.observeActualPosition, new e.Cartesian3), new (e[P("0x11")])),
+                        o = new (e[P("0x1e")])(t,i),
+                        a = [],
+                        s = [],
+                        x = [],
+                        0 < (a = this.scene[P("0x42e")](o, 1, this[P("0x424")])).length) {
+                            a[0][P("0x8c")] || (e.Cartesian3.lerp(this[P("0x425")], this.targetActualPosition, c * (1 / Math.floor(l)), t),
+                            a[0][P("0x8c")] = t);
+                            break
+                        }
+                if (0 == a.length)
+                    s = [this[P("0x425")], this[P("0x426")]];
+                else {
+                    var u = e.Cartesian3[P("0x8d")](e[P("0x11")][P("0x95")](a[0][P("0x8c")], this[P("0x425")], new (e[P("0x11")])), new (e[P("0x11")]))
+                      , h = e.Cartesian3.normalize(e[P("0x11")].subtract(a[0].position, this.targetActualPosition, new (e[P("0x11")])), new (e[P("0x11")]));
+                    if (u.x[P("0x2af")](8) == h.x[P("0x2af")](8) && u.y.toFixed(8) == h.y[P("0x2af")](8) && u.z[P("0x2af")](8) == h.z[P("0x2af")](8))
+                        s = [this[P("0x426")], this[P("0x425")]];
+                    else {
+                        s = [this[P("0x425")], a[0][P("0x8c")]],
+                        x = [a[0][P("0x8c")], this[P("0x426")]];
+                        var f = {
+                            name: r,
+                            polyline: {
+                                positions: x,
+                                width: 7,
+                                followSurface: !1,
+                                material: new (e[P("0x2e6")])(e.Color[P("0x16b")])
+                            }
+                        };
+                        this.entities.add(f)
+                    }
+                }
+                var d = {
+                    name: n,
+                    polyline: {
+                        positions: s,
+                        width: 2,
+                        followSurface: !1,
+                        material: e[P("0x16a")][P("0x310")]
+                    }
+                };
+                this.entities.add(d)
+            }
+            ,
+            o.prototype.clear = function() {
+                this[P("0x17d")] && (u(t, this.primitives),
+                u(i, this.primitives)),
+                this[P("0x194")] && (h(r, this[P("0x194")]),
+                h(n, this[P("0x194")]))
+            }
+            ,
+            o[P("0x5")][P("0x42a")] = function() {
+                this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](),
+                this[P("0x48")].style[P("0x170")] = P("0x18c")
+            }
+            ,
+            o[P("0x5")][P("0xf4")] = function() {
+                this[P("0x10f")][P("0x42b")] = !1,
+                this[P("0x10f")][P("0xa3")].depthTestAgainstTerrain = !1,
+                this[P("0x42a")](),
+                this[P("0x192")](),
+                this.viewer = void 0,
+                this[P("0x420")] = void 0,
+                this[P("0x421")] = void 0,
+                this[P("0x10f")] = void 0,
+                this.camera = void 0,
+                this.canvas = void 0,
+                this.primitives = void 0,
+                this[P("0x194")] = void 0,
+                this[P("0xef")] = void 0,
+                this[P("0x191")] = void 0,
+                this[P("0x424")] = void 0,
+                this[P("0x427")] = null,
+                this.targetEntity = null
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = e[P("0x102")]
+              , i = P("0x432")
+              , r = e.GeoSkyLine = function(i, r) {
+                this[P("0x13b")] = i[P("0x13b")],
+                this[P("0x10f")] = this.viewer[P("0x10f")],
+                this[P("0x48")] = this[P("0x13b")][P("0x48")],
+                this[P("0x194")] = this[P("0x13b")][P("0x194")],
+                this[P("0x433")] = t(i[P("0x434")], !0),
+                this[P("0x435")] = t(i[P("0x435")], 2),
+                this.skyLineMaterial = t(i[P("0x436")], e[P("0x16a")][P("0x16b")][P("0x6e")]()),
+                this.skyLineDepthFailMaterial = t(i.skyLineDepthFailMaterial, void 0),
+                this[P("0x437")] = t(i[P("0x437")], e[P("0x16a")][P("0x438")][P("0x6e")]()),
+                this[P("0x439")] = t(i[P("0x439")], !1),
+                this.skyLineVolumeOutLineColor = t(i[P("0x43a")], e[P("0x16a")][P("0x43b")].clone()),
+                this[P("0x43c")] = t(i[P("0x43c")], 1.2),
+                this[P("0x43d")] = void 0,
+                this[P("0x43e")] = void 0,
+                this[P("0x419")] = void 0
+            }
+            ;
+            r[P("0x5")][P("0x43f")] = function() {
+                if (!this[P("0x43d")]) {
+                    var t = []
+                      , i = {};
+                    i[P("0x3ee")] = [],
+                    i[P("0x3ed")] = [];
+                    for (var r = this[P("0x48")].width, n = this[P("0x48")][P("0x8b")], o = 50, a = [], s = 0; s < r; s += p()(r / 3))
+                        for (var x = 0; x < n; x++) {
+                            var l = new (e[P("0x10")])(s,x);
+                            if (this.scene.pickPosition(l)) {
+                                a[P("0x17c")](x);
+                                break
+                            }
+                        }
+                    Math[P("0xee")].apply(null, a) < 10 && (o = 1);
+                    for (var c = 0; c < r; c += 3)
+                        for (var u = 0; u < n; u += o) {
+                            var h = new (e[P("0x10")])(c,u);
+                            if (this[P("0x10f")][P("0x174")](h))
+                                for (s = u - 1; u - o <= s; --s) {
+                                    var f = new (e[P("0x10")])(c,s);
+                                    if (!this.scene.pickPosition(f)) {
+                                        var d = new (e[P("0x10")])(c,s + 1)
+                                          , g = this.scene.pickPosition(d);
+                                        t[P("0x17c")](g),
+                                        i[P("0x3ed")].push(n - s),
+                                        i[P("0x3ee")][P("0x17c")](c),
+                                        u = n;
                                         break
                                     }
                                 }
-                            return {
-                                object: a,
-                                position: i
-                            }
                         }
-                        ;
-                    var f = new (e[P("0x12")])
-                        , d = new (e[P("0x12")])(1, 1 / 255, 1 / 65025, 1 / 16581375);
-                    function g(t, i) {
-                        if (!e[P("0x14")](t[P("0xc3e")]) || !e[P("0x14")](t[P("0xc3e")][P("0xa5b")]) || !t[P("0xc3e")]._model[P("0xa8e")])
-                            return !1;
-                        var r = t[P("0x4a4")];
-                        return i[P("0xc3f")](r, e[P("0xbfa")][P("0xc40")]) !== e[P("0xbfa")][P("0xc41")]
+                    this[P("0x440")] = i,
+                    this[P("0x441")] = t,
+                    this.cameraPosition = this[P("0x13b")].camera[P("0x8c")].clone(),
+                    this.cameraHeight = e.Cartographic[P("0x175")](this.cameraPosition)[P("0x8b")]
+                }
+            }
+            ,
+            r[P("0x5")][P("0x442")] = function() {
+                this[P("0x43d")] || (this[P("0x441")] || this[P("0x43f")](),
+                this[P("0x43d")] = this.entities[P("0x6d")]({
+                    name: "GeoSkyLine",
+                    polyline: {
+                        positions: this[P("0x441")],
+                        width: this[P("0x435")],
+                        show: this.skyLineShow,
+                        material: this.skyLineMaterial,
+                        depthFailMaterial: this[P("0x443")]
                     }
-                    e[P("0xc0c")][P("0x5")][P("0xc33")] = function (t, i, r, n, o, a) {
-                        n = void 0 !== n ? n : 1,
-                            o = void 0 !== o ? o : 1,
-                            a = w()(a) === P("0x2b6") || a;
-                        var s = t[P("0xc34")]({
-                            x: i,
-                            y: r,
-                            width: n,
-                            height: o,
-                            framebuffer: this[P("0x784")]
-                        });
-                        if (!s)
-                            return 0;
-                        for (var x = [], l = 0; l < n; l++)
-                            for (var c = 0; c < o; c++) {
-                                var u = 4 * c * n + l
-                                    , h = e[P("0x12")][P("0xc35")](s, u, f);
-                                e.Cartesian4.divideByScalar(h, 255, h);
-                                var g = e[P("0x12")][P("0x92")](h, d);
-                                x[P("0x17c")](g)
-                            }
-                        var p = Math.floor(.5 * n) + Math.floor(.5 * o) * n
-                            , m = x[p];
-                        if (0 < m && m <= 1)
-                            return m;
-                        if (a)
-                            return 0;
-                        var b = 0
-                            , v = 0;
-                        for (l = 0; l < n; l++)
-                            for (c = 0; c < o; c++)
-                                u = c * n + l,
-                                    0 < (m = x[p]) && m < 1 && (b += m,
-                                        v++);
-                        return v < 1 ? 0 : b / v
+                }))
+            }
+            ,
+            r[P("0x5")][P("0x444")] = function() {
+                this[P("0x43e")] || (this[P("0x441")] || this.calculateSkyLinePositions(),
+                this[P("0x441")] = this.skyLinePositions.concat([this[P("0x445")]]),
+                this[P("0x441")][P("0x17c")](this[P("0x441")][0]),
+                this.skyLineVolume = this.entities.add({
+                    name: i,
+                    polygon: {
+                        hierarchy: this[P("0x441")],
+                        extrudedHeight: this[P("0x446")] / this[P("0x43c")],
+                        perPositionHeight: !0,
+                        material: this[P("0x437")],
+                        outline: this.skyLineVolumeOutLine,
+                        outlineColor: this.skyLineVolumeOutLineColor
                     }
-                        ,
-                        e[P("0xc0c")][P("0x5")][P("0xc36")] = function (e, t, i, r, n) {
-                            return r = w()(r) !== P("0x2b6") ? r : 1,
-                                n = w()(n) !== P("0x2b6") ? n : 1,
-                            {
-                                arrayBufferView: e[P("0xc34")]({
-                                    x: t,
-                                    y: i,
-                                    width: r,
-                                    height: n,
-                                    framebuffer: this[P("0x784")]
-                                }),
-                                width: r,
-                                height: n
-                            }
+                }))
+            }
+            ,
+            r[P("0x5")][P("0x3f0")] = function(e) {
+                if (!this.myChart && (this.skyLinePositions || this[P("0x43f")](),
+                this[P("0x440")])) {
+                    var t = document[P("0x3f1")](e);
+                    t.onmousedown = function(e) {
+                        var i = e || event
+                          , r = i[P("0x3f3")] - t[P("0x156")]
+                          , n = i[P("0x3f5")] - t.offsetTop;
+                        document[P("0x3f4")] = function(e) {
+                            var i = e || event;
+                            t[P("0x150")][P("0x149")] = i.clientX - r + "px",
+                            t.style[P("0x151")] = i.clientY - n + "px"
                         }
                         ,
-                        e[P("0xc37")][P("0x5")][P("0xc36")] = function (e, t) {
-                            return e = w()(e) !== P("0x2b6") ? e : 1,
-                                t = w()(t) !== P("0x2b6") ? t : 1,
-                            {
-                                arrayBufferView: this[P("0xb84")][P("0xc34")]({
-                                    x: 0,
-                                    y: 0,
-                                    width: e,
-                                    height: t,
-                                    framebuffer: this._fb
-                                }),
-                                width: e,
-                                height: t
+                        document[P("0x3f6")] = function() {
+                            document[P("0x3f4")] = null,
+                            document.onmouseup = null
+                        }
+                    }
+                    ;
+                    var i = echarts[P("0x3f7")](t)
+                      , r = {
+                        title: {
+                            x: P("0x11a"),
+                            padding: 15,
+                            text: P("0x447"),
+                            textStyle: {
+                                color: P("0x3f9"),
+                                fontStyle: "normal",
+                                fontWeight: P("0x3fa"),
+                                fontFamily: "sans-serif",
+                                fontSize: 18
+                            }
+                        },
+                        tooltip: {
+                            trigger: P("0x3fb"),
+                            confine: !0,
+                            formatter: function(e) {
+                                return "瀹藉害: " + e[0][P("0x176")] + P("0x3fc") + "楂樺害: " + e[0].value
+                            }
+                        },
+                        grid: {
+                            left: "2%",
+                            right: P("0x3fd"),
+                            bottom: "3%",
+                            containLabel: !0
+                        },
+                        xAxis: {
+                            splitArea: {
+                                show: !1
+                            },
+                            splitLine: {
+                                show: !1,
+                                lineStyle: {
+                                    color: [P("0x3fe")],
+                                    width: 1,
+                                    type: P("0x3ff")
+                                }
+                            },
+                            type: P("0x400"),
+                            boundaryGap: !1,
+                            data: this[P("0x440")][P("0x3ee")],
+                            name: P("0x448"),
+                            nameTextStyle: {
+                                color: "#ccc",
+                                fontWeight: P("0x403")
+                            },
+                            axisLine: {
+                                lineStyle: {
+                                    color: "rgba(0.0, 128, 255, 0.6)",
+                                    width: 4
+                                }
+                            },
+                            axisLabel: {
+                                color: P("0x3f9"),
+                                fontWeight: P("0x403")
+                            }
+                        },
+                        yAxis: {
+                            splitArea: {
+                                show: !1
+                            },
+                            splitLine: {
+                                show: !0,
+                                lineStyle: {
+                                    color: [P("0x3fe")],
+                                    width: 1,
+                                    type: P("0x404")
+                                }
+                            },
+                            type: P("0x3"),
+                            name: "楂樺害(PX)",
+                            nameTextStyle: {
+                                color: P("0x3f9"),
+                                fontWeight: "bolder"
+                            },
+                            axisLine: {
+                                lineStyle: {
+                                    color: "rgba(0.0, 128, 255, 0.6)",
+                                    width: 4
+                                }
+                            },
+                            axisLabel: {
+                                color: P("0x3f9"),
+                                fontWeight: "bolder"
+                            }
+                        },
+                        series: [{
+                            type: P("0x449"),
+                            data: this[P("0x440")][P("0x3ed")],
+                            areaStyle: {
+                                color: P("0x406")
+                            }
+                        }]
+                    };
+                    return i[P("0x407")](r),
+                    this[P("0x41a")] = t,
+                    this.myChart = i
+                }
+            }
+            ,
+            r[P("0x5")][P("0x418")] = function() {
+                this.myChart && (this[P("0x419")][P("0x192")](),
+                this[P("0x419")] = null)
+            }
+            ,
+            r[P("0x5")][P("0x192")] = function() {
+                this[P("0x418")](),
+                this[P("0x43d")] && (this[P("0x194")][P("0x17f")](this[P("0x43d")]),
+                this[P("0x43d")] = void 0),
+                this[P("0x43e")] && (this[P("0x194")][P("0x17f")](this.skyLineVolume),
+                this.skyLineVolume = void 0),
+                this[P("0x440")] = void 0,
+                this[P("0x441")] = void 0,
+                this[P("0x445")] = void 0,
+                this[P("0x446")] = void 0,
+                this[P("0x441")] = void 0
+            }
+        }(window[P("0xfd")]),
+        ((B = window.Cesium)[P("0x451")] = function(e) {
+            this[P("0x13b")] = e[P("0x13b")],
+            this.scene = this[P("0x13b")][P("0x10f")],
+            this[P("0x48")] = this[P("0x10f")][P("0x48")],
+            this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
+            this._samplingPoints = e[P("0x452")],
+            this[P("0x453")] = e[P("0x44f")],
+            this._bottomMaterial = e.bottomMaterial,
+            this[P("0x454")] = B[P("0x102")](e.interNumber, 20),
+            this[P("0x455")] = B[P("0x102")](e[P("0x456")], -500),
+            this[P("0x453")] = B.defaultValue(e[P("0x44f")], new (B[P("0x457")])({
+                evenColor: B[P("0x16a")][P("0x2d5")][P("0x16c")](1)
+            })),
+            this._bottomMaterial = B.defaultValue(e[P("0x450")], new (B[P("0x457")])({
+                evenColor: B[P("0x16a")][P("0x338")].withAlpha(1)
+            })),
+            this[P("0x458")] = [],
+            !this[P("0x459")] || this[P("0x459")].length <= 2 || (function(e, t) {
+                !function(e) {
+                    var t, i, r, n, o, a, s;
+                    e[P("0x0")] < 3 || (i = (t = e)[0],
+                    r = t[1],
+                    n = t[2],
+                    o = B[P("0x11")][P("0x95")](r, i, new (B[P("0x11")])),
+                    a = B[P("0x11")].subtract(n, i, new B.Cartesian3),
+                    s = B[P("0x11")][P("0x99")](o, a, new B.Cartesian3),
+                    0 <= B[P("0x11")][P("0x92")](i, s) || e[P("0x1e3")]())
+                }(e);
+                for (var i = e[P("0x0")], r = [], n = 0; n < i; ++n) {
+                    var o = (n + 1) % i
+                      , a = B[P("0x11")][P("0x6d")](e[n], e[o], new (B[P("0x11")]));
+                    a = B[P("0x11")][P("0x6c")](a, .5, a);
+                    var s = B[P("0x11")].normalize(a, new (B[P("0x11")]))
+                      , x = B[P("0x11")][P("0x95")](e[o], a, new (B[P("0x11")]));
+                    x = B[P("0x11")][P("0x8d")](x, x);
+                    var l = B[P("0x11")].cross(x, s, new (B[P("0x11")]));
+                    l = B[P("0x11")][P("0x8d")](l, l);
+                    var c = new (B[P("0x1c")])(l,0)
+                      , u = B[P("0x1c")][P("0x44a")](c, a);
+                    r.push(new (B[P("0x368")])(l,u))
+                }
+                t.scene[P("0xa3")][P("0x365")] = new (B[P("0x36a")])({
+                    planes: r,
+                    edgeWidth: 2,
+                    edgeColor: B[P("0x16a")][P("0x2cf")]
+                })
+            }(this[P("0x459")], this[P("0x13b")]),
+            function(e) {
+                for (var t = e[P("0x44b")], i = e[P("0x44c")], r = e[P("0x44d")], n = e[P("0x44e")], o = e[P("0x44f")], a = e[P("0x450")], s = e.entitys, x = [], l = 0; l < r.length; l++) {
+                    var c = n[P("0x10f")].globe[P("0xef")][P("0xd6")](r[l]);
+                    if (c.height = 0,
+                    x[P("0x17c")](c),
+                    l == r.length - 1)
+                        for (var u = 1; u <= t; u++) {
+                            var h = B.Cartesian3[P("0x308")](r[l], r[0], u / t, new B.Cartesian3);
+                            (f = B[P("0x13")][P("0x175")](h))[P("0x8b")] = 0,
+                            x.push(f)
+                        }
+                    else
+                        for (u = 1; u <= t; u++) {
+                            var f;
+                            h = B[P("0x11")][P("0x308")](r[l], r[l + 1], u / t, new (B[P("0x11")])),
+                            (f = B[P("0x13")][P("0x175")](h))[P("0x8b")] = 0,
+                            x[P("0x17c")](f)
+                        }
+                }
+                for (l = 0; l < x[P("0x0")]; l++) {
+                    var d = n.scene[P("0xa3")].getHeight(x[l]);
+                    x[l][P("0x8b")] = d
+                }
+                var g = [];
+                for (l = 0; l < x.length; l++) {
+                    var p = (l + 1) % x.length
+                      , m = [];
+                    m[P("0x17c")](B[P("0x23")].toDegrees(x[l][P("0x112")])),
+                    m[P("0x17c")](B[P("0x23")][P("0x113")](x[l][P("0x114")])),
+                    m.push(x[l][P("0x8b")]),
+                    m.push(B[P("0x23")][P("0x113")](x[p][P("0x112")])),
+                    m.push(B[P("0x23")][P("0x113")](x[p].latitude)),
+                    m.push(x[p][P("0x8b")]),
+                    m[P("0x17c")](B.Math[P("0x113")](x[p][P("0x112")])),
+                    m.push(B[P("0x23")][P("0x113")](x[p][P("0x114")])),
+                    m[P("0x17c")](x[p][P("0x8b")] + i),
+                    m[P("0x17c")](B[P("0x23")].toDegrees(x[l][P("0x112")])),
+                    m[P("0x17c")](B[P("0x23")].toDegrees(x[l].latitude)),
+                    m[P("0x17c")](x[l][P("0x8b")] + i),
+                    g[P("0x17c")](B[P("0x23")][P("0x113")](x[l][P("0x112")])),
+                    g[P("0x17c")](B[P("0x23")][P("0x113")](x[l][P("0x114")])),
+                    g[P("0x17c")](x[l][P("0x8b")] + i);
+                    var b = n[P("0x194")][P("0x6d")]({
+                        polygon: {
+                            hierarchy: B[P("0x11")].fromDegreesArrayHeights(m),
+                            material: o,
+                            perPositionHeight: !0
+                        }
+                    });
+                    s[P("0x17c")](b)
+                }
+                var v = n[P("0x194")][P("0x6d")]({
+                    polygon: {
+                        hierarchy: B[P("0x11")].fromDegreesArrayHeights(g),
+                        material: a,
+                        perPositionHeight: !0
+                    }
+                });
+                s.push(v)
+            }({
+                arrPoints: this[P("0x459")],
+                earth: this[P("0x13b")],
+                holeDepth: this[P("0x455")],
+                interNumber: this[P("0x454")],
+                sideMaterial: this._sideMaterial,
+                bottomMaterial: this._bottomMaterial,
+                entitys: this[P("0x458")]
+            }))
+        }
+        ).prototype[P("0xf4")] = function() {
+            for (var e = 0; e < this[P("0x458")].length; e++)
+                this[P("0x13b")].entities.remove(this[P("0x458")][e]);
+            this[P("0x458")][P("0x0")] = 0,
+            this.viewer[P("0x10f")][P("0xa3")][P("0x365")].destroy()
+        }
+        ,
+        function(e) {
+            e[P("0x102")];
+            var t = e.GeoTerrainExcavate = function(t, i) {
+                this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x10f")] = this[P("0x13b")].scene,
+                this[P("0x48")] = this[P("0x10f")].canvas,
+                this[P("0x194")] = this[P("0x13b")].entities,
+                this[P("0x45a")] = i,
+                this.depth = e.defaultValue(t[P("0x456")], -500),
+                this[P("0x453")] = t[P("0x44f")],
+                this[P("0x45b")] = t.bottomMaterial,
+                this._outPoints = [],
+                this._arrayVertex = [],
+                this[P("0x304")] = void 0,
+                this[P("0x45c")] = void 0,
+                this[P("0x45d")] = 0,
+                this[P("0x45e")] = void 0,
+                this[P("0x13b")][P("0x10f")][P("0xa3")].depthTestAgainstTerrain = !0
+            }
+            ;
+            t[P("0x5")][P("0x198")] = function() {
+                if (this.clear(),
+                !this.handler) {
+                    this[P("0x16f")] = new e.ScreenSpaceEventHandler(this[P("0x48")]),
+                    this[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x171");
+                    var t = this;
+                    this.handler[P("0x160")]((function(i) {
+                        var r = t[P("0x13b")][P("0x7e")].getPickRay(i.position)
+                          , n = t.viewer[P("0x10f")].globe[P("0xa4")](r, t.viewer[P("0x10f")]);
+                        t[P("0x45f")][P("0x17c")](n);
+                        var o = e.Cartographic[P("0x175")](n);
+                        t[P("0x460")][P("0x17c")](e[P("0x23")].toDegrees(o[P("0x112")])),
+                        t[P("0x460")][P("0x17c")](e[P("0x23")][P("0x113")](o.latitude)),
+                        t[P("0x460")][P("0x17c")](o[P("0x8b")]),
+                        null == t._polylineCollection && (t[P("0x304")] = t[P("0x13b")][P("0x10f")][P("0x17d")][P("0x6d")](new e.PolylineCollection),
+                        t._polylineCollection[P("0x176")] = "draw_polyline",
+                        t[P("0x45c")] = t[P("0x304")][P("0x6d")]({
+                            polyline: {}
+                        }),
+                        t[P("0x45c")][P("0x19a")] = 2,
+                        t[P("0x45c")][P("0x19b")] = !1,
+                        t[P("0x45c")][P("0x19c")].uniforms[P("0x169")] = {
+                            red: 1,
+                            green: 0,
+                            blue: 0,
+                            alpha: 1
+                        }),
+                        t[P("0x45c")][P("0x19f")] = t[P("0x45f")],
+                        t[P("0x45d")]++
+                    }
+                    ), e[P("0x161")][P("0x17e")]),
+                    this[P("0x16f")][P("0x160")]((function(e) {
+                        if (null != t[P("0x304")]) {
+                            var i = t[P("0x13b")][P("0x7e")][P("0x86")](e.endPosition)
+                              , r = t.viewer[P("0x10f")][P("0xa3")][P("0xa4")](i, t[P("0x13b")].scene);
+                            t[P("0x45f")][P("0x0")] > t[P("0x45d")] && t[P("0x45f")][P("0x25c")](),
+                            t._arrayVertex[P("0x17c")](r),
+                            t[P("0x45c")].positions = t[P("0x45f")]
+                        }
+                    }
+                    ), e.ScreenSpaceEventType.MOUSE_MOVE),
+                    this.handler.setInputAction((function(i) {
+                        if (null != t._polylineCollection) {
+                            var r = t[P("0x13b")][P("0x7e")][P("0x86")](i.position)
+                              , n = t[P("0x13b")][P("0x10f")][P("0xa3")][P("0xa4")](r, t[P("0x13b")].scene)
+                              , o = e[P("0x13")].fromCartesian(n);
+                            t[P("0x460")][P("0x17c")](e.Math[P("0x113")](o.longitude)),
+                            t[P("0x460")][P("0x17c")](e.Math[P("0x113")](o.latitude)),
+                            t._outPoints.push(o[P("0x8b")]),
+                            t[P("0x304")][P("0x17f")](t[P("0x45c")]),
+                            t.viewer.scene[P("0x17d")][P("0x17f")](t[P("0x304")]),
+                            t.handler.destroy(),
+                            t.handler = void 0,
+                            t._polylineCollection = void 0,
+                            t[P("0x45c")] = void 0,
+                            t[P("0x45d")] = 0,
+                            t.viewer[P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                            t._excavationRegion = new e.GeoExcavationRegion({
+                                viewer: t[P("0x13b")],
+                                samplingPoints: t[P("0x45f")],
+                                depth: t[P("0x456")],
+                                sideMaterial: t._sideMaterial,
+                                bottomMaterial: t._bottomMaterial,
+                                interNumber: 10
+                            }),
+                            t[P("0x45a")](t[P("0x460")])
+                        }
+                    }
+                    ), e[P("0x161")][P("0x189")])
+                }
+            }
+            ,
+            t[P("0x5")].clear = function() {
+                this[P("0x45e")] && (this[P("0x460")][P("0x0")] = 0,
+                this._arrayVertex[P("0x0")] = 0,
+                this[P("0x45e")][P("0xf4")](),
+                this[P("0x45e")] = void 0)
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x102")];
+            (e[P("0x461")] = function(e, i) {
+                e = t(e, t[P("0x128")]),
+                this.viewer = e.viewer,
+                this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
+                this[P("0x48")] = this[P("0x10f")][P("0x48")],
+                this.camera = this.scene[P("0x7e")],
+                this[P("0x17d")] = this[P("0x10f")].primitives,
+                this[P("0x191")] = i || null,
+                this.contourUniforms = {},
+                this[P("0x462")] = {}
+            }
+            ).prototype[P("0x463")] = function(o) {
+                var a = !1;
+                if (o && o[P("0x464")]) {
+                    a = t(o[P("0x464")][P("0x3b6")], !1);
+                    var s = t(o[P("0x464")][P("0x19a")], 2)
+                      , x = t(o.contour[P("0x465")], 150)
+                      , l = t(o[P("0x464")][P("0x169")], e[P("0x16a")].RED[P("0x6e")]())
+                }
+                var c = "none";
+                if (o && o[P("0x466")] && (c = o[P("0x466")],
+                -1 == ["elevation", P("0x467"), P("0x468"), P("0x2b4")][P("0x2d3")](c)))
+                    return alert("杈撳叆鍊煎彲閫塭levation,slope,aspect,none涓殑涓�涓紒"),
+                    !1;
+                var u, h = -414, f = 8777;
+                return o && o.minHeight && (h = o[P("0x3ea")]),
+                o && o[P("0x3eb")] && (f = o.maxHeight),
+                a ? (c === P("0x469") ? (u = new e.Material({
+                    fabric: {
+                        type: P("0x485"),
+                        materials: {
+                            contourMaterial: {
+                                type: P("0x471")
+                            },
+                            elevationRampMaterial: {
+                                type: P("0x472")
+                            }
+                        },
+                        components: {
+                            diffuse: "contourMaterial.alpha == 0.0 ? elevationRampMaterial.diffuse : contourMaterial.diffuse",
+                            alpha: P("0x486")
+                        }
+                    },
+                    translucent: !1
+                }),
+                this[P("0x462")] = u[P("0x46a")][P("0x46b")][P("0x19d")],
+                this[P("0x462")][P("0x46c")] = h,
+                this[P("0x462")][P("0x46d")] = f,
+                this.contourUniforms = u[P("0x46a")][P("0x46e")].uniforms) : c === P("0x467") ? (u = new (e[P("0x212")])({
+                    fabric: {
+                        type: P("0x487"),
+                        materials: {
+                            contourMaterial: {
+                                type: P("0x471")
+                            },
+                            slopeRampMaterial: {
+                                type: P("0x473")
+                            }
+                        },
+                        components: {
+                            diffuse: "contourMaterial.alpha == 0.0 ? slopeRampMaterial.diffuse : contourMaterial.diffuse",
+                            alpha: P("0x488")
+                        }
+                    },
+                    translucent: !0
+                }),
+                this[P("0x462")] = u[P("0x46a")][P("0x46f")].uniforms,
+                this[P("0x470")] = u[P("0x46a")][P("0x46e")][P("0x19d")]) : c === P("0x468") ? (u = new (e[P("0x212")])({
+                    fabric: {
+                        type: P("0x489"),
+                        materials: {
+                            contourMaterial: {
+                                type: P("0x471")
+                            },
+                            aspectRampMaterial: {
+                                type: P("0x474")
+                            }
+                        },
+                        components: {
+                            diffuse: "contourMaterial.alpha == 0.0 ? aspectRampMaterial.diffuse : contourMaterial.diffuse",
+                            alpha: P("0x48a")
+                        }
+                    },
+                    translucent: !1
+                }),
+                this[P("0x462")] = u[P("0x46a")].aspectRampMaterial[P("0x19d")],
+                this[P("0x470")] = u.materials[P("0x46e")][P("0x19d")]) : (u = e[P("0x212")][P("0x213")](P("0x471")),
+                this[P("0x470")] = u[P("0x19d")]),
+                this.contourUniforms.width = s,
+                this[P("0x470")][P("0x465")] = x,
+                this.contourUniforms.color = l) : c === P("0x469") ? (u = e.Material[P("0x213")](P("0x472")),
+                this.shadingUniforms = u.uniforms,
+                this[P("0x462")].minimumHeight = h,
+                this[P("0x462")].maximumHeight = f) : c === P("0x467") ? (u = e.Material[P("0x213")](P("0x473")),
+                this[P("0x462")] = u[P("0x19d")]) : c === P("0x468") && (u = e[P("0x212")][P("0x213")](P("0x474")),
+                this[P("0x462")] = u.uniforms),
+                c !== P("0x2b4") && (this.shadingUniforms[P("0x475")] = function(e) {
+                    var t = document[P("0x15c")](P("0x48"));
+                    t[P("0x19a")] = 100,
+                    t[P("0x8b")] = 1;
+                    var o, a = t[P("0x476")]("2d");
+                    e === P("0x469") ? o = i : e === P("0x467") ? o = r : "aspect" === e && (o = n);
+                    var s = a[P("0x477")](0, 0, 100, 0);
+                    return 7 == o[P("0x0")] ? (s.addColorStop(o[0], P("0x478")),
+                    s[P("0x479")](o[1], P("0x47a")),
+                    s[P("0x479")](o[2], "#D33B7D"),
+                    s[P("0x479")](o[3], "#D33038"),
+                    s[P("0x479")](o[4], "#FF9742"),
+                    s[P("0x479")](o[5], "#ffd700"),
+                    s[P("0x479")](o[6], P("0x47b"))) : (s[P("0x479")](o[0], P("0x47c")),
+                    s[P("0x479")](o[1], "#599668"),
+                    s.addColorStop(o[2], P("0x47d")),
+                    s[P("0x479")](o[3], "#fafcb4"),
+                    s.addColorStop(o[4], P("0x47e")),
+                    s.addColorStop(o[5], P("0x47f")),
+                    s[P("0x479")](o[6], P("0x480")),
+                    s[P("0x479")](o[7], P("0x481")),
+                    s[P("0x479")](o[8], P("0x482")),
+                    s[P("0x479")](o[9], P("0x483")),
+                    s[P("0x479")](o[10], "#420202")),
+                    a[P("0x484")] = s,
+                    a.fillRect(0, 0, 100, 1),
+                    t
+                }(c)),
+                this[P("0x10f")][P("0xa3")][P("0x19c")] = u,
+                !0
+            }
+            ;
+            var i = [0, .045, .1, .15, .37, .54, 1]
+              , r = [0, .1, .2, .3, .4, .5, .6, .7, .8, .9, 1]
+              , n = [0, .2, .4, .6, .8, .9, 1]
+        }(window.Cesium),
+        function(e) {
+            var t = e.GeoTilesetFlatten = function(t) {
+                t = e[P("0x102")](t, e[P("0x102")][P("0x128")]),
+                this[P("0x48b")] = !1,
+                this[P("0x48c")] = !1,
+                this[P("0x48d")] = [],
+                this[P("0x48e")] = e[P("0x102")](t[P("0x48e")], !0),
+                this.show = e.defaultValue(t[P("0x221")], !0),
+                this[P("0xef")] = e.defaultValue(t[P("0xef")], e[P("0x16")].WGS84)
+            }
+            ;
+            function i(t) {
+                var i = t.content._model;
+                e.defined(i) && e[P("0x14")](i.platSlot) && delete i[P("0x48f")]
+            }
+            function r(t) {
+                var i = t[P("0x490")]._model;
+                if (e.defined(i)) {
+                    var r = i[P("0x48f")];
+                    if (!e[P("0x14")](r))
+                        throw new e.DeveloperError("storing of model vertex buffers is fail.")
+                }
+            }
+            t.prototype[P("0x491")] = function(t) {
+                if (!e[P("0x14")](t))
+                    throw new (e[P("0x15")])("parameter tileset is required.");
+                if (e[P("0x14")](this[P("0x492")]))
+                    throw new (e[P("0x15")])(P("0x493"));
+                this[P("0x492")] = t,
+                (this._tileset[P("0x494")] = this)[P("0x48c")] = !0,
+                this[P("0x492")].tileUnload[P("0x130")](i),
+                this[P("0x492")][P("0x495")].addEventListener(r)
+            }
+            ,
+            t.prototype[P("0x496")] = function(e) {
+                this.show != e && (this[P("0x48c")] = !0),
+                this[P("0x221")] = e
+            }
+            ,
+            t[P("0x5")][P("0x497")] = function(e) {
+                return this[P("0x221")]
+            }
+            ,
+            t[P("0x5")][P("0x498")] = function() {
+                return this[P("0x48c")]
+            }
+            ,
+            t[P("0x5")][P("0x499")] = function() {
+                this[P("0x48c")] = !1
+            }
+            ,
+            t[P("0x5")][P("0x49a")] = function(t) {
+                var i = this;
+                if (void 0 !== t && t instanceof Array) {
+                    var r = t.length;
+                    if (!(r < 3)) {
+                        for (var n = [], o = i[P("0x48e")], a = 0; a < r; a++) {
+                            var s = t[a];
+                            o ? void 0 !== s[P("0x8b")] ? n[P("0x17c")](e.Cartesian3.fromRadians(s[P("0x112")], s[P("0x114")], s[P("0x8b")], i[P("0xef")])) : n.push(e[P("0x11")][P("0x6e")](s, new (e[P("0x11")]))) : void 0 !== s[P("0x8b")] ? n.push(e[P("0x13")].clone(s, new (e[P("0x13")]))) : n[P("0x17c")](e.Cartographic[P("0x175")](s, i.ellipsoid, new (e[P("0x13")])))
+                        }
+                        if (i.isCartesian3Point) {
+                            if (!n[0].equals(n[r - 1])) {
+                                var x = e[P("0x11")][P("0x6e")](n[0], new e.Cartesian3);
+                                n[P("0x17c")](x)
+                            }
+                        } else
+                            e[P("0x13")].equals(n[0], n[r - 1]) || (x = e[P("0x13")][P("0x6e")](n[0], new (e[P("0x13")])),
+                            n[P("0x17c")](x));
+                        var l = {};
+                        l[P("0x49b")] = n,
+                        l[P("0x49c")] = !0,
+                        i[P("0x48d")][P("0x17c")](l);
+                        var c = i[P("0x48d")][P("0x0")] - 1;
+                        return i.dirty = !0,
+                        i.initPlatBodyDebug(),
+                        this._ready = !0,
+                        c
+                    }
+                }
+            }
+            ,
+            t.prototype[P("0x49d")] = function(t) {
+                if (void 0 !== t && "number" == typeof t && t < this[P("0x48d")][P("0x0")]) {
+                    var i = this.polys[t];
+                    if (void 0 === i)
+                        return;
+                    var r = i[P("0x49b")];
+                    if (void 0 === r)
+                        return;
+                    for (var n = [], o = 0; o < r[P("0x0")]; o++) {
+                        var a = e[P("0x11")][P("0x6e")](r[o], new (e[P("0x11")]));
+                        n.push(a)
+                    }
+                    return n
+                }
+            }
+            ,
+            t[P("0x5")][P("0x49e")] = function(e) {
+                void 0 !== e && w()(e) === P("0x49f") && e < this.polys[P("0x0")] && (delete this[P("0x48d")][e],
+                this[P("0x48c")] = !0)
+            }
+            ,
+            t[P("0x5")].showPlatArea = function(e, t) {
+                void 0 !== e && w()(e) === P("0x49f") && e < this.polys[P("0x0")] && (this.polys[e][P("0x49c")] = t,
+                this[P("0x48c")] = !0)
+            }
+            ,
+            t[P("0x5")].initRegionMatrixes = function(t) {
+                var i = t
+                  , r = i[P("0x4a0")].content[P("0x4a1")];
+                if (e[P("0x14")](i[P("0x4a2")][P("0x4a3")]) && !(i[P("0x4a2")][P("0x4a3")].length < 1)) {
+                    var n = r[P("0x4a4")]._orientedBoundingBox[P("0x4a5")]
+                      , o = r[P("0x4a4")]._orientedBoundingBox[P("0x11a")]
+                      , a = {};
+                    if (a[P("0x4a6")] = this[P("0x4a7")](n),
+                    a[P("0x4a8")] = this[P("0x4a9")](a.matOrg),
+                    e.defined(a[P("0x4a8")]) && (a[P("0x4aa")] = e.Transforms[P("0xbf")](o, this[P("0xef")], new (e[P("0x1b")])),
+                    a.matPrjI = this.invertMatrix(a[P("0x4aa")]),
+                    e[P("0x14")](a[P("0x4ab")])))
+                        return a[P("0x4ac")] = e[P("0x1b")].clone(i[P("0x4a2")].rootNodes[0][P("0x4ad")], new e.Matrix4),
+                        a
+                }
+            }
+            ,
+            t[P("0x5")][P("0x4ae")] = function(t) {
+                var i = t
+                  , r = i._pickObject[P("0x490")][P("0x4a1")];
+                if (e[P("0x14")](i[P("0x4a2")][P("0x4a3")]) && !(i[P("0x4a2")][P("0x4a3")].length < 1)) {
+                    var n = r[P("0x4a4")]._orientedBoundingBox[P("0x11a")]
+                      , o = {};
+                    if (o[P("0x4aa")] = e[P("0x1f")][P("0xbf")](n, this[P("0xef")], new (e[P("0x1b")])),
+                    o[P("0x4ab")] = this[P("0x4a9")](o[P("0x4aa")]),
+                    e[P("0x14")](o[P("0x4ab")]) && (o[P("0x4ac")] = e.Matrix4[P("0x6e")](i._runtime[P("0x4a3")][0][P("0x4ad")], new (e[P("0x1b")])),
+                    o.modelMatrixI = this[P("0x4a9")](o.modelMatrix),
+                    e[P("0x14")](o[P("0x4af")])))
+                        return o
+                }
+            }
+            ,
+            t[P("0x5")].toPlatRegionModel = function(t, i) {
+                var r = i
+                  , n = r[P("0x48f")][P("0x4b0")]
+                  , o = n[P("0x0")]
+                  , a = this[P("0x4b1")](r);
+                if (e[P("0x14")](a)) {
+                    this[P("0x4b2")](r);
+                    for (var s = 0; s < o; s++) {
+                        var x = n[s];
+                        if (void 0 !== x && 1 != x[P("0x496")]) {
+                            x.showPlat = !0;
+                            for (var l = x[P("0x4b3")][P("0x1d5")](0), c = new Float32Array(l[P("0x4b3")],l[P("0x4b4")],l[P("0x0")] / Float32Array[P("0x4b5")]), u = 0, h = [], f = [], d = 0; d < c[P("0x0")]; d += 3) {
+                                var g = new e.Cartesian3(c[d],c[d + 1],c[d + 2]);
+                                f.push(g),
+                                (p = e[P("0x1b")][P("0xd4")](a.matOrgI, g, new (e[P("0x11")]))).z < u && (u = p.z),
+                                h[P("0x17c")](p)
+                            }
+                            for (d = 0; d < h[P("0x0")]; d++) {
+                                var p = h[d];
+                                g = f[d],
+                                g = e[P("0x1b")][P("0xd4")](a.modelMatrix, g, new (e[P("0x11")])),
+                                g = e[P("0x1b")][P("0xd4")](a[P("0x4ab")], g, new (e[P("0x11")])),
+                                this[P("0x4b6")](r, g) && (p.z = u),
+                                p = e.Matrix4.multiplyByPoint(a.matOrg, p, new (e[P("0x11")])),
+                                c[3 * d] = p.x,
+                                c[3 * d + 1] = p.y,
+                                c[3 * d + 2] = p.z
+                            }
+                            this[P("0x4b7")](r, l, s, t)
+                        }
+                    }
+                    r.platSlot[P("0x4b8")] = void 0
+                }
+            }
+            ,
+            t[P("0x5")][P("0x4b9")] = function(t, i) {
+                var r = this
+                  , n = i
+                  , o = n[P("0x48f")][P("0x4b0")]
+                  , a = o[P("0x0")]
+                  , s = r.initBoxMatrixes(n);
+                if (e.defined(s)) {
+                    var x = {};
+                    r[P("0x4b2")](n);
+                    for (var l = 0; l < a; l++) {
+                        var c = o[l];
+                        if (!c[P("0x496")] || r.isPlatDirty()) {
+                            c[P("0x496")] = !0;
+                            for (var u = c[P("0x4b3")].slice(0), h = new Float32Array(u[P("0x4b3")],u[P("0x4b4")],u[P("0x0")] / Float32Array.BYTES_PER_ELEMENT), f = 0; f < h[P("0x0")]; f += 3) {
+                                var d = new (e[P("0x11")])(h[f],h[f + 1],h[f + 2]);
+                                d = e[P("0x11")].clone(d);
+                                var g = e[P("0x1b")][P("0xd4")](s[P("0x4ac")], d, new e.Cartesian3);
+                                x.pt = g,
+                                d = e.Matrix4[P("0xd4")](s[P("0x4ab")], g, new (e[P("0x11")])),
+                                r[P("0x4b6")](n, d, x) && (g = e[P("0x1b")].multiplyByPoint(s[P("0x4af")], x.pt, new (e[P("0x11")])),
+                                h[f] = g.x,
+                                h[f + 1] = g.y,
+                                h[f + 2] = g.z)
+                            }
+                            r[P("0x4b7")](n, u, l, t)
+                        }
+                    }
+                    n[P("0x48f")].platPolys = void 0
+                }
+            }
+            ,
+            t[P("0x5")][P("0x4ba")] = function(t, i) {
+                var r = i[P("0x4a0")][P("0x490")]._tile[P("0x4bb")][P("0x4bc")][P("0x4bd")];
+                e[P("0x14")](r) ? this[P("0x4be")](t, i) : this.toPlatBoxModel(t, i)
+            }
+            ,
+            t[P("0x5")].toUnplatModel = function(e, t) {
+                for (var i = t, r = i[P("0x48f")][P("0x4b0")], n = r[P("0x0")], o = 0; o < n; o++) {
+                    var a = r[o];
+                    if (void 0 !== a && 0 != a[P("0x496")]) {
+                        a[P("0x496")] = !1;
+                        var s = a[P("0x4b3")][P("0x1d5")](0);
+                        this[P("0x4b7")](i, s, o, e)
+                    }
+                }
+                i[P("0x48f")][P("0x4b8")] = void 0
+            }
+            ,
+            t[P("0x5")][P("0x4bf")] = function(e, t) {
+                var i = t;
+                if (this[P("0x48b")] && void 0 !== i.platSlot && void 0 !== i.platSlot[P("0x4b0")] && !(i.platSlot.buffers[P("0x0")] < 1)) {
+                    var r = this[P("0x4c0")](i);
+                    (r || i[P("0x48f")][P("0x4c1")]) && (i.platSlot[P("0x4c1")] = !0,
+                    r ? this[P("0x4ba")](e, t) : this[P("0x4c2")](e, t))
+                }
+            }
+            ,
+            t[P("0x5")][P("0x4c0")] = function(e) {
+                var t = e
+                  , i = this[P("0x48d")]
+                  , r = i.length;
+                if (r < 1)
+                    return !1;
+                for (var n = 0; n < r; n++) {
+                    var o = i[n];
+                    if (void 0 !== o && void 0 !== o.platPickRegion && this.hitPlatTestByRegion(t, o[P("0x4c3")]))
+                        return !0
+                }
+                return !1
+            }
+            ,
+            t.prototype[P("0x4c4")] = function() {
+                var t = this
+                  , i = t.ellipsoid;
+                if (t.isCartesian3Point) {
+                    if (void 0 === (s = t.polys))
+                        return;
+                    if (void 0 === (x = s[P("0x0")]) || x < 1)
+                        return;
+                    if (!t.dirty)
+                        return;
+                    for (var r = 0; r < x; r++)
+                        if (void 0 !== (l = s[r]) && !e[P("0x14")](l[P("0x4c3")])) {
+                            if (void 0 === (d = l.platPickPoints))
+                                return;
+                            if (void 0 === (g = d.length) || g < 1)
+                                return;
+                            for (var n = 0; n < g; n++) {
+                                var o = e[P("0x11")][P("0x6e")](d[n], new (e[P("0x11")]))
+                                  , a = e[P("0x13")].fromCartesian(o, i);
+                                0 != n ? (u > a[P("0x112")] ? u = a[P("0x112")] : c < a[P("0x112")] && (c = a[P("0x112")]),
+                                h > a[P("0x114")] ? h = a.latitude : f < a[P("0x114")] && (f = a[P("0x114")])) : (c = u = a[P("0x112")],
+                                h = f = a[P("0x114")])
+                            }
+                            l[P("0x4c3")] = {
+                                west: u,
+                                south: h,
+                                east: c,
+                                north: f
                             }
                         }
-                        ,
-                        t.pick = function (i, r, n, o) {
-                            if (o = w()(o) === P("0x2b6") || o,
-                                !i)
-                                return null;
-                            if (i._picker)
-                                i[P("0xc39")][P("0xbe1")] = o;
-                            else {
-                                var a = new t(i, o, P("0xc38"));
-                                i[P("0xc39")] = a,
-                                    e[P("0xc3a")][P("0x5")][P("0xc3b")] = e[P("0xc3a")][P("0x5")][P("0xf4")],
-                                    e.Scene[P("0x5")][P("0xf4")] = function () {
-                                        this[P("0xc39")] && (this[P("0xc39")][P("0xf4")](),
-                                            this[P("0xc39")] = null),
-                                            this[P("0xc3b")]()
-                                    }
-                                    ,
-                                    e.Cesium3DTile[P("0x5")][P("0xc42")] = e.Cesium3DTile[P("0x5")][P("0xc43")],
-                                    e.Cesium3DTile.prototype[P("0xc43")] = function (t, i) {
-                                        var r = t[P("0xbef")]
-                                            , n = function (t, i) {
-                                                if (i[P("0xd3")] !== e.SceneMode[P("0x90")] && !e.defined(t._boundingVolume2D)) {
-                                                    var r = t._boundingVolume[P("0x55b")]
-                                                        , n = e[P("0x5f1")][P("0xc4a")](r, i[P("0xbd")], p);
-                                                    t[P("0xc4b")] = new e.TileBoundingSphere(n.center, n[P("0x181")])
-                                                }
-                                                return i[P("0xd3")] !== e[P("0x22")][P("0x90")] ? t._boundingVolume2D : t._boundingVolume
-                                            }(this, t)
-                                            , o = this._tileset
-                                            , a = o[P("0x365")];
-                                        if (e.defined(a) && a[P("0x364")]) {
-                                            var s = a[P("0xc44")](n, o[P("0xc45")]);
-                                            if (this[P("0xc46")] = s !== Intersect[P("0xc47")],
-                                                s === Intersect[P("0xc48")])
-                                                return CullingVolume[P("0xc41")]
+                } else {
+                    var s, x;
+                    if (void 0 === (s = t[P("0x48d")]))
+                        return;
+                    if (void 0 === (x = s[P("0x0")]) || x < 1)
+                        return;
+                    if (!t.dirty)
+                        return;
+                    for (r = 0; r < x; r++) {
+                        var l;
+                        if (void 0 !== (l = s[r]) && !e[P("0x14")](l[P("0x4c3")])) {
+                            var c, u, h, f, d, g;
+                            if (void 0 === (d = l.platPickPoints))
+                                return;
+                            if (void 0 === (g = d[P("0x0")]) || g < 1)
+                                return;
+                            for (c = u = d[0].longitude,
+                            h = f = d[0][P("0x114")],
+                            n = 1; n < g; n++)
+                                u > (o = e.Cartographic.clone(d[n], new (e[P("0x13")])))[P("0x112")] ? u = o[P("0x112")] : c < o.longitude && (c = o[P("0x112")]),
+                                h > o[P("0x114")] ? h = o[P("0x114")] : f < o[P("0x114")] && (f = o[P("0x114")]);
+                            l.platPickRegion = {
+                                west: u,
+                                south: h,
+                                east: c,
+                                north: f
+                            }
+                        }
+                    }
+                }
+            }
+            ,
+            t.prototype.createTileRegion = function(t) {
+                var i = t[P("0x4bb")][P("0x4bc")];
+                if (e[P("0x14")](i)) {
+                    if (void 0 !== i[P("0x4bd")]) {
+                        var r = i.region;
+                        if (!e.defined(r))
+                            return;
+                        return {
+                            west: r[0],
+                            south: r[1],
+                            east: r[2],
+                            north: r[3]
+                        }
+                    }
+                    if (i.box) {
+                        if (!e[P("0x14")](t[P("0x4a4")]))
+                            return;
+                        var n = t[P("0x4a4")]._orientedBoundingBox;
+                        if (!e[P("0x14")](n))
+                            return;
+                        var o, a = e[P("0x11")].add, s = e[P("0x11")][P("0x95")], x = [];
+                        for (o = 0; o < 3; o++) {
+                            var l = new (e[P("0x11")])(n[P("0x4a5")][3 * o],n[P("0x4a5")][3 * o + 1],n[P("0x4a5")][3 * o + 2])
+                              , c = [];
+                            c[P("0x17c")]({
+                                f: a,
+                                a: l
+                            }),
+                            c[P("0x17c")]({
+                                f: s,
+                                a: l
+                            }),
+                            x[P("0x17c")](c)
+                        }
+                        var u, h, f, d, g, p, m = this[P("0xef")], b = n[P("0x11a")], v = [], C = x[0], y = x[1], _ = x[2];
+                        for (o = 0; o < C[P("0x0")]; o++)
+                            for (var A = C[o], I = e[P("0x11")].clone(b, new (e[P("0x11")])), w = A.f(I, A.a, new e.Cartesian3), G = 0; G < y.length; G++)
+                                for (var E = y[G], S = E.f(w, E.a, new e.Cartesian3), T = 0; T < _.length; T++) {
+                                    var M = _[T]
+                                      , N = M.f(S, M.a, new e.Cartesian3);
+                                    v[P("0x17c")](N)
+                                }
+                        for (u = h = v[0].x,
+                        f = d = v[0].y,
+                        g = p = v[0].z,
+                        o = 1; o < v.length; o++) {
+                            var L = v[o];
+                            u > L.x ? u = L.x : h < L.x && (h = L.x),
+                            f > L.y ? f = L.y : d < L.y && (d = L.y),
+                            g > L.z ? g = L.z : p < L.z && (p = L.z)
+                        }
+                        var R, O, F, D, U = [];
+                        for (U[P("0x17c")](e.Cartographic[P("0x175")](new (e[P("0x11")])(u,f,g), m, new (e[P("0x13")]))),
+                        U.push(e[P("0x13")].fromCartesian(new (e[P("0x11")])(h,d,p), m, new (e[P("0x13")]))),
+                        o = 0; o < U[P("0x0")]; o++) {
+                            var k = U[o];
+                            0 != o ? (R > k[P("0x112")] ? R = k[P("0x112")] : O < k[P("0x112")] && (O = k[P("0x112")]),
+                            D > k[P("0x114")] ? D = k[P("0x114")] : F < k[P("0x114")] && (F = k[P("0x114")])) : (R = O = k.longitude,
+                            F = D = k[P("0x114")])
+                        }
+                        return {
+                            west: R,
+                            south: D,
+                            east: O,
+                            north: F
+                        }
+                    }
+                }
+            }
+            ,
+            t[P("0x5")].hitPlatTestByRegion = function(t, i) {
+                return !!e.defined(i)
+            }
+            ,
+            t.prototype.initializePlatPoly = function(e) {
+                this.isCartesian3Point ? this.initializeCartesianPlatPoly(e) : this[P("0x4c7")](e)
+            }
+            ,
+            t.prototype[P("0x4c8")] = function(t) {
+                var i = this
+                  , r = t
+                  , n = r[P("0x48f")];
+                if (e[P("0x14")](n[P("0x4b8")])) {
+                    if (!i[P("0x498")]())
+                        return;
+                    delete n.platPolys
+                }
+                var o, a = i.ellipsoid, s = i.polys;
+                if (e[P("0x14")](r[P("0x4a2")][P("0x4a3")]) && (o = r._runtime[P("0x4a3")][0][P("0x4ad")]),
+                e[P("0x14")](o)) {
+                    var x = i[P("0x4a9")](o);
+                    if (e.defined(x)) {
+                        n.platPolys = [];
+                        var l, c, u = n.platPolys;
+                        for (c = 0; c < s[P("0x0")]; c++) {
+                            var h = s[c];
+                            if (e[P("0x14")](h)) {
+                                var f, d, g, p, m = h[P("0x49b")], b = new (e[P("0x11")]), v = [];
+                                for (l = 1; l < m[P("0x0")]; l++) {
+                                    var C = m[l];
+                                    b = e[P("0x11")][P("0x6d")](b, C, new e.Cartesian3);
+                                    var y = e[P("0x1b")][P("0xd4")](x, C, new (e[P("0x11")]));
+                                    v[P("0x17c")](y),
+                                    e[P("0x14")](f) ? (f > y.x ? f = y.x : g < y.x && (g = y.x),
+                                    d > y.y ? d = y.y : p < y.y && (p = y.y)) : (f = g = y.x,
+                                    d = p = y.y)
+                                }
+                                b = e.Cartesian3[P("0x4c9")](b, v[P("0x0")], new (e[P("0x11")]));
+                                var _ = {
+                                    pts: v,
+                                    minX: f,
+                                    minY: d,
+                                    maxX: g,
+                                    maxY: p,
+                                    compressPlane: i[P("0x4ca")](a, b),
+                                    show: h[P("0x49c")]
+                                };
+                                u[P("0x17c")](_)
+                            }
+                        }
+                    }
+                }
+            }
+            ,
+            t[P("0x5")].initializeCartographicPlatPoly = function(t) {
+                var i = this
+                  , r = t
+                  , n = r[P("0x4a0")][P("0x490")][P("0x4a1")]
+                  , o = r[P("0x48f")];
+                if (e[P("0x14")](o[P("0x4b8")])) {
+                    if (!i[P("0x498")]())
+                        return;
+                    o[P("0x4b8")] = void 0
+                }
+                var a, s = i[P("0xef")], x = i[P("0x48d")];
+                if (e[P("0x14")](n._boundingVolume) && e[P("0x14")](n[P("0x4a4")][P("0x4cb")]) && (a = n[P("0x4a4")][P("0x4cb")][P("0x11a")]),
+                e[P("0x14")](a)) {
+                    var l, c = e[P("0x1f")][P("0xbf")](a, s, new (e[P("0x1b")])), u = i.invertMatrix(c);
+                    if (e[P("0x14")](u) && (e[P("0x14")](r[P("0x4a2")]) && e.defined(r[P("0x4a2")][P("0x4a3")]) && 0 < r[P("0x4a2")][P("0x4a3")][P("0x0")] && e[P("0x14")](r[P("0x4a2")][P("0x4a3")][0]) && (l = r[P("0x4a2")][P("0x4a3")][0][P("0x4ad")]),
+                    e[P("0x14")](l))) {
+                        var h = i[P("0x4a9")](l);
+                        if (e[P("0x14")](h)) {
+                            o[P("0x4b8")] = [];
+                            var f, d, g = o.platPolys;
+                            for (d = 0; d < x[P("0x0")]; d++) {
+                                var p = x[d];
+                                if (e[P("0x14")](p)) {
+                                    var m = p[P("0x49b")];
+                                    if (e.defined(m) && !(m[P("0x0")] < 1)) {
+                                        var b, v, C, y, _ = new (e[P("0x11")]), A = [];
+                                        for (f = 0; f < m[P("0x0")]; f++) {
+                                            var I, w = m[f];
+                                            if (i[P("0x48e")])
+                                                I = e[P("0x11")][P("0x6e")](w, new (e[P("0x11")])),
+                                                _ = e[P("0x11")][P("0x6d")](_, I, new (e[P("0x11")])),
+                                                I = e[P("0x1b")][P("0xd4")](h, I, new (e[P("0x11")]));
+                                            else {
+                                                I = e.Cartographic[P("0x6e")](w, new e.Cartographic);
+                                                var G = e[P("0x11")][P("0x3d0")](I[P("0x112")], I[P("0x114")], 0, s);
+                                                _ = e.Cartesian3[P("0x6d")](_, G, new e.Cartesian3),
+                                                I = e[P("0x1b")].multiplyByPoint(u, G, new (e[P("0x11")]))
+                                            }
+                                            A[P("0x17c")](I),
+                                            e[P("0x14")](b) ? (b > I.x ? b = I.x : C < I.x && (C = I.x),
+                                            v > I.y ? v = I.y : y < I.y && (y = I.y)) : (b = C = I.x,
+                                            v = y = I.y)
                                         }
-                                        return t[P("0x7e")][P("0xc")]._hookUpdate && !0 === t[P("0xc2d")] ? function (t, i, r) {
-                                            if (r === e[P("0xbfa")][P("0xc41")] || r === e.CullingVolume[P("0xc4c")])
-                                                return r;
-                                            for (var n = e.CullingVolume.MASK_INSIDE, o = t[P("0xc03")], a = 0, s = o.length; a < s; ++a) {
-                                                var x = a < 31 ? 1 << a : 0;
-                                                if (!(a < 31 && 0 == (r & x))) {
-                                                    var l = b(i[P("0x4cb")], e.Plane[P("0xb54")](o[a], m));
-                                                    if (l === e[P("0xae1")][P("0xc48")])
-                                                        return e[P("0xbfa")].MASK_OUTSIDE;
-                                                    l === e[P("0xae1")][P("0xc4d")] && (n |= x)
+                                        _ = e[P("0x11")][P("0x4c9")](_, A.length, new (e[P("0x11")]));
+                                        var E = {
+                                            pts: A,
+                                            minX: b,
+                                            minY: v,
+                                            maxX: C,
+                                            maxY: y,
+                                            compressPlane: i.initCompressPlane(s, _)
+                                        };
+                                        g[P("0x17c")](E)
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            ,
+            t[P("0x5")][P("0x4ca")] = function(t, i) {
+                var r = e[P("0x11")][P("0x6e")](i, new (e[P("0x11")]))
+                  , n = e[P("0x13")][P("0x175")](r, t, new e.Cartographic)
+                  , o = e[P("0x11")].fromRadians(n[P("0x112")], n.latitude, 0, t);
+                if (!r[P("0x84")](o))
+                    return e[P("0x1c")][P("0xb9")](r, e[P("0x11")][P("0x8d")](e.Cartesian3[P("0x95")](r, o, new (e[P("0x11")])), new (e[P("0x11")])))
+            }
+            ,
+            t[P("0x5")].isPlatPointNoResult = function(t, i) {
+                for (var r = t[P("0x48f")][P("0x4b8")], n = e[P("0x11")][P("0x6e")](i, new (e[P("0x11")])), o = 0; o < r.length; o++) {
+                    var a = r[o];
+                    if (e.defined(a) && this.isInsidedPoint(a, n))
+                        return !0
+                }
+                return !1
+            }
+            ,
+            t[P("0x5")][P("0x4cc")] = function(t, i, r) {
+                for (var n = t.platSlot[P("0x4b8")], o = e[P("0x11")][P("0x6e")](i, new (e[P("0x11")])), a = e[P("0x11")][P("0x6e")](r.pt, new (e[P("0x11")])), s = !1, x = 0; x < n[P("0x0")]; x++) {
+                    var l = n[x];
+                    if (e.defined(l) && this.isInsidedPoint(l, o)) {
+                        var c = this[P("0x4cd")](l[P("0x4ce")], a);
+                        e[P("0x14")](c) && (a = c),
+                        s = !0
+                    }
+                }
+                return s && (r.pt = a),
+                s
+            }
+            ,
+            t[P("0x5")][P("0x4b6")] = function(t, i, r) {
+                return e[P("0x14")](r) ? this[P("0x4cc")](t, i, r) : this[P("0x4cf")](t, i)
+            }
+            ,
+            t[P("0x5")][P("0x4cd")] = function(t, i) {
+                if (e.defined(t) && e[P("0x14")](i) && e.defined(t[P("0x4d0")])) {
+                    var r = e[P("0x11")].clone(t[P("0x4d0")], new (e[P("0x11")]))
+                      , n = e.Cartesian3[P("0x6e")](i, new (e[P("0x11")]))
+                      , o = new (e[P("0x1e")])(n,r)
+                      , a = e[P("0x18")][P("0xba")](o, t);
+                    if (e[P("0x14")](a))
+                        return n;
+                    var s = e[P("0x11")][P("0xc8")](r, new (e[P("0x11")]))
+                      , x = new e.Ray(n,s)
+                      , l = e[P("0x18")][P("0xba")](x, t);
+                    if (!e[P("0x14")](l))
+                        return n;
+                    var c = e.Cartesian3.distance(l, n);
+                    return e[P("0x11")].add(n, e.Cartesian3[P("0x6c")](s, c, new (e[P("0x11")])), new (e[P("0x11")]))
+                }
+            }
+            ,
+            t[P("0x5")][P("0x4d1")] = function(t, i) {
+                var r = this;
+                if (!e[P("0x14")](t))
+                    return !1;
+                if (!e.defined(t[P("0x221")]) || !t[P("0x221")])
+                    return !1;
+                if (!e.defined(i))
+                    return !1;
+                var n, o, a = i.x, s = i.y;
+                if (a < t.minX || a > t.maxX || s < t[P("0x4d2")] || s > t.maxY)
+                    return !1;
+                var x, l, c, u, h, f, d = {
+                    z: !1,
+                    b: !1,
+                    t: !1
+                }, g = t.pts, p = g.length;
+                for (n = 0,
+                o = p - 1; n < p; o = n++) {
+                    if (x = g[n],
+                    l = g[o],
+                    c = x.x,
+                    u = x.y,
+                    h = l.x,
+                    f = l.y,
+                    r.isEqualFloat(f, u)) {
+                        if (r[P("0x4d3")](s, u)) {
+                            if (r[P("0x4d3")](a, c))
+                                return !0;
+                            if (r.isEqualFloat(a, h))
+                                return !0;
+                            if (a < c == h < a)
+                                return !0
+                        }
+                    } else if (r[P("0x4d3")](s, u)) {
+                        if (r[P("0x4d3")](a, c))
+                            return !0;
+                        c < a && (f < s ? d.b = !d.b : d.t = !d.t)
+                    } else if (r[P("0x4d3")](s, f)) {
+                        if (r[P("0x4d3")](a, h))
+                            return !0;
+                        h < a && (u < s ? d.b = !d.b : d.t = !d.t)
+                    }
+                    if (s < u != s < f) {
+                        var m = (h - c) / (f - u);
+                        if (m *= s - u,
+                        m += c,
+                        r[P("0x4d3")](a, m))
+                            return !0;
+                        a < m && (d.z = !d.z)
+                    }
+                }
+                return d.t == d.b ? d.t ? !d.z : d.z : void 0
+            }
+            ,
+            t[P("0x5")][P("0x4d3")] = function(t, i, r) {
+                if (e.defined(r) || (r = 1e-8),
+                !e[P("0x14")](t))
+                    return !1;
+                if (!e[P("0x14")](i))
+                    return !1;
+                var n = t - i;
+                return (n = Math.abs(n)) < r
+            }
+            ,
+            t.prototype.replaceCommandVertexBuffer = function(t, i, r, n) {
+                var o = t;
+                if (e.defined(i) && e[P("0x14")](r) && w()(r) === P("0x49f") && e[P("0x14")](n) && e[P("0x14")](n[P("0x3cc")])) {
+                    var a = o[P("0x4d4")];
+                    if (e[P("0x14")](a) && !(a.length <= r)) {
+                        var s = e.Buffer.createVertexBuffer({
+                            context: n[P("0x3cc")],
+                            typedArray: i,
+                            usage: e[P("0x4d5")][P("0x4d6")]
+                        });
+                        if (e[P("0x14")](s)) {
+                            var x = a[r];
+                            if (e[P("0x14")](x)) {
+                                var l = x[P("0x4d7")];
+                                if (e[P("0x14")](l)) {
+                                    var c = l[P("0x4d8")];
+                                    if (e[P("0x14")](c)) {
+                                        var u = c[P("0x4d9")];
+                                        if (e[P("0x14")](u) && 0 < u[P("0x0")]) {
+                                            var h = u[0];
+                                            if (!e[P("0x14")](h))
+                                                return;
+                                            var f = h[P("0x4da")];
+                                            e[P("0x14")](f) && !f[P("0xf3")]() && f[P("0x4db")] && f[P("0xf4")](),
+                                            h.vertexBuffer = s;
+                                            var d = c[P("0x4dc")];
+                                            e.defined(d) && (n.context[P("0x4dd")](c[P("0x4dc")]),
+                                            c[P("0x4dc")] = void 0)
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            ,
+            t[P("0x5")].storeVertexBuffer = function(t) {
+                if (e[P("0x14")](t)) {
+                    var i = t;
+                    if (!e.defined(i[P("0x48f")])) {
+                        var r = i[P("0x4a0")];
+                        if (e[P("0x14")](r)) {
+                            var n = r.content;
+                            if (e[P("0x14")](n)) {
+                                var o = n[P("0x492")];
+                                if (e[P("0x14")](o) && e[P("0x14")](o[P("0x494")])) {
+                                    var a = i._loadResources;
+                                    if (e[P("0x14")](a)) {
+                                        var s = i[P("0x4de")][P("0x4df")];
+                                        if (e.defined(s)) {
+                                            var x = s.accessors;
+                                            if (e[P("0x14")](x)) {
+                                                var l = s[P("0x4e0")];
+                                                if (e[P("0x14")](l)) {
+                                                    var c = s.meshes;
+                                                    if (e.defined(c)) {
+                                                        i[P("0x48f")] = {},
+                                                        i[P("0x48f")][P("0x4b0")] = [],
+                                                        i[P("0x48f")][P("0x4c1")] = !1;
+                                                        for (var u = 0; u < c[P("0x0")]; u++) {
+                                                            var h = c[u];
+                                                            if (e[P("0x14")](h)) {
+                                                                var f = h[P("0x17d")];
+                                                                if (e[P("0x14")](f))
+                                                                    for (var d = 0; d < f[P("0x0")]; d++) {
+                                                                        var g = f[d];
+                                                                        if (e[P("0x14")](g)) {
+                                                                            var p = g[P("0x18f")];
+                                                                            if (e[P("0x14")](p))
+                                                                                for (var m in p)
+                                                                                    if ("POSITION" === m) {
+                                                                                        var b = l[x[p[m]].bufferView]
+                                                                                          , v = a[P("0x4e1")](b)
+                                                                                          , C = v[P("0x1d5")](0, v[P("0x0")]);
+                                                                                        i.platSlot[P("0x4b0")][P("0x17c")]({
+                                                                                            buffer: C,
+                                                                                            showPlat: !1
+                                                                                        })
+                                                                                    }
+                                                                        }
+                                                                    }
+                                                            }
+                                                        }
+                                                    }
                                                 }
                                             }
-                                            return n
-                                        }(r, n, i) : r[P("0xc3f")](n, i)
+                                        }
                                     }
+                                }
                             }
-                            return i._picker[P("0xbe5")](r, n)
                         }
-                        ,
-                        t[P("0x5")].destroy = function () {
-                            this[P("0x10f")] = null,
-                                this[P("0xc29")][P("0xf4")](),
-                                this[P("0xc29")] = null,
-                                e[P("0xc49")][P("0x5")]._visibility_Old && (e[P("0xc49")][P("0x5")][P("0xc43")] = e[P("0xc49")].prototype[P("0xc42")],
-                                    delete e[P("0xc49")].__proto__[P("0xc42")])
-                        }
-                        ,
-                        e[P("0x2e1")][P("0x5")][P("0xc3c")] = e[P("0x2e1")][P("0x5")].update,
-                        e[P("0x2e1")][P("0x5")][P("0xd2")] = function (e) {
-                            !0 === e[P("0xb87")][P("0xa4")] && !0 === e.pickEx ? this[P("0xc3d")](e) : this[P("0xc3c")](e)
-                        }
-                        ,
-                        e[P("0x2e1")][P("0x5")]._updatePicked = function (e) {
-                            var t, i, r = this[P("0xa57")], n = r[P("0x0")], o = e[P("0xbef")];
-                            for (t = 0; t < n; ++t)
-                                (i = r[t]) && g(i, o) && i.update(this, e, e[P("0xb87")])
-                        }
-                        ;
-                    var p = new (e[P("0x5f1")])
-                        , m = new (e[P("0x1c")])(new (e[P("0x11")]), 0);
-                    function b(t, i) {
-                        var r = t[P("0x11a")]
-                            , n = i.normal
-                            , o = t[P("0x4a5")]
-                            , a = n.x
-                            , s = n.y
-                            , x = n.z
-                            , l = Math[P("0x78")](a * o[e.Matrix3[P("0xc4e")]] + s * o[e[P("0x1a")][P("0xc4f")]] + x * o[e[P("0x1a")][P("0xc50")]]) + Math[P("0x78")](a * o[e.Matrix3[P("0xc51")]] + s * o[e[P("0x1a")].COLUMN1ROW1] + x * o[e[P("0x1a")].COLUMN1ROW2]) + Math.abs(a * o[e[P("0x1a")][P("0xc52")]] + s * o[e[P("0x1a")].COLUMN2ROW1] + x * o[e.Matrix3[P("0xc53")]])
-                            , c = e.Cartesian3[P("0x92")](n, r) + i[P("0x8e")];
-                        return c <= -(l *= 2) ? e[P("0xae1")][P("0xc48")] : l <= c ? e.Intersect[P("0xc47")] : e[P("0xae1")].INTERSECTING
                     }
-                }(window[P("0xfd")]),
-                function (e) {
-                    function t(t, i, r, n) {
-                        var o = this;
-                        o[P("0x13c")] = r,
-                            o._source = t,
-                            o[P("0xc54")] = n,
-                            o[P("0xb84")] = i,
-                            o._canvas = null,
-                            o._texture = null,
-                            o[P("0xc55")] = null,
-                            o[P("0xc56")] = 0,
-                            o._height = 0,
-                            o[P("0xc57")] = !1,
-                            o[P("0xc58")] = null,
-                            o[P("0x9fc")] = new (e[P("0x766")]),
-                            t && t instanceof HTMLVideoElement && t[P("0x130")](P("0xc5b"), (function e() {
-                                o[P("0xc59")](Math[P("0x5f0")](.1 * t[P("0xc5a")]), Math.round(.1 * t.videoHeight)),
-                                    t[P("0x548")](P("0xc5b"), e)
+                }
+            }
+            ,
+            t[P("0x5")][P("0x4a9")] = function(t) {
+                var i = void 0;
+                try {
+                    i = e[P("0x1b")][P("0x4e2")](t, new (e[P("0x1b")]))
+                } catch (t) {}
+                return i
+            }
+            ,
+            t[P("0x5")].createMatrix = function(t) {
+                if (e.defined(t)) {
+                    var i = new (e[P("0x1b")]);
+                    return e[P("0x1b")][P("0x4e3")](i, 0, new (e[P("0x12")])(t[0].x,t[0].y,t[0].z,0), i),
+                    e[P("0x1b")][P("0x4e3")](i, 1, new (e[P("0x12")])(t[1].x,t[1].y,t[1].z,0), i),
+                    e[P("0x1b")][P("0x4e3")](i, 2, new e.Cartesian4(t[2].x,t[2].y,t[2].z,0), i),
+                    e.Matrix4.setColumn(i, 3, new (e[P("0x12")])(0,0,0,1), i),
+                    i
+                }
+            }
+            ,
+            t.prototype[P("0x4a7")] = function(t) {
+                if (e[P("0x14")](t)) {
+                    for (var i = [], r = 0; r < 3; r++)
+                        i.push(this[P("0x4e4")](t[3 * r], t[3 * r + 1], t[3 * r + 2]));
+                    return this[P("0x4e5")](i)
+                }
+            }
+            ,
+            t[P("0x5")][P("0x4e4")] = function(t, i, r) {
+                return e[P("0x11")][P("0x8d")](new (e[P("0x11")])(t,i,r), new (e[P("0x11")]))
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = P("0x4e6")
+              , i = P("0x4e7")
+              , r = e[P("0x4e8")] = function(t, i) {
+                this.viewer = t[P("0x13b")],
+                this[P("0x4e9")] = e[P("0x102")](t.pointLightHeight, .2),
+                this[P("0x4ea")] = e[P("0x102")](t[P("0x4ea")], 100),
+                this[P("0x4eb")] = e.defaultValue(t.boundingSphereSlicePartitions, 80),
+                this[P("0x4ec")] = e[P("0x102")](t.boundingSphereSubdivisions, 100),
+                this.scene = this[P("0x13b")][P("0x10f")],
+                this.canvas = this[P("0x10f")][P("0x48")],
+                this[P("0x17d")] = this[P("0x10f")].primitives,
+                this[P("0x191")] = i || null,
+                b()(e.VERSION) < 1.5 ? console[P("0x391")](P("0x3b0") + e.VERSION + P("0x4ed")) : (this.pointLightPosition = void 0,
+                this[P("0x3ca")] = void 0)
+            }
+            ;
+            function n(t, i, r) {
+                var n = t[P("0x10f")][P("0x174")](i);
+                if (n) {
+                    var o = e[P("0x13")][P("0x175")](n);
+                    if (o[P("0x8b")] < 0) {
+                        t.scene[P("0xa3")][P("0x32a")] = !0,
+                        t[P("0x13b")][P("0x3d3")] = e[P("0x3d4")].CAST_ONLY;
+                        var a = t[P("0x10f")][P("0x7e")][P("0x86")](i)
+                          , s = t[P("0x10f")][P("0xa3")].pick(a, t.scene);
+                        o = e[P("0x13")][P("0x175")](s)
+                    }
+                    r = r || 0;
+                    var x = e[P("0x11")][P("0x3d0")](o[P("0x112")], o[P("0x114")], o.height + r)
+                      , l = e[P("0x13")][P("0x175")](x);
+                    return [e[P("0x23")][P("0x113")](l[P("0x112")]), e[P("0x23")][P("0x113")](l[P("0x114")]), l[P("0x8b")]]
+                }
+            }
+            function o(t, i, r, n) {
+                var o = t[P("0x6d")](new (e[P("0x1a5")]));
+                return o.add({
+                    text: i,
+                    font: P("0x1a0"),
+                    showBackground: !0,
+                    position: r,
+                    pixelOffset: new (e[P("0x10")])(10,-30)
+                }),
+                o[P("0x176")] = n,
+                o
+            }
+            function a(e, t, i) {
+                for (var r = 0; r < e[P("0x0")]; r++)
+                    e[P("0x176")] == i && (e.get(r)[P("0x8c")] = t)
+            }
+            function s(e, t) {
+                x(e, t)
+            }
+            function x(e, t) {
+                for (var i = 0; i < t[P("0x0")]; i++)
+                    t.get(i)[P("0x176")] == e && (t[P("0x17f")](t[P("0x187")](i)),
+                    i--)
+            }
+            r.prototype[P("0x198")] = function() {
+                this[P("0x192")](),
+                this.canvas[P("0x150")][P("0x170")] = P("0x171");
+                var i = null
+                  , r = null
+                  , x = !0
+                  , l = null
+                  , c = null
+                  , u = this;
+                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
+                this[P("0x16f")][P("0x160")]((function(r) {
+                    x ? (l = n(u, r.position, u[P("0x4e9")]),
+                    c = e[P("0x11")][P("0x1a1")](l[0], l[1], l[2]),
+                    s(t, u[P("0x17d")]),
+                    x = !1,
+                    u[P("0x3b2")] = x) : (u[P("0x10f")][P("0x3b3")][P("0x4ee")] = !0,
+                    u[P("0x48")].style[P("0x170")] = P("0x18c"),
+                    u[P("0x16f")] && !u[P("0x16f")][P("0xf3")]() && u[P("0x16f")][P("0xf4")](),
+                    s(t, u[P("0x17d")]),
+                    x = !0,
+                    u.firstLeftClick = x),
+                    i = null
+                }
+                ), e.ScreenSpaceEventType[P("0x17e")]),
+                this[P("0x16f")][P("0x160")]((function(s) {
+                    if (u.tipPosition = u[P("0x10f")][P("0x174")](s[P("0x64")]),
+                    u.tipPosition && (x && (i ? a(i, u[P("0x3c2")], t) : i = o(u.primitives, P("0x4ef"), u[P("0x3c2")], t)),
+                    !x)) {
+                        i ? a(i, u[P("0x3c2")], t) : i = o(u[P("0x17d")], P("0x4f0"), u.tipPosition, t);
+                        var l = n(u, s[P("0x64")])
+                          , h = e[P("0x11")][P("0x1a1")](l[0], l[1], l[2]);
+                        r = e[P("0x11")][P("0x8e")](c, h),
+                        u[P("0x3c8")](c, r),
+                        u[P("0x3c9")] = c,
+                        u[P("0x3ca")] = r,
+                        u[P("0x3b2")] = x
+                    }
+                }
+                ), e[P("0x161")][P("0x163")])
+            }
+            ,
+            r[P("0x5")][P("0x3c8")] = function(t, r) {
+                if (t && r) {
+                    var n = new (e[P("0x3cb")])(this[P("0x10f")]);
+                    n[P("0x8c")] = t,
+                    x(i, this.primitives);
+                    var o, a = this[P("0x17d")][P("0x6d")](new (e[P("0x1a4")]));
+                    a[P("0x176")] = i,
+                    a[P("0x6d")]({
+                        position: t,
+                        color: e[P("0x16a")][P("0x2d5")],
+                        pixelSize: 5
+                    }),
+                    o = {
+                        context: this[P("0x10f")][P("0x3cc")],
+                        lightCamera: n,
+                        isPointLight: !0
+                    },
+                    this[P("0x10f")][P("0x3b3")].destroy(),
+                    this[P("0x10f")][P("0x3b3")] = new (e[P("0x4f1")])(o);
+                    var s = this.scene[P("0x3b3")];
+                    s[P("0x364")] = !0,
+                    s[P("0x4f2")] = !0,
+                    s[P("0x4ee")] = !0,
+                    s[P("0x3cd")] = 1024,
+                    s[P("0x3ce")] = r,
+                    s[P("0x4f3")].stackPartitions = this.boundingSphereStackPartitions,
+                    s[P("0x4f3")][P("0x4f4")] = this[P("0x4eb")],
+                    s[P("0x4f3")][P("0x4f5")] = this.boundingSphereSubdivisions
+                }
+            }
+            ,
+            r[P("0x5")][P("0x192")] = function() {
+                this.scene[P("0x3b3")][P("0x364")] = !1,
+                this[P("0x10f")].shadowMap[P("0x4ee")] = void 0,
+                this.canvas.style[P("0x170")] = P("0x18c"),
+                this[P("0x16f")] && !this.handler[P("0xf3")]() && this.handler[P("0xf4")](),
+                s(t, this.primitives),
+                x(i, this[P("0x17d")])
+            }
+            ,
+            r[P("0x5")][P("0xf4")] = function() {
+                this.clear(),
+                this[P("0x13b")] = void 0,
+                this[P("0x4e9")] = void 0,
+                this[P("0x10f")] = void 0,
+                this[P("0x48")] = void 0,
+                this.primitives = void 0,
+                this[P("0x191")] = void 0
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = P("0x4f6")
+              , i = P("0x4f7")
+              , r = e[P("0x4f8")] = function(t, i) {
+                this.viewer = t.viewer,
+                this[P("0x4f9")] = e[P("0x102")](t[P("0x4f9")], 1),
+                this[P("0x10f")] = this.viewer[P("0x10f")],
+                this[P("0x7e")] = this.viewer.camera,
+                this[P("0x48")] = this[P("0x10f")][P("0x48")],
+                this.primitives = this.scene[P("0x17d")],
+                this[P("0x191")] = i || null,
+                this[P("0x4fa")] = 0,
+                this[P("0x4fb")] = [],
+                null == this.scene.expandShadowMapList && (this[P("0x10f")][P("0x4fc")] = []),
+                b()(e[P("0x373")]) < 1.5 ? console.error(P("0x3b0") + e[P("0x373")] + ",鍙鍩熷垎鏋愭殏涓嶆敮鎸佽鐗堟湰锛岃鏇存崲鑷�1.50浠ヤ笂鐨勭増鏈�!") : (this[P("0x4fd")] = void 0,
+                this[P("0x4fe")] = void 0,
+                this[P("0x4ff")] = void 0,
+                this[P("0x500")] = void 0,
+                this[P("0x501")] = void 0)
+            }
+            ;
+            function n(t, i, r) {
+                var n = t[P("0x10f")].pickPosition(i);
+                if (n) {
+                    var o = e[P("0x13")].fromCartesian(n);
+                    if (o[P("0x8b")] < 0) {
+                        t.scene[P("0xa3")][P("0x32a")] = !0,
+                        t[P("0x13b")][P("0x3d3")] = e.ShadowMode[P("0x3d5")];
+                        var a = t[P("0x7e")].getPickRay(i)
+                          , s = t.scene[P("0xa3")].pick(a, t[P("0x10f")]);
+                        o = e[P("0x13")][P("0x175")](s)
+                    }
+                    r = r || 0;
+                    var x = e[P("0x11")][P("0x3d0")](o[P("0x112")], o[P("0x114")], o[P("0x8b")] + r)
+                      , l = e[P("0x13")].fromCartesian(x);
+                    return [e[P("0x23")].toDegrees(l[P("0x112")]), e[P("0x23")][P("0x113")](l[P("0x114")]), l[P("0x8b")]]
+                }
+            }
+            function o(t, i, r, n) {
+                var o = t.add(new (e[P("0x1a5")]));
+                return o[P("0x6d")]({
+                    text: i,
+                    font: P("0x1a0"),
+                    showBackground: !0,
+                    position: r,
+                    pixelOffset: new (e[P("0x10")])(10,-10)
+                }),
+                o[P("0x176")] = n,
+                o
+            }
+            function a(e, t, i) {
+                for (var r = 0; r < e[P("0x0")]; r++)
+                    e[P("0x176")] == i && (e[P("0x187")](r).position = t)
+            }
+            function s(e, t) {
+                !function(e, t) {
+                    for (var i = 0; i < t.length; i++)
+                        t[P("0x187")](i)[P("0x176")] == e && (t[P("0x17f")](t[P("0x187")](i)),
+                        i--)
+                }(e, t)
+            }
+            function x(e, t) {
+                for (var i = 0; i < t[P("0x0")]; i++)
+                    t[P("0x187")](i).id == e && (t[P("0x17f")](t[P("0x187")](i)),
+                    i--)
+            }
+            r[P("0x5")].activate = function() {
+                var i = null
+                  , r = this[P("0x4fb")][P("0x0")];
+                this[P("0x4fb")][r] = new (e[P("0x3cb")])(this.scene),
+                this[P("0x10f")][P("0x3b3")].enabled = !1;
+                var x = null
+                  , l = null
+                  , c = null;
+                this[P("0x16f")] && !this.handler[P("0xf3")]() && this[P("0x16f")].destroy(),
+                this[P("0x48")][P("0x150")][P("0x170")] = "crosshair";
+                var u = this
+                  , h = !0
+                  , f = null
+                  , d = null;
+                this.handler = new (e[P("0x15f")])(this.canvas),
+                this[P("0x16f")][P("0x160")]((function(e) {
+                    h ? (f = n(u, e[P("0x8c")], u[P("0x4f9")]),
+                    h = !1,
+                    u.firstLeftClick = h,
+                    s(t, u[P("0x17d")]),
+                    i = null) : (u[P("0x16f")] && !u.handler[P("0xf3")]() && u[P("0x16f")][P("0xf4")](),
+                    h = !0,
+                    u[P("0x3b2")] = h,
+                    u.canvas[P("0x150")][P("0x170")] = "default",
+                    s(t, u[P("0x17d")]),
+                    i = null,
+                    u[P("0x4fa")]++)
+                }
+                ), e[P("0x161")][P("0x17e")]),
+                this[P("0x16f")][P("0x160")]((function(r) {
+                    if (u[P("0x3c2")] = u[P("0x10f")][P("0x174")](r.endPosition),
+                    u[P("0x3c2")] && (h && (i ? a(i, u[P("0x3c2")], t) : i = o(u[P("0x17d")], P("0x502"), u[P("0x3c2")], t)),
+                    !h)) {
+                        i ? a(i, u.tipPosition, t) : i = o(u[P("0x17d")], P("0x503"), u.tipPosition, t),
+                        d = n(u, r.endPosition),
+                        x = turf[P("0x11b")](turf[P("0x2ec")]([f[0], f[1]]), turf[P("0x2ec")]([d[0], d[1]]));
+                        var s = turf.distance(turf.point([f[0], f[1]]), turf[P("0x2ec")]([d[0], d[1]]))
+                          , g = d[2] - f[2];
+                        l = e[P("0x23")][P("0x113")](Math.atan(g / (1e3 * s)));
+                        var p = e[P("0x11")][P("0x1a1")](f[0], f[1], f[2])
+                          , m = e[P("0x11")][P("0x1a1")](d[0], d[1], d[2]);
+                        c = e[P("0x11")][P("0x8e")](p, m),
+                        u[P("0x504")]({
+                            observePtCoordinate: f,
+                            frustumLength: c,
+                            frustumHead: x,
+                            frustumPitch: l,
+                            frustumField: 30
+                        }),
+                        u[P("0x4fd")] = f,
+                        u.realTimeHeading = x,
+                        u[P("0x4ff")] = l,
+                        u.realTimeDistance = c,
+                        u[P("0x501")] = 30,
+                        u[P("0x3b2")] = h
+                    }
+                }
+                ), e.ScreenSpaceEventType[P("0x163")])
+            }
+            ,
+            r[P("0x5")][P("0x504")] = function(t) {
+                var r = t[P("0x505")]
+                  , n = t[P("0x506")]
+                  , o = t.frustumHead
+                  , a = t.frustumPitch
+                  , s = t[P("0x507")];
+                if (null != r && null != n && null != o && null != a && null != s) {
+                    var l = e[P("0x11")][P("0x1a1")](r[0], r[1], r[2])
+                      , c = e[P("0x23")][P("0x119")](o)
+                      , u = e.Math.toRadians(a)
+                      , h = this[P("0x4fb")].length
+                      , f = i + (h - 1)
+                      , d = this[P("0x10f")][P("0x4fc")][P("0x0")];
+                    d > this[P("0x4fa")] && this[P("0x10f")][P("0x4fc")][P("0x259")](d - 1, 1);
+                    var g, p = this[P("0x4fb")][h - 1];
+                    p.frustum = new e.PerspectiveFrustum({
+                        fov: e[P("0x23")][P("0x119")](s),
+                        aspectRatio: 1.6,
+                        near: 1,
+                        far: n
+                    }),
+                    g = {
+                        context: this[P("0x10f")][P("0x3cc")],
+                        lightCamera: p,
+                        cascadesEnabled: !1,
+                        darkness: .5,
+                        isPointLight: !1
+                    },
+                    this[P("0x10f")][P("0x4fc")].push(new e.ShadowMap(g));
+                    var m = this[P("0x10f")].expandShadowMapList[this[P("0x10f")].expandShadowMapList.length - 1];
+                    m[P("0x508")][P("0x3cf")] = 0,
+                    m[P("0x364")] = !0,
+                    m.size = 2048,
+                    m[P("0x509")] = !0,
+                    p[P("0x50a")](l, new (e[P("0xa9")])(c,u,1e-21)),
+                    x(f, this[P("0x17d")]),
+                    this.primitives.add(new e.DebugCameraPrimitive({
+                        camera: p,
+                        color: e[P("0x16a")][P("0x50b")](1, 1, 1, 1),
+                        id: f
+                    }))
+                }
+            }
+            ,
+            r[P("0x5")][P("0x192")] = function() {
+                this[P("0x10f")][P("0x3b3")][P("0x509")] = void 0;
+                for (var e = this[P("0x4fb")].length, r = 0; r < e; r++)
+                    x(i + r, this[P("0x17d")]);
+                s(t, this[P("0x17d")]),
+                this._spotLightCameraList[P("0x0")] = 0,
+                this[P("0x10f")][P("0x4fc")][P("0x0")] = 0
+            }
+            ,
+            r[P("0x5")][P("0xf4")] = function() {
+                this.scene[P("0x3b3")][P("0x509")] = void 0,
+                this[P("0x16f")] && !this[P("0x16f")][P("0xf3")]() && this[P("0x16f")][P("0xf4")](),
+                this[P("0x10f")].shadowMap[P("0x364")] = !1,
+                this[P("0x48")][P("0x150")][P("0x170")] = P("0x18c"),
+                this.clear(),
+                this.viewer = void 0,
+                this[P("0x4f9")] = void 0,
+                this[P("0x10f")] = void 0,
+                this[P("0x7e")] = void 0,
+                this[P("0x48")] = void 0,
+                this[P("0x17d")] = void 0,
+                this[P("0xef")] = void 0,
+                this[P("0x191")] = void 0
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = P("0x50c")
+              , i = P("0x50d")
+              , r = P("0x50e")
+              , n = P("0x50f")
+              , o = P("0x510")
+              , a = e.GeoVolumeCalculate = function(e, t) {
+                this[P("0x13b")] = e[P("0x13b")],
+                this[P("0x10f")] = this[P("0x13b")].scene,
+                this.canvas = this[P("0x10f")].canvas,
+                this[P("0x7e")] = this[P("0x10f")][P("0x7e")],
+                this[P("0x17d")] = this.scene[P("0x17d")],
+                this.designElevation = e.designElevation ? e[P("0x511")] : 4e3,
+                this[P("0x328")] = e[P("0x328")] ? e[P("0x328")] : 500,
+                this.callback = t || null
+            }
+            ;
+            function s(e, t) {
+                for (var i = 0, r = 0; r < t[P("0x0")]; r++)
+                    if (t[r] == e && i++,
+                    2 == i)
+                        return !0
+            }
+            function x(e, t, i, r, n, o, a) {
+                var s = {}
+                  , x = turf[P("0x2d4")]([[e[P("0x180")][P("0x2ed")][0][i[0]], t[0], t[1], e.geometry[P("0x2ed")][0][i[0]]]])
+                  , l = turf[P("0x2d9")](x)
+                  , c = a - r
+                  , u = 1 / 3 * l * c
+                  , h = turf.polygon([[e.geometry[P("0x2ed")][0][i[1]], t[0], t[1], e.geometry[P("0x2ed")][0][i[1]]]])
+                  , f = turf[P("0x2d9")](h)
+                  , d = a - n
+                  , g = turf[P("0x2d4")]([[e[P("0x180")][P("0x2ed")][0][i[1]], e[P("0x180")][P("0x2ed")][0][i[2]], t[0], t[1], e[P("0x180")][P("0x2ed")][0][i[1]]]])
+                  , p = turf.area(g)
+                  , m = turf[P("0x2d4")]([[e.geometry.coordinates[0][i[1]], e[P("0x180")][P("0x2ed")][0][i[2]], t[1], t[0], e.geometry[P("0x2ed")][0][i[1]]]])
+                  , b = turf[P("0x2d9")](m)
+                  , v = b < p ? p : b
+                  , C = 1 / 3 * f * d + 1 / 3 * (v - f) * (d + (a - o));
+                return 0 <= c ? (s.fillVolume = u,
+                s[P("0x34d")] = l,
+                s[P("0x34a")] = C,
+                s[P("0x34b")] = v) : (s[P("0x34c")] = C,
+                s.fillArea = v,
+                s[P("0x34a")] = u,
+                s[P("0x34b")] = l),
+                s
+            }
+            function l(t, i, r, n, o, a, s, x, l) {
+                var c = {}
+                  , u = Math[P("0x78")](t / (t - i))
+                  , h = new (e[P("0x11")])(0,0,0)
+                  , f = e.Cartesian3[P("0x3d0")](r[P("0x180")].coordinates[0][n][0], r.geometry[P("0x2ed")][0][o][1], x)
+                  , d = e.Cartesian3.fromRadians(r.geometry[P("0x2ed")][0][o][0], r[P("0x180")][P("0x2ed")][0][o][1], l)
+                  , g = e[P("0x13")][P("0x175")](e[P("0x11")].lerp(f, d, u, h));
+                return c.intersection = [g[P("0x112")], g[P("0x114")]],
+                c[P("0x349")] = [a, s],
+                c
+            }
+            function c(t, r) {
+                return t.add({
+                    name: i,
+                    position: r,
+                    label: {
+                        text: P("0x51b"),
+                        font: P("0x51c"),
+                        showBackground: !0,
+                        pixeloffset: new (e[P("0x10")])(0,20)
+                    }
+                })
+            }
+            function u(e, t) {
+                for (var i = 0; i < t.values[P("0x0")]; i++)
+                    t[P("0x190")][i][P("0x176")] == e && (t[P("0x17f")](t.values[i]),
+                    i--)
+            }
+            a[P("0x5")][P("0x198")] = function() {
+                this.canvas[P("0x150")][P("0x170")] = P("0x171");
+                var a = 0
+                  , s = this
+                  , x = []
+                  , l = []
+                  , h = []
+                  , f = []
+                  , d = [];
+                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x48")]),
+                this[P("0x16f")][P("0x160")]((function(i) {
+                    var r = s[P("0x7e")][P("0x86")](i[P("0x8c")])
+                      , n = s.scene[P("0xa3")][P("0xa4")](r, s[P("0x10f")]);
+                    l[P("0x17c")](n);
+                    var o = e[P("0x13")][P("0x175")](n)
+                      , c = e.Math[P("0x113")](o[P("0x112")])
+                      , u = e.Math[P("0x113")](o[P("0x114")])
+                      , g = o[P("0x8b")];
+                    h[P("0x17c")](c, u, g),
+                    f[P("0x17c")](c, u, s[P("0x511")]),
+                    x = a ? (d[a - 1][P("0x2eb")][P("0x19f")][P("0x512")]()[P("0x513")](),
+                    [d[0][P("0x2eb")][P("0x19f")][P("0x512")]()[1], n, d[a - 1][P("0x2eb")][P("0x19f")][P("0x512")]()[0]]) : [n, n, n],
+                    s[P("0x514")] = s[P("0x13b")].entities.add({
+                        name: t,
+                        polyline: {
+                            positions: x,
+                            clampToGround: !0,
+                            width: 5,
+                            material: new e.PolylineOutlineMaterialProperty({
+                                color: e[P("0x16a")].ORANGE,
+                                outlineWidth: 2,
+                                outlineColor: e[P("0x16a")][P("0x43b")]
+                            })
+                        }
+                    }),
+                    d.push(s[P("0x514")]),
+                    a++
+                }
+                ), e.ScreenSpaceEventType.LEFT_CLICK),
+                this.handler.setInputAction((function(e) {
+                    if (x[P("0x0")]) {
+                        var t = s[P("0x7e")].getPickRay(e[P("0x64")])
+                          , i = s.scene[P("0xa3")][P("0xa4")](t, s[P("0x10f")]);
+                        x[P("0x259")](x.length - 2, 1, i),
+                        d[a - 1][P("0x2eb")][P("0x19f")] = x,
+                        s[P("0x378")] ? s.labelEntity.position = i : s[P("0x378")] = c(s[P("0x13b")][P("0x194")], i)
+                    } else
+                        s[P("0x378")] ? s.labelEntity.position = i : s[P("0x378")] = c(s[P("0x13b")][P("0x194")], i)
+                }
+                ), e[P("0x161")][P("0x163")]),
+                this[P("0x16f")][P("0x160")]((function(a) {
+                    var x = s.camera[P("0x86")](a[P("0x8c")])
+                      , c = s.scene[P("0xa3")][P("0xa4")](x, s.scene);
+                    l.push(c);
+                    var d = e[P("0x13")][P("0x175")](c)
+                      , g = e.Math[P("0x113")](d[P("0x112")])
+                      , p = e.Math[P("0x113")](d[P("0x114")])
+                      , m = d.height;
+                    h.push(g, p, m),
+                    f.push(g, p, s[P("0x511")]),
+                    s[P("0x16f")].destroy(),
+                    s[P("0x48")].style[P("0x170")] = P("0x18c"),
+                    s[P("0x378")] && u(i, s[P("0x13b")][P("0x194")]),
+                    s[P("0x514")] && u(t, s[P("0x13b")][P("0x194")]),
+                    s.VOLUME = s[P("0x515")](s.scene, h, s[P("0x511")], s[P("0x328")]),
+                    s[P("0x191")](s[P("0x516")]),
+                    s[P("0x517")] = s.viewer[P("0x194")][P("0x6d")]({
+                        name: n,
+                        polygon: {
+                            hierarchy: {
+                                positions: e[P("0x11")][P("0x19e")](f)
+                            },
+                            material: e[P("0x16a")].BLUE.withAlpha(.8),
+                            perPositionHeight: !0
+                        }
+                    }),
+                    s.polygonEntity = s.viewer[P("0x194")][P("0x6d")]({
+                        name: r,
+                        polygon: {
+                            hierarchy: {
+                                positions: l
+                            },
+                            material: e.Color[P("0x310")][P("0x16c")](.5)
+                        }
+                    }),
+                    s.designPolygonEntity_coral = s[P("0x13b")][P("0x194")].add({
+                        name: o,
+                        polygon: {
+                            hierarchy: {
+                                positions: e[P("0x11")].fromDegreesArrayHeights(f)
+                            },
+                            material: e.Color[P("0x518")].withAlpha(.5),
+                            perPositionHeight: !0,
+                            outline: !0,
+                            outlineColor: e[P("0x16a")][P("0x2d5")][P("0x16c")](1),
+                            extrudedHeight: 0,
+                            closeTop: !0,
+                            closeBottom: !1
+                        }
+                    })
+                }
+                ), e[P("0x161")][P("0x189")])
+            }
+            ,
+            a.prototype[P("0x515")] = function(t, i, r, n) {
+                for (var o, a = {
+                    features: []
+                }, c = t.globe.ellipsoid, u = [], h = e[P("0x11")][P("0x19e")](i), f = 0; f < h.length; f++) {
+                    var d = e[P("0x23")][P("0x113")](c[P("0xd6")](h[f]).longitude)
+                      , g = e[P("0x23")][P("0x113")](c[P("0xd6")](h[f])[P("0x114")]);
+                    u[P("0x17c")]([d, g])
+                }
+                u[P("0x17c")]([e.Math[P("0x113")](c.cartesianToCartographic(h[0])[P("0x112")]), e[P("0x23")][P("0x113")](c[P("0xd6")](h[0])[P("0x114")])]);
+                var p = turf[P("0x33e")](u)
+                  , m = turf.bbox(p)
+                  , b = turf.randomPoint(2 * n, {
+                    bbox: m
+                })
+                  , v = turf.polygon([u]);
+                for (f = 0; f < b[P("0x33a")][P("0x0")]; f++) {
+                    var y = turf[P("0x2ec")](b.features[f][P("0x180")][P("0x2ed")]);
+                    turf.booleanPointInPolygon(y, v) || (b[P("0x33a")][P("0x259")](f, 1),
+                    f--)
+                }
+                var _ = []
+                  , A = h[P("0x1c6")](h[0]);
+                for (f = 0; f < A[P("0x0")] - 1; f++)
+                    for (var I = 1; I < Math.ceil(n / 10); I++) {
+                        var w = new (e[P("0x11")])(0,0,0);
+                        w = e[P("0x11")][P("0x308")](A[f], A[f + 1], I * (1 / Math[P("0x342")](n / 10)), w),
+                        _[P("0x17c")](w)
+                    }
+                h = h[P("0x1c6")](_);
+                var G = []
+                  , E = [];
+                for (f = 0; f < h[P("0x0")]; f++) {
+                    var S = c.cartesianToCartographic(h[f])[P("0x112")]
+                      , T = c[P("0xd6")](h[f]).latitude;
+                    G[P("0x17c")](new e.Cartographic(S,T)),
+                    E[P("0x17c")]([S, T])
+                }
+                for (f = 0; f < b.features[P("0x0")]; f++) {
+                    var M = e[P("0x23")].toRadians(b.features[f][P("0x180")].coordinates[0])
+                      , N = e[P("0x23")][P("0x119")](b.features[f].geometry[P("0x2ed")][1]);
+                    G[P("0x17c")](new (e[P("0x13")])(M,N))
+                }
+                return t.sampleHeightMostDetailed(G).then((function(e) {
+                    a[P("0x165")] = P("0x343");
+                    for (var t = 0; t < e[P("0x0")]; t++)
+                        a[P("0x33a")][P("0x17c")]({
+                            type: P("0x344"),
+                            geometry: {
+                                coordinates: [e[t][P("0x112")], e[t][P("0x114")]],
+                                type: P("0x345")
+                            },
+                            properties: {
+                                z: e[t].height
                             }
-                            )),
-                            r.clock[P("0x59d")].addEventListener((function () {
-                                o[P("0x8f9")]()
+                        });
+                    o = turf.tin(a, "z");
+                    var i = 0
+                      , n = 0
+                      , c = 0
+                      , u = 0
+                      , h = r;
+                    for (t = 0; t < o[P("0x33a")][P("0x0")]; t++) {
+                        var f = o[P("0x33a")][t].properties.a - h
+                          , d = o[P("0x33a")][t][P("0x33d")].b - h
+                          , g = o[P("0x33a")][t][P("0x33d")].c - h
+                          , p = []
+                          , m = [];
+                        if (f * d < 0 || f * g < 0 || d * g < 0) {
+                            if (f * d < 0) {
+                                var b = l(f, d, o[P("0x33a")][t], 0, 1, "a", "b", o[P("0x33a")][t][P("0x33d")].a, o[P("0x33a")][t][P("0x33d")].b);
+                                p[P("0x17c")](b[P("0x348")]),
+                                m[P("0x17c")](b[P("0x349")][0], b[P("0x349")][1])
+                            }
+                            var v;
+                            f * g < 0 && (b = l(f, g, o[P("0x33a")][t], 0, 2, "a", "c", o.features[t][P("0x33d")].a, o[P("0x33a")][t][P("0x33d")].c),
+                            p[P("0x17c")](b[P("0x348")]),
+                            m[P("0x17c")](b[P("0x349")][0], b[P("0x349")][1])),
+                            d * g < 0 && (b = l(d, g, o[P("0x33a")][t], 1, 2, "b", "c", o[P("0x33a")][t][P("0x33d")].b, o[P("0x33a")][t][P("0x33d")].c),
+                            p[P("0x17c")](b[P("0x348")]),
+                            m[P("0x17c")](b.vertexSerial[0], b[P("0x349")][1])),
+                            s("a", m) && (n += (v = x(o[P("0x33a")][t], p, [0, 1, 2], o[P("0x33a")][t][P("0x33d")].a, o.features[t][P("0x33d")].b, o[P("0x33a")][t].properties.c, h)).fillVolume,
+                            u += v[P("0x34d")],
+                            i += v[P("0x34a")],
+                            c += v.excavationArea),
+                            s("b", m) && (n += (v = x(o.features[t], p, [1, 0, 2], o.features[t][P("0x33d")].b, o.features[t][P("0x33d")].a, o[P("0x33a")][t][P("0x33d")].c, h))[P("0x34c")],
+                            u += v.fillArea,
+                            i += v.excavationVolume,
+                            c += v[P("0x34b")]),
+                            s("c", m) && (n += (v = x(o[P("0x33a")][t], p, [2, 0, 1], o[P("0x33a")][t][P("0x33d")].c, o.features[t].properties.a, o[P("0x33a")][t][P("0x33d")].b, h))[P("0x34c")],
+                            u += v[P("0x34d")],
+                            i += v.excavationVolume,
+                            c += v[P("0x34b")])
+                        } else {
+                            var y = turf[P("0x2d4")]([o[P("0x33a")][t][P("0x180")][P("0x2ed")][0]])
+                              , _ = turf[P("0x2d9")](y)
+                              , A = 1 / 3 * [h - o[P("0x33a")][t][P("0x33d")].a + (h - o[P("0x33a")][t][P("0x33d")].b) + (h - o.features[t][P("0x33d")].c)];
+                            0 <= A ? (n += _ * A,
+                            u += _) : (i += _ * A,
+                            c += _)
+                        }
+                    }
+                    var I = {
+                        fillVolume: Number(n[P("0x2af")](3)),
+                        excavationVolume: Number(Math.abs(i)[P("0x2af")](3)),
+                        totalVolume: Number(n[P("0x2af")](3)) + Number(Math[P("0x78")](i)[P("0x2af")](3)),
+                        fillArea: Number(u[P("0x2af")](3)),
+                        excavationArea: Number(c[P("0x2af")](3)),
+                        totalArea: Number(u[P("0x2af")](3)) + Number(c[P("0x2af")](3))
+                    };
+                    return new C.a((function(e) {
+                        e(I)
+                    }
+                    ))
+                }
+                ))
+            }
+            ,
+            a[P("0x5")].clear = function() {
+                this[P("0x48")][P("0x150")][P("0x170")] = "default",
+                this[P("0x16f")] && !this[P("0x16f")][P("0xf3")]() && this[P("0x16f")][P("0xf4")](),
+                this[P("0x514")] && u(t, this[P("0x13b")][P("0x194")]),
+                this.labelEntity && u(i, this[P("0x13b")][P("0x194")]),
+                this[P("0x519")] && u(r, this[P("0x13b")].entities),
+                this[P("0x517")] && u(n, this[P("0x13b")][P("0x194")]),
+                this[P("0x51a")] && u(o, this.viewer[P("0x194")]),
+                this[P("0x514")] = void 0,
+                this[P("0x378")] = void 0
+            }
+            ,
+            a[P("0x5")][P("0xf4")] = function() {
+                this[P("0x192")](),
+                this[P("0x13b")] = void 0,
+                this.scene = void 0,
+                this[P("0x48")] = void 0,
+                this.camera = void 0,
+                this[P("0x17d")] = void 0,
+                this[P("0x511")] = void 0,
+                this[P("0x328")] = void 0,
+                this[P("0x191")] = void 0
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x51d")] = function(t, i, r) {
+                this[P("0x13b")] = t.viewer,
+                this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
+                this.globe = this[P("0x13b")][P("0x10f")].globe,
+                this[P("0x440")] = t[P("0x440")] ? t[P("0x440")] : {},
+                this.classificationPrimitiveCollection = new (e[P("0x51e")]),
+                this[P("0x10f")].primitives[P("0x6d")](this.classificationPrimitiveCollection),
+                this.callback_click = i || function() {}
+                ,
+                this.callback_move = r || function() {}
+                ,
+                this[P("0x221")] = void 0 === t.show || t.show,
+                this[P("0x3dd")] = t[P("0x3dd")] ? t[P("0x3dd")] : e[P("0x16a")][P("0x51f")][P("0x16c")](.3),
+                this.highlightColor_click = t[P("0x520")] ? t[P("0x520")] : e[P("0x16a")].YELLOW.withAlpha(.3),
+                this[P("0x521")] = t[P("0x521")] ? t.highlightColor_move : e[P("0x16a")][P("0x2cf")][P("0x16c")](.2),
+                this[P("0x522")] = null,
+                this[P("0x523")] = null,
+                this._INTERSECTED_FLOOR3 = null,
+                this.handler = new e.ScreenSpaceEventHandler(this[P("0x13b")][P("0x48")])
+            }
+            ;
+            e[P("0xf")](t[P("0x5")], {
+                show: {
+                    set: function(e) {
+                        this._show = e,
+                        this[P("0x524")][P("0x221")] = e
+                    },
+                    get: function() {
+                        return this[P("0x49c")]
+                    }
+                }
+            }),
+            t[P("0x5")][P("0x525")] = function() {
+                var t = this;
+                if (this[P("0x192")](),
+                this[P("0x522")] = null,
+                this[P("0x523")] = null,
+                this[P("0x526")] = null,
+                this[P("0x524")][P("0x221")] = this[P("0x49c")],
+                t[P("0x440")] && t.data[P("0x180")]) {
+                    var i = 0;
+                    if (t[P("0x440")][P("0x33d")].baseHeight)
+                        i = t.data[P("0x33d")][P("0x527")];
+                    else if (t.scene[P("0x528")]) {
+                        var r = t[P("0x440")][P("0x180")].coordinates[0][0]
+                          , n = new (e[P("0x13")])(e[P("0x23")][P("0x119")](r[0]),e[P("0x23")][P("0x119")](r[1]));
+                        i = t[P("0x10f")][P("0x529")](n)
+                    } else
+                        (i = t[P("0xa3")][P("0xed")]({
+                            longitude: e[P("0x23")][P("0x119")](t[P("0x440")][P("0x180")][P("0x2ed")][0][0][0]),
+                            latitude: e.Math.toRadians(t[P("0x440")][P("0x180")][P("0x2ed")][0][0][1])
+                        })) || console.error(P("0x52a"));
+                    if (!i)
+                        return void console.warn(P("0x52b"));
+                    for (var o = t[P("0x440")][P("0x33d")][P("0x52c")], a = [], s = 0; s < t[P("0x440")][P("0x180")][P("0x2ed")][0][P("0x0")]; s++)
+                        a[P("0x17c")](t.data[P("0x180")][P("0x2ed")][0][s][0]),
+                        a[P("0x17c")](t[P("0x440")].geometry[P("0x2ed")][0][s][1]);
+                    for (var x = 0, l = 0; l < o[P("0x0")]; l++) {
+                        var c = i + x
+                          , u = c + o[l]
+                          , h = new e.GeometryInstance({
+                            geometry: e[P("0x1af")][P("0x231")]({
+                                positions: e[P("0x11")][P("0x1da")](a),
+                                height: c,
+                                extrudedHeight: u,
+                                vertexFormat: e[P("0x1b0")][P("0x1b1")]
+                            }),
+                            attributes: {
+                                color: e[P("0x184")][P("0x1b2")](this[P("0x3dd")])
+                            },
+                            id: {
+                                tag: P("0x52d"),
+                                description: t[P("0x440")],
+                                level: l + 1
+                            }
+                        })
+                          , f = new (e[P("0x35b")])({
+                            geometryInstances: h,
+                            classificationType: e[P("0x17a")][P("0x17b")]
+                        });
+                        this[P("0x524")][P("0x6d")](f),
+                        x += o[l]
+                    }
+                }
+            }
+            ,
+            t[P("0x5")].activate = function() {
+                var t = this;
+                t[P("0x16f")][P("0x160")]((function(i) {
+                    var r = t[P("0x10f")].pick(i[P("0x8c")]);
+                    if (r && r.id && r.id[P("0x2cc")] == P("0x52d")) {
+                        if (t[P("0x52e")](r),
+                        t[P("0x522")] && t._INTERSECTED_FLOOR != r && (t._INTERSECTED_FLOOR.primitive.getGeometryInstanceAttributes(t._INTERSECTED_FLOOR.id)[P("0x169")] = e.ColorGeometryInstanceAttribute.toValue(t[P("0x3dd")])),
+                        t[P("0x522")] = r,
+                        t[P("0x526")]) {
+                            var n = t._INTERSECTED_FLOOR3[P("0x52f")][P("0x530")][0].id
+                              , o = t[P("0x526")].getGeometryInstanceAttributes(n);
+                            o[P("0x169")][P("0x531")]() == e[P("0x184")][P("0x356")](t[P("0x520")]).toString() && (o[P("0x169")] = e[P("0x184")][P("0x356")](t[P("0x3dd")]))
+                        }
+                        var a = t[P("0x522")].primitive[P("0x354")](t[P("0x522")].id);
+                        if (a.color.toString() == e[P("0x184")][P("0x356")](t[P("0x520")]).toString())
+                            return;
+                        a[P("0x169")] = e.ColorGeometryInstanceAttribute[P("0x356")](t[P("0x520")])
+                    }
+                }
+                ), e[P("0x161")][P("0x17e")]),
+                t[P("0x16f")][P("0x160")]((function(i) {
+                    var r = t[P("0x10f")].pick(i[P("0x64")]);
+                    if (r && r.id && r.id[P("0x2cc")] == P("0x52d")) {
+                        if (t[P("0x532")](r),
+                        t[P("0x523")] && t[P("0x523")] != r && (t._INTERSECTED_FLOOR2[P("0x182")][P("0x354")](t[P("0x523")].id).color = e.ColorGeometryInstanceAttribute[P("0x356")](t[P("0x3dd")])),
+                        t[P("0x523")] = r,
+                        t[P("0x522")]) {
+                            var n = t[P("0x522")].primitive.getGeometryInstanceAttributes(t[P("0x522")].id);
+                            n[P("0x169")][P("0x531")]() == e[P("0x184")].toValue(t[P("0x3dd")])[P("0x531")]() && (n.color = e[P("0x184")][P("0x356")](t[P("0x520")]))
+                        }
+                        var o = t._INTERSECTED_FLOOR2.primitive[P("0x354")](t[P("0x523")].id);
+                        if (o.color[P("0x531")]() == e[P("0x184")][P("0x356")](t[P("0x521")])[P("0x531")]())
+                            return;
+                        o[P("0x169")] = e.ColorGeometryInstanceAttribute.toValue(t[P("0x521")])
+                    }
+                }
+                ), e[P("0x161")][P("0x163")])
+            }
+            ,
+            t[P("0x5")][P("0x533")] = function(t) {
+                var i = null;
+                if (this[P("0x440")] && this.data[P("0x180")] && this[P("0x49c")] && (i = this[P("0x524")][P("0x187")](t - 1))) {
+                    if (this[P("0x526")] && this._INTERSECTED_FLOOR3 != i) {
+                        var r = this[P("0x526")][P("0x52f")][P("0x530")][0].id;
+                        this[P("0x526")][P("0x354")](r)[P("0x169")] = e[P("0x184")][P("0x356")](this.fillColor)
+                    }
+                    this._INTERSECTED_FLOOR3 = i;
+                    var n = this._INTERSECTED_FLOOR3[P("0x52f")][P("0x530")][0].id;
+                    this._INTERSECTED_FLOOR3.getGeometryInstanceAttributes(n).color = e.ColorGeometryInstanceAttribute[P("0x356")](this[P("0x520")])
+                }
+                return i
+            }
+            ,
+            t[P("0x5")].clear = function() {
+                this[P("0x524")][P("0xf5")]()
+            }
+            ,
+            t.prototype[P("0x534")] = function() {
+                this[P("0x16f")][P("0x535")](e[P("0x161")][P("0x163")]),
+                this[P("0x16f")].removeInputAction(e[P("0x161")][P("0x17e")])
+            }
+            ,
+            t[P("0x5")].destroy = function() {
+                this[P("0x192")](),
+                this[P("0x524")].destroy(),
+                this[P("0x524")] = void 0,
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](),
+                this[P("0x13b")] = void 0,
+                this.data = void 0,
+                this[P("0x3dd")] = void 0,
+                this[P("0x520")] = void 0,
+                this[P("0x521")] = void 0,
+                this[P("0x522")] = void 0,
+                this[P("0x523")] = void 0,
+                this[P("0x526")] = void 0
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x536")] = function(t) {
+                this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x10f")] = this.viewer[P("0x10f")],
+                this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
+                this[P("0x7f")] = e[P("0x23")][P("0x113")](this[P("0x7e")][P("0x7f")]),
+                this._heading = this[P("0x7e")][P("0x7f")],
+                this[P("0x80")] = e[P("0x23")][P("0x113")](this.camera.pitch),
+                this[P("0x537")] = this.camera.pitch,
+                this[P("0x81")] = e[P("0x23")][P("0x113")](this.camera[P("0x81")]),
+                this[P("0x538")] = this[P("0x7e")][P("0x81")],
+                this[P("0x539")] = t[P("0x539")],
+                this[P("0x8e")] = 0,
+                this[P("0x53a")] = 100,
+                this[P("0x11a")] = [e[P("0x23")][P("0x113")](this[P("0x7e")][P("0x53b")][P("0x112")]), e.Math[P("0x113")](this[P("0x7e")][P("0x53b")].latitude), this[P("0x7e")][P("0x53b")][P("0x8b")]],
+                this.height = this[P("0x7e")][P("0x53b")][P("0x8b")],
+                this[P("0x53c")] = !!e[P("0x14")](t[P("0x53c")]) && t[P("0x53c")],
+                this[P("0x53d")] = 0,
+                this.deltaRadians = e[P("0x23")][P("0x119")](1),
+                this.deltaDistance = 0,
+                this[P("0x53e")](),
+                this[P("0x10f")][P("0x53f")][P("0x130")](this[P("0x540")], this)
+            }
+            ;
+            t[P("0x5")][P("0x540")] = function(t, i) {
+                this.isFlying && (this.camera[P("0x9c")]({
+                    destination: e[P("0x11")][P("0x1a1")](this.center[0], this[P("0x11a")][1], this[P("0x11a")][2] + this[P("0x53d")]),
+                    orientation: {
+                        heading: this[P("0x541")] += e[P("0x23")][P("0x119")](this[P("0x539")]),
+                        pitch: this[P("0x537")],
+                        roll: this[P("0x538")]
+                    }
+                }),
+                this[P("0x7e")][P("0x11c")](this[P("0x53a")] + this[P("0x542")]),
+                this[P("0x7f")] = e[P("0x23")][P("0x113")](this[P("0x7e")][P("0x7f")]),
+                this[P("0x80")] = e[P("0x23")].toDegrees(this[P("0x7e")].pitch),
+                this[P("0x81")] = e[P("0x23")].toDegrees(this.camera[P("0x81")]),
+                this[P("0x8b")] = (this[P("0x11a")][2] + this.deltaHeight)[P("0x2af")](2),
+                this.distance = (this._distance + this[P("0x542")])[P("0x2af")](2))
+            }
+            ,
+            t[P("0x5")][P("0x543")] = function(t, i) {
+                if (e[P("0x14")](t) && e[P("0x14")](i)) {
+                    this[P("0x53c")] = !0,
+                    this[P("0x11a")] = i,
+                    this[P("0x53a")] = t,
+                    this.deltaDistance = 0,
+                    this[P("0x53d")] = 0,
+                    this[P("0x541")] = this[P("0x7e")][P("0x7f")],
+                    this._pitch = this[P("0x7e")][P("0x80")],
+                    this[P("0x538")] = this.camera[P("0x81")];
+                    for (var r = !1, n = 0; n < this[P("0x10f")][P("0x545")][P("0x2b8")].length; n++)
+                        if (this.scene._preRender._listeners[n] === this[P("0x540")]) {
+                            r = !0;
+                            break
+                        }
+                    r || this[P("0x10f")][P("0x53f")][P("0x130")](this[P("0x540")], this)
+                } else
+                    console[P("0x2e2")](P("0x544"))
+            }
+            ,
+            t[P("0x5")][P("0x546")] = function() {
+                this[P("0x53c")] = !1
+            }
+            ,
+            t[P("0x5")][P("0x547")] = function() {
+                this[P("0x53c")] = !0
+            }
+            ,
+            t[P("0x5")].stop = function() {
+                this.scene.preRender[P("0x548")](this[P("0x540")], this)
+            }
+            ,
+            t.prototype[P("0xf4")] = function() {
+                this[P("0x10f")][P("0x53f")][P("0x548")](this[P("0x540")], this),
+                this[P("0x13b")] = void 0,
+                this.scene = void 0,
+                this[P("0x7e")] = void 0,
+                e[P("0x22b")](this)
+            }
+            ,
+            t.prototype[P("0x53e")] = function() {
+                var t = this;
+                document.addEventListener(P("0x549"), (function(i) {
+                    if (t.viewer)
+                        switch (i.keyCode) {
+                        case 40:
+                            i[P("0x54a")] ? t[P("0x53d")] -= 10 : (t[P("0x537")] -= t[P("0x54b")],
+                            t[P("0x537")] < -e[P("0x23")].TWO_PI && (t[P("0x537")] += e.Math[P("0xab")]));
+                            break;
+                        case 38:
+                            i[P("0x54a")] ? t.deltaHeight += 10 : (t[P("0x537")] += t[P("0x54b")],
+                            t[P("0x537")] > -e[P("0x23")][P("0xab")] && (t[P("0x537")] -= e[P("0x23")].TWO_PI));
+                            break;
+                        case 39:
+                            i[P("0x54a")] ? (t[P("0x538")] += t[P("0x54b")],
+                            t[P("0x538")] > e[P("0x23")][P("0xab")] && (t._roll -= e[P("0x23")][P("0xab")])) : t[P("0x542")] -= 50;
+                            break;
+                        case 37:
+                            i[P("0x54a")] ? (t[P("0x538")] -= t[P("0x54b")],
+                            t[P("0x538")] < e.Math[P("0xab")] && (t[P("0x538")] += e[P("0x23")][P("0xab")])) : t[P("0x542")] += 50
+                        }
+                }
+                ))
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x54c")] = function(t) {
+                this[P("0x13b")] = t.viewer,
+                this[P("0x54d")] = t[P("0x54d")],
+                this[P("0x80")] = t[P("0x80")],
+                this[P("0x81")] = t[P("0x81")],
+                this.height = t[P("0x8b")],
+                this[P("0x539")] = t[P("0x539")],
+                this.lon = t.lon,
+                this.lat = t[P("0x54e")],
+                this[P("0x54f")] = t.planePrimitive,
+                this.hpRoll = t[P("0x550")],
+                this[P("0x551")] = t[P("0x551")],
+                this.isFlying = t.isFlying,
+                this[P("0x8c")] = t[P("0x8c")],
+                this[P("0x552")] = t.fixedFrameTransform,
+                this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
+                this.camera = this.viewer[P("0x7e")],
+                this[P("0x553")] = new (e[P("0x554")]),
+                this[P("0x555")] = new (e[P("0x11")]),
+                this.center = new e.Cartesian3,
+                this[P("0x556")] = new (e[P("0xa9")]),
+                this.deltaRadians = e[P("0x23")][P("0x119")](3),
+                this.init(),
+                this[P("0x53e")]()
+            }
+            ;
+            t[P("0x5")].init = function() {
+                var t = this
+                  , i = this[P("0x10f")][P("0x24f")]
+                  , r = 0;
+                this[P("0x54f")][P("0x557")][P("0x333")]((function(n) {
+                    n[P("0x558")].addAll({
+                        speedup: .5,
+                        loop: e[P("0x559")][P("0x55a")]
+                    }),
+                    r = 2 * Math[P("0xee")](n[P("0x55b")][P("0x181")], t[P("0x7e")].frustum.near),
+                    i[P("0x30")] = .5 * r,
+                    e[P("0x1b")][P("0xd4")](n.modelMatrix, n[P("0x55b")][P("0x11a")], t[P("0x11a")]);
+                    var o = e[P("0x23")][P("0x119")](230)
+                      , a = e[P("0x23")][P("0x119")](-20);
+                    t[P("0x556")][P("0x7f")] = o,
+                    t[P("0x556")][P("0x80")] = a,
+                    t[P("0x556")][P("0x55c")] = 50 * r,
+                    t.camera[P("0x50a")](t.center, t[P("0x556")])
+                }
+                )),
+                viewer[P("0x194")].add({
+                    position: this.pathPosition,
+                    name: "path",
+                    path: {
+                        show: !0,
+                        leadTime: 0,
+                        trailTime: 60,
+                        width: 2,
+                        resolution: 1,
+                        material: new (e[P("0x55d")])({
+                            glowPower: .3,
+                            color: e.Color[P("0x55e")]
+                        })
+                    }
+                })
+            }
+            ,
+            t[P("0x5")][P("0x104")] = function() {
+                if (this[P("0x53c")]) {
+                    this[P("0x54d")] = e[P("0x23")].toDegrees(this.hpRoll[P("0x7f")])[P("0x2af")](1),
+                    this.pitch = e[P("0x23")][P("0x113")](this.hpRoll[P("0x80")])[P("0x2af")](1),
+                    this.roll = e[P("0x23")][P("0x113")](this[P("0x550")][P("0x81")])[P("0x2af")](1),
+                    this.speed = this.speed,
+                    this[P("0x555")] = e[P("0x11")][P("0x6c")](e[P("0x11")][P("0xb8")], this[P("0x539")] / 10, this[P("0x555")]);
+                    var t = e[P("0x1b")][P("0xd4")](this[P("0x54f")][P("0x4ac")], this[P("0x555")], this.position);
+                    this[P("0x553")][P("0x55f")](e[P("0x560")][P("0x561")](), t),
+                    e[P("0x1f")][P("0x562")](t, this[P("0x550")], e[P("0x16")][P("0x110")], this[P("0x552")], this[P("0x54f")][P("0x4ac")]);
+                    var i = e[P("0x13")][P("0x175")](t);
+                    this[P("0x563")] = e.Math[P("0x113")](i[P("0x112")]),
+                    this[P("0x54e")] = e[P("0x23")][P("0x113")](i[P("0x114")]),
+                    this.height = i[P("0x8b")],
+                    this.fromBehind && (e.Matrix4[P("0xd4")](this[P("0x54f")][P("0x4ac")], this[P("0x54f")][P("0x55b")].center, this[P("0x11a")]),
+                    this[P("0x556")][P("0x7f")] = this[P("0x550")].heading,
+                    this[P("0x556")][P("0x80")] = this[P("0x550")][P("0x80")],
+                    this[P("0x7e")][P("0x50a")](this[P("0x11a")], this[P("0x556")]))
+                }
+            }
+            ,
+            t[P("0x5")].play = function() {
+                this[P("0x13b")].scene[P("0x564")][P("0x130")](this[P("0x104")], this)
+            }
+            ,
+            t[P("0x5")][P("0x546")] = function() {
+                this[P("0x13b")].scene[P("0x564")][P("0x548")](this[P("0x104")], this)
+            }
+            ,
+            t[P("0x5")][P("0x547")] = function() {
+                0 != this[P("0x13b")][P("0x194")][P("0x430")][P("0x0")] ? (this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this),
+                this[P("0x13b")][P("0x10f")].postRender.addEventListener(this[P("0x104")], this)) : this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this)
+            }
+            ,
+            t.prototype.stop = function() {
+                this.viewer[P("0x10f")][P("0x564")].removeEventListener(this[P("0x104")], this),
+                this[P("0x13b")].entities[P("0xf5")](),
+                this[P("0x10f")][P("0x17d")][P("0xf5")](),
+                document[P("0x548")](P("0x549"), this[P("0x565")])
+            }
+            ,
+            t[P("0x5")][P("0x53e")] = function() {
+                var t = this;
+                document.addEventListener("keydown", (function(i) {
+                    switch (i[P("0x566")]) {
+                    case 40:
+                        i[P("0x54a")] ? t[P("0x539")] = Math.max(--t.speed, 1) : (t[P("0x550")].pitch -= t[P("0x54b")],
+                        t.hpRoll[P("0x80")] < -e[P("0x23")][P("0xab")] && (t[P("0x550")][P("0x80")] += e[P("0x23")][P("0xab")]));
+                        break;
+                    case 38:
+                        i.shiftKey ? t[P("0x539")] = Math[P("0x7d")](++t[P("0x539")], 100) : (t[P("0x550")][P("0x80")] += t.deltaRadians,
+                        t[P("0x550")][P("0x80")] > e.Math[P("0xab")] && (t[P("0x550")][P("0x80")] -= e[P("0x23")][P("0xab")]));
+                        break;
+                    case 39:
+                        i.shiftKey ? (t[P("0x550")][P("0x81")] += t[P("0x54b")],
+                        t[P("0x550")].roll > e[P("0x23")][P("0xab")] && (t[P("0x550")][P("0x81")] -= e[P("0x23")].TWO_PI)) : (t[P("0x550")][P("0x7f")] += t.deltaRadians,
+                        t[P("0x550")][P("0x7f")] > e[P("0x23")].TWO_PI && (t.hpRoll[P("0x7f")] -= e[P("0x23")][P("0xab")]));
+                        break;
+                    case 37:
+                        i[P("0x54a")] ? (t.hpRoll.roll -= t[P("0x54b")],
+                        t.hpRoll.roll < 0 && (t[P("0x550")][P("0x81")] += e[P("0x23")][P("0xab")])) : (t[P("0x550")][P("0x7f")] -= t[P("0x54b")],
+                        t[P("0x550")][P("0x7f")] < 0 && (t.hpRoll[P("0x7f")] += e[P("0x23")].TWO_PI))
+                    }
+                }
+                ))
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = e[P("0x567")] = function(t) {
+                this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x568")] = t[P("0x568")],
+                this[P("0x569")] = t.pointArray,
+                this[P("0xe2")] = t[P("0xe2")],
+                this[P("0x56a")] = t[P("0xe4")],
+                this[P("0x539")] = t[P("0x539")],
+                this.deltaHeight = e[P("0x102")](t[P("0x53d")], 10),
+                this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
+                this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
+                this[P("0x56b")] = new (e[P("0x11")])(0,0,0),
+                this[P("0x56c")] = [],
+                this[P("0x565")] = null,
+                this[P("0x2ec")] = [],
+                this.bearing = [],
+                this[P("0x56d")] = [],
+                this[P("0x56e")] = [],
+                this[P("0x56f")] = 0,
+                this.VerticalRadians = 0,
+                this.i = 0,
+                this[P("0x53e")]()
+            }
+            ;
+            t[P("0x5")][P("0x3f7")] = function() {
+                for (var t = 0; t < this[P("0x569")][P("0x0")]; t++)
+                    this[P("0x2ec")][P("0x17c")](turf[P("0x2ec")](this[P("0x569")][t]));
+                for (var i = 0; i < this[P("0x2ec")][P("0x0")] - 1; i++)
+                    this[P("0x11b")].push(turf[P("0x11b")](this[P("0x2ec")][i], this[P("0x2ec")][i + 1]));
+                for (t = 0; t < this[P("0x11b")][P("0x0")]; t++)
+                    this.initialHeading[P("0x17c")](e.Math[P("0x119")](this[P("0x11b")][t]));
+                for (var r = 0; r < this[P("0x11b")][P("0x0")] - 1; r++)
+                    this[P("0x11b")][r + 1] - this[P("0x11b")][r] < -180 ? (this[P("0x56d")][P("0x17c")](e[P("0x23")].toRadians(this[P("0x11b")][r + 1] - this.bearing[r] + 360)),
+                    this[P("0x56e")].push(e[P("0x23")][P("0x119")](this.bearing[r + 1] - this.bearing[r] + 360))) : 180 < this.bearing[r + 1] - this.bearing[r] ? (this.differentBearing[P("0x17c")](e[P("0x23")].toRadians(this[P("0x11b")][r + 1] - this[P("0x11b")][r] - 360)),
+                    this.reduceBearing[P("0x17c")](e[P("0x23")][P("0x119")](Math[P("0x78")](this[P("0x11b")][r + 1] - this[P("0x11b")][r] - 360)))) : (this.differentBearing[P("0x17c")](e.Math[P("0x119")](this[P("0x11b")][r + 1] - this[P("0x11b")][r])),
+                    this.reduceBearing[P("0x17c")](e[P("0x23")].toRadians(Math[P("0x78")](this.bearing[r + 1] - this[P("0x11b")][r]))))
+            }
+            ,
+            t[P("0x5")][P("0x570")] = function() {
+                this.viewer[P("0x571")][P("0x572")] = this[P("0xe2")].clone(),
+                this.viewer[P("0x571")][P("0x573")] = this[P("0x56a")].clone(),
+                this[P("0x13b")][P("0x571")].currentTime = this[P("0xe2")][P("0x6e")](),
+                this[P("0x13b")].clock[P("0x574")] = e.ClockRange[P("0x575")]
+            }
+            ,
+            t[P("0x5")][P("0x576")] = function(t) {
+                for (var i = new (e[P("0x554")]), r = 0; r < t[P("0x0")]; r++) {
+                    var n = e[P("0x560")][P("0x577")](this.start, r, new (e[P("0x560")]))
+                      , o = e[P("0x11")][P("0x3d0")](Number(t[r][0]), Number(t[r][1]), Number(t[r][2]));
+                    i[P("0x55f")](n, o),
+                    this[P("0x13b")][P("0x194")][P("0x6d")]({
+                        position: o,
+                        point: {
+                            pixelSize: 2,
+                            color: e.Color[P("0x578")],
+                            outlineColor: e[P("0x16a")][P("0x2d5")],
+                            outlineWidth: 2
+                        }
+                    })
+                }
+                return i
+            }
+            ,
+            t[P("0x5")][P("0x104")] = function() {
+                if (this[P("0x568")]) {
+                    var t = this[P("0x576")](this.cartographicArray)
+                      , i = this[P("0x13b")][P("0x194")][P("0x6d")]({
+                        availability: new e.TimeIntervalCollection([new (e[P("0x579")])({
+                            start: this[P("0xe2")],
+                            stop: this[P("0x56a")]
+                        })]),
+                        position: t
+                    });
+                    this[P("0x56b")] = i[P("0x8c")][P("0x512")](this[P("0x13b")][P("0x571")][P("0x57a")]);
+                    var r = this[P("0x10f")][P("0xa3")][P("0xef")];
+                    if (null == this[P("0x56b")])
+                        this[P("0x13b")][P("0x571")][P("0x57b")] = 0,
+                        document[P("0x548")]("keydown", this.keydownOption),
+                        this[P("0x13b")][P("0x10f")].postRender[P("0x548")](this[P("0x104")]);
+                    else {
+                        var n = r[P("0xd6")](this[P("0x56b")])
+                          , o = Math.floor(1e5 * e[P("0x23")][P("0x113")](n[P("0x114")])) / 1e5
+                          , a = Math[P("0x3e8")](1e5 * e[P("0x23")].toDegrees(n[P("0x112")])) / 1e5
+                          , s = (Math[P("0x3e8")](1e5 * n[P("0x8b")]),
+                        1e3 * turf[P("0x8e")](turf[P("0x2ec")](this[P("0x569")][this.i + 1]), turf[P("0x2ec")]([a, o, 0])))
+                          , x = turf.distance(turf[P("0x2ec")](this.pointArray[this.i]), turf[P("0x2ec")](this[P("0x569")][this.i + 1]));
+                        s <= 1 * (50 + this[P("0x53d")]) / 10 ? (this[P("0x7e")].setView({
+                            destination: e[P("0x11")][P("0x1a1")](e[P("0x23")][P("0x113")](this.cartographicArray[this.i + 1][0]), e[P("0x23")][P("0x113")](this[P("0x568")][this.i + 1][1]), 50 + this[P("0x53d")]),
+                            orientation: {
+                                heading: this.initialHeading[this.i] + this.HorizontalRadian,
+                                pitch: e[P("0x23")].toRadians(0) + this[P("0x57c")],
+                                roll: 0
+                            }
+                        }),
+                        this[P("0x13b")][P("0x571")][P("0x57b")] = 0,
+                        this.i < this.reduceBearing[P("0x0")] ? this[P("0x56e")][this.i] < 1e-5 ? (this[P("0x56f")] = 0,
+                        this.i += 1,
+                        this[P("0x13b")][P("0x571")][P("0x57b")] = this[P("0x539")]) : (this[P("0x56f")] += this[P("0x56d")][this.i] / 200,
+                        this[P("0x56e")][this.i] -= Math[P("0x78")](this[P("0x56d")][this.i] / 200)) : (this[P("0x13b")][P("0x571")][P("0x57b")] = 0,
+                        document[P("0x548")]("keydown", this[P("0x565")]),
+                        this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this))) : (this[P("0x7e")].setView({
+                            destination: e[P("0x11")].fromDegrees(e[P("0x23")].toDegrees(n[P("0x112")]), e[P("0x23")][P("0x113")](n[P("0x114")]), 50 + this[P("0x53d")]),
+                            orientation: {
+                                heading: this[P("0x56c")][this.i],
+                                pitch: e[P("0x23")][P("0x119")](0) + this[P("0x57c")],
+                                roll: 0
+                            }
+                        }),
+                        this[P("0x13b")][P("0x571")][P("0x57b")] = 1 < x ? this[P("0x539")] * (1 / x) : this[P("0x539")] * (1 - x))
+                    }
+                }
+            }
+            ,
+            t.prototype.play = function() {
+                this[P("0x570")](),
+                this.init(),
+                this[P("0x10f")][P("0x564")][P("0x130")](this.animation, this)
+            }
+            ,
+            t[P("0x5")].pause = function() {
+                this[P("0x10f")].postRender[P("0x548")](this[P("0x104")], this)
+            }
+            ,
+            t[P("0x5")].continue = function() {
+                this.scene[P("0x564")][P("0x548")](this[P("0x104")], this),
+                this[P("0x10f")][P("0x564")][P("0x130")](this[P("0x104")], this)
+            }
+            ,
+            t[P("0x5")][P("0xe4")] = function() {
+                this.scene.postRender.removeEventListener(this[P("0x104")], this),
+                this[P("0x13b")][P("0x194")][P("0xf5")](),
+                document[P("0x548")]("keydown", this.keydownOption),
+                this[P("0x13b")] = null,
+                this[P("0x568")] = null,
+                this[P("0x569")] = null,
+                this[P("0xe2")] = null,
+                this[P("0x56a")] = null,
+                this.speed = null,
+                this.scene = null,
+                this[P("0x7e")] = null,
+                this[P("0x56b")] = new (e[P("0x11")])(0,0,0),
+                this[P("0x56c")] = [],
+                this[P("0x565")] = null,
+                this.point = [],
+                this[P("0x11b")] = [],
+                this[P("0x56d")] = [],
+                this[P("0x56e")] = [],
+                this[P("0x53d")] = e[P("0x102")](this[P("0x53d")], 10),
+                this[P("0x56f")] = 0,
+                this[P("0x57c")] = 0,
+                this.i = 0
+            }
+            ,
+            t.prototype.reset = function(t) {
+                this.viewer && (this[P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this),
+                this.cartesian3 = new (e[P("0x11")])(0,0,0),
+                this[P("0x56c")] = [],
+                this.keydownOption = null,
+                this[P("0x2ec")] = [],
+                this[P("0x11b")] = [],
+                this[P("0x56d")] = [],
+                this[P("0x56e")] = [],
+                this.deltaHeight = e[P("0x102")](this.deltaHeight, 10),
+                this.HorizontalRadian = 0,
+                this[P("0x57c")] = 0,
+                this.i = 0,
+                this[P("0x543")]())
+            }
+            ,
+            t.prototype[P("0x53e")] = function() {
+                var e = this;
+                this[P("0x565")] = function(t) {
+                    switch (t[P("0x566")]) {
+                    case 40:
+                        t[P("0x54a")] ? --e[P("0x53d")] : e[P("0x57c")] -= .01;
+                        break;
+                    case 38:
+                        t.shiftKey ? e[P("0x53d")] += 1 : e[P("0x57c")] += .01
+                    }
+                }
+                ,
+                document[P("0x130")](P("0x549"), this[P("0x565")])
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = e[P("0x57d")] = function(e) {
+                this[P("0x13b")] = e.viewer,
+                this[P("0x569")] = e.pointArray,
+                this[P("0x57e")] = [],
+                this[P("0x57f")] = turf[P("0x2ec")](this[P("0x569")][0]),
+                this[P("0x580")] = turf[P("0x2ec")](this[P("0x569")][1]),
+                this[P("0x581")] = turf[P("0x2ec")](this.pointArray[2]),
+                this[P("0x582")] = turf[P("0x11b")](this[P("0x57f")], this[P("0x580")]),
+                this[P("0x583")] = turf[P("0x11b")](this.point2, this[P("0x581")]),
+                this.drawMarker(),
+                this[P("0x3f7")]()
+            }
+            ;
+            t[P("0x5")].animation = function() {
+                var t = this.viewer[P("0x10f")][P("0xa3")][P("0xef")]
+                  , i = this[P("0x13b")].camera[P("0x8c")]
+                  , r = t[P("0xd6")](i)
+                  , n = Math[P("0x3e8")](1e5 * e[P("0x23")].toDegrees(r.latitude)) / 1e5
+                  , o = Math[P("0x3e8")](1e5 * e.Math[P("0x113")](r.longitude)) / 1e5;
+                o == this[P("0x569")][1][0] && n == this[P("0x569")][1][1] ? (this[P("0x57e")][P("0x17c")](e[P("0x23")].toDegrees(this[P("0x13b")].camera[P("0x7f")])),
+                1e-12 <= this[P("0x583")] - e[P("0x23")].toDegrees(this.viewer[P("0x7e")].heading) ? (this[P("0x13b")][P("0x7e")][P("0x584")](0),
+                this.viewer[P("0x7e")][P("0x585")](e[P("0x23")][P("0x119")]((this[P("0x583")] - this[P("0x57e")][0]) / 200))) : (this[P("0x57e")] = [],
+                this[P("0x13b")][P("0x7e")][P("0x9c")]({
+                    destination: e.Cartesian3[P("0x1a1")](this[P("0x569")][1][0], this[P("0x569")][1][1], this[P("0x569")][1][2]),
+                    orientation: {
+                        heading: e.Math[P("0x119")](this[P("0x583")]),
+                        pitch: e[P("0x23")][P("0x119")](0)
+                    }
+                }),
+                this.viewer[P("0x7e")][P("0x584")](this.viewer[P("0x571")][P("0x57b")]))) : -1e-5 < o - this[P("0x569")][2][0] && -1e-5 < n - this[P("0x569")][2][1] ? this[P("0x13b")][P("0x7e")][P("0x584")](0) : this[P("0x13b")][P("0x7e")].moveForward(this[P("0x13b")][P("0x571")][P("0x57b")])
+            }
+            ,
+            t[P("0x5")][P("0x3f7")] = function() {
+                this.viewer[P("0x7e")].setView({
+                    destination: e.Cartesian3[P("0x1a1")](this[P("0x569")][0][0], this[P("0x569")][0][1], this[P("0x569")][0][2]),
+                    orientation: {
+                        heading: e[P("0x23")].toRadians(this.bearing1),
+                        pitch: e.Math[P("0x119")](0)
+                    }
+                })
+            }
+            ,
+            t.prototype.drawMarker = function() {
+                this[P("0x13b")].entities.add({
+                    position: e[P("0x11")][P("0x1a1")](this[P("0x569")][1][0], this[P("0x569")][1][1]),
+                    point: {
+                        pixelSize: 2,
+                        color: e[P("0x16a")][P("0x578")],
+                        outlineColor: e[P("0x16a")][P("0x2d5")],
+                        outlineWidth: 2
+                    }
+                }),
+                this[P("0x13b")][P("0x194")][P("0x6d")]({
+                    position: e.Cartesian3.fromDegrees(this[P("0x569")][2][0], this[P("0x569")][2][1]),
+                    point: {
+                        pixelSize: 2,
+                        color: e[P("0x16a")][P("0x578")],
+                        outlineColor: e[P("0x16a")].RED,
+                        outlineWidth: 2
+                    }
+                })
+            }
+            ,
+            t[P("0x5")].play = function() {
+                0 == this[P("0x13b")][P("0x194")][P("0x430")][P("0x0")] && this.drawMarker(),
+                this[P("0x13b")][P("0x10f")].postRender[P("0x548")](this.animation, this),
+                this[P("0x13b")].camera[P("0x9c")]({
+                    destination: e[P("0x11")][P("0x1a1")](this[P("0x569")][0][0], this[P("0x569")][0][1], this[P("0x569")][0][2]),
+                    orientation: {
+                        heading: e[P("0x23")].toRadians(this[P("0x582")]),
+                        pitch: e.Math.toRadians(0)
+                    }
+                }),
+                this[P("0x13b")].scene[P("0x564")][P("0x130")](this.animation, this)
+            }
+            ,
+            t.prototype[P("0x546")] = function() {
+                this.viewer.scene[P("0x564")].removeEventListener(this[P("0x104")], this)
+            }
+            ,
+            t.prototype[P("0x547")] = function() {
+                0 != this[P("0x13b")][P("0x194")]._entities[P("0x0")] ? (this[P("0x13b")][P("0x10f")][P("0x564")].removeEventListener(this[P("0x104")], this),
+                this[P("0x13b")][P("0x10f")][P("0x564")].addEventListener(this.animation, this)) : this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this)
+            }
+            ,
+            t[P("0x5")].stop = function() {
+                this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this),
+                this.viewer[P("0x194")].removeAll(),
+                this[P("0x3f7")]()
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x586")] = function(t) {
+                if (t[P("0x13b")] && t[P("0x587")] && t[P("0x588")] && t[P("0x0")] && t.position) {
+                    this[P("0x589")] = e[P("0x102")](t[P("0x58a")], 1),
+                    this[P("0x58b")] = e[P("0x102")](t[P("0x58c")], new (e[P("0x16a")])(.5,.8,1,1)),
+                    this[P("0x58d")] = e.defaultValue(t[P("0x58e")], 0),
+                    this[P("0x58f")] = e.defaultValue(t[P("0x590")], 0),
+                    this._rotationZPerFrame = e[P("0x102")](t[P("0x591")], 0),
+                    this[P("0x592")] = e[P("0x102")](t.instanceName, "GeoCirclePipe"),
+                    this._startRadian = e.defaultValue(t.startRadian, 0),
+                    this._endRadian = e[P("0x102")](t[P("0x593")], 2 * Math.PI),
+                    this[P("0x594")] = !1,
+                    t.image ? (this._useImage = !0,
+                    this[P("0x595")] = t[P("0x475")]) : (this._useImage = !1,
+                    this[P("0x596")] = e[P("0x102")](t[P("0x169")], new e.Color(1,0,0,1))),
+                    this[P("0x13c")] = t[P("0x13b")],
+                    this[P("0x306")] = this[P("0x13c")][P("0x10f")][P("0x17d")],
+                    t[P("0x8c")][P("0x0")] <= 2 && (t[P("0x8c")][2] = 0);
+                    var r, n, o = e[P("0x11")][P("0x1a1")](t[P("0x8c")][0], t[P("0x8c")][1], t[P("0x8c")][2]);
+                    n = this._useImage ? i(t.image, this[P("0x58b")]) : (r = this[P("0x596")],
+                    new (e[P("0x212")])({
+                        fabric: {
+                            type: "Color",
+                            uniforms: {
+                                color: r,
+                                transparent: !0
+                            }
+                        }
+                    }));
+                    var a = e.Matrix4[P("0x597")](e.Transforms[P("0xbf")](o), new (e[P("0x11")])(0,0,0), new (e[P("0x1b")]))
+                      , s = new (e[P("0x598")])({
+                        length: t[P("0x0")],
+                        topRadius: t[P("0x587")],
+                        bottomRadius: t[P("0x588")],
+                        startRadian: this[P("0x599")],
+                        endRadian: this[P("0x59a")]
+                    })
+                      , x = new (e[P("0x179")])({
+                        geometry: s,
+                        modelMatrix: a,
+                        id: this[P("0x592")]
+                    })
+                      , l = new (e[P("0x226")])({
+                        geometryInstances: x,
+                        appearance: new (e[P("0x59b")])({
+                            material: n,
+                            renderState: {
+                                depthTest: {
+                                    enabled: !1
+                                }
+                            }
+                        })
+                    });
+                    l[P("0x59c")] = !0,
+                    this._primitives[P("0x6d")](l),
+                    this._circlePipePrimitive = l,
+                    this._viewer.clock[P("0x59d")][P("0x130")](this[P("0x59e")], this)
+                }
+            }
+            ;
+            function i(t, i) {
+                return new e.Material({
+                    fabric: {
+                        type: P("0x5a5"),
+                        uniforms: {
+                            image: t,
+                            color: i,
+                            transparent: !0
+                        }
+                    }
+                })
+            }
+            t[P("0x5")][P("0x59e")] = function(t) {
+                if (this[P("0x59f")]) {
+                    var i = this[P("0x59f")][P("0x4ac")]
+                      , r = e[P("0x1b")].getTranslation(i, new e.Cartesian3);
+                    if (0 != r.x || 0 != r.y || 0 != r.z) {
+                        var n = e.Matrix3[P("0x5a0")](e[P("0x23")].toRadians(this._rotationXPerFrame))
+                          , o = e[P("0x1a")][P("0x5a1")](e.Math[P("0x119")](this[P("0x58f")]))
+                          , a = e[P("0x1a")][P("0x5a2")](e[P("0x23")][P("0x119")](this[P("0x5a3")]));
+                        e[P("0x1b")].multiplyByMatrix3(i, n, i),
+                        e[P("0x1b")].multiplyByMatrix3(i, o, i),
+                        e[P("0x1b")][P("0x5a4")](i, a, i)
+                    }
+                }
+            }
+            ,
+            t.prototype[P("0xf4")] = function() {
+                this[P("0x13c")][P("0x571")][P("0x59d")].removeEventListener(this[P("0x59e")]),
+                this._primitives[P("0x17f")](this[P("0x59f")])
+            }
+            ,
+            e[P("0xf")](t.prototype, {
+                rotationXPerFrame: {
+                    get: function() {
+                        return this[P("0x58d")]
+                    },
+                    set: function(e) {
+                        this._rotationXPerFrame = e
+                    }
+                },
+                rotationYPerFrame: {
+                    get: function() {
+                        return this[P("0x590")]
+                    },
+                    set: function(e) {
+                        this[P("0x58f")] = e
+                    }
+                },
+                rotationZPerFrame: {
+                    get: function() {
+                        return this[P("0x5a3")]
+                    },
+                    set: function(e) {
+                        this._rotationZPerFrame = e
+                    }
+                },
+                image: {
+                    get: function() {
+                        return this[P("0x595")]
+                    },
+                    set: function(e) {
+                        this[P("0x595")] = e,
+                        this[P("0x59f")][P("0x16d")][P("0x19c")] = i(e, this[P("0x58b")])
+                    }
+                },
+                imageColor: {
+                    get: function() {
+                        return this[P("0x58b")]
+                    },
+                    set: function(e) {
+                        this._imageColor = e,
+                        this._circlePipePrimitive[P("0x16d")][P("0x19c")] = i(this[P("0x595")], e)
+                    }
+                },
+                instanceName: {
+                    get: function() {
+                        return this[P("0x592")]
+                    }
+                }
+            })
+        }(window.Cesium),
+        function(e) {
+            var t = e.GeoCirclePipeCollection = function(t) {
+                if (t[P("0x13b")] && t[P("0x587")] && t[P("0x588")] && t[P("0x0")] && t.position && t[P("0x5a6")] && !(t[P("0x5a6")] <= 0)) {
+                    this._circlePipeCollection = [],
+                    this[P("0x58b")] = e[P("0x102")](t[P("0x58c")], new (e[P("0x16a")])(.5,.8,1,1)),
+                    this[P("0x13c")] = t.viewer,
+                    this._onMouseEnter = t[P("0x5a7")],
+                    this._onMouseLeave = t[P("0x5a8")],
+                    this[P("0x5a9")] = t[P("0x5aa")],
+                    this[P("0x5ab")] = void 0,
+                    this._rotationXPerFrame = e[P("0x102")](t[P("0x58e")], 0),
+                    this[P("0x58f")] = e[P("0x102")](t[P("0x590")], 0),
+                    this[P("0x5a3")] = e.defaultValue(t[P("0x591")], 0),
+                    this[P("0x5ac")] = new e.ScreenSpaceEventHandler(this[P("0x13c")][P("0x10f")][P("0x48")]),
+                    this[P("0x5ad")] = new (e[P("0x15f")])(this[P("0x13c")][P("0x10f")].canvas);
+                    for (var r = 2 * Math.PI, n = t[P("0x5a6")], o = r / n, a = 0; a < n; a++) {
+                        var s = a * o
+                          , x = (a + 1) * o
+                          , l = new e.GeoCirclePipe({
+                            viewer: t[P("0x13b")],
+                            topRadius: t.topRadius,
+                            bottomRadius: t[P("0x588")],
+                            length: t[P("0x0")],
+                            image: t[P("0x5ae")][a],
+                            imageColor: this[P("0x58b")],
+                            position: t[P("0x8c")],
+                            rotationZPerFrame: this[P("0x5a3")],
+                            rotationXPerFrame: this._rotationXPerFrame,
+                            rotationYPerFrame: this[P("0x58f")],
+                            instanceName: t[P("0x5af")][a],
+                            startRadian: s,
+                            endRadian: x
+                        });
+                        this[P("0x5b0")][P("0x17c")](l)
+                    }
+                    var c = this;
+                    this[P("0x5ad")].setInputAction((function(e) {
+                        if (c._onMouseLeftClick) {
+                            var t = c[P("0x13c")][P("0x10f")][P("0xa4")](e[P("0x8c")]);
+                            if (t) {
+                                var r = i(t.id, c._circlePipeCollection);
+                                c[P("0x5a9")](r)
+                            }
+                        }
+                    }
+                    ), e[P("0x161")][P("0x17e")]),
+                    this[P("0x5ac")].setInputAction((function(e) {
+                        if (c[P("0x5b1")] || c[P("0x5b2")]) {
+                            var t = c[P("0x13c")].scene[P("0xa4")](e[P("0x64")]);
+                            if (t) {
+                                var r = i(t.id, c[P("0x5b0")]);
+                                r ? (c[P("0x5b1")] && (c[P("0x5ab")] && (c[P("0x5b2")](c._previousEnter),
+                                c[P("0x5ab")] = void 0),
+                                c[P("0x5b1")](r)),
+                                c[P("0x5ab")] = r) : (c[P("0x5ab")] && c[P("0x5b2")] && c[P("0x5b2")](c[P("0x5ab")]),
+                                c._previousEnter = void 0)
+                            }
+                        }
+                    }
+                    ), e[P("0x161")][P("0x163")])
+                }
+            }
+            ;
+            function i(e, t) {
+                for (var i = 0; i < t[P("0x0")]; i++) {
+                    var r = t[i];
+                    if (r[P("0x5b3")] == e)
+                        return r
+                }
+            }
+            t[P("0x5")][P("0xf4")] = function() {
+                for (var e = 0; e < this[P("0x5b0")][P("0x0")]; e++)
+                    this[P("0x5b0")][e][P("0xf4")]();
+                this[P("0x5b0")][P("0x0")] = 0,
+                this[P("0x5ac")][P("0xf4")](),
+                this[P("0x5ad")][P("0xf4")](),
+                this[P("0x5ac")] = void 0,
+                this[P("0x5ad")] = void 0
+            }
+            ,
+            e[P("0xf")](t[P("0x5")], {
+                rotationXPerFrame: {
+                    get: function() {
+                        return this[P("0x58d")]
+                    },
+                    set: function(e) {
+                        this[P("0x58d")] = e;
+                        for (var t = 0; t < this[P("0x5b0")][P("0x0")]; t++)
+                            this[P("0x5b0")][t].rotationXPerFrame = e
+                    }
+                },
+                rotationYPerFrame: {
+                    get: function() {
+                        return this[P("0x590")]
+                    },
+                    set: function(e) {
+                        this[P("0x58f")] = e;
+                        for (var t = 0; t < this[P("0x5b0")][P("0x0")]; t++)
+                            this[P("0x5b0")][t][P("0x590")] = e
+                    }
+                },
+                rotationZPerFrame: {
+                    get: function() {
+                        return this[P("0x5a3")]
+                    },
+                    set: function(e) {
+                        this._rotationZPerFrame = e;
+                        for (var t = 0; t < this[P("0x5b0")].length; t++)
+                            this[P("0x5b0")][t].rotationZPerFrame = e
+                    }
+                }
+            })
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e.GeoCylinderApertureSpreadEffect = function(t) {
+                t = t || {};
+                var i = e[P("0x13")][P("0x1a1")].apply(this, t[P("0x11a")]);
+                this[P("0x5b4")] = e[P("0x11")].fromRadians(i[P("0x112")], i[P("0x114")], i[P("0x8b")]),
+                this._maxRadius = t[P("0x181")],
+                this._height = t.height,
+                this[P("0x5b5")] = null,
+                this[P("0x5b6")] = null,
+                this[P("0x5b7")] = !1,
+                this[P("0x5b8")] = null,
+                this[P("0x4a4")] = null,
+                this._color = t[P("0x169")] ? t[P("0x169")][P("0x6e")]() : new e.Color(.5,.8,1,1),
+                this[P("0x5b9")] = t[P("0x539")] ? t[P("0x539")] : 1,
+                this[P("0x5b9")] *= 4,
+                this[P("0x5ba")] = !t.actived || t[P("0x5bb")],
+                this._time = 0,
+                this[P("0x5bc")] = 0,
+                this._life = this[P("0x5bd")] / this[P("0x5b9")],
+                this[P("0x5be")] = 2 * this[P("0x217")] / this[P("0x5bf")],
+                this._modelTransform = null,
+                this[P("0x5c0")] = t.metallicFactor ? t[P("0x5c1")] : .115,
+                this[P("0x5c2")] = t[P("0x5c3")] ? t.roughnessFactor : .918,
+                this[P("0x5c4")] = t[P("0x5c5")] ? t[P("0x5c5")][P("0x6e")]() : new (e[P("0x11")])(.6,.6,.6),
+                this[P("0x5c6")]()
+            }
+            ;
+            e[P("0xf")](t[P("0x5")], {
+                actived: {
+                    get: function() {
+                        return this[P("0x5ba")]
+                    },
+                    set: function(e) {
+                        this[P("0x5ba")] = e
+                    }
+                }
+            }),
+            t[P("0x5")][P("0x5c6")] = function() {
+                this[P("0x5c7")] = e[P("0x1f")][P("0xbf")](this[P("0x5b4")])
+            }
+            ,
+            t[P("0x5")][P("0xd2")] = function(e) {
+                if (this._actived && (this[P("0x5c8")](),
+                this._fetchGeometry(e),
+                this[P("0x5c9")](e),
+                this[P("0x5b5")] && this[P("0x5b8")])) {
+                    var t = e[P("0x5ca")];
+                    t[P("0x17c")](this[P("0x5b5")]),
+                    t[P("0x17c")](this[P("0x5b6")])
+                }
+            }
+            ,
+            t[P("0x5")][P("0xf4")] = function() {
+                this[P("0x5ba")] = !1,
+                this._va && (this[P("0x5b8")][P("0xf4")](),
+                this[P("0x5b8")] = null),
+                this[P("0x5b5")] && (this[P("0x5b5")][P("0x5cb")] = null,
+                this[P("0x5b5")][P("0x5cc")] && (this._drawCommandAlpha[P("0x5cc")][P("0xf4")](),
+                this[P("0x5b5")][P("0x5cc")] = null),
+                this._drawCommandAlpha.owner = null,
+                this[P("0x5b5")] = null),
+                this._drawCommandOpaque && (this[P("0x5b6")][P("0x5cb")] = null,
+                this[P("0x5b6")].shaderProgram && (this._drawCommandOpaque[P("0x5cc")].destroy(),
+                this[P("0x5b6")][P("0x5cc")] = null),
+                this[P("0x5b6")][P("0x5cd")] = null,
+                this._drawCommandOpaque = null)
+            }
+            ,
+            t[P("0x5")]._fetchGeometry = function(e) {
+                this[P("0x5ce")](e)
+            }
+            ,
+            t[P("0x5")][P("0x5c8")] = function() {
+                this[P("0x5cf")] >= this[P("0x5bf")] && (this[P("0x5cf")] = 0);
+                var t = e[P("0x5d0")]() / 1e3;
+                0 < this[P("0x5bc")] ? (this._time += t - this[P("0x5bc")],
+                this[P("0x5bc")] = t,
+                this[P("0x5cf")] > this[P("0x5bf")] && (this[P("0x5cf")] = this._life)) : this[P("0x5bc")] = t
+            }
+            ,
+            t[P("0x5")][P("0x5c9")] = function(e) {
+                this[P("0x5d1")](e),
+                this[P("0x5d2")](e)
+            }
+            ,
+            t.prototype[P("0x5d1")] = function(t) {
+                var s = t.context
+                  , x = this;
+                if (!this[P("0x5b5")]) {
+                    var l = this[P("0x5b5")] = new (e[P("0x5d3")]);
+                    l[P("0x5d4")] = e.Pass.TRANSLUCENT,
+                    l[P("0x5cd")] = this,
+                    l[P("0x4ac")] = this[P("0x5c7")],
+                    l[P("0x5d5")] = e[P("0x5d6")][P("0x5d7")]({
+                        cull: {
+                            enabled: !1
+                        },
+                        depthTest: {
+                            enabled: !0,
+                            func: e[P("0x5d8")][P("0x5d9")]
+                        },
+                        depthMask: !1,
+                        blending: e[P("0x5da")][P("0x5db")]
+                    }),
+                    l[P("0x5cc")] = e[P("0x5dc")][P("0x5d7")]({
+                        context: s,
+                        defines: [P("0x5dd")],
+                        vertexShaderSource: o,
+                        fragmentShaderSource: a,
+                        attributeLocations: {
+                            aPoint: 0,
+                            aNormal: 1,
+                            aT: 2
+                        }
+                    }),
+                    l[P("0x5de")] = {
+                        u_color: function() {
+                            return x[P("0x596")]
+                        },
+                        u_metallicFactor: function() {
+                            return x[P("0x5c0")]
+                        },
+                        u_roughnessFactor: function() {
+                            return x[P("0x5c2")]
+                        },
+                        u_emissiveFactor: function() {
+                            return x[P("0x5c4")]
+                        },
+                        u_normalMatrix: function() {
+                            return e[P("0x1b")][P("0x5df")](t[P("0x7e")][P("0x5e0")], x[P("0x5c7")], i),
+                            e[P("0x1b")][P("0x4e2")](i, r),
+                            e[P("0x1b")][P("0x5e1")] ? e[P("0x1b")][P("0x5e1")](r, n) : e.Matrix4[P("0x5e2")] ? e.Matrix4[P("0x5e2")](r, n) : (n[0] = r[0],
+                            n[1] = r[1],
+                            n[2] = r[2],
+                            n[3] = r[4],
+                            n[4] = r[5],
+                            n[5] = r[6],
+                            n[6] = r[8],
+                            n[7] = r[9],
+                            n[8] = r[10]),
+                            e[P("0x1a")][P("0x5e3")](n, n)
+                        }
+                    }
+                }
+                this[P("0x5b5")][P("0x5cb")] = this[P("0x5b8")],
+                this[P("0x5b5")].boundingVolume = this[P("0x4a4")]
+            }
+            ;
+            var i = new (e[P("0x1b")])
+              , r = new (e[P("0x1b")])
+              , n = new (e[P("0x1a")]);
+            t[P("0x5")][P("0x5d2")] = function(t) {
+                var a = t.context
+                  , x = this;
+                if (!this[P("0x5b6")]) {
+                    var l = this._drawCommandOpaque = new (e[P("0x5d3")]);
+                    l[P("0x5d4")] = e[P("0x5e4")][P("0x5e5")],
+                    l[P("0x5cd")] = this,
+                    l.modelMatrix = this._modelTransform,
+                    l.renderState = e[P("0x5d6")][P("0x5d7")]({
+                        cull: {
+                            enabled: !1
+                        },
+                        depthTest: {
+                            enabled: !0,
+                            func: e[P("0x5d8")].LEQUAL
+                        },
+                        depthMask: !1
+                    }),
+                    l[P("0x5cc")] = e[P("0x5dc")][P("0x5d7")]({
+                        context: a,
+                        defines: ["HDR"],
+                        vertexShaderSource: o,
+                        fragmentShaderSource: s,
+                        attributeLocations: {
+                            aPoint: 0,
+                            aNormal: 1,
+                            aT: 2
+                        }
+                    }),
+                    l[P("0x5de")] = {
+                        u_color: function() {
+                            return x._color
+                        },
+                        u_metallicFactor: function() {
+                            return x[P("0x5c0")]
+                        },
+                        u_roughnessFactor: function() {
+                            return x._roughnessFactor
+                        },
+                        u_emissiveFactor: function() {
+                            return x._emissiveFactor
+                        },
+                        u_normalMatrix: function() {
+                            return e[P("0x1b")][P("0x5df")](t[P("0x7e")][P("0x5e0")], x[P("0x5c7")], i),
+                            e[P("0x1b")][P("0x4e2")](i, r),
+                            e.Matrix4[P("0x5e1")] ? e.Matrix4[P("0x5e1")](r, n) : e.Matrix4[P("0x5e2")] ? e[P("0x1b")][P("0x5e2")](r, n) : (n[0] = r[0],
+                            n[1] = r[1],
+                            n[2] = r[2],
+                            n[3] = r[4],
+                            n[4] = r[5],
+                            n[5] = r[6],
+                            n[6] = r[8],
+                            n[7] = r[9],
+                            n[8] = r[10]),
+                            e[P("0x1a")][P("0x5e3")](n, n)
+                        }
+                    }
+                }
+                this[P("0x5b6")][P("0x5cb")] = this._va,
+                this[P("0x5b6")][P("0x4bc")] = this[P("0x4a4")]
+            }
+            ,
+            t[P("0x5")]._updateVA = function(t) {
+                this[P("0x5b8")] && (this._va[P("0xf4")](),
+                this[P("0x5b8")] = null);
+                var i = e[P("0x23")][P("0xab")]
+                  , r = this[P("0x5cf")] * this[P("0x5b9")];
+                if (!(r < 1e-5)) {
+                    var n = 0;
+                    if (this[P("0x5cf")] / this[P("0x5bf")] < .5)
+                        n = this[P("0x5be")] * this[P("0x5cf")];
+                    else {
+                        var o = this._life - this[P("0x5cf")];
+                        n = this[P("0x5be")] * o
+                    }
+                    var a = this[P("0x5e6")](r);
+                    if (!(n < 1e-5)) {
+                        for (var s, x, l, c, u = t.context, h = i / a, f = 2 * a, d = 3 * f, g = e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 3 * f), p = e.ComponentDatatype.createTypedArray(e[P("0x5e8")][P("0x5e9")], 3 * f), m = e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")][P("0x5e9")], f), b = e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")].UNSIGNED_SHORT, d), v = 0, C = 0, y = 0, _ = 0, A = 0; A < a; A++)
+                            s = A * h,
+                            x = r * Math.cos(s),
+                            l = r * Math.sin(s),
+                            c = 0,
+                            g[v++] = x,
+                            g[v++] = l,
+                            g[v++] = c,
+                            p[C++] = x,
+                            p[C++] = l,
+                            p[C++] = 0,
+                            m[y++] = 0,
+                            c = n,
+                            g[v++] = x,
+                            g[v++] = l,
+                            g[v++] = c,
+                            p[C++] = x,
+                            p[C++] = l,
+                            p[C++] = 0,
+                            b[_++] = 2 * A,
+                            b[_++] = (A + 1) % a * 2,
+                            b[_++] = 2 * A + 1,
+                            b[_++] = 2 * A + 1,
+                            b[_++] = (A + 1) % a * 2,
+                            b[_++] = (A + 1) % a * 2 + 1,
+                            m[y++] = 1;
+                        var I = e[P("0x5ea")][P("0x5eb")]({
+                            context: u,
+                            typedArray: g,
+                            usage: e.BufferUsage[P("0x4d6")]
+                        })
+                          , w = [];
+                        w[P("0x17c")]({
+                            index: 0,
+                            vertexBuffer: I,
+                            componentsPerAttribute: 3,
+                            componentDatatype: e.ComponentDatatype[P("0x5e9")],
+                            offsetInBytes: 0,
+                            strideInBytes: 12,
+                            normalize: !1
+                        });
+                        var G = e[P("0x5ea")].createVertexBuffer({
+                            context: u,
+                            typedArray: p,
+                            usage: e[P("0x4d5")][P("0x4d6")]
+                        });
+                        w[P("0x17c")]({
+                            index: 1,
+                            vertexBuffer: G,
+                            componentsPerAttribute: 3,
+                            componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                            offsetInBytes: 0,
+                            strideInBytes: 12,
+                            normalize: !1
+                        });
+                        var E = e[P("0x5ea")][P("0x5eb")]({
+                            context: u,
+                            typedArray: m,
+                            usage: e[P("0x4d5")][P("0x4d6")]
+                        });
+                        w.push({
+                            index: 2,
+                            vertexBuffer: E,
+                            componentsPerAttribute: 1,
+                            componentDatatype: e[P("0x5e8")].FLOAT,
+                            offsetInBytes: 0,
+                            strideInBytes: 4,
+                            normalize: !1
+                        });
+                        var S = e[P("0x5ea")][P("0x5ec")]({
+                            context: u,
+                            typedArray: b,
+                            usage: e.BufferUsage.STATIC_DRAW,
+                            indexDatatype: e.IndexDatatype[P("0x5ed")]
+                        });
+                        this._va = new (e[P("0x5ee")])({
+                            context: u,
+                            attributes: w,
+                            indexBuffer: S
+                        }),
+                        this[P("0x5ef")](r, n)
+                    }
+                }
+            }
+            ,
+            t[P("0x5")][P("0x5e6")] = function(t) {
+                var i = 10 < t ? 1 / t : .1
+                  , r = 2 * Math[P("0x97")](i);
+                return Math[P("0x5f0")](e.Math[P("0xab")] / r)
+            }
+            ,
+            t.prototype[P("0x5ef")] = function(t, i) {
+                var r = Math[P("0xca")](t * t + i + i);
+                this[P("0x4a4")] = new (e[P("0x5f1")])(e[P("0x11")].ZERO,r + 1),
+                e[P("0x5f1")].transform(this[P("0x4a4")], this._modelTransform, this._boundingVolume)
+            }
+            ;
+            var o = P("0x5f2") + P("0x5f3") + P("0x5f4") + P("0x5f5") + P("0x5f6") + P("0x5f7") + P("0x5f8") + P("0x5f9") + P("0x5fa") + P("0x5fb") + "   gl_Position = czm_modelViewProjection * vec4(aPoint, 1.0);\n   v_t = aT;\n}"
+              , a = P("0x5fc") + P("0x5fd") + P("0x5fe") + P("0x5ff") + P("0x5f6") + P("0x5f7") + P("0x5f8") + P("0x600") + P("0x601") + "{\n" + P("0x602") + "}\n" + P("0x603") + "{\n    float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;\n" + P("0x604") + "}\n" + P("0x605") + "{\n" + P("0x606") + "}\n" + P("0x607") + "{\n" + P("0x608") + P("0x609") + P("0x60a") + "}\n" + P("0x60b") + "{\n" + P("0x60c") + "}\n" + P("0x60d") + "{\n" + P("0x60e") + P("0x60f") + P("0x610") + "    return linearIn;\n" + P("0x611") + "}\n" + P("0x5f9") + "   vec3 n = normalize(v_normalEC);\n" + P("0x612") + P("0x613") + P("0x614") + P("0x615") + P("0x616") + P("0x617") + P("0x614") + P("0x618") + P("0x619") + P("0x614") + P("0x61a") + P("0x61b") + P("0x61c") + "   vec3 v = -normalize(v_positionEC);\n" + P("0x61d") + "   vec3 l = normalize(czm_sunDirectionEC);\n" + P("0x61e") + P("0x61f") + "   float NdotV = abs(dot(n, v)) + 0.001;\n" + P("0x620") + "   float LdotH = clamp(dot(l, h), 0.0, 1.0);\n" + P("0x621") + P("0x622") + P("0x623") + "   vec3 specularColor = mix(f0, baseColor, metalness);\n" + P("0x624") + P("0x625") + P("0x626") + P("0x627") + "   vec3 F = fresnelSchlick2(r0, r90, VdotH);\n" + P("0x628") + P("0x629") + P("0x62a") + P("0x62b") + P("0x62c") + P("0x62d") + P("0x62e") + P("0x62f") + "}"
+              , s = "uniform vec4 u_color;\nuniform float u_metallicFactor;\n" + P("0x5fe") + "uniform vec3 u_emissiveFactor;\n" + P("0x5f6") + P("0x5f7") + "varying float v_t;\n" + P("0x600") + "vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) \n{\n" + P("0x602") + "}\n" + P("0x603") + "{\n" + P("0x630") + "    return NdotV / (NdotV * (1.0 - k) + k);\n}\nfloat smithVisibilityGGX(float roughness, float NdotL, float NdotV) \n{\n" + P("0x606") + "}\n" + P("0x607") + "{\n    float roughnessSquared = roughness * roughness;\n" + P("0x609") + P("0x60a") + "}\n" + P("0x60b") + "{\n" + P("0x60c") + "}\n" + P("0x60d") + "{\n" + P("0x60e") + "    return pow(linearIn, vec3(1.0/2.2));\n#else \n" + P("0x631") + "#endif \n}\n" + P("0x5f9") + P("0x632") + P("0x633") + P("0x612") + P("0x613") + P("0x614") + P("0x615") + P("0x634") + P("0x61a") + P("0x61b") + P("0x61c") + P("0x635") + P("0x61d") + P("0x636") + P("0x61e") + "   float NdotL = clamp(dot(n, l), 0.001, 1.0);\n   float NdotV = abs(dot(n, v)) + 0.001;\n" + P("0x620") + P("0x637") + P("0x621") + P("0x622") + P("0x623") + P("0x638") + P("0x624") + P("0x625") + "   vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));\n" + P("0x627") + P("0x639") + P("0x628") + P("0x629") + "   vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor);\n   vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV);\n" + P("0x62c") + "   color += u_emissiveFactor;\n   color = LINEARtoSRGB(color);\n" + P("0x62f") + "}"
+        }(window[P("0xfd")]),
+        function(e) {
+            function t(t) {
+                if (t = e[P("0x102")](t, e[P("0x102")].EMPTY_OBJECT),
+                !e[P("0x14")](t.viewer))
+                    throw new DeveloperError(P("0x63a"));
+                if (this[P("0x13c")] = t[P("0x13b")],
+                !e.defined(t[P("0x11a")]))
+                    throw new DeveloperError("center is required.");
+                this[P("0x5b4")] = e[P("0x102")](t.center, []);
+                var i = e[P("0x102")](this[P("0x5b4")][2], e.GeoDynamicCircle[P("0x63b")]);
+                this[P("0x217")] = i,
+                this[P("0x63c")] = e[P("0x102")](t[P("0x181")], e[P("0x63d")].DEFAULT_RADIUS),
+                this[P("0x596")] = e[P("0x102")](t[P("0x169")], e[P("0x63d")].DEFAULT_COLOR);
+                var r = this[P("0x5b4")][0]
+                  , n = this[P("0x5b4")][1]
+                  , o = e[P("0x102")](this._radius, 0)
+                  , a = this[P("0x596")];
+                this[P("0x63e")] = e[P("0x102")](t[P("0x63f")], e[P("0x63d")][P("0x640")]),
+                this[P("0x641")] = null,
+                this[P("0x642")] = null,
+                this[P("0x643")](r, n, i, o, a),
+                this._isShow = e[P("0x102")](t[P("0x644")], !0),
+                this[P("0x645")](this[P("0x646")])
+            }
+            t.prototype[P("0xf4")] = function() {
+                if (this[P("0x13c")]) {
+                    var e = this[P("0x13c")].entities;
+                    e[P("0x17f")](this[P("0x641")]),
+                    e[P("0x17f")](this._waveEllipse)
+                }
+            }
+            ,
+            t[P("0x5")].setShow = function(t) {
+                this._isShow = e.defaultValue(t, !0),
+                this[P("0x641")][P("0x221")] = t,
+                this[P("0x642")][P("0x221")] = t
+            }
+            ,
+            t[P("0x5")][P("0x647")] = function(t) {
+                this._color = e[P("0x102")](t, e.GeoDynamicCircle[P("0x648")]),
+                this._bottomEllipse[P("0x649")][P("0x19c")][P("0x169")] = this[P("0x596")],
+                this[P("0x642")][P("0x649")][P("0x19c")][P("0x169")] = this[P("0x596")]
+            }
+            ,
+            t[P("0x5")][P("0x64a")] = function() {
+                return this[P("0x596")]
+            }
+            ,
+            t[P("0x5")][P("0x64b")] = function(t) {
+                this[P("0x63c")] = e[P("0x102")](t, e[P("0x63d")][P("0x64c")]),
+                this._bottomEllipse[P("0x649")][P("0x64d")] = this[P("0x63c")],
+                this._bottomEllipse[P("0x649")][P("0x64d")] = this[P("0x63c")],
+                this._waveEllipse[P("0x649")][P("0x64d")] = this[P("0x63c")],
+                this[P("0x642")][P("0x649")][P("0x64d")] = this._radius
+            }
+            ,
+            t.prototype[P("0x64e")] = function() {
+                return this[P("0x63c")]
+            }
+            ,
+            t.prototype[P("0x64f")] = function(t) {
+                if (!e.defined(t))
+                    throw new DeveloperError(P("0x650"));
+                this[P("0x641")][P("0x8c")] = position,
+                this._waveEllipse[P("0x8c")] = position,
+                this[P("0x5b4")] = position
+            }
+            ,
+            t[P("0x5")][P("0x643")] = function(t, i, r, n, o) {
+                var a = this[P("0x13c")]
+                  , s = e[P("0x23")][P("0x119")](30)
+                  , x = 0;
+                if (!this[P("0x641")]) {
+                    var l = a[P("0x194")][P("0x6d")]({
+                        position: e[P("0x11")][P("0x1a1")](t, i, r),
+                        ellipse: {
+                            classificationType: this._classificationType,
+                            semiMinorAxis: n,
+                            semiMajorAxis: n,
+                            material: new (e[P("0x651")])({
+                                color: o,
+                                image: function() {
+                                    var e = document.createElement(P("0x48"));
+                                    e.width = 512,
+                                    e[P("0x8b")] = 512;
+                                    var t = e.getContext("2d")
+                                      , i = t.createRadialGradient(256, 256, 0, 256, 256, 256);
+                                    return i.addColorStop(.1, P("0x653")),
+                                    i.addColorStop(.2, P("0x654")),
+                                    i[P("0x479")](.3, P("0x655")),
+                                    i[P("0x479")](.5, "rgba(255, 255, 255, 0.0)"),
+                                    i[P("0x479")](.9, P("0x656")),
+                                    i.addColorStop(1, P("0x653")),
+                                    t[P("0x657")](0, 0, 512, 512),
+                                    t[P("0x658")](),
+                                    t[P("0x659")](256, 256, 256, 0, 2 * Math.PI, !0),
+                                    t[P("0x484")] = i,
+                                    t.fill(),
+                                    t[P("0x65a")](),
+                                    e
+                                }(),
+                                transparent: !0
+                            })
+                        }
+                    });
+                    this[P("0x641")] = l
+                }
+                if (!this._waveEllipse) {
+                    var c = a[P("0x194")][P("0x6d")]({
+                        position: e[P("0x11")].fromDegrees(t, i, r),
+                        name: "Wave ellipse on surface",
+                        ellipse: {
+                            classificationType: this[P("0x63e")],
+                            semiMinorAxis: new e.CallbackProperty(h,!1),
+                            semiMajorAxis: new (e[P("0x652")])(h,!1),
+                            rotation: new (e[P("0x652")])(u,!1),
+                            stRotation: new (e[P("0x652")])(u,!1),
+                            material: new (e[P("0x651")])({
+                                color: o,
+                                image: function() {
+                                    var e = document.createElement("canvas");
+                                    e[P("0x19a")] = 512,
+                                    e[P("0x8b")] = 512;
+                                    var t = e[P("0x476")]("2d");
+                                    return t[P("0x657")](0, 0, 512, 512),
+                                    t[P("0x65b")] = P("0x65c"),
+                                    t[P("0x65d")]([80, 80]),
+                                    t[P("0x197")] = 30,
+                                    t[P("0x659")](256, 256, 241, 0, 2 * Math.PI, !0),
+                                    t[P("0x65e")](),
+                                    e
+                                }(),
+                                transparent: !0
+                            })
+                        }
+                    });
+                    this[P("0x642")] = c
+                }
+                function u() {
+                    return s += .05
+                }
+                function h() {
+                    return n <= (x += .01 * n) && (x = 0),
+                    x
+                }
+            }
+            ,
+            e.GeoDynamicCircle = t,
+            e.GeoDynamicCircle.DEFAULT_HEIGHT = 0,
+            e[P("0x63d")][P("0x640")] = e.ClassificationType[P("0x17b")],
+            e[P("0x63d")][P("0x64c")] = 25e3,
+            e.GeoDynamicCircle[P("0x648")] = e.Color[P("0x2cf")]
+        }(window[P("0xfd")]),
+        function(e) {
+            function t(t) {
+                if (t = e[P("0x102")](t, e[P("0x102")][P("0x128")]),
+                !e[P("0x14")](t[P("0x13b")]))
+                    throw new DeveloperError("viewer is required.");
+                if (this._viewer = t[P("0x13b")],
+                !e[P("0x14")](t[P("0x11a")]))
+                    throw new DeveloperError(P("0x65f"));
+                this._center = e[P("0x102")](t[P("0x11a")], []);
+                var i = this[P("0x217")] = e[P("0x102")](this._center[2], e.GeoDynamicCylinder[P("0x63b")])
+                  , r = this[P("0x660")] = e[P("0x102")](t[P("0x0")], e[P("0x661")][P("0x662")])
+                  , n = this[P("0x663")] = e[P("0x102")](t[P("0x587")], e[P("0x661")][P("0x64c")])
+                  , o = this[P("0x664")] = e[P("0x102")](t[P("0x588")], e[P("0x661")][P("0x64c")])
+                  , a = this._particlesColor = e[P("0x102")](t[P("0x665")], e[P("0x661")][P("0x666")])
+                  , s = this[P("0x667")] = e[P("0x102")](t[P("0x668")], e.GeoDynamicCylinder.DEFAULT_CYLINDER_COLOR);
+                this._particlesImageUrl = t[P("0x669")];
+                var x = this[P("0x5b4")][0]
+                  , l = this[P("0x5b4")][1];
+                this[P("0x66a")] = null,
+                this._particlesPrimitive = null,
+                this[P("0x66b")](x, l, i, n, o, r, a, s)
+            }
+            t[P("0x5")][P("0xf4")] = function() {
+                if (this[P("0x13c")]) {
+                    var e = this[P("0x13c")][P("0x10f")].primitives;
+                    e[P("0x17f")](this[P("0x66a")]),
+                    e[P("0x17f")](this[P("0x66c")])
+                }
+            }
+            ,
+            t[P("0x5")][P("0x66b")] = function(t, i, r, n, o, a, s, x) {
+                var l = this._viewer
+                  , c = new (e[P("0x598")])({
+                    length: a,
+                    topRadius: n,
+                    bottomRadius: o
+                })
+                  , u = P("0x66d") + x[P("0x66e")] + ", " + x[P("0x66f")] + ", " + x[P("0x670")] + ", " + x[P("0x671")] + P("0x672")
+                  , h = new (e[P("0x212")])({
+                    translucent: !1,
+                    fabric: {
+                        type: "Color"
+                    }
+                })
+                  , f = new (e[P("0x59b")])({
+                    fragmentShaderSource: u,
+                    translucent: !0,
+                    closed: !0,
+                    material: h
+                })
+                  , d = new (e[P("0x226")])({
+                    geometryInstances: new (e[P("0x179")])({
+                        geometry: c,
+                        modelMatrix: e[P("0x1b")][P("0x597")](e[P("0x1f")][P("0xbf")](e[P("0x11")][P("0x1a1")](t, i)), new (e[P("0x11")])(0,0,r), new e.Matrix4),
+                        id: P("0x673"),
+                        attributes: {
+                            color: e[P("0x184")].fromColor(x)
+                        }
+                    }),
+                    appearance: f
+                });
+                if (l[P("0x10f")][P("0x17d")][P("0x6d")](d),
+                this[P("0x66a")] = d,
+                this[P("0x674")]) {
+                    var g = new (e[P("0x598")])({
+                        length: a,
+                        topRadius: 1.6 * n,
+                        bottomRadius: 1.6 * o
+                    })
+                      , p = new (e[P("0x212")])({
+                        fabric: {
+                            type: P("0x5a5"),
+                            uniforms: {
+                                image: this[P("0x674")],
+                                color: s,
+                                transparent: !0
+                            }
+                        }
+                    })
+                      , m = (u = P("0x675") + s[P("0x66e")] + ", " + s[P("0x66f")] + ", " + s[P("0x670")] + ", " + s.alpha + P("0x676"),
+                    P("0x677"))
+                      , b = new (e[P("0x59b")])({
+                        fragmentShaderSource: u,
+                        vertexShaderSource: m,
+                        material: p
+                    })
+                      , v = new e.Primitive({
+                        geometryInstances: new (e[P("0x179")])({
+                            geometry: g,
+                            modelMatrix: e[P("0x1b")][P("0x597")](e[P("0x1f")][P("0xbf")](e[P("0x11")][P("0x1a1")](t, i)), new e.Cartesian3(0,0,r), new e.Matrix4),
+                            id: P("0xef"),
+                            attributes: {
+                                color: e[P("0x184")].fromColor(s)
+                            }
+                        }),
+                        appearance: b
+                    });
+                    this[P("0x66c")] = l.scene[P("0x17d")].add(v)
+                }
+            }
+            ,
+            e[P("0x661")] = t,
+            e[P("0x661")][P("0x63b")] = 0,
+            e[P("0x661")][P("0x662")] = 1e6,
+            e[P("0x661")][P("0x64c")] = 25e3,
+            e[P("0x661")][P("0x666")] = e[P("0x16a")].WHITE,
+            e[P("0x661")][P("0x678")] = e[P("0x16a")][P("0x679")]
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x67a")] = function(t, i) {
+                return this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x67b")] = t[P("0x67b")],
+                this.dataOptions = t.dataOptions,
+                this.defaults = {
+                    minCanvasSize: 700,
+                    maxCanvasSize: 2e3,
+                    useEntities: !0,
+                    radiusFactor: 60,
+                    spacingFactor: 1.5,
+                    maxOpacity: .8,
+                    minOpacity: .1,
+                    blur: .85,
+                    gradient: {
+                        .3: "blue",
+                        .65: "yellow",
+                        .8: P("0x67c"),
+                        .95: P("0x66e")
+                    }
+                },
+                this[P("0x67b")][P("0x67d")] = e.defaultValue(this.heatmapOptions[P("0x67d")], this[P("0x67e")][P("0x67d")]),
+                this[P("0x67b")][P("0x67f")] = e[P("0x102")](this[P("0x67b")][P("0x67f")], this[P("0x67e")][P("0x67f")]),
+                this[P("0x67b")][P("0x680")] = e.defaultValue(this[P("0x67b")][P("0x680")], this[P("0x67e")][P("0x680")]),
+                this[P("0x67b")][P("0x681")] = e.defaultValue(this[P("0x67b")][P("0x681")], this[P("0x67e")].minOpacity),
+                this[P("0x67b")].blur = e.defaultValue(this[P("0x67b")].blur, this[P("0x67e")].blur),
+                this
+            }
+            ;
+            t.prototype[P("0x682")] = function(e) {
+                if (e && e[P("0x33a")] && 0 < e[P("0x33a")][P("0x0")] && e[P("0x33a")][0][P("0x180")] && e[P("0x33a")][0][P("0x180")][P("0x2ed")]) {
+                    for (var t = {
+                        west: e[P("0x33a")][0][P("0x180")][P("0x2ed")][0],
+                        south: e.features[0][P("0x180")][P("0x2ed")][1],
+                        east: e[P("0x33a")][0][P("0x180")][P("0x2ed")][0],
+                        north: e[P("0x33a")][0][P("0x180")].coordinates[1]
+                    }, i = 0; i < e[P("0x33a")][P("0x0")]; i++) {
+                        var r = e[P("0x33a")][i][P("0x180")].coordinates[0]
+                          , n = e[P("0x33a")][i][P("0x180")][P("0x2ed")][1];
+                        t[P("0x2a9")] = r > t.west ? t.west : r,
+                        t[P("0x2aa")] = r > t[P("0x2aa")] ? r : t[P("0x2aa")],
+                        t[P("0x2ab")] = n > t[P("0x2ab")] ? t[P("0x2ab")] : n,
+                        t[P("0x2ac")] = n > t[P("0x2ac")] ? n : t[P("0x2ac")]
+                    }
+                    return t
+                }
+                return !1
+            }
+            ,
+            t[P("0x5")][P("0x683")] = function(e, t, i) {
+                var r = document[P("0x15c")](P("0x15d"));
+                return i && r.setAttribute("id", i),
+                r[P("0x21b")]("style", P("0x684") + e + P("0x685") + t + "px; margin: 0px; display: none;"),
+                document[P("0x686")][P("0x167")](r),
+                r
+            }
+            ,
+            t[P("0x5")][P("0x687")] = function(t) {
+                var i = t._heatmap[P("0x688")]()
+                  , r = new (e[P("0x10c")])({
+                    url: i,
+                    rectangle: t[P("0x689")]
+                });
+                return r[P("0x68a")] = new (e[P("0x68b")])({
+                    rectangleSouthwestInMeters: new (e[P("0x10")])(t[P("0x68c")][P("0x2a9")],t[P("0x68c")][P("0x2ab")]),
+                    rectangleNortheastInMeters: new (e[P("0x10")])(t[P("0x68c")][P("0x2aa")],t._mbounds[P("0x2ac")])
+                }),
+                r
+            }
+            ,
+            t.prototype[P("0x68d")] = function(e) {
+                for (var t = "", i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", r = 0; r < (e || 8); r++)
+                    t += i[P("0x68e")](Math[P("0x3e8")](Math[P("0x266")]() * i[P("0x0")]));
+                return t
+            }
+            ;
+            var i = new (e[P("0x68f")]);
+            t[P("0x5")][P("0x690")] = function(t) {
+                var r = i[P("0x5a")](e.Cartographic[P("0x1a1")](t.x, t.y));
+                return {
+                    x: r.x,
+                    y: r.y
+                }
+            }
+            ,
+            t[P("0x5")][P("0x691")] = function(t) {
+                var r = i.project(e[P("0x13")][P("0x1a1")](t[P("0x2a9")], t[P("0x2ab")]))
+                  , n = i[P("0x5a")](e[P("0x13")][P("0x1a1")](t[P("0x2aa")], t.north));
+                return {
+                    north: n.y,
+                    east: n.x,
+                    south: r.y,
+                    west: r.x
+                }
+            }
+            ,
+            t.prototype[P("0x692")] = function(t) {
+                var r = i[P("0xbe")](new (e[P("0x11")])(t.x,t.y));
+                return {
+                    x: r[P("0x112")],
+                    y: r[P("0x114")]
+                }
+            }
+            ,
+            t.prototype[P("0x693")] = function(t) {
+                var r = i[P("0xbe")](new e.Cartesian3(t[P("0x2a9")],t[P("0x2ab")]))
+                  , n = i[P("0xbe")](new (e[P("0x11")])(t[P("0x2aa")],t.north));
+                return {
+                    north: this[P("0x694")](n.latitude),
+                    east: this.rad2deg(n[P("0x112")]),
+                    south: this[P("0x694")](r[P("0x114")]),
+                    west: this[P("0x694")](r[P("0x112")])
+                }
+            }
+            ,
+            t[P("0x5")][P("0x695")] = function(e) {
+                return e * (Math.PI / 180)
+            }
+            ,
+            t.prototype[P("0x694")] = function(e) {
+                return e / (Math.PI / 180)
+            }
+            ,
+            t[P("0x5")].wgs84PointToHeatmapPoint = function(e) {
+                return this.mercatorPointToHeatmapPoint(this[P("0x690")](e))
+            }
+            ,
+            t[P("0x5")][P("0x696")] = function(e) {
+                var t = {};
+                return t.x = Math[P("0x5f0")]((e.x - this[P("0x697")]) / this[P("0x698")] + this._spacing),
+                t.y = Math.round((e.y - this._yoffset) / this[P("0x698")] + this[P("0x699")]),
+                t.y = this.height - t.y,
+                t
+            }
+            ,
+            t[P("0x5")]._setWidthAndHeight = function(e) {
+                this[P("0x19a")] = 0 < e[P("0x2aa")] && e.west < 0 ? e[P("0x2aa")] + Math[P("0x78")](e.west) : Math[P("0x78")](e.east - e[P("0x2a9")]),
+                this[P("0x8b")] = 0 < e.north && e[P("0x2ab")] < 0 ? e[P("0x2ac")] + Math.abs(e[P("0x2ab")]) : Math[P("0x78")](e[P("0x2ac")] - e[P("0x2ab")]),
+                this[P("0x698")] = 1,
+                this.width > this[P("0x8b")] && this[P("0x19a")] > this[P("0x67e")][P("0x69a")] ? (this._factor = this[P("0x19a")] / this.defaults[P("0x69a")],
+                this[P("0x8b")] / this[P("0x698")] < this.defaults[P("0x69b")] && (this[P("0x698")] = this[P("0x8b")] / this[P("0x67e")][P("0x69b")])) : this.height > this[P("0x19a")] && this[P("0x8b")] > this[P("0x67e")][P("0x69a")] ? (this[P("0x698")] = this[P("0x8b")] / this[P("0x67e")][P("0x69a")],
+                this[P("0x19a")] / this._factor < this[P("0x67e")][P("0x69b")] && (this[P("0x698")] = this[P("0x19a")] / this.defaults[P("0x69b")])) : this[P("0x19a")] < this.height && this[P("0x19a")] < this.defaults[P("0x69b")] ? (this[P("0x698")] = this[P("0x19a")] / this.defaults[P("0x69b")],
+                this[P("0x8b")] / this._factor > this[P("0x67e")][P("0x69a")] && (this[P("0x698")] = this[P("0x8b")] / this.defaults[P("0x69a")])) : this.height < this[P("0x19a")] && this[P("0x8b")] < this[P("0x67e")][P("0x69b")] && (this[P("0x698")] = this[P("0x8b")] / this.defaults[P("0x69b")],
+                this[P("0x19a")] / this[P("0x698")] > this.defaults[P("0x69a")] && (this[P("0x698")] = this[P("0x19a")] / this[P("0x67e")][P("0x69a")])),
+                this[P("0x19a")] = this[P("0x19a")] / this[P("0x698")],
+                this.height = this[P("0x8b")] / this[P("0x698")]
+            }
+            ,
+            t[P("0x5")][P("0x69c")] = function(t, i, r) {
+                if (this._id = this[P("0x68d")](),
+                this[P("0x69d")] = this._computeBounds(r),
+                this[P("0x68c")] = this[P("0x691")](this[P("0x69d")]),
+                this[P("0x69e")](this[P("0x68c")]),
+                this[P("0x67b")][P("0x181")] = Math.round(this.heatmapOptions.radius ? this[P("0x67b")].radius : this[P("0x19a")] > this[P("0x8b")] ? this[P("0x19a")] / this[P("0x67e")][P("0x69f")] : this.height / this[P("0x67e")].radiusFactor),
+                this[P("0x699")] = this[P("0x67b")][P("0x181")] * this[P("0x67e")].spacingFactor,
+                this[P("0x697")] = this[P("0x68c")].west,
+                this[P("0x6a0")] = this[P("0x68c")][P("0x2ab")],
+                this[P("0x19a")] = Math.round(this[P("0x19a")] + 2 * this[P("0x699")]),
+                this[P("0x8b")] = Math[P("0x5f0")](this[P("0x8b")] + 2 * this[P("0x699")]),
+                this[P("0x68c")][P("0x2a9")] -= this[P("0x699")] * this[P("0x698")],
+                this[P("0x68c")][P("0x2aa")] += this[P("0x699")] * this[P("0x698")],
+                this._mbounds[P("0x2ab")] -= this._spacing * this._factor,
+                this[P("0x68c")].north += this[P("0x699")] * this[P("0x698")],
+                this.bounds = this[P("0x693")](this._mbounds),
+                this[P("0x689")] = e[P("0x26b")].fromDegrees(this[P("0x6a1")][P("0x2a9")], this[P("0x6a1")][P("0x2ab")], this[P("0x6a1")].east, this[P("0x6a1")].north),
+                this[P("0x6a2")] ? (this[P("0x224")] && this[P("0x6a2")].setAttribute("id", this[P("0x224")]),
+                this._container.setAttribute("style", P("0x684") + this[P("0x19a")] + P("0x685") + this[P("0x8b")] + P("0x6a3"))) : this[P("0x6a2")] = this[P("0x683")](this[P("0x19a")], this[P("0x8b")], this[P("0x224")]),
+                this.heatmapOptions[P("0x131")] = this[P("0x6a2")],
+                this._heatmap ? this._heatmap[P("0x6a4")]() : this[P("0x6a5")] = h337[P("0xa")](this[P("0x67b")]),
+                this._container[P("0x12f")][0].setAttribute("id", this[P("0x224")] + P("0x6a6")),
+                r && 0 < r[P("0x33a")][P("0x0")] && null !== t && !1 !== t && null !== i && !1 !== i) {
+                    for (var n = [], o = 0; o < r[P("0x33a")][P("0x0")]; o++) {
+                        var a = {};
+                        a.x = r[P("0x33a")][o].geometry.coordinates[0],
+                        a.y = r[P("0x33a")][o][P("0x180")][P("0x2ed")][1],
+                        a[P("0x3")] = r.features[o][P("0x33d")].z,
+                        n[P("0x17c")](a)
+                    }
+                    for (var s = [], x = 0; x < n[P("0x0")]; x++) {
+                        var l = n[x]
+                          , c = this[P("0x6a7")](l);
+                        !l[P("0x3")] && 0 !== l[P("0x3")] || (c.value = l.value),
+                        s[P("0x17c")](c)
+                    }
+                    return this[P("0x6a5")].setData({
+                        min: t,
+                        max: i,
+                        data: s
+                    }),
+                    this.updateLayer(),
+                    !0
+                }
+                return !1
+            }
+            ,
+            t[P("0x5")].show = function(e) {
+                this[P("0x6a8")] && (this[P("0x6a8")].show = e)
+            }
+            ,
+            t[P("0x5")][P("0x17f")] = function() {
+                this[P("0x6a8")] && (this[P("0x13b")].scene[P("0x6a9")][P("0x17f")](this[P("0x6a8")]),
+                this.viewer.entities[P("0x17f")](this[P("0x6a8")]))
+            }
+            ,
+            t[P("0x5")][P("0x6aa")] = function() {
+                if (this[P("0x67b")].useEntities && this[P("0x13b")][P("0x194")]) {
+                    this[P("0x6a8")] && this[P("0x13b")][P("0x194")].remove(this[P("0x6a8")]);
+                    var t = new (e[P("0x651")])({
+                        image: this[P("0x6a5")][P("0x6ab")].canvas
+                    });
+                    e[P("0x373")] >= P("0x6ac") ? t[P("0x6ad")] = !0 : "1.16" <= e[P("0x373")] && (t[P("0x671")] = .99),
+                    this[P("0x6a8")] = this[P("0x13b")][P("0x194")][P("0x6d")]({
+                        show: !0,
+                        rectangle: {
+                            coordinates: this[P("0x689")],
+                            material: t
+                        }
+                    })
+                } else
+                    this._layer && this.viewer[P("0x10f")][P("0x6a9")].remove(this[P("0x6a8")]),
+                    this[P("0x6a8")] = this[P("0x13b")][P("0x10f")].imageryLayers[P("0x6ae")](this._getImageryProvider(this))
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            function t(t) {
+                if (t = e[P("0x102")](t, e[P("0x102")].EMPTY_OBJECT),
+                !e.defined(t[P("0x13b")]))
+                    throw new DeveloperError(P("0x63a"));
+                if (this[P("0x13c")] = t[P("0x13b")],
+                !e[P("0x14")](t.center))
+                    throw new DeveloperError(P("0x65f"));
+                if (!e[P("0x14")](t[P("0x6af")]))
+                    throw new DeveloperError(P("0x6b0"));
+                this[P("0x5b4")] = e[P("0x102")](t[P("0x11a")], []),
+                this[P("0x6b1")] = t.url;
+                var i = e[P("0x102")](this[P("0x5b4")][2], e.GeoImageCircle.DEFAULT_HEIGHT);
+                this[P("0x217")] = i,
+                this._radius = e.defaultValue(t[P("0x181")], e[P("0x6b2")][P("0x64c")]),
+                this[P("0x596")] = e[P("0x102")](t[P("0x169")], e[P("0x6b2")][P("0x648")]);
+                var r = this[P("0x5b4")][0]
+                  , n = this._center[1]
+                  , o = e[P("0x102")](this[P("0x63c")], 0)
+                  , a = this._color
+                  , s = this[P("0x6b1")];
+                this._ellipse = null,
+                this[P("0x63e")] = e[P("0x102")](t.classificationType, e[P("0x6b2")][P("0x640")]),
+                this._createImageCircle(r, n, i, o, s, a),
+                this[P("0x646")] = e[P("0x102")](t.isShow, !0),
+                this[P("0x645")](this._isShow)
+            }
+            t[P("0x5")][P("0xf4")] = function() {
+                this._viewer && this._viewer[P("0x194")][P("0x17f")](this[P("0x6b3")])
+            }
+            ,
+            t[P("0x5")].setShow = function(t) {
+                this[P("0x646")] = e[P("0x102")](t, !0),
+                this[P("0x6b3")][P("0x221")] = t
+            }
+            ,
+            t[P("0x5")].setColor = function(t) {
+                this[P("0x596")] = e[P("0x102")](t, e[P("0x6b2")][P("0x648")]),
+                this[P("0x6b3")][P("0x649")][P("0x19c")][P("0x169")] = this[P("0x596")]
+            }
+            ,
+            t[P("0x5")][P("0x64a")] = function() {
+                return this[P("0x596")]
+            }
+            ,
+            t[P("0x5")][P("0x64b")] = function(t) {
+                this[P("0x63c")] = e[P("0x102")](t, e[P("0x6b2")][P("0x64c")]),
+                this[P("0x6b3")][P("0x649")][P("0x64d")] = this._radius,
+                this[P("0x6b3")].ellipse[P("0x64d")] = this._radius
+            }
+            ,
+            t[P("0x5")].getRadius = function() {
+                return this[P("0x63c")]
+            }
+            ,
+            t[P("0x5")].setCenter = function(t) {
+                if (!e.defined(t))
+                    throw new DeveloperError(P("0x650"));
+                this[P("0x6b3")].position = position,
+                this[P("0x5b4")] = position
+            }
+            ,
+            t[P("0x5")][P("0x6b4")] = function(t, i, r, n, o, a) {
+                var s = this[P("0x13c")]
+                  , x = e[P("0x23")][P("0x119")](30);
+                if (!this[P("0x6b3")]) {
+                    var l = s[P("0x194")].add({
+                        position: e[P("0x11")][P("0x1a1")](t, i, r),
+                        ellipse: {
+                            classificationType: this._classificationType,
+                            semiMinorAxis: n,
+                            semiMajorAxis: n,
+                            rotation: new (e[P("0x652")])(c,!1),
+                            stRotation: new (e[P("0x652")])(c,!1),
+                            material: new (e[P("0x651")])({
+                                color: a,
+                                image: o,
+                                transparent: !0
+                            })
+                        }
+                    });
+                    this._ellipse = l
+                }
+                function c() {
+                    return x += .05
+                }
+            }
+            ,
+            e.GeoImageCircle = t,
+            e.GeoImageCircle[P("0x63b")] = 0,
+            e[P("0x6b2")][P("0x640")] = e[P("0x17a")][P("0x6b5")],
+            e.GeoImageCircle[P("0x64c")] = 25e3,
+            e[P("0x6b2")][P("0x648")] = e[P("0x16a")].WHITE
+        }(window.Cesium),
+        function(e) {
+            function t() {
+                this[P("0x6b6")] = null,
+                this[P("0x5ba")] = !1,
+                this._speed = 0,
+                this[P("0x6b7")] = null,
+                this[P("0x6b8")] = 1,
+                this[P("0x5bf")] = 0,
+                this[P("0x5cf")] = 0,
+                this._mode = 0
+            }
+            t[P("0x5")][P("0x69")] = function() {
+                this[P("0x5ba")] = !0,
+                this[P("0x5cf")] = 0
+            }
+            ,
+            t[P("0x5")][P("0xd2")] = function(e) {
+                this._actived && (this[P("0x5cf")] += e,
+                this[P("0x5cf")] > this[P("0x5bf")] && (this[P("0x5ba")] = !1))
+            }
+            ,
+            e[P("0xf")](t.prototype, {
+                position: {
+                    get: function() {
+                        return this[P("0x6b6")]
+                    },
+                    set: function(e) {
+                        e && (this._position = e[P("0x6e")](this[P("0x6b6")]))
+                    }
+                },
+                direction: {
+                    get: function() {
+                        return this[P("0x6b7")]
+                    },
+                    set: function(e) {
+                        e && (this._direction = e.clone(this[P("0x6b7")]))
+                    }
+                },
+                actived: {
+                    get: function() {
+                        return this[P("0x5ba")]
+                    }
+                },
+                speed: {
+                    get: function() {
+                        return this._speed
+                    },
+                    set: function(e) {
+                        this._speed = e
+                    }
+                },
+                baseScale: {
+                    get: function() {
+                        return this[P("0x6b8")]
+                    },
+                    set: function(e) {
+                        this._baseScale = e
+                    }
+                },
+                life: {
+                    get: function() {
+                        return this[P("0x5bf")]
+                    },
+                    set: function(e) {
+                        this[P("0x5bf")] = e
+                    }
+                },
+                time: {
+                    get: function() {
+                        return this[P("0x5cf")]
+                    }
+                },
+                mode: {
+                    get: function() {
+                        return this[P("0x6b9")]
+                    },
+                    set: function(e) {
+                        this._mode = e
+                    }
+                }
+            });
+            var i = new (e[P("0x11")])
+              , r = e.GeoLineFireEffect = function(t) {
+                t = t || {},
+                this[P("0x6b1")] = t.url ? e[P("0x6ba")](t[P("0x6af")]) : null,
+                this[P("0x6bb")] = t[P("0x6bc")] ? e[P("0x6ba")](t[P("0x6bc")]) : null,
+                this._explode = t.explode ? t[P("0x6bd")] : 0,
+                this[P("0x6be")] = [],
+                this._scene = t[P("0x13b")][P("0x10f")],
+                this._clock = t.viewer[P("0x571")];
+                var i = t[P("0xfc")] ? t[P("0xfc")] : 1;
+                this[P("0x6bf")] = 2 * i,
+                this[P("0x6c0")] = .1 * i,
+                this[P("0x6c1")] = 1 * i,
+                this._startColor = new (e[P("0x16a")])(1,1,1,1),
+                this[P("0x6c2")] = new (e[P("0x16a")])(.8,0,0,.01),
+                t.smoking && (this._endColor[P("0x66e")] = 1 - t[P("0x6c3")]);
+                var r = t[P("0x6c4")] ? t.life : 1;
+                this[P("0x6c5")] = .5 * r,
+                this[P("0x6c6")] = 2 * r;
+                var n = t[P("0x539")] ? t[P("0x539")] : 1;
+                if (this[P("0x6c7")] = 7 * n,
+                this[P("0x6c8")] = 20 * n,
+                this[P("0x6c9")] = t[P("0x1a9")] ? t.count : 0,
+                this[P("0x63c")] = t.radius ? t[P("0x181")] : 1,
+                this[P("0x6ca")] = t[P("0x6cb")] ? t[P("0x6cb")] : 4,
+                this._fires = [],
+                this[P("0x6cc")] = null,
+                this[P("0x6cd")] = null,
+                this[P("0x6ce")] = null,
+                this[P("0x6cf")] = null,
+                this._directionsArray = null,
+                this[P("0x6d0")] = null,
+                this[P("0x5b7")] = !0,
+                this[P("0x6d1")] = 0,
+                this[P("0x5cf")] = 0,
+                this[P("0x6d2")](),
+                this[P("0x6d3")](this[P("0x6c9")]),
+                t[P("0x19f")] && t[P("0x19f")][P("0x0")])
+                    for (var o = t[P("0x19f")], a = 0; a < o[P("0x0")]; a++)
+                        this[P("0x6d4")](o[a])
+            }
+            ;
+            e[P("0xf")](r[P("0x5")], {
+                explode: {
+                    get: function() {
+                        return this[P("0x6d5")]
+                    },
+                    set: function(e) {
+                        this[P("0x6d5")] = e
+                    }
+                },
+                scale: {
+                    get: function() {
+                        return this._imageSize
+                    },
+                    set: function(e) {
+                        this[P("0x6bf")] = 2 * e,
+                        this[P("0x6c0")] = .1 * e,
+                        this[P("0x6c1")] = 1 * e
+                    }
+                },
+                life: {
+                    get: function() {
+                        return this[P("0x6c6")] / 2
+                    },
+                    set: function(e) {
+                        this[P("0x6c5")] = .5 * e,
+                        this[P("0x6c6")] = 2 * e
+                    }
+                },
+                speed: {
+                    get: function() {
+                        return this[P("0x6c8")] / 20
+                    },
+                    set: function(e) {
+                        this._minSpeed = 7 * e,
+                        this[P("0x6c8")] = 20 * e
+                    }
+                },
+                radius: {
+                    get: function() {
+                        return this[P("0x63c")]
+                    },
+                    set: function(e) {
+                        this._radius = e
+                    }
+                },
+                grow: {
+                    get: function() {
+                        return this[P("0x6ca")]
+                    },
+                    set: function(e) {
+                        this[P("0x6ca")] = e
+                    }
+                },
+                pntsCount: {
+                    get: function() {
+                        return this[P("0x6be")][P("0x0")]
+                    }
+                },
+                smoking: {
+                    get: function() {
+                        return 1 - this[P("0x6c2")][P("0x66e")]
+                    },
+                    set: function(e) {
+                        this[P("0x6c2")][P("0x66e")] = 1 - e
+                    }
+                }
+            }),
+            r.prototype[P("0x6d4")] = function(t) {
+                if (void 0 !== t) {
+                    t = e[P("0x13")][P("0x1a1")][P("0x346")](this, t),
+                    t = e[P("0x11")][P("0x3d0")](t[P("0x112")], t[P("0x114")], t.height);
+                    var r = 10
+                      , n = this._positions[P("0x0")];
+                    if (0 < n) {
+                        var o = this._positions[n - 1];
+                        i = e[P("0x11")].subtract(t, o, i),
+                        r = e.Cartesian3.magnitude(i)
+                    }
+                    r < .5 || (this[P("0x6be")][P("0x17c")](t.clone()),
+                    this._growFires(this[P("0x6ca")], r))
+                }
+            }
+            ,
+            r[P("0x5")][P("0xf4")] = function() {
+                this[P("0x42")] = null,
+                this._clock = null,
+                this[P("0x6ce")] && (this[P("0x6ce")][P("0x5cb")] && (this[P("0x6ce")][P("0x5cb")][P("0xf4")](),
+                this._drawCommand.vertexArray = null),
+                this[P("0x6ce")][P("0x5cc")] && (this[P("0x6ce")][P("0x5cc")][P("0xf4")](),
+                this._drawCommand.shaderProgram = null),
+                this[P("0x6ce")][P("0x6d6")] = null,
+                this[P("0x6ce")] = null),
+                this[P("0x6cc")] && (this._texture_0[P("0xf4")](),
+                this._texture_0 = null),
+                this[P("0x6cd")] && (this._texture_1.destroy(),
+                this[P("0x6cd")] = null),
+                this[P("0x6d7")][P("0x0")] = 0,
+                this._positions[P("0x0")] = 0,
+                this[P("0x6cf")] = null,
+                this[P("0x6d8")] = null,
+                this[P("0x6d0")] = null
+            }
+            ,
+            r.prototype._loadTexture = function() {
+                var t = this
+                  , i = t[P("0x42")][P("0x6d9")][P("0x3cc")];
+                this._url && e[P("0x6da")].fetchImage(this[P("0x6b1")]).then((function(r) {
+                    t._texture_0 = new (e[P("0x6db")])({
+                        context: i,
+                        source: r
+                    },(function(e) {}
+                    ))
+                }
+                )),
+                this[P("0x6bb")] && e.Resource[P("0x6dc")](this[P("0x6bb")])[P("0x333")]((function(r) {
+                    t[P("0x6cd")] = new (e[P("0x6db")])({
+                        context: i,
+                        source: r
+                    },(function(e) {}
+                    ))
+                }
+                ))
+            }
+            ,
+            r.prototype[P("0x6dd")] = function() {
+                var t = this[P("0x6be")][P("0x0")];
+                if (t < 1)
+                    return null;
+                if (t < 2)
+                    return this[P("0x6be")][0].clone(i),
+                    i.x += e[P("0x23")].randomBetween(0, 1) * this[P("0x63c")],
+                    i.y += e.Math[P("0x6de")](0, 1) * this[P("0x63c")],
+                    i.z += e[P("0x23")][P("0x6de")](0, 1) * this[P("0x63c")],
+                    i;
+                var r = e[P("0x23")].randomBetween(0, t - 1);
+                r = Math.floor(r);
+                var n = this[P("0x6be")][r]
+                  , o = this[P("0x6be")][r + 1]
+                  , a = e.Math.randomBetween(0, 1);
+                return i = e.Cartesian3[P("0x308")](n, o, a, i)
+            }
+            ,
+            r[P("0x5")][P("0x6d3")] = function(e) {
+                if (e && !(e < 1))
+                    for (var i = 0; i < e; i++) {
+                        var r = new t;
+                        this._fires[P("0x17c")](r)
+                    }
+            }
+            ,
+            r[P("0x5")][P("0x6df")] = function(e, i) {
+                e = Math[P("0x5f0")](e * i),
+                this[P("0x6c9")] += e;
+                for (var r = 0; r < e; r++) {
+                    var n = new t;
+                    this[P("0x6d7")][P("0x17c")](n)
+                }
+            }
+            ,
+            r[P("0x5")]._initFire = function(t) {
+                return t.position = this._emissionPosition(),
+                t.position && (t[P("0x93")] = e[P("0x11")][P("0x8d")](t[P("0x8c")], new e.Cartesian3)),
+                t[P("0x539")] = e[P("0x23")][P("0x6de")](this[P("0x6c7")], this[P("0x6c8")]),
+                t[P("0x6c4")] = e[P("0x23")][P("0x6de")](this[P("0x6c5")], this._maxLife),
+                t.baseScale = e[P("0x23")][P("0x6de")](.5, 5),
+                (t[P("0xd3")] = 0) < this._explode && e[P("0x23")][P("0x6de")](0, 1) > 1 - this._explode && (t[P("0xd3")] = 1,
+                t[P("0x6e0")] *= 1.2,
+                t[P("0x6c4")] *= .2,
+                t[P("0x539")] *= 2),
+                null != t.position
+            }
+            ,
+            r[P("0x5")][P("0x6e1")] = function(e) {
+                e.update(this[P("0x5cf")]),
+                e.actived || this[P("0x6e2")](e) && e[P("0x69")]()
+            }
+            ,
+            r.prototype[P("0x5c8")] = function(t) {
+                var i;
+                if (i = this[P("0x6e3")][P("0x6e4")] ? t.time[P("0x6e5")] : e[P("0x5d0")]() / 1e3,
+                0 == this[P("0x6d1")])
+                    this[P("0x6d1")] = i;
+                else {
+                    var r = i - this[P("0x6d1")];
+                    r > this[P("0x6c6")] && (r = this[P("0x6c6")]),
+                    this[P("0x5cf")] = r,
+                    this[P("0x6d1")] = i
+                }
+            }
+            ,
+            r[P("0x5")].update = function(e) {
+                this[P("0x5c8")](e);
+                var t = this[P("0x6c9")];
+                if (!(t < 1 || t != this[P("0x6d7")][P("0x0")] || this[P("0x6be")][P("0x0")] < 1) && this[P("0x6cc")]) {
+                    if (this[P("0x5b7")]) {
+                        for (var i = 0; i < t; i++) {
+                            var r = this[P("0x6d7")][i];
+                            this[P("0x6e1")](r)
+                        }
+                        this[P("0x6e6")](e),
+                        this._needUpdate = !1
+                    } else
+                        this[P("0x5b7")] = !0;
+                    this[P("0x6e7")]() && e.commandList[P("0x17c")](this[P("0x6ce")])
+                }
+            }
+            ,
+            r[P("0x5")][P("0x6e8")] = function(e) {
+                this[P("0x6e7")]() && e[P("0x5ca")].push(this[P("0x6ce")])
+            }
+            ,
+            r[P("0x5")]._updateCommand = function(t) {
+                var i = this[P("0x6ce")];
+                i || ((i = this[P("0x6ce")] = new (e[P("0x5d3")])).pass = e[P("0x5e4")].TRANSLUCENT,
+                i.owner = this,
+                i[P("0x1a9")] = 6),
+                i[P("0x6e9")] = this[P("0x6c9")],
+                this._updateCommandVA(t, i),
+                this[P("0x6ea")](t, i),
+                this[P("0x6eb")](t, i),
+                this[P("0x6ec")](t, i),
+                this[P("0x6ed")](t, i),
+                this._updateCommandModelMatrix(t, i)
+            }
+            ,
+            r[P("0x5")][P("0x6e7")] = function() {
+                var e = this[P("0x6ce")];
+                return !!(e && e[P("0x5cb")] && e.boundingVolume && e[P("0x5cc")] && e.uniformMap && e.renderState)
+            }
+            ;
+            var n = {
+                aPlane: 0
+            };
+            n[P("0x6ee")] = 1,
+            n[P("0x6ef")] = 2,
+            n[P("0x6f0")] = 3,
+            n.aTexcoord = 4,
+            r[P("0x5")][P("0x6f1")] = function(t, i) {
+                var r = this[P("0x6c9")]
+                  , o = t[P("0x3cc")];
+                this[P("0x6cf")] || (this[P("0x6cf")] = e[P("0x5e8")][P("0x5e7")](e.ComponentDatatype[P("0x5e9")], 3 * r));
+                var a = this[P("0x6cf")];
+                this[P("0x6d8")] || (this[P("0x6d8")] = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 4 * r));
+                var s = this._directionsArray;
+                this._speedScaleLifeTimesArray || (this[P("0x6d0")] = e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 4 * r));
+                for (var x = this._speedScaleLifeTimesArray, l = 0; l < r; l++) {
+                    var c = this[P("0x6d7")][l]
+                      , u = c[P("0x8c")];
+                    a[3 * l] = u.x,
+                    a[3 * l + 1] = u.y,
+                    a[3 * l + 2] = u.z;
+                    var h = c.direction;
+                    s[4 * l] = h.x,
+                    s[4 * l + 1] = h.y,
+                    s[4 * l + 2] = h.z,
+                    s[4 * l + 3] = c[P("0xd3")],
+                    x[4 * l] = c[P("0x539")],
+                    x[4 * l + 1] = c[P("0x6e0")],
+                    x[4 * l + 2] = c[P("0x6c4")],
+                    x[4 * l + 3] = c[P("0x6f2")]
+                }
+                var f = e[P("0x5ea")][P("0x5eb")]({
+                    context: o,
+                    typedArray: new Float32Array([-1, 0, 1, 0, .5, 2, -.5, 2]),
+                    usage: e[P("0x4d5")][P("0x4d6")]
+                })
+                  , d = e.Buffer[P("0x5eb")]({
+                    context: o,
+                    typedArray: a,
+                    usage: e[P("0x4d5")][P("0x4d6")]
+                })
+                  , g = e[P("0x5ea")][P("0x5eb")]({
+                    context: o,
+                    typedArray: s,
+                    usage: e[P("0x4d5")].STATIC_DRAW
+                })
+                  , p = e.Buffer[P("0x5eb")]({
+                    context: o,
+                    typedArray: x,
+                    usage: e[P("0x4d5")][P("0x4d6")]
+                })
+                  , m = e[P("0x5ea")][P("0x5eb")]({
+                    context: o,
+                    typedArray: new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]),
+                    usage: e[P("0x4d5")].STATIC_DRAW
+                })
+                  , b = e[P("0x5ea")][P("0x5ec")]({
+                    context: o,
+                    typedArray: new Uint16Array([0, 1, 2, 0, 2, 3]),
+                    usage: e[P("0x4d5")][P("0x4d6")],
+                    indexDatatype: e.IndexDatatype[P("0x5ed")]
+                })
+                  , v = [];
+                v.push({
+                    index: n[P("0x6ee")],
+                    vertexBuffer: d,
+                    componentsPerAttribute: 3,
+                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                    offsetInBytes: 0,
+                    strideInBytes: 12,
+                    normalize: !1,
+                    instanceDivisor: 1
+                }),
+                v[P("0x17c")]({
+                    index: n.aDirection,
+                    vertexBuffer: g,
+                    componentsPerAttribute: 4,
+                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                    offsetInBytes: 0,
+                    strideInBytes: 16,
+                    normalize: !1,
+                    instanceDivisor: 1
+                }),
+                v[P("0x17c")]({
+                    index: n[P("0x6f0")],
+                    vertexBuffer: p,
+                    componentsPerAttribute: 4,
+                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                    offsetInBytes: 0,
+                    strideInBytes: 16,
+                    normalize: !1,
+                    instanceDivisor: 1
+                }),
+                v[P("0x17c")]({
+                    index: n[P("0x6f3")],
+                    vertexBuffer: m,
+                    componentsPerAttribute: 2,
+                    componentDatatype: e.ComponentDatatype[P("0x5e9")],
+                    offsetInBytes: 0,
+                    strideInBytes: 8,
+                    normalize: !1
+                }),
+                v.push({
+                    index: n[P("0x6f4")],
+                    vertexBuffer: f,
+                    componentsPerAttribute: 2,
+                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                    offsetInBytes: 0,
+                    strideInBytes: 8,
+                    normalize: !1
+                });
+                var C = new (e[P("0x5ee")])({
+                    context: o,
+                    attributes: v,
+                    indexBuffer: b
+                });
+                i[P("0x5cb")] && i[P("0x5cb")][P("0xf4")](),
+                i[P("0x5cb")] = C
+            }
+            ,
+            r[P("0x5")][P("0x6ea")] = function(t, i) {
+                var r = this._positions[P("0x0")];
+                if (!(r < 1))
+                    if (r < 2)
+                        i[P("0x4bc")] = new (e[P("0x5f1")])(this[P("0x6be")][0].clone(),this[P("0x63c")]);
+                    else {
+                        for (var n = new (e[P("0x5f1")])(this[P("0x6be")][0][P("0x6e")](),this._radius), o = 1; o < r; o++)
+                            n = e[P("0x5f1")].expand(n, this[P("0x6be")][o], n);
+                        i[P("0x4bc")] = n
+                    }
+            }
+            ,
+            r[P("0x5")][P("0x6eb")] = function(t, i) {
+                if (!i[P("0x5cc")]) {
+                    var r = t[P("0x3cc")];
+                    i[P("0x5cc")] = e[P("0x5dc")][P("0x5d7")]({
+                        context: r,
+                        vertexShaderSource: o,
+                        fragmentShaderSource: a,
+                        attributeLocations: n
+                    })
+                }
+            }
+            ,
+            r.prototype[P("0x6ec")] = function(e, t) {
+                var i = t[P("0x5de")] = {};
+                if (!i || !i._ready) {
+                    var r = this;
+                    i[P("0x48b")] = !0,
+                    i[P("0x6f5")] = function() {
+                        return r[P("0x6bf")]
+                    }
+                    ,
+                    i[P("0x6f6")] = function() {
+                        return r[P("0x6c0")]
+                    }
+                    ,
+                    i[P("0x6f7")] = function() {
+                        return r[P("0x6c1")]
+                    }
+                    ,
+                    i.u_startColor = function() {
+                        return r._startColor
+                    }
+                    ,
+                    i[P("0x6f8")] = function() {
+                        return r[P("0x6c2")]
+                    }
+                    ,
+                    i[P("0x6f9")] = function() {
+                        return r._texture_0
+                    }
+                    ,
+                    i[P("0x6fa")] = function() {
+                        return r[P("0x6cd")] ? r._texture_1 : r[P("0x6cc")]
+                    }
+                }
+            }
+            ,
+            r.prototype[P("0x6ed")] = function(t, i) {
+                i.renderState || (i[P("0x5d5")] = e[P("0x5d6")][P("0x5d7")]({
+                    cull: {
+                        enabled: !1
+                    },
+                    depthTest: {
+                        enabled: !0,
+                        func: e[P("0x5d8")].LEQUAL
+                    },
+                    depthMask: !1,
+                    blending: e[P("0x5da")][P("0x5db")]
+                }))
+            }
+            ,
+            r[P("0x5")][P("0x6fb")] = function(t, i) {
+                i[P("0x4ac")] || (i.modelMatrix = e[P("0x1b")].IDENTITY)
+            }
+            ;
+            var o = P("0x6fc") + "attribute vec3 aPosition;\n" + P("0x6fd") + P("0x6fe") + P("0x6ff") + "uniform vec4 u_startColor;\nuniform vec4 u_endColor;\nuniform float u_startScale;\n" + P("0x700") + "uniform float u_imageSize;\n" + P("0x701") + P("0x702") + "varying float v_texIndex;\n" + P("0x703") + P("0x704") + "   v += position;\n" + P("0x705") + P("0x706") + P("0x707") + "}\n" + P("0x708") + "{\n" + P("0x709") + P("0x70a") + P("0x70b") + "   float time = aSpeedScaleLifeTime.w;\n   float t = time / life;\n" + P("0x70c") + "   vec4 positionEC = computePosition(aPosition, aPlane, aDirection.xyz, u_imageSize, baseScale, speed, time);\n" + P("0x70d") + "   v_texcoord_0.xy = aTexcoord;\n" + P("0x70e") + P("0x70f") + P("0x710") + P("0x614") + P("0x711") + P("0x712") + P("0x614") + "   else{\n" + P("0x713") + P("0x614") + "   if (t > 0.618){\n" + P("0x714") + P("0x614") + "   else{\n" + P("0x715") + "   }\n}"
+              , a = P("0x701") + P("0x702") + "varying float v_texIndex;\n" + P("0x716") + P("0x717") + P("0x708") + "{\n" + P("0x718") + P("0x719") + P("0x71a") + "       if (v_texIndex == 1.0){\n" + P("0x71b") + "       }\n       else{\n" + P("0x71c") + P("0x71d") + P("0x614") + P("0x71e") + "       if (v_texIndex == 1.0){\n" + P("0x71b") + P("0x71d") + "       else{\n" + P("0x71c") + P("0x71d") + P("0x71f") + P("0x614") + P("0x720") + P("0x721") + P("0x614") + P("0x722") + "       float mc = max(max(color.r, color.g), color.b);\n" + P("0x723") + P("0x614") + "   else{\n" + P("0x724") + "           color.a = 0.0;\n       }\n" + P("0x614") + "   color = czm_gammaCorrect(color);\n" + P("0x725") + P("0x726") + P("0x727") + P("0x728") + "}"
+        }(window[P("0xfd")]),
+        function(e) {
+            function t() {
+                this[P("0x6b6")] = null,
+                this[P("0x5ba")] = !1,
+                this[P("0x5b9")] = 0,
+                this[P("0x6b7")] = null,
+                this[P("0x6b8")] = 1,
+                this._life = 0,
+                this[P("0x5cf")] = 0,
+                this[P("0x6b9")] = 0,
+                this._alphaFact = 0,
+                this._normalFact = 1
+            }
+            t[P("0x5")].active = function() {
+                this._actived = !0,
+                this[P("0x5cf")] = 0
+            }
+            ;
+            var i = new (e[P("0x11")])
+              , r = new e.Cartesian3;
+            t.prototype[P("0xd2")] = function(t) {
+                if (this[P("0x5ba")])
+                    if (this[P("0x5cf")] += t,
+                    this[P("0x5cf")] > this[P("0x5bf")])
+                        this[P("0x5ba")] = !1;
+                    else {
+                        var n = e[P("0x11")].normalize(this._position, i)
+                          , o = e[P("0x11")][P("0x6c")](this[P("0x6b7")], this[P("0x729")], r);
+                        e.Cartesian3[P("0x6d")](n, o, n),
+                        e.Cartesian3[P("0x8d")](n, this[P("0x6b7")]),
+                        e.Cartesian3[P("0x6c")](this[P("0x6b7")], t * this[P("0x5b9")], n),
+                        e[P("0x11")][P("0x6d")](this._position, n, this._position),
+                        .025 < this._speed && (this[P("0x5b9")] -= .025)
+                    }
+            }
+            ,
+            e[P("0xf")](t[P("0x5")], {
+                position: {
+                    get: function() {
+                        return this._position
+                    },
+                    set: function(e) {
+                        e && (this[P("0x6b6")] = e[P("0x6e")](this[P("0x6b6")]))
+                    }
+                },
+                direction: {
+                    get: function() {
+                        return this[P("0x6b7")]
+                    },
+                    set: function(e) {
+                        e && (this._direction = e.clone(this[P("0x6b7")]))
+                    }
+                },
+                actived: {
+                    get: function() {
+                        return this[P("0x5ba")]
+                    }
+                },
+                speed: {
+                    get: function() {
+                        return this._speed
+                    },
+                    set: function(e) {
+                        this._speed = e
+                    }
+                },
+                baseScale: {
+                    get: function() {
+                        return this[P("0x6b8")]
+                    },
+                    set: function(e) {
+                        this[P("0x6b8")] = e
+                    }
+                },
+                life: {
+                    get: function() {
+                        return this[P("0x5bf")]
+                    },
+                    set: function(e) {
+                        this[P("0x5bf")] = e
+                    }
+                },
+                time: {
+                    get: function() {
+                        return this[P("0x5cf")]
+                    }
+                },
+                mode: {
+                    get: function() {
+                        return this._mode
+                    },
+                    set: function(e) {
+                        this._mode = e
+                    }
+                },
+                alphaFact: {
+                    get: function() {
+                        return this._alphaFact
+                    },
+                    set: function(e) {
+                        this[P("0x72a")] = e
+                    }
+                },
+                normalFact: {
+                    get: function() {
+                        return this[P("0x729")]
+                    },
+                    set: function(e) {
+                        this._normalFact = e
+                    }
+                }
+            });
+            var n = new (e[P("0x11")])
+              , o = e[P("0x72b")] = function(t) {
+                if (t = t || {},
+                this[P("0x6b1")] = t[P("0x6af")] ? e[P("0x6ba")](t[P("0x6af")]) : null,
+                this[P("0x6be")] = [],
+                this[P("0x42")] = t.viewer[P("0x10f")],
+                this._clock = t.viewer.clock,
+                this[P("0xfc")] = t[P("0xfc")] ? t.scale : 1,
+                this[P("0x72c")] = new (e[P("0x16a")]),
+                this._endColor = new (e[P("0x16a")]),
+                this[P("0x72d")] = t.density ? t.density : .5,
+                this[P("0x6c4")] = t.life ? t.life : 1,
+                this[P("0x539")] = t[P("0x539")] ? t.speed : 1,
+                this[P("0x72e")] = t.normalFactor ? t[P("0x72e")] : 1,
+                this[P("0x6c9")] = t[P("0x1a9")] ? t.count : 600,
+                this[P("0x63c")] = t[P("0x181")] ? t.radius : .5,
+                this[P("0x6ca")] = t[P("0x6cb")] ? t.grow : 60,
+                this[P("0x72f")] = [],
+                this[P("0x6cc")] = null,
+                this._drawCommandAlpha = null,
+                this._drawCommandOpaque = null,
+                this._pointsArray = null,
+                this._directionsArray = null,
+                this[P("0x6d0")] = null,
+                this._needUpdate = !0,
+                this[P("0x730")] = 0,
+                this._preTime = 0,
+                this[P("0x5cf")] = 0,
+                this[P("0x731")] = .075,
+                this[P("0x6d2")](),
+                this._initSmokes(this[P("0x6c9")]),
+                t.positions && t[P("0x19f")].length)
+                    for (var i = t[P("0x19f")], r = i[P("0x0")], n = 0; n < r; n++)
+                        this[P("0x6d4")](i[n])
+            }
+            ;
+            e[P("0xf")](o.prototype, {
+                scale: {
+                    get: function() {
+                        return this[P("0x6c1")]
+                    },
+                    set: function(e) {
+                        this[P("0x6bf")] = .7 * e,
+                        this._endScale = 1.6 * e,
+                        this[P("0x6c1")] = 1 * e
+                    }
+                },
+                life: {
+                    get: function() {
+                        return this[P("0x6c6")] / 4
+                    },
+                    set: function(e) {
+                        this[P("0x6c5")] = 2.5 * e,
+                        this._maxLife = 4 * e
+                    }
+                },
+                speed: {
+                    get: function() {
+                        return this[P("0x6c8")] / 6
+                    },
+                    set: function(e) {
+                        this[P("0x6c7")] = 1.5 * e,
+                        this[P("0x6c8")] = 6 * e
+                    }
+                },
+                radius: {
+                    get: function() {
+                        return this[P("0x63c")]
+                    },
+                    set: function(e) {
+                        this[P("0x63c")] = e
+                    }
+                },
+                grow: {
+                    get: function() {
+                        return this[P("0x6ca")]
+                    },
+                    set: function(e) {
+                        this._grow = e
+                    }
+                },
+                pntsCount: {
+                    get: function() {
+                        return this[P("0x6be")][P("0x0")]
+                    }
+                },
+                density: {
+                    get: function() {
+                        return 1 - this[P("0x6c2")].red
+                    },
+                    set: function(e) {
+                        e = 1 - e,
+                        this._endColor[P("0x66e")] = e,
+                        this[P("0x6c2")].green = e,
+                        this[P("0x6c2")].blue = e,
+                        this[P("0x6c2")][P("0x671")] = .715,
+                        this._startColor[P("0x66e")] = Math[P("0x7d")](1, e + .3),
+                        this[P("0x72c")][P("0x66f")] = Math.min(1, e + .3),
+                        this[P("0x72c")][P("0x670")] = Math[P("0x7d")](1, e + .3),
+                        this[P("0x72c")][P("0x671")] = 1
+                    }
+                },
+                normalFactor: {
+                    get: function() {
+                        this[P("0x732")]
+                    },
+                    set: function(e) {
+                        this[P("0x733")] = 5 * e,
+                        this[P("0x732")] = 16 * e
+                    }
+                }
+            });
+            var a = new (e[P("0x11")]);
+            o.prototype.addPosition = function(t) {
+                if (void 0 !== t) {
+                    t = e[P("0x13")].fromDegrees.apply(this, t),
+                    t = e[P("0x11")][P("0x3d0")](t[P("0x112")], t.latitude, t.height, void 0, a);
+                    var i = 10
+                      , r = this[P("0x6be")][P("0x0")];
+                    if (0 < r) {
+                        var o = this[P("0x6be")][r - 1];
+                        n = e[P("0x11")][P("0x95")](t, o, n),
+                        i = e.Cartesian3[P("0x96")](n)
+                    }
+                    i < .5 || (this[P("0x6be")][P("0x17c")](t[P("0x6e")]()),
+                    this[P("0x734")](this[P("0x6ca")], i))
+                }
+            }
+            ,
+            o[P("0x5")][P("0xf4")] = function() {
+                this[P("0x42")] = null,
+                this._clock = null,
+                this._drawCommandAlpha && (this._drawCommandAlpha[P("0x5cb")] && (this._drawCommandAlpha[P("0x5cb")][P("0xf4")](),
+                this[P("0x5b5")][P("0x5cb")] = null),
+                this[P("0x5b5")][P("0x5cc")] && (this[P("0x5b5")][P("0x5cc")][P("0xf4")](),
+                this[P("0x5b5")][P("0x5cc")] = null),
+                this._drawCommandAlpha[P("0x6d6")] = null,
+                this[P("0x5b5")] = null),
+                this[P("0x5b6")] && (this[P("0x5b6")].vertexArray && (this._drawCommandOpaque.vertexArray[P("0xf4")](),
+                this[P("0x5b6")][P("0x5cb")] = null),
+                this[P("0x5b6")].shaderProgram && (this._drawCommandOpaque[P("0x5cc")][P("0xf4")](),
+                this[P("0x5b6")][P("0x5cc")] = null),
+                this._drawCommandOpaque[P("0x6d6")] = null,
+                this[P("0x5b6")] = null),
+                this[P("0x6cc")] && (this[P("0x6cc")].destroy(),
+                this._texture_0 = null),
+                this._smokes[P("0x0")] = 0,
+                this[P("0x6be")][P("0x0")] = 0,
+                this._pointsArray = null,
+                this[P("0x6d8")] = null,
+                this[P("0x6d0")] = null
+            }
+            ,
+            o[P("0x5")][P("0x6d2")] = function() {
+                var t = this
+                  , i = t[P("0x42")][P("0x6d9")].context;
+                t[P("0x6b1")] && (t[P("0x6cc")] && (t[P("0x6cc")][P("0xf4")](),
+                t[P("0x6cc")] = null),
+                e[P("0x6da")][P("0x6dc")](t[P("0x6b1")])[P("0x333")]((function(r) {
+                    t[P("0x6cc")] = new (e[P("0x6db")])({
+                        context: i,
+                        source: r
+                    },(function(e) {}
+                    ))
+                }
+                )))
+            }
+            ,
+            o[P("0x5")]._emissionPosition = function() {
+                var t = this[P("0x6be")][P("0x0")];
+                if (t < 1)
+                    return null;
+                if (t < 2)
+                    return this[P("0x6be")][0][P("0x6e")](n),
+                    n.x += e[P("0x23")][P("0x6de")](0, 1) * this[P("0x63c")],
+                    n.y += e[P("0x23")][P("0x6de")](0, 1) * this[P("0x63c")],
+                    n.z += e[P("0x23")].randomBetween(0, 1) * this[P("0x63c")],
+                    n;
+                var i = e.Math[P("0x6de")](0, t - 1);
+                i = Math.floor(i);
+                var r = this[P("0x6be")][i]
+                  , o = this[P("0x6be")][i + 1]
+                  , a = e[P("0x23")][P("0x6de")](0, 1);
+                return n = e.Cartesian3.lerp(r, o, a, n)
+            }
+            ,
+            o[P("0x5")][P("0x735")] = function(e) {
+                if (e && !(e < 1))
+                    for (var i = 0; i < e; i++) {
+                        var r = new t;
+                        this[P("0x72f")][P("0x17c")](r)
+                    }
+            }
+            ,
+            o[P("0x5")]._growSmokes = function(e, i) {
+                e = Math[P("0x5f0")](e * i),
+                this[P("0x6c9")] += e;
+                for (var r = 0; r < e; r++) {
+                    var n = new t;
+                    this[P("0x72f")].push(n)
+                }
+            }
+            ;
+            var s = new (e[P("0x11")])
+              , x = new (e[P("0x1d")])
+              , l = new (e[P("0x1b")])
+              , c = new (e[P("0x1a")]);
+            o[P("0x5")][P("0x736")] = function(t) {
+                var i = this._emissionPosition();
+                if (!i)
+                    return !1;
+                if (t.position = i[P("0x6e")](t.position),
+                t[P("0x8c")]) {
+                    t[P("0x93")] || (t[P("0x93")] = new (e[P("0x11")])),
+                    e[P("0x11")][P("0x8d")](t[P("0x8c")], t[P("0x93")]);
+                    var r = e.Math.randomBetween(.5, 1.570789)
+                      , n = e[P("0x23")].randomBetween(0, 6.28318)
+                      , o = e.Quaternion.fromAxisAngle(t[P("0x93")], n, x);
+                    if (t[P("0x93")][P("0x84")](e[P("0x11")].UNIT_X)) {
+                        var a = e[P("0x11")][P("0x99")](t.direction, e[P("0x11")][P("0xc3")], s);
+                        e[P("0x11")][P("0x8d")](a, a),
+                        n = e[P("0x1d")][P("0xcc")](a, r, x)
+                    } else
+                        a = e.Cartesian3.cross(t[P("0x93")], e.Cartesian3[P("0xb8")], s),
+                        e.Cartesian3.normalize(a, a),
+                        n = e[P("0x1d")][P("0xcc")](a, r, x);
+                    var u = e.Quaternion[P("0x737")](o, n, o)
+                      , h = e.Matrix4[P("0x738")](e[P("0x1a")][P("0xcd")](u, c), void 0, l);
+                    e[P("0x1b")][P("0x739")](h, t[P("0x93")], t.direction),
+                    e[P("0x11")].normalize(t[P("0x93")], t[P("0x93")])
+                }
+                return t[P("0x539")] = e[P("0x23")][P("0x6de")](this[P("0x6c7")], this._maxSpeed),
+                t[P("0x6c4")] = e[P("0x23")][P("0x6de")](this[P("0x6c5")], this._maxLife),
+                t[P("0x6e0")] = e[P("0x23")][P("0x6de")](.5, 5),
+                t[P("0xd3")] = 0,
+                t[P("0x73a")] = e.Math[P("0x6de")](this[P("0x72c")].alpha, this[P("0x6c2")].alpha),
+                t[P("0x73b")] = e.Math.randomBetween(this._minNormalFactor, this[P("0x732")]),
+                null != t[P("0x8c")]
+            }
+            ,
+            o[P("0x5")][P("0x73c")] = function(e) {
+                e[P("0xd2")](this[P("0x5cf")]),
+                e[P("0x5bb")] || this._initSmoke(e) && 0 < this[P("0x73d")] && (e[P("0x69")](),
+                --this[P("0x73d")])
+            }
+            ,
+            o[P("0x5")][P("0x5c8")] = function(t) {
+                var i;
+                if (i = this._clock[P("0x6e4")] ? t[P("0x6f2")].secondsOfDay : e[P("0x5d0")]() / 1e3,
+                0 == this[P("0x6d1")])
+                    this[P("0x6d1")] = i;
+                else {
+                    var r = i - this[P("0x6d1")];
+                    r > this[P("0x6c6")] && (r = this[P("0x6c6")]),
+                    this[P("0x5cf")] = r,
+                    this._preTime = i
+                }
+            }
+            ,
+            o[P("0x5")][P("0xd2")] = function(e) {
+                this[P("0x5c8")](e);
+                var t = this._count;
+                if (!(t < 1 || t != this[P("0x72f")][P("0x0")] || this[P("0x6be")][P("0x0")] < 1) && this[P("0x6cc")]) {
+                    if (this._needUpdate) {
+                        this[P("0x73d")] = this._door * t;
+                        for (var i = 0; i < t; i++) {
+                            var r = this[P("0x72f")][i];
+                            this._updateSmoke(r)
+                        }
+                        this[P("0x6e6")](e),
+                        this[P("0x5b7")] = !1
+                    } else
+                        this[P("0x5b7")] = !0;
+                    this._isCommandReady() && (e[P("0x5ca")][P("0x17c")](this._drawCommandAlpha),
+                    e[P("0x5ca")][P("0x17c")](this._drawCommandOpaque))
+                }
+            }
+            ,
+            o[P("0x5")].updateNext = function(e) {
+                this[P("0x6e7")]() && (e[P("0x5ca")].push(this[P("0x5b5")]),
+                e[P("0x5ca")].push(this[P("0x5b6")]))
+            }
+            ,
+            o.prototype[P("0x6e6")] = function(t) {
+                var i = this[P("0x5b5")];
+                i || ((i = this._drawCommandAlpha = new (e[P("0x5d3")]))[P("0x5d4")] = e[P("0x5e4")][P("0x73e")],
+                i[P("0x5cd")] = this,
+                i.count = 6),
+                i.instanceCount = this[P("0x6c9")],
+                this._updateCommandVA(t, i),
+                this[P("0x6ea")](t, i),
+                this[P("0x73f")](t, i),
+                this[P("0x6ec")](t, i),
+                this._updateCommandRenderStateAlpha(t, i),
+                this[P("0x6fb")](t, i);
+                var r = this[P("0x5b6")];
+                r || ((r = this[P("0x5b6")] = new (e[P("0x5d3")]))[P("0x5d4")] = e[P("0x5e4")][P("0x5e5")],
+                r[P("0x5cd")] = this,
+                r.count = 6),
+                r.instanceCount = this._count,
+                this[P("0x740")](t, r),
+                this[P("0x6ea")](t, r),
+                this[P("0x741")](t, r),
+                this[P("0x6ec")](t, r),
+                this._updateCommandRenderStateOpaque(t, r),
+                this[P("0x6fb")](t, r)
+            }
+            ,
+            o[P("0x5")][P("0x6e7")] = function() {
+                var e = this[P("0x5b5")];
+                return !!(e && e[P("0x5cb")] && e[P("0x4bc")] && e[P("0x5cc")] && e[P("0x5de")] && e[P("0x5d5")])
+            }
+            ;
+            var u = {
+                aPlane: 0
+            };
+            u[P("0x6ee")] = 1,
+            u[P("0x6ef")] = 2,
+            u[P("0x6f0")] = 3,
+            u[P("0x6f3")] = 4,
+            o[P("0x5")][P("0x6f1")] = function(t, i) {
+                var r = this._count
+                  , n = t[P("0x3cc")];
+                this[P("0x6cf")] || (this[P("0x6cf")] = e[P("0x5e8")][P("0x5e7")](e.ComponentDatatype[P("0x5e9")], 4 * r));
+                var o = this[P("0x6cf")];
+                this[P("0x6d8")] || (this[P("0x6d8")] = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 4 * r));
+                var a = this[P("0x6d8")];
+                this[P("0x6d0")] || (this[P("0x6d0")] = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 4 * r));
+                for (var s = this._speedScaleLifeTimesArray, x = 0; x < r; x++) {
+                    var l = this[P("0x72f")][x]
+                      , c = l[P("0x8c")];
+                    o[4 * x] = c.x,
+                    o[4 * x + 1] = c.y,
+                    o[4 * x + 2] = c.z,
+                    o[4 * x + 3] = l.alphaFact;
+                    var h = l.direction;
+                    a[4 * x] = h.x,
+                    a[4 * x + 1] = h.y,
+                    a[4 * x + 2] = h.z,
+                    a[4 * x + 3] = l[P("0xd3")],
+                    s[4 * x] = l.speed,
+                    s[4 * x + 1] = l[P("0x6e0")],
+                    s[4 * x + 2] = l[P("0x6c4")],
+                    s[4 * x + 3] = l[P("0x6f2")]
+                }
+                var f = e[P("0x5ea")][P("0x5eb")]({
+                    context: n,
+                    typedArray: new Float32Array([-.5, 0, .5, 0, 1, 2, -1, 2]),
+                    usage: e.BufferUsage[P("0x4d6")]
+                })
+                  , d = e[P("0x5ea")][P("0x5eb")]({
+                    context: n,
+                    typedArray: o,
+                    usage: e.BufferUsage[P("0x4d6")]
+                })
+                  , g = e[P("0x5ea")][P("0x5eb")]({
+                    context: n,
+                    typedArray: a,
+                    usage: e.BufferUsage[P("0x4d6")]
+                })
+                  , p = e[P("0x5ea")][P("0x5eb")]({
+                    context: n,
+                    typedArray: s,
+                    usage: e.BufferUsage[P("0x4d6")]
+                })
+                  , m = e[P("0x5ea")][P("0x5eb")]({
+                    context: n,
+                    typedArray: new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]),
+                    usage: e[P("0x4d5")].STATIC_DRAW
+                })
+                  , b = e[P("0x5ea")].createIndexBuffer({
+                    context: n,
+                    typedArray: new Uint16Array([0, 1, 2, 0, 2, 3]),
+                    usage: e[P("0x4d5")].STATIC_DRAW,
+                    indexDatatype: e[P("0x742")][P("0x5ed")]
+                })
+                  , v = [];
+                v.push({
+                    index: u[P("0x6ee")],
+                    vertexBuffer: d,
+                    componentsPerAttribute: 4,
+                    componentDatatype: e.ComponentDatatype[P("0x5e9")],
+                    offsetInBytes: 0,
+                    strideInBytes: 16,
+                    normalize: !1,
+                    instanceDivisor: 1
+                }),
+                v[P("0x17c")]({
+                    index: u[P("0x6ef")],
+                    vertexBuffer: g,
+                    componentsPerAttribute: 4,
+                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                    offsetInBytes: 0,
+                    strideInBytes: 16,
+                    normalize: !1,
+                    instanceDivisor: 1
+                }),
+                v[P("0x17c")]({
+                    index: u[P("0x6f0")],
+                    vertexBuffer: p,
+                    componentsPerAttribute: 4,
+                    componentDatatype: e.ComponentDatatype[P("0x5e9")],
+                    offsetInBytes: 0,
+                    strideInBytes: 16,
+                    normalize: !1,
+                    instanceDivisor: 1
+                }),
+                v.push({
+                    index: u[P("0x6f3")],
+                    vertexBuffer: m,
+                    componentsPerAttribute: 2,
+                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                    offsetInBytes: 0,
+                    strideInBytes: 8,
+                    normalize: !1
+                }),
+                v[P("0x17c")]({
+                    index: u[P("0x6f4")],
+                    vertexBuffer: f,
+                    componentsPerAttribute: 2,
+                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                    offsetInBytes: 0,
+                    strideInBytes: 8,
+                    normalize: !1
+                });
+                var C = new (e[P("0x5ee")])({
+                    context: n,
+                    attributes: v,
+                    indexBuffer: b
+                });
+                i[P("0x5cb")] && i[P("0x5cb")][P("0xf4")](),
+                i[P("0x5cb")] = C
+            }
+            ,
+            o[P("0x5")][P("0x740")] = function(t, i) {
+                this[P("0x6c9")];
+                var r = t.context;
+                if (this._pointsArray) {
+                    var n = this[P("0x6cf")]
+                      , o = this._directionsArray
+                      , a = this[P("0x6d0")]
+                      , s = e[P("0x5ea")][P("0x5eb")]({
+                        context: r,
+                        typedArray: new Float32Array([-.5, 0, .5, 0, 1, 2, -1, 2]),
+                        usage: e[P("0x4d5")][P("0x4d6")]
+                    })
+                      , x = e[P("0x5ea")].createVertexBuffer({
+                        context: r,
+                        typedArray: n,
+                        usage: e[P("0x4d5")][P("0x4d6")]
+                    })
+                      , l = e[P("0x5ea")].createVertexBuffer({
+                        context: r,
+                        typedArray: o,
+                        usage: e[P("0x4d5")].STATIC_DRAW
+                    })
+                      , c = e[P("0x5ea")][P("0x5eb")]({
+                        context: r,
+                        typedArray: a,
+                        usage: e[P("0x4d5")][P("0x4d6")]
+                    })
+                      , h = e[P("0x5ea")][P("0x5eb")]({
+                        context: r,
+                        typedArray: new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]),
+                        usage: e.BufferUsage[P("0x4d6")]
+                    })
+                      , f = e[P("0x5ea")][P("0x5ec")]({
+                        context: r,
+                        typedArray: new Uint16Array([0, 1, 2, 0, 2, 3]),
+                        usage: e[P("0x4d5")].STATIC_DRAW,
+                        indexDatatype: e[P("0x742")].UNSIGNED_SHORT
+                    })
+                      , d = [];
+                    d[P("0x17c")]({
+                        index: u[P("0x6ee")],
+                        vertexBuffer: x,
+                        componentsPerAttribute: 4,
+                        componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                        offsetInBytes: 0,
+                        strideInBytes: 16,
+                        normalize: !1,
+                        instanceDivisor: 1
+                    }),
+                    d[P("0x17c")]({
+                        index: u.aDirection,
+                        vertexBuffer: l,
+                        componentsPerAttribute: 4,
+                        componentDatatype: e.ComponentDatatype[P("0x5e9")],
+                        offsetInBytes: 0,
+                        strideInBytes: 16,
+                        normalize: !1,
+                        instanceDivisor: 1
+                    }),
+                    d.push({
+                        index: u[P("0x6f0")],
+                        vertexBuffer: c,
+                        componentsPerAttribute: 4,
+                        componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                        offsetInBytes: 0,
+                        strideInBytes: 16,
+                        normalize: !1,
+                        instanceDivisor: 1
+                    }),
+                    d[P("0x17c")]({
+                        index: u[P("0x6f3")],
+                        vertexBuffer: h,
+                        componentsPerAttribute: 2,
+                        componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                        offsetInBytes: 0,
+                        strideInBytes: 8,
+                        normalize: !1
+                    }),
+                    d[P("0x17c")]({
+                        index: u[P("0x6f4")],
+                        vertexBuffer: s,
+                        componentsPerAttribute: 2,
+                        componentDatatype: e[P("0x5e8")].FLOAT,
+                        offsetInBytes: 0,
+                        strideInBytes: 8,
+                        normalize: !1
+                    });
+                    var g = new e.VertexArray({
+                        context: r,
+                        attributes: d,
+                        indexBuffer: f
+                    });
+                    i.vertexArray && i[P("0x5cb")].destroy(),
+                    i[P("0x5cb")] = g
+                }
+            }
+            ;
+            var h = new (e[P("0x5f1")]);
+            o[P("0x5")][P("0x6ea")] = function(t, i) {
+                var r = this._positions[P("0x0")];
+                if (r < 1)
+                    i[P("0x4bc")] = null;
+                else if (r < 2)
+                    h.center = this[P("0x6be")][0][P("0x6e")](h[P("0x11a")]),
+                    h[P("0x181")] = this[P("0x63c")] + this._maxSpeed * this[P("0x6c6")],
+                    i.boundingVolume = h;
+                else {
+                    h[P("0x11a")] = this._positions[0][P("0x6e")](h[P("0x11a")]),
+                    h[P("0x181")] = this[P("0x63c")];
+                    for (var n = 1; n < r; n++)
+                        e[P("0x5f1")].expand(h, this[P("0x6be")][n], h);
+                    i.boundingVolume = h
+                }
+            }
+            ,
+            o[P("0x5")][P("0x73f")] = function(t, i) {
+                if (!i[P("0x5cc")]) {
+                    var r = t[P("0x3cc")];
+                    i[P("0x5cc")] = e[P("0x5dc")][P("0x5d7")]({
+                        context: r,
+                        vertexShaderSource: f,
+                        fragmentShaderSource: d,
+                        attributeLocations: u
+                    })
+                }
+            }
+            ,
+            o[P("0x5")]._updateCommandShaderProgramOpaque = function(t, i) {
+                if (!i[P("0x5cc")]) {
+                    var r = t[P("0x3cc")];
+                    i[P("0x5cc")] = e[P("0x5dc")].fromCache({
+                        context: r,
+                        vertexShaderSource: g,
+                        fragmentShaderSource: p,
+                        attributeLocations: u
+                    })
+                }
+            }
+            ,
+            o[P("0x5")][P("0x6ec")] = function(e, t) {
+                var i = t[P("0x5de")] = {};
+                if (!i || !i[P("0x48b")]) {
+                    var r = this;
+                    i._ready = !0,
+                    i[P("0x6f5")] = function() {
+                        return r._startScale
+                    }
+                    ,
+                    i[P("0x6f6")] = function() {
+                        return r._endScale
+                    }
+                    ,
+                    i[P("0x6f7")] = function() {
+                        return r[P("0x6c1")]
+                    }
+                    ,
+                    i[P("0x743")] = function() {
+                        return r[P("0x72c")]
+                    }
+                    ,
+                    i.u_endColor = function() {
+                        return r[P("0x6c2")]
+                    }
+                    ,
+                    i[P("0x6f9")] = function() {
+                        return r[P("0x6cc")]
+                    }
+                }
+            }
+            ,
+            o[P("0x5")]._updateCommandRenderStateAlpha = function(t, i) {
+                i[P("0x5d5")] || (i[P("0x5d5")] = e.RenderState[P("0x5d7")]({
+                    cull: {
+                        enabled: !1
+                    },
+                    depthTest: {
+                        enabled: !0,
+                        func: e.WebGLConstants.LEQUAL
+                    },
+                    depthMask: !1,
+                    blending: e[P("0x5da")][P("0x5db")]
+                }))
+            }
+            ,
+            o.prototype._updateCommandRenderStateOpaque = function(t, i) {
+                i[P("0x5d5")] || (i[P("0x5d5")] = e[P("0x5d6")][P("0x5d7")]({
+                    cull: {
+                        enabled: !1
+                    },
+                    depthTest: {
+                        enabled: !0,
+                        func: e.WebGLConstants[P("0x5d9")]
+                    },
+                    depthMask: !0
+                }))
+            }
+            ,
+            o.prototype[P("0x6fb")] = function(t, i) {
+                i[P("0x4ac")] || (i[P("0x4ac")] = e[P("0x1b")][P("0xae")])
+            }
+            ;
+            var f = P("0x6fc") + P("0x744") + P("0x6fd") + "attribute vec4 aSpeedScaleLifeTime;\nattribute vec2 aTexcoord;\nuniform vec4 u_startColor;\n" + P("0x745") + "uniform float u_startScale;\n" + P("0x700") + P("0x746") + "varying vec3 v_texcoord_0;\nvarying vec4 v_colorFact;\n" + P("0x703") + P("0x747") + P("0x705") + P("0x748") + P("0x706") + P("0x707") + "}\nvoid main()\n{\n" + P("0x709") + P("0x70a") + P("0x70b") + P("0x749") + P("0x74a") + "   baseScale *= mix(u_startScale, u_endScale, t);\n" + P("0x74b") + P("0x70d") + P("0x74c") + P("0x74d") + "   v_colorFact = vec4(mix(u_startColor.rgb, u_endColor.rgb, aPosition.w * (u_startColor.a + u_endColor.a) / 2.0), aPosition.w);\n}"
+              , d = P("0x701") + P("0x702") + P("0x716") + P("0x708") + "{\n" + P("0x719") + P("0x74e") + "   color = czm_gammaCorrect(color);\n" + P("0x74f") + P("0x726") + P("0x750") + "   gl_FragColor = color;\n}"
+              , g = "attribute vec2 aPlane;\n" + P("0x744") + P("0x6fd") + P("0x6fe") + P("0x6ff") + P("0x751") + P("0x745") + P("0x752") + P("0x700") + "uniform float u_imageSize;\n" + P("0x701") + "varying vec4 v_colorFact;\n" + P("0x703") + P("0x747") + "   vec4 result = czm_modelView * vec4(v, 1.0);\n" + P("0x748") + P("0x706") + "   return result;\n}\n" + P("0x708") + "{\n" + P("0x709") + P("0x70a") + P("0x70b") + P("0x749") + P("0x74a") + P("0x70c") + P("0x74b") + P("0x70d") + P("0x74c") + "   v_texcoord_0.z = t;\n" + P("0x753") + "}"
+              , p = P("0x701") + P("0x702") + P("0x716") + "void main()\n{\n" + P("0x754") + P("0x719") + P("0x74e") + P("0x755") + P("0x74f") + P("0x726") + "   if (color.a < 0.746){discard;}\n" + P("0x728") + "}"
+        }(window.Cesium),
+        function(e) {
+            function t(t) {
+                t = i(t, i[P("0x128")]),
+                this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x756")] = t[P("0x756")],
+                this[P("0x440")] = t.data,
+                this.sampleMaxHeight = i(t[P("0x757")], 2e4),
+                this.sampleMaxPoint = i(t[P("0x758")], 50),
+                this.isParabola = i(t[P("0x759")], !0),
+                this.autoToGround = i(t[P("0x75a")], !1),
+                this._data = [],
+                this[P("0x75b")] = r + "_" + e[P("0x75c")](),
+                this._lines = [],
+                this[P("0x69c")](this[P("0x440")]),
+                this[P("0x75d")]()
+            }
+            t[P("0x5")][P("0x69c")] = function(t) {
+                var i = this;
+                this[P("0x75e")] = [];
+                var r = this;
+                t instanceof Array && t.forEach((function(t) {
+                    var n = e.Cartesian3[P("0x1a1")][P("0x346")](i, t[P("0x75f")][0])
+                      , o = e[P("0x11")][P("0x1a1")][P("0x346")](i, t[P("0x75f")][1])
+                      , a = [];
+                    r[P("0x759")] ? a = function(t, i, r, n) {
+                        var o = []
+                          , a = e[P("0x13")].fromCartesian(t)
+                          , s = e[P("0x13")].fromCartesian(i)
+                          , x = 180 * a[P("0x112")] / Math.PI
+                          , l = 180 * a[P("0x114")] / Math.PI
+                          , c = 180 * s[P("0x112")] / Math.PI
+                          , u = 180 * s[P("0x114")] / Math.PI
+                          , h = Math[P("0xca")]((x - c) * (x - c) + (l - u) * (l - u)) * r
+                          , f = e[P("0x11")].clone(t)
+                          , d = e.Cartesian3[P("0x6e")](i)
+                          , g = e[P("0x11")][P("0x8e")](f, e[P("0x11")][P("0x6f")])
+                          , p = e[P("0x11")].distance(d, e[P("0x11")][P("0x6f")]);
+                        if (e[P("0x11")][P("0x8d")](f, f),
+                        e[P("0x11")][P("0x8d")](d, d),
+                        0 == e.Cartesian3[P("0x8e")](f, d))
+                            return o;
+                        var m = e[P("0x11")][P("0xcb")](f, d);
+                        o.push(t);
+                        for (var b = 1; b < n - 1; b++) {
+                            var v = 1 * b / (n - 1)
+                              , C = 1 - v
+                              , y = Math[P("0x98")](C * m) / Math[P("0x98")](m)
+                              , _ = Math[P("0x98")](v * m) / Math.sin(m)
+                              , A = e[P("0x11")][P("0x6c")](f, y, new (e[P("0x11")]))
+                              , I = e[P("0x11")][P("0x6c")](d, _, new e.Cartesian3)
+                              , w = e[P("0x11")][P("0x6d")](A, I, new (e[P("0x11")]))
+                              , G = v * Math.PI
+                              , E = g * C + p * v + Math[P("0x98")](G) * h;
+                            w = e.Cartesian3[P("0x6c")](w, E, w),
+                            o.push(w)
+                        }
+                        return o[P("0x17c")](i),
+                        o
+                    }(n, o, r.sampleMaxHeight, r.sampleMaxPoint) : t.posititons[P("0x1e4")]((function(t) {
+                        a[P("0x17c")](e[P("0x11")].fromDegrees[P("0x346")](i, t))
+                    }
+                    )),
+                    r[P("0x75e")][P("0x17c")]({
+                        posititons: a,
+                        color: t[P("0x169")],
+                        width: t[P("0x19a")],
+                        duration: t.duration
+                    })
+                }
+                ))
+            }
+            ,
+            t[P("0x5")][P("0x760")] = function() {
+                return this[P("0x75e")]
+            }
+            ,
+            t[P("0x5")][P("0x761")] = function() {
+                var t = this._data
+                  , i = this[P("0x762")]
+                  , r = this[P("0x13b")].entities
+                  , o = this[P("0x75b")]
+                  , a = this;
+                this._clearPolylines(),
+                t instanceof Array && t.forEach((function(t) {
+                    var s = new (e[P("0x18e")])({
+                        name: o,
+                        polyline: {
+                            positions: t[P("0x75f")],
+                            width: t[P("0x19a")],
+                            clampToGround: !a[P("0x759")] && a.autoToGround,
+                            material: new n({
+                                color: t[P("0x169")],
+                                width: t[P("0x19a")],
+                                duration: t[P("0x763")],
+                                playing: a[P("0x756")]
+                            })
+                        }
+                    });
+                    i.push(s),
+                    r.add(s)
+                }
+                ))
+            }
+            ,
+            t[P("0x5")].render = function() {
+                this[P("0x761")]()
+            }
+            ,
+            t[P("0x5")][P("0x764")] = function() {
+                var e = this[P("0x762")]
+                  , t = this[P("0x13b")][P("0x194")];
+                e.forEach((function(e) {
+                    t[P("0x17f")](e)
+                }
+                )),
+                e[P("0x0")] = 0
+            }
+            ,
+            t.prototype[P("0x543")] = function(e) {
+                this[P("0x756")] = "boolean" == typeof e ? e : !this.playing;
+                var t = this[P("0x762")];
+                e = this.playing,
+                t.forEach((function(t) {
+                    t[P("0x2eb")][P("0x19c")][P("0x756")] = e
+                }
+                ))
+            }
+            ,
+            t[P("0x5")].destroy = function() {
+                this[P("0x764")](),
+                this[P("0x75e")] = void 0,
+                this._lines = void 0,
+                this[P("0x75b")] = void 0,
+                this.viewer = void 0,
+                this[P("0x440")] = void 0,
+                this[P("0x759")] = void 0,
+                this.playing = void 0,
+                this[P("0x757")] = void 0,
+                this[P("0x758")] = void 0
+            }
+            ;
+            var i = e[P("0x102")]
+              , r = (e.defined,
+            "GEOODLINE");
+            function n(t) {
+                this[P("0x765")] = new (e[P("0x766")]),
+                this[P("0x596")] = void 0,
+                this._colorSubscription = void 0,
+                this.color = t[P("0x169")],
+                this[P("0x19a")] = t[P("0x19a")],
+                this[P("0x763")] = t.duration,
+                this[P("0x756")] = t[P("0x756")],
+                this._time = (new Date)[P("0x68")]()
+            }
+            e.defineProperties(n[P("0x5")], {
+                isConstant: {
+                    get: function() {
+                        return !1
+                    }
+                },
+                definitionChanged: {
+                    get: function() {
+                        return this[P("0x765")]
+                    }
+                },
+                color: e[P("0x767")](P("0x169"))
+            }),
+            n[P("0x5")][P("0x768")] = function(e) {
+                return r
+            }
+            ,
+            n[P("0x5")][P("0x512")] = function(t, i) {
+                return e[P("0x14")](i) || (i = {}),
+                i[P("0x169")] = e.Property[P("0x769")](this._color, t, e[P("0x16a")][P("0x2cf")], i[P("0x169")]),
+                i.totoalFrameCount = this[P("0x756")] ? 60 * this[P("0x763")] : 0,
+                i
+            }
+            ,
+            n[P("0x5")][P("0x84")] = function(e) {
+                return this === e
+            }
+            ,
+            delete e[P("0x212")][P("0x76a")]._materials[r],
+            e.Material[P("0x76a")][P("0x76b")](r, {
+                fabric: {
+                    type: r,
+                    uniforms: {
+                        color: new (e[P("0x16a")])(1,1,0,1),
+                        totoalFrameCount: 450
+                    },
+                    source: "\n\t\tczm_material czm_getMaterial(czm_materialInput materialInput)\n\t\t{\n\t\t    czm_material material = czm_getDefaultMaterial(materialInput);\n\t\t    vec2 st = materialInput.st;\n\t\t    float t = mod(czm_frameNumber, totoalFrameCount) / totoalFrameCount; \n\t\t    t *= 1.03;\n\t\t    float alpha = smoothstep(t- 0.03, t, st.s) * step(-t, -st.s); \n\t\t    alpha += 0.1;\n\t\t    material.diffuse = color.rgb;\n\t\t    material.alpha = alpha;\n\t\t    return material;\n\t\t}\n    "
+                },
+                translucent: function() {
+                    return !0
+                }
+            }),
+            e.GeoODLine = t
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x76c")] = function(t) {
+                this[P("0x13c")] = t[P("0x13b")],
+                this._actived = !!t[P("0x5bb")] && t[P("0x5bb")],
+                this[P("0x76d")] = null,
+                this[P("0x76e")] = null,
+                this._viewMatrix = e[P("0x1b")][P("0xae")],
+                this[P("0x76f")] = [],
+                this._framebuffer = null,
+                this[P("0x770")] = null,
+                this[P("0x771")] = null,
+                this._groundTexture = null,
+                this._xPlane = null,
+                this[P("0x772")] = null,
+                this[P("0x773")] = null,
+                this[P("0x774")] = null,
+                this[P("0x5b7")] = !1,
+                this[P("0x775")](t),
+                this[P("0x776")](t),
+                this._createFireEffect(t),
+                this[P("0x777")](t),
+                this[P("0x778")](t)
+            }
+            ;
+            e[P("0xf")](t.prototype, {
+                explode: {
+                    get: function() {
+                        return this[P("0x76d")] ? this._fireEffect[P("0x6bd")] : 0
+                    },
+                    set: function(e) {
+                        this[P("0x76d")] && (this[P("0x76d")].explode = e)
+                    }
+                },
+                scale: {
+                    get: function() {
+                        return this._fireEffect ? this._fireEffect.scale : 1
+                    },
+                    set: function(e) {
+                        this[P("0x76d")] && (this[P("0x76d")][P("0xfc")] = e)
+                    }
+                },
+                life: {
+                    get: function() {
+                        return this[P("0x76d")] ? this[P("0x76d")][P("0x6c4")] : 0
+                    },
+                    set: function(e) {
+                        this[P("0x76d")] && (this[P("0x76d")].life = e)
+                    }
+                },
+                speed: {
+                    get: function() {
+                        return this[P("0x76d")] ? this._fireEffect[P("0x539")] : 0
+                    },
+                    set: function(e) {
+                        this[P("0x76d")] && (this[P("0x76d")].speed = e)
+                    }
+                },
+                radius: {
+                    get: function() {
+                        return this[P("0x76d")] ? this[P("0x76d")][P("0x181")] : 0
+                    },
+                    set: function(e) {
+                        this[P("0x76d")] && (this[P("0x76d")][P("0x181")] = e)
+                    }
+                },
+                grow: {
+                    get: function() {
+                        return this[P("0x76d")] ? this[P("0x76d")][P("0x6cb")] : 0
+                    },
+                    set: function(e) {
+                        this[P("0x76d")] && (this[P("0x76d")][P("0x6cb")] = e)
+                    }
+                },
+                smoking: {
+                    get: function() {
+                        return this[P("0x76d")] ? this._fireEffect[P("0x6c3")] : 0
+                    },
+                    set: function(e) {
+                        this[P("0x76d")] && (this._fireEffect[P("0x6c3")] = e)
+                    }
+                },
+                actived: {
+                    get: function() {
+                        return this[P("0x5ba")]
+                    },
+                    set: function(e) {
+                        this[P("0x5ba")] = e
+                    }
+                }
+            }),
+            t.prototype[P("0xd2")] = function(e) {
+                this[P("0x5ba")] ? (this[P("0x779")](e),
+                this._postProcess && (this[P("0x77a")] = e[P("0x7e")][P("0x77b")],
+                this._groundTexture ? (this._postProcess[P("0x364")] = !0,
+                this[P("0x13c")][P("0x10f")][P("0x77c")][P("0xd1")](this[P("0x76e")]) || (this[P("0x13c")][P("0x10f")][P("0x77c")].add(this[P("0x76e")]),
+                this[P("0x76e")][P("0xd2")](e[P("0x3cc")], e[P("0x77d")]))) : this[P("0x76e")].enabled = !1)) : this._postProcess && (this[P("0x76e")][P("0x364")] = !1)
+            }
+            ,
+            t.prototype[P("0x77e")] = function(t) {
+                if (t && !this._fireEffect) {
+                    var i = t[P("0x19f")];
+                    if (i && void 0 !== i[P("0x0")] && !(i.length < 1)) {
+                        var r = i[P("0x0")];
+                        i[0][0] == i[r - 1][0] && i[0][1] == i[r - 1][1] && i[0][2] == i[r - 1][2] || i[P("0x17c")]([i[0][0], i[0][1], i[0][2]]),
+                        t[P("0x6bd")] || (t[P("0x6bd")] = .21),
+                        t[P("0x6c3")] || (t.smoking = .15),
+                        t[P("0xfc")] || (t[P("0xfc")] = 1),
+                        t[P("0x6c4")] || (t[P("0x6c4")] = 1.1),
+                        t[P("0x539")] || (t[P("0x539")] = 1.7),
+                        this[P("0x76d")] = new (e[P("0x77f")])(t)
+                    }
+                }
+            }
+            ;
+            var i = new (e[P("0x11")])
+              , r = new (e[P("0x11")]);
+            t[P("0x5")][P("0x780")] = function(t, n) {
+                var o = e[P("0x11")][P("0x99")](n, t, i);
+                e[P("0x11")][P("0x8d")](o, o);
+                var a = e.Cartesian3[P("0x308")](t, n, .5, r);
+                return new (e[P("0x12")])(o.x,o.y,o.z,-e[P("0x11")].dot(o, a))
+            }
+            ,
+            t[P("0x5")]._appendAreaPlanes = function(e, t, i, r) {
+                e[P("0x17c")](this[P("0x780")](t, i)),
+                e[P("0x17c")](this._computePlane(i, r)),
+                e[P("0x17c")](this._computePlane(r, t))
+            }
+            ,
+            t.prototype[P("0x781")] = function(t) {
+                var i = this
+                  , r = t.context
+                  , n = r[P("0x782")]
+                  , o = r[P("0x783")];
+                i[P("0x770")] && (i[P("0x770")].destroy(),
+                i._depthAttachment = null),
+                i[P("0x784")] && (i[P("0x784")].destroy(),
+                i._framebuffer = null);
+                var a = new (e[P("0x6db")])({
+                    context: r,
+                    width: n,
+                    height: o,
+                    pixelFormat: e[P("0x785")][P("0x786")],
+                    pixelDatatype: e[P("0x787")][P("0x788")],
+                    sampler: new (e[P("0x789")])({
+                        wrapS: e.TextureWrap[P("0x78a")],
+                        wrapT: e[P("0x78b")][P("0x78a")],
+                        minificationFilter: e[P("0x78c")][P("0x78d")],
+                        magnificationFilter: e[P("0x78e")][P("0x78d")]
+                    })
+                })
+                  , s = new (e[P("0x78f")])({
+                    context: r,
+                    depthStencilTexture: a,
+                    destroyAttachments: !1
+                });
+                i._clearCommand || (i[P("0x771")] = new (e[P("0x790")])({
+                    depth: 1,
+                    color: new e.Color
+                })),
+                i[P("0x784")] = s,
+                i[P("0x770")] = a
+            }
+            ,
+            t[P("0x5")][P("0x791")] = function(t) {
+                (t = t || {}).explode = t.explode ? .2 * t[P("0x6bd")] : .2,
+                t.smoking = t[P("0x6c3")] ? .95 * t[P("0x6c3")] : .95,
+                t[P("0x6c4")] = t[P("0x6c4")] ? 4.5 * t[P("0x6c4")] : 4.5,
+                t[P("0xfc")] = t[P("0xfc")] ? t[P("0xfc")] : 1,
+                t[P("0x181")] = t[P("0x181")] ? .5 * t[P("0x181")] : .5,
+                t.speed = t[P("0x539")] ? .4 * t.speed : .4;
+                var i = new (e[P("0x77f")])(t);
+                this[P("0x76f")][P("0x17c")](i)
+            }
+            ,
+            t.prototype[P("0x792")] = function(t) {
+                var i = new (e[P("0x72b")])(t);
+                this[P("0x76f")].push(i)
+            }
+            ,
+            t[P("0x5")]._updateAssiged = function(e) {
+                var t = this;
+                this[P("0x76d")] && this[P("0x76d")][P("0xd2")](e);
+                for (var i = t[P("0x76f")].length, r = 0; r < i; r++)
+                    t[P("0x76f")][r][P("0xd2")](e);
+                if (t[P("0x784")] && t[P("0x784")][P("0x793")]._width == e[P("0x3cc")][P("0x782")] && t[P("0x784")][P("0x793")]._height == e.context[P("0x783")] || t._createAssignedFrameBuffer(e),
+                t._framebuffer) {
+                    var n = e[P("0x3cc")]
+                      , o = e[P("0x5ca")]
+                      , a = e[P("0x5ca")] = [];
+                    for (a.push(t._clearCommand),
+                    r = 0; r < i; r++)
+                        t._assigned[r].updateNext(e);
+                    t[P("0x76d")][P("0x6e8")](e),
+                    e[P("0x5ca")] = o;
+                    var s = t[P("0x13c")].scene[P("0x794")][P("0x795")]
+                      , x = s[P("0x796")];
+                    if (s[P("0x796")] = t[P("0x784")],
+                    0 < a[P("0x0")])
+                        for (var l = 0; l < a.length; l++)
+                            a[l][P("0x797")](n, s);
+                    s[P("0x796")] = x
+                }
+            }
+            ,
+            t[P("0x5")][P("0x778")] = function(t) {
+                if (t && !this[P("0x76e")]) {
+                    var i = t[P("0x19f")];
+                    if (i) {
+                        var r = i[P("0x0")];
+                        if (r && !(r < 4)) {
+                            var n = this;
+                            r -= 2;
+                            for (var o = [], a = e[P("0x13")][P("0x1a1")][P("0x346")](this, i[0]), s = e[P("0x11")][P("0x3d0")](a[P("0x112")], a.latitude, a[P("0x8b")]), x = 1; x < r && !(12 <= x); x++) {
+                                a = e.Cartographic.fromDegrees[P("0x346")](this, i[x]);
+                                var l = e[P("0x11")].fromRadians(a[P("0x112")], a[P("0x114")], a[P("0x8b")]);
+                                a = e[P("0x13")].fromDegrees[P("0x346")](this, i[x + 1]);
+                                var c = e.Cartesian3[P("0x3d0")](a[P("0x112")], a[P("0x114")], a[P("0x8b")]);
+                                this._appendAreaPlanes(o, s, l, c)
+                            }
+                            var u = P("0x798") + P("0x799") + P("0x79a") + 12[P("0x531")]() + P("0x79b") + P("0x79c") + P("0x79d") + P("0x79e") + P("0x79f") + P("0x7a0") + P("0x7a1") + P("0x7a2") + P("0x7a3") + P("0x7a4") + P("0x7a5") + P("0x7a6") + "    vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0);\n" + P("0x7a7") + "    return posInCamera;\n}\n" + P("0x7a8") + P("0x7a9") + P("0x7aa") + P("0x7ab") + P("0x7ac") + P("0x7ad") + "}\n" + P("0x7ae") + "    float x = czm_planeDistance(u_xPlane, position) / u_xyRange.x;\n" + P("0x7af") + P("0x7b0") + "}\n" + P("0x5f9") + P("0x7b1") + P("0x7b2") + P("0x7b3") + P("0x7b4") + P("0x7b5") + "    }\n" + P("0x7b6") + "    if(assigned.r < 1.0){\n" + P("0x7b4") + P("0x7b5") + P("0x7b7") + P("0x7b8") + "    vec4 positionEC = toEye(v_textureCoordinates, depth);\n    vec4 position = u_nViewMatrix * positionEC;\n    position /= position.w;\n" + P("0x7b9") + P("0x7ba") + P("0x7bb") + P("0x7bc") + 12[P("0x531")]() + "; i += 3){\n" + P("0x7bd") + P("0x7be") + P("0x7bf") + P("0x7c0") + "        float d1 = czm_planeDistance(u_planes[i+1], position.xyz);\n" + P("0x7c1") + P("0x7c2") + P("0x7c3") + "           color += colorGround * vec4(0.5);\n" + P("0x7c4") + P("0x7bf") + P("0x7b7") + "    gl_FragColor = color;\n}";
+                            this._postProcess = new (e[P("0x7c5")])({
+                                fragmentShader: u,
+                                uniforms: {
+                                    u_nViewMatrix: function() {
+                                        return n[P("0x77a")]
+                                    },
+                                    u_planes: function() {
+                                        return o
+                                    },
+                                    u_count: function() {
+                                        return o[P("0x0")]
+                                    },
+                                    u_assignedTexture: function() {
+                                        return n[P("0x770")]
+                                    },
+                                    u_groundTexture: function() {
+                                        return n[P("0x7c6")]
+                                    },
+                                    u_xPlane: function() {
+                                        return n[P("0x7c7")]
+                                    },
+                                    u_yPlane: function() {
+                                        return n[P("0x772")]
+                                    },
+                                    u_zPlane: function() {
+                                        return n[P("0x773")]
+                                    },
+                                    u_xyRange: function() {
+                                        return n[P("0x774")]
+                                    }
+                                }
+                            }),
+                            this._postProcess[P("0x364")] = !1
+                        }
+                    }
+                }
+            }
+            ,
+            t[P("0x5")][P("0x775")] = function(t) {
+                var i = t[P("0x19f")];
+                if (i && void 0 !== i[P("0x0")] && !(i[P("0x0")] < 4)) {
+                    var r = e.Cartographic.fromDegrees.apply(this, i[0])
+                      , n = e[P("0x11")][P("0x3d0")](r[P("0x112")], r[P("0x114")], r[P("0x8b")]);
+                    r = e[P("0x13")][P("0x1a1")][P("0x346")](this, i[1]);
+                    var o = e[P("0x11")][P("0x3d0")](r[P("0x112")], r[P("0x114")], r.height);
+                    r = e[P("0x13")][P("0x1a1")].apply(this, i[2]);
+                    var a = e[P("0x11")].fromRadians(r.longitude, r[P("0x114")], r[P("0x8b")])
+                      , s = e[P("0x11")][P("0x95")](o, n, new (e[P("0x11")]))
+                      , x = e[P("0x11")][P("0x95")](a, n, new e.Cartesian3)
+                      , l = e[P("0x11")][P("0x99")](x, s, new e.Cartesian3);
+                    e[P("0x11")][P("0x92")](l, n) < 0 && i[P("0x1e3")]()
+                }
+            }
+            ,
+            t[P("0x5")][P("0x777")] = function(t) {
+                var i = t[P("0x19f")];
+                if (i && void 0 !== i[P("0x0")] && !(i[P("0x0")] < 4)) {
+                    var r = e[P("0x13")][P("0x1a1")][P("0x346")](this, i[0])
+                      , n = e[P("0x11")][P("0x3d0")](r.longitude, r[P("0x114")], r[P("0x8b")]);
+                    r = e[P("0x13")][P("0x1a1")].apply(this, i[1]);
+                    var o = e[P("0x11")][P("0x3d0")](r[P("0x112")], r[P("0x114")], r[P("0x8b")]);
+                    r = e.Cartographic[P("0x1a1")].apply(this, i[2]);
+                    var a = e.Cartesian3[P("0x3d0")](r[P("0x112")], r[P("0x114")], r[P("0x8b")])
+                      , s = e[P("0x11")].subtract(o, n, new e.Cartesian3)
+                      , x = e.Cartesian3[P("0x95")](a, n, new e.Cartesian3)
+                      , l = e.Cartesian3.magnitude(s)
+                      , c = e.Cartesian3[P("0x96")](x);
+                    e[P("0x11")].normalize(s, s),
+                    e.Cartesian3[P("0x8d")](x, x);
+                    var u = e.Cartesian3.cross(x, s, new e.Cartesian3);
+                    e[P("0x11")].normalize(u, u);
+                    var h = e.Cartesian3[P("0x92")](x, s) * l
+                      , f = Math.max(l, h)
+                      , d = e.Cartesian3[P("0x99")](s, u, new (e[P("0x11")]));
+                    e[P("0x11")][P("0x8d")](d, d);
+                    var g = e[P("0x11")][P("0x92")](x, d) * c;
+                    this[P("0x7c7")] = new e.Cartesian4(s.x,s.y,s.z,-e[P("0x11")][P("0x92")](s, n)),
+                    this[P("0x772")] = new e.Cartesian4(d.x,d.y,d.z,-e[P("0x11")].dot(d, n)),
+                    this[P("0x773")] = new (e[P("0x12")])(u.x,u.y,u.z,-e[P("0x11")][P("0x92")](u, n)),
+                    this._xyRange = new (e[P("0x10")])(f,g)
+                }
+            }
+            ,
+            t[P("0x5")][P("0x776")] = function(t) {
+                if (t[P("0x7c8")] && !this[P("0x7c6")]) {
+                    var i = this
+                      , r = i[P("0x13c")].scene.frameState.context
+                      , n = e[P("0x6ba")](t.urlGround);
+                    e.Resource.fetchImage(n)[P("0x333")]((function(t) {
+                        i[P("0x7c6")] = new (e[P("0x6db")])({
+                            context: r,
+                            source: t,
+                            sampler: new (e[P("0x789")])({
+                                wrapS: e[P("0x78b")][P("0x55a")],
+                                wrapT: e[P("0x78b")][P("0x55a")],
+                                minificationFilter: e[P("0x78c")][P("0x78d")],
+                                magnificationFilter: e[P("0x78e")][P("0x78d")]
+                            })
+                        },(function(e) {}
+                        ))
+                    }
+                    ))
+                }
+            }
+            ,
+            t.prototype.destroy = function() {
+                this[P("0x76d")] && (this[P("0x76d")][P("0xf4")](),
+                this[P("0x76d")] = null),
+                this[P("0x76e")] && (this[P("0x76e")][P("0x364")] = !1,
+                this[P("0x13c")][P("0x10f")][P("0x77c")][P("0x17f")](this[P("0x76e")]),
+                this[P("0x76e")] = null),
+                this[P("0x77a")] = null;
+                for (var e = 0; e < this[P("0x76f")].length; e++)
+                    this[P("0x76f")][e][P("0xf4")](),
+                    this._assigned[e] = null;
+                this._assigned = null,
+                this._framebuffer && (this[P("0x784")].destroy(),
+                this._framebuffer = null),
+                this[P("0x770")] && (this[P("0x770")][P("0xf4")](),
+                this._depthAttachment = null),
+                this[P("0x771")] = null,
+                this[P("0x7c6")] = null,
+                this[P("0x7c7")] = null,
+                this._yPlane = null,
+                this[P("0x773")] = null,
+                this[P("0x774")] = null,
+                this[P("0x13c")] = null
+            }
+        }(window.Cesium);
+        var j, V = {};
+        if (function() {
+            function e(e, t, i, r, n) {
+                var o = [P("0x7c9"), e, "(a,l,h,", r[P("0x7ca")](","), "){", n ? "" : "var i=", i ? P("0x7cb") : "h+1", P("0x7cc")];
+                return n ? t[P("0x2d3")]("c") < 0 ? o.push(P("0x7cd")) : o[P("0x17c")](P("0x7ce")) : o[P("0x17c")](P("0x7cf"), t, P("0x7d0")),
+                i ? o[P("0x17c")](P("0x7d1")) : o[P("0x17c")](P("0x7d2")),
+                o[P("0x17c")]("}"),
+                n ? o[P("0x17c")](P("0x7d3")) : o.push(P("0x7d4")),
+                o[P("0x7ca")]("")
+            }
+            function t(t, i, r, n) {
+                return new Function([e("A", "x" + t + "y", i, ["y"], n), e("P", P("0x7d5") + t + "0", i, ["y", "c"], n), P("0x7d6"), r, P("0x7d7"), r][P("0x7ca")](""))()
+            }
+            V["binary-search-bounds"] = {
+                ge: t(">=", !1, "GE"),
+                gt: t(">", !1, "GT"),
+                lt: t("<", !0, "LT"),
+                le: t("<=", !0, "LE"),
+                eq: t("-", !0, "EQ", !0)
+            }
+        }(),
+        function(e) {
+            e[P("0x7d8")] = {};
+            var t = e[P("0x7d9")];
+            function i(e, t) {
+                this[P("0x7da")] = e,
+                this.edges = t
+            }
+            var r, n = i[P("0x5")];
+            function o(e, t, i) {
+                for (var r = 1, n = e.length; r < n; r += 2)
+                    if (e[r - 1] === t && e[r] === i)
+                        return e[r - 1] = e[n - 2],
+                        e[r] = e[n - 1],
+                        void (e[P("0x0")] = n - 2)
+            }
+            function a(e, t) {
+                return e[0] - t[0] || e[1] - t[1]
+            }
+            n.isConstraint = (r = [0, 0],
+            function(e, i) {
+                return r[0] = Math[P("0x7d")](e, i),
+                r[1] = Math[P("0xee")](e, i),
+                0 <= t.eq(this[P("0x7db")], r, a)
+            }
+            ),
+            n[P("0x7dc")] = function(e, t, i) {
+                var r = this[P("0x7da")];
+                o(r[e], t, i),
+                o(r[t], i, e),
+                o(r[i], e, t)
+            }
+            ,
+            n[P("0x7dd")] = function(e, t, i) {
+                var r = this[P("0x7da")];
+                r[e].push(t, i),
+                r[t][P("0x17c")](i, e),
+                r[i][P("0x17c")](e, t)
+            }
+            ,
+            n.opposite = function(e, t) {
+                for (var i = this[P("0x7da")][t], r = 1, n = i[P("0x0")]; r < n; r += 2)
+                    if (i[r] === e)
+                        return i[r - 1];
+                return -1
+            }
+            ,
+            n[P("0x7de")] = function(e, t) {
+                var i = this[P("0x7df")](e, t)
+                  , r = this[P("0x7df")](t, e);
+                this[P("0x7dc")](e, t, i),
+                this[P("0x7dc")](t, e, r),
+                this[P("0x7dd")](e, r, i),
+                this[P("0x7dd")](t, i, r)
+            }
+            ,
+            n[P("0x7db")] = function() {
+                for (var e = this[P("0x7da")], t = [], i = 0, r = e[P("0x0")]; i < r; ++i)
+                    for (var n = e[i], o = 0, a = n[P("0x0")]; o < a; o += 2)
+                        t.push([n[o], n[o + 1]]);
+                return t
+            }
+            ,
+            n[P("0x7e0")] = function() {
+                for (var e = this[P("0x7da")], t = [], i = 0, r = e.length; i < r; ++i)
+                    for (var n = e[i], o = 0, a = n[P("0x0")]; o < a; o += 2) {
+                        var s = n[o]
+                          , x = n[o + 1];
+                        i < Math[P("0x7d")](s, x) && t.push([i, s, x])
+                    }
+                return t
+            }
+            ,
+            e[P("0x7d8")].createTriangulation = function(e, t) {
+                for (var r = new Array(e), n = 0; n < e; ++n)
+                    r[n] = [];
+                return new i(r,t)
+            }
+        }(V),
+        function(e) {
+            var t, i = e[P("0x1f2")] = {}, r = e[P("0x7d9")];
+            function n(e, t, i, r, n, o, a) {
+                this[P("0x7e0")] = e,
+                this[P("0x7e1")] = t,
+                this[P("0x7e2")] = r,
+                this.constraint = i,
+                this[P("0x69")] = n,
+                this[P("0x7e3")] = o,
+                this.boundary = a
+            }
+            function o(e, t) {
+                return e[0] - t[0] || e[1] - t[1] || e[2] - t[2]
+            }
+            n[P("0x5")].locate = (t = [0, 0, 0],
+            function(e, i, n) {
+                var a = e
+                  , s = i
+                  , x = n;
+                return i < n ? i < e && (a = i,
+                s = n,
+                x = e) : n < e && (a = n,
+                s = e,
+                x = i),
+                a < 0 ? -1 : (t[0] = a,
+                t[1] = s,
+                t[2] = x,
+                r.eq(this.cells, t, o))
+            }
+            ),
+            i.classifyFaces = function(e, t, i) {
+                var r = function(e, t) {
+                    for (var i = e.cells(), r = i[P("0x0")], a = 0; a < r; ++a) {
+                        var s = (m = i[a])[0]
+                          , x = m[1]
+                          , l = m[2];
+                        x < l ? x < s && (m[0] = x,
+                        m[1] = l,
+                        m[2] = s) : l < s && (m[0] = l,
+                        m[1] = s,
+                        m[2] = x)
+                    }
+                    i[P("0x3d2")](o);
+                    var c = new Array(r);
+                    for (a = 0; a < c[P("0x0")]; ++a)
+                        c[a] = 0;
+                    var u = []
+                      , h = []
+                      , f = new Array(3 * r)
+                      , d = new Array(3 * r)
+                      , g = null;
+                    t && (g = []);
+                    var p = new n(i,f,d,c,u,h,g);
+                    for (a = 0; a < r; ++a)
+                        for (var m = i[a], b = 0; b < 3; ++b) {
+                            s = m[b],
+                            x = m[(b + 1) % 3];
+                            var v = f[3 * a + b] = p[P("0x7e4")](x, s, e[P("0x7df")](x, s))
+                              , C = d[3 * a + b] = e.isConstraint(s, x);
+                            v < 0 && (C ? h.push(a) : (u[P("0x17c")](a),
+                            c[a] = 1),
+                            t && g[P("0x17c")]([x, s, -1]))
+                        }
+                    return p
+                }(e, i);
+                if (0 === t)
+                    return i ? r.cells[P("0x1c6")](r[P("0x7e5")]) : r[P("0x7e0")];
+                for (var a = 1, s = r[P("0x69")], x = r[P("0x7e3")], l = r[P("0x7e2")], c = r[P("0x7e0")], u = r[P("0x7e6")], h = r[P("0x7e1")]; 0 < s[P("0x0")] || 0 < x.length; ) {
+                    for (; 0 < s[P("0x0")]; ) {
+                        var f = s[P("0x25c")]();
+                        if (l[f] !== -a) {
+                            l[f] = a,
+                            c[f];
+                            for (var d = 0; d < 3; ++d) {
+                                var g = h[3 * f + d];
+                                0 <= g && 0 === l[g] && (u[3 * f + d] ? x[P("0x17c")](g) : (s[P("0x17c")](g),
+                                l[g] = a))
+                            }
+                        }
+                    }
+                    var p = x;
+                    x = s,
+                    s = p,
+                    x[P("0x0")] = 0,
+                    a = -a
+                }
+                var m = function(e, t, i) {
+                    for (var r = 0, n = 0; n < e[P("0x0")]; ++n)
+                        t[n] === i && (e[r++] = e[n]);
+                    return e[P("0x0")] = r,
+                    e
+                }(c, l, t);
+                return i ? m.concat(r[P("0x7e5")]) : m
+            }
+        }(V),
+        function(e) {
+            e[P("0x7e7")] = {},
+            e["two-sum"].fastTwoSum = function(e, t, i) {
+                var r = e + t
+                  , n = r - e
+                  , o = t - n
+                  , a = e - (r - n);
+                return i ? (i[0] = a + o,
+                i[1] = r,
+                i) : [a + o, r]
+            }
+        }(V),
+        function(e) {
+            var t = +(Math[P("0x2ae")](2, 27) + 1);
+            e["two-product"] = {},
+            e["two-product"][P("0x7e8")] = function(e, i, r) {
+                var n = e * i
+                  , o = t * e
+                  , a = o - (o - e)
+                  , s = e - a
+                  , x = t * i
+                  , l = x - (x - i)
+                  , c = i - l
+                  , u = s * c - (n - a * l - s * l - a * c);
+                return r ? (r[0] = u,
+                r[1] = n,
+                r) : [u, n]
+            }
+        }(V),
+        function(e) {
+            var t = e["two-product"][P("0x7e8")]
+              , i = e["two-sum"][P("0x7e9")];
+            e["robust-scale"] = {},
+            e["robust-scale"].scaleLinearExpansion = function(e, r) {
+                var n = e[P("0x0")];
+                if (1 === n) {
+                    var o = t(e[0], r);
+                    return o[0] ? o : [o[1]]
+                }
+                var a = new Array(2 * n)
+                  , s = [.1, .1]
+                  , x = [.1, .1]
+                  , l = 0;
+                t(e[0], r, s),
+                s[0] && (a[l++] = s[0]);
+                for (var c = 1; c < n; ++c) {
+                    t(e[c], r, x);
+                    var u = s[1];
+                    i(u, x[0], s),
+                    s[0] && (a[l++] = s[0]);
+                    var h = x[1]
+                      , f = s[1]
+                      , d = h + f
+                      , g = f - (d - h);
+                    s[1] = d,
+                    g && (a[l++] = g)
+                }
+                return s[1] && (a[l++] = s[1]),
+                0 === l && (a[l++] = 0),
+                a.length = l,
+                a
+            }
+        }(V),
+        function(e) {
+            e[P("0x7ea")] = {},
+            e[P("0x7ea")][P("0x7eb")] = function(e, t) {
+                var i, r, n, o, a, s = 0 | e.length, x = 0 | t[P("0x0")];
+                if (1 == s && 1 == x)
+                    return (a = (i = e[0]) - ((n = i + (r = -t[0])) - (o = n - i)) + (r - o)) ? [a, n] : [n];
+                var l, c, u = new Array(s + x), h = 0, f = 0, d = 0, g = Math[P("0x78")], p = e[f], m = g(p), b = -t[d], v = g(b);
+                m < v ? (c = p,
+                (f += 1) < s && (m = g(p = e[f]))) : (c = b,
+                (d += 1) < x && (v = g(b = -t[d]))),
+                f < s && m < v || x <= d ? (l = p,
+                (f += 1) < s && (m = g(p = e[f]))) : (l = b,
+                (d += 1) < x && (v = g(b = -t[d])));
+                for (var C, y, _ = l + c, A = _ - l, I = c - A, w = I, G = _; f < s && d < x; )
+                    m < v ? (l = p,
+                    (f += 1) < s && (m = g(p = e[f]))) : (l = b,
+                    (d += 1) < x && (v = g(b = -t[d]))),
+                    (I = (c = w) - (A = (_ = l + c) - l)) && (u[h++] = I),
+                    w = G - ((C = G + _) - (y = C - G)) + (_ - y),
+                    G = C;
+                for (; f < s; )
+                    (I = (c = w) - (A = (_ = (l = p) + c) - l)) && (u[h++] = I),
+                    w = G - ((C = G + _) - (y = C - G)) + (_ - y),
+                    G = C,
+                    (f += 1) < s && (p = e[f]);
+                for (; d < x; )
+                    (I = (c = w) - (A = (_ = (l = b) + c) - l)) && (u[h++] = I),
+                    w = G - ((C = G + _) - (y = C - G)) + (_ - y),
+                    G = C,
+                    (d += 1) < x && (b = -t[d]);
+                return w && (u[h++] = w),
+                G && (u[h++] = G),
+                h || (u[h++] = 0),
+                u[P("0x0")] = h,
+                u
+            }
+        }(V),
+        function(e) {
+            e[P("0x7ec")] = {},
+            e["robust-sum"][P("0x7ed")] = function(e, t) {
+                var i, r, n, o, a, s = 0 | e[P("0x0")], x = 0 | t[P("0x0")];
+                if (1 == s && 1 == x)
+                    return (a = (i = e[0]) - ((n = i + (r = t[0])) - (o = n - i)) + (r - o)) ? [a, n] : [n];
+                var l, c, u = new Array(s + x), h = 0, f = 0, d = 0, g = Math[P("0x78")], p = e[f], m = g(p), b = t[d], v = g(b);
+                m < v ? (c = p,
+                (f += 1) < s && (m = g(p = e[f]))) : (c = b,
+                (d += 1) < x && (v = g(b = t[d]))),
+                f < s && m < v || x <= d ? (l = p,
+                (f += 1) < s && (m = g(p = e[f]))) : (l = b,
+                (d += 1) < x && (v = g(b = t[d])));
+                for (var C, y, _ = l + c, A = _ - l, I = c - A, w = I, G = _; f < s && d < x; )
+                    m < v ? (l = p,
+                    (f += 1) < s && (m = g(p = e[f]))) : (l = b,
+                    (d += 1) < x && (v = g(b = t[d]))),
+                    (I = (c = w) - (A = (_ = l + c) - l)) && (u[h++] = I),
+                    w = G - ((C = G + _) - (y = C - G)) + (_ - y),
+                    G = C;
+                for (; f < s; )
+                    (I = (c = w) - (A = (_ = (l = p) + c) - l)) && (u[h++] = I),
+                    w = G - ((C = G + _) - (y = C - G)) + (_ - y),
+                    G = C,
+                    (f += 1) < s && (p = e[f]);
+                for (; d < x; )
+                    (I = (c = w) - (A = (_ = (l = b) + c) - l)) && (u[h++] = I),
+                    w = G - ((C = G + _) - (y = C - G)) + (_ - y),
+                    G = C,
+                    (d += 1) < x && (b = t[d]);
+                return w && (u[h++] = w),
+                G && (u[h++] = G),
+                h || (u[h++] = 0),
+                u[P("0x0")] = h,
+                u
+            }
+        }(V),
+        function(e) {
+            var t = e[P("0x7ee")].twoProduct
+              , i = e[P("0x7ec")][P("0x7ed")]
+              , r = e["robust-subtract"][P("0x7eb")]
+              , n = e[P("0x7ef")][P("0x7f0")];
+            function o(e, t) {
+                for (var i = new Array(e.length - 1), r = 1; r < e.length; ++r)
+                    for (var n = i[r - 1] = new Array(e[P("0x0")] - 1), o = 0, a = 0; o < e[P("0x0")]; ++o)
+                        o !== t && (n[a++] = e[r][o]);
+                return i
+            }
+            function a(e) {
+                if (1 === e[P("0x0")])
+                    return e[0];
+                if (2 === e.length)
+                    return [P("0x7f1"), e[0], ",", e[1], ")"].join("");
+                var t = e.length >> 1;
+                return [P("0x7f1"), a(e[P("0x1d5")](0, t)), ",", a(e.slice(t)), ")"].join("")
+            }
+            function s(e, t) {
+                if ("m" !== e[P("0x68e")](0))
+                    return s(t, e);
+                if ("w" !== t[P("0x68e")](0))
+                    return [P("0x7f4"), e, ",", t, ")"][P("0x7ca")]("");
+                var i = e[P("0x7f2")]("[");
+                return ["w", t[P("0x7f3")](1), "m", i[0][P("0x7f3")](1)][P("0x7ca")]("")
+            }
+            function x(e) {
+                if (2 === e[P("0x0")])
+                    return [["diff(", s(e[0][0], e[1][1]), ",", s(e[1][0], e[0][1]), ")"][P("0x7ca")]("")];
+                for (var t = [], i = 0; i < e[P("0x0")]; ++i)
+                    t.push([P("0x7f5"), a(x(o(e, i))), ",", !0 & i ? "-" : "", e[0][i], ")"][P("0x7ca")](""));
+                return t
+            }
+            function l(e, t) {
+                for (var i = [], r = 0; r < t - 2; ++r)
+                    i[P("0x17c")]([P("0x7f6"), e, "[", r, "],m", e, "[", r, "])"].join(""));
+                return a(i)
+            }
+            function c(e) {
+                for (var s = [], c = [], u = function(e) {
+                    for (var t = new Array(e), i = 0; i < e; ++i) {
+                        t[i] = new Array(e);
+                        for (var r = 0; r < e; ++r)
+                            t[i][r] = ["m", r, "[", e - i - 2, "]"].join("")
+                    }
+                    return t
+                }(e), h = 0; h < e; ++h)
+                    u[0][h] = "1",
+                    u[e - 1][h] = "w" + h;
+                for (h = 0; h < e; ++h)
+                    0 == (1 & h) ? s[P("0x17c")][P("0x346")](s, x(o(u, h))) : c[P("0x17c")][P("0x346")](c, x(o(u, h)));
+                var f = a(s)
+                  , d = a(c)
+                  , g = "exactInSphere" + e
+                  , p = [];
+                for (h = 0; h < e; ++h)
+                    p[P("0x17c")]("m" + h);
+                var m = [P("0x7c9"), g, "(", p[P("0x7ca")](), "){"];
+                for (h = 0; h < e; ++h) {
+                    m[P("0x17c")](P("0x7f7"), h, "=", l(h, e), ";");
+                    for (var b = 0; b < e; ++b)
+                        b !== h && m[P("0x17c")](P("0x7f7"), h, "m", b, P("0x7f8"), h, ",m", b, P("0x7f9"))
+                }
+                return m.push(P("0x7fa"), f, ",n=", d, ",d=diff(p,n);return d[d.length-1];}return ", g),
+                new Function(P("0x7fb"),P("0x7fc"),"prod",P("0xfc"),m.join(""))(i, r, t, n)
+            }
+            var u = [function() {
+                return 0
+            }
+            , function() {
+                return 0
+            }
+            , function() {
+                return 0
+            }
+            ];
+            !function() {
+                for (; u[P("0x0")] <= 6; )
+                    u[P("0x17c")](c(u[P("0x0")]));
+                for (var t = [], i = [P("0x7fd")], r = 0; r <= 6; ++r)
+                    t[P("0x17c")]("a" + r),
+                    i.push("o" + r);
+                var n = [P("0x7fe"), t[P("0x7ca")](), "){switch(arguments.length){case 0:case 1:return 0;"];
+                for (r = 2; r <= 6; ++r)
+                    n[P("0x17c")]("case ", r, P("0x7ff"), r, "(", t[P("0x1d5")](0, r)[P("0x7ca")](), ");");
+                n[P("0x17c")]("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere"),
+                i[P("0x17c")](n[P("0x7ca")](""));
+                var o = Function[P("0x346")](void 0, i)
+                  , a = e[P("0x800")] = o[P("0x346")](void 0, [function(e) {
+                    var t = u[e[P("0x0")]];
+                    return (t = t || (u[e.length] = c(e.length))).apply(void 0, e)
+                }
+                ][P("0x1c6")](u));
+                for (r = 0; r <= 6; ++r)
+                    a[r] = u[r]
+            }()
+        }(V),
+        function(e) {
+            var t = e[P("0x801")] = {}
+              , i = e["robust-in-sphere"][4];
+            function r(e, t, r, n, o, a) {
+                var s = t[P("0x7df")](n, o);
+                if (!(s < 0)) {
+                    if (o < n) {
+                        var x = n;
+                        n = o,
+                        o = x,
+                        x = a,
+                        a = s,
+                        s = x
+                    }
+                    t[P("0x802")](n, o) || i(e[n], e[o], e[a], e[s]) < 0 && r[P("0x17c")](n, o)
+                }
+            }
+            t.delaunayRefine = function(e, t) {
+                for (var n = [], o = e.length, a = t[P("0x7da")], s = 0; s < o; ++s)
+                    for (var x = a[s], l = 1; l < x[P("0x0")]; l += 2)
+                        if (!((f = x[l]) < s || t.isConstraint(s, f))) {
+                            for (var c = x[l - 1], u = -1, h = 1; h < x[P("0x0")]; h += 2)
+                                if (x[h - 1] === f) {
+                                    u = x[h];
+                                    break
+                                }
+                            u < 0 || i(e[s], e[f], e[c], e[u]) < 0 && n[P("0x17c")](s, f)
+                        }
+                for (; 0 < n[P("0x0")]; ) {
+                    for (var f = n[P("0x25c")](), d = (c = -1,
+                    u = -1,
+                    x = a[s = n[P("0x25c")]()],
+                    1); d < x.length; d += 2) {
+                        var g = x[d - 1]
+                          , p = x[d];
+                        g === f ? u = p : p === f && (c = g)
+                    }
+                    c < 0 || u < 0 || 0 <= i(e[s], e[f], e[c], e[u]) || (t[P("0x7de")](s, f),
+                    r(e, t, n, c, s, u),
+                    r(e, t, n, s, u, c),
+                    r(e, t, n, u, f, c),
+                    r(e, t, n, f, c, u))
+                }
+            }
+        }(V),
+        function(e) {
+            var t = e["two-product"][P("0x7e8")]
+              , i = e[P("0x7ec")].linearExpansionSum
+              , r = e["robust-scale"][P("0x7f0")]
+              , n = e[P("0x7ea")][P("0x7eb")];
+            function o(e, t) {
+                for (var i = new Array(e.length - 1), r = 1; r < e.length; ++r)
+                    for (var n = i[r - 1] = new Array(e[P("0x0")] - 1), o = 0, a = 0; o < e[P("0x0")]; ++o)
+                        o !== t && (n[a++] = e[r][o]);
+                return i
+            }
+            function a(e) {
+                if (1 === e.length)
+                    return e[0];
+                if (2 === e[P("0x0")])
+                    return [P("0x7f1"), e[0], ",", e[1], ")"][P("0x7ca")]("");
+                var t = e[P("0x0")] >> 1;
+                return [P("0x7f1"), a(e.slice(0, t)), ",", a(e.slice(t)), ")"].join("")
+            }
+            function s(e) {
+                if (2 === e[P("0x0")])
+                    return [["sum(prod(", e[0][0], ",", e[1][1], P("0x803"), e[0][1], ",", e[1][0], "))"][P("0x7ca")]("")];
+                for (var t = [], i = 0; i < e.length; ++i)
+                    t[P("0x17c")]([P("0x7f5"), a(s(o(e, i))), ",", 1 & i ? "-" : "", e[0][i], ")"][P("0x7ca")](""));
+                return t
+            }
+            function x(e) {
+                for (var x = [], l = [], c = function(e) {
+                    for (var t = new Array(e), i = 0; i < e; ++i) {
+                        t[i] = new Array(e);
+                        for (var r = 0; r < e; ++r)
+                            t[i][r] = ["m", r, "[", e - i - 1, "]"].join("")
+                    }
+                    return t
+                }(e), u = [], h = 0; h < e; ++h)
+                    0 == (1 & h) ? x[P("0x17c")].apply(x, s(o(c, h))) : l[P("0x17c")][P("0x346")](l, s(o(c, h))),
+                    u[P("0x17c")]("m" + h);
+                var f = a(x)
+                  , d = a(l)
+                  , g = P("0x11e") + e + P("0x804")
+                  , p = ["function ", g, "(", u[P("0x7ca")](), P("0x805"), f, P("0x806"), d, P("0x807"), g][P("0x7ca")]("");
+                return new Function(P("0x7fb"),P("0x808"),P("0xfc"),"sub",p)(i, t, r, n)
+            }
+            var l = x(3)
+              , c = x(4)
+              , u = [function() {
+                return 0
+            }
+            , function() {
+                return 0
+            }
+            , function(e, t) {
+                return t[0] - e[0]
+            }
+            , function(e, t, i) {
+                var r, n = (e[1] - i[1]) * (t[0] - i[0]), o = (e[0] - i[0]) * (t[1] - i[1]), a = n - o;
+                if (0 < n) {
+                    if (o <= 0)
+                        return a;
+                    r = n + o
+                } else {
+                    if (!(n < 0))
+                        return a;
+                    if (0 <= o)
+                        return a;
+                    r = -(n + o)
+                }
+                var s = 33306690738754716e-32 * r;
+                return s <= a || a <= -s ? a : l(e, t, i)
+            }
+            , function(e, t, i, r) {
+                var n = e[0] - r[0]
+                  , o = t[0] - r[0]
+                  , a = i[0] - r[0]
+                  , s = e[1] - r[1]
+                  , x = t[1] - r[1]
+                  , l = i[1] - r[1]
+                  , u = e[2] - r[2]
+                  , h = t[2] - r[2]
+                  , f = i[2] - r[2]
+                  , d = o * l
+                  , g = a * x
+                  , p = a * s
+                  , m = n * l
+                  , b = n * x
+                  , v = o * s
+                  , C = u * (d - g) + h * (p - m) + f * (b - v)
+                  , y = 7771561172376103e-31 * ((Math[P("0x78")](d) + Math[P("0x78")](g)) * Math[P("0x78")](u) + (Math[P("0x78")](p) + Math[P("0x78")](m)) * Math[P("0x78")](h) + (Math[P("0x78")](b) + Math[P("0x78")](v)) * Math[P("0x78")](f));
+                return y < C || y < -C ? C : c(e, t, i, r)
+            }
+            ];
+            !function() {
+                for (; u.length <= 5; )
+                    u[P("0x17c")](x(u[P("0x0")]));
+                for (var t = [], i = ["slow"], r = 0; r <= 5; ++r)
+                    t[P("0x17c")]("a" + r),
+                    i[P("0x17c")]("o" + r);
+                var n = [P("0x809"), t[P("0x7ca")](), "){switch(arguments.length){case 0:case 1:return 0;"];
+                for (r = 2; r <= 5; ++r)
+                    n[P("0x17c")](P("0x80a"), r, P("0x7ff"), r, "(", t[P("0x1d5")](0, r)[P("0x7ca")](), ");");
+                n.push(P("0x80b")),
+                i[P("0x17c")](n.join(""));
+                var o = Function[P("0x346")](void 0, i)
+                  , a = e[P("0x80c")] = o[P("0x346")](void 0, [function(e) {
+                    var t = u[e.length];
+                    return (t = t || (u[e.length] = x(e[P("0x0")])))[P("0x346")](void 0, e)
+                }
+                ].concat(u));
+                for (r = 0; r <= 5; ++r)
+                    a[r] = u[r]
+            }()
+        }(V),
+        function(e) {
+            var t = e[P("0x7d9")]
+              , i = e[P("0x80c")][3];
+            function r(e, t, i, r, n) {
+                this.a = e,
+                this.b = t,
+                this[P("0x80e")] = i,
+                this[P("0x80f")] = r,
+                this.upperIds = n
+            }
+            function n(e, t, i, r) {
+                this.a = e,
+                this.b = t,
+                this.type = i,
+                this[P("0x80e")] = r
+            }
+            function o(e, t) {
+                var r = e.a[0] - t.a[0] || e.a[1] - t.a[1] || e[P("0x165")] - t[P("0x165")];
+                return r || (0 !== e[P("0x165")] && (r = i(e.a, e.b, t.b)) ? r : e[P("0x80e")] - t[P("0x80e")])
+            }
+            function a(e, t) {
+                return i(e.a, e.b, t)
+            }
+            function s(e, r, n, o, s) {
+                for (var x = t.lt(r, o, a), l = t.gt(r, o, a), c = x; c < l; ++c) {
+                    for (var u = r[c], h = u.lowerIds, f = h[P("0x0")]; 1 < f && 0 < i(n[h[f - 2]], n[h[f - 1]], o); )
+                        e[P("0x17c")]([h[f - 1], h[f - 2], s]),
+                        --f;
+                    h[P("0x0")] = f,
+                    h[P("0x17c")](s);
+                    var d = u[P("0x810")];
+                    for (f = d[P("0x0")]; 1 < f && i(n[d[f - 2]], n[d[f - 1]], o) < 0; )
+                        e[P("0x17c")]([d[f - 2], d[f - 1], s]),
+                        --f;
+                    d[P("0x0")] = f,
+                    d[P("0x17c")](s)
+                }
+            }
+            function x(e, t) {
+                var r;
+                return (r = e.a[0] < t.a[0] ? i(e.a, e.b, t.a) : i(t.b, t.a, e.a)) ? r : (r = t.b[0] < e.b[0] ? i(e.a, e.b, t.b) : i(t.b, t.a, e.b)) || e.idx - t[P("0x80e")]
+            }
+            function l(e, i, r) {
+                var n = r.a;
+                r.a = r.b,
+                r.b = n;
+                var o = t.eq(e, r, x)
+                  , a = e[o];
+                e[o - 1][P("0x810")] = a[P("0x810")],
+                e.splice(o, 1)
+            }
+            (e[P("0x80d")] = {})[P("0x811")] = function(e, i) {
+                for (var a = e[P("0x0")], c = i[P("0x0")], u = [], h = 0; h < a; ++h)
+                    u.push(new n(e[h],null,0,h));
+                for (h = 0; h < c; ++h) {
+                    var f = i[h]
+                      , d = e[f[0]]
+                      , g = e[f[1]];
+                    d[0] < g[0] ? u[P("0x17c")](new n(d,g,2,h), new n(g,d,1,h)) : d[0] > g[0] && u[P("0x17c")](new n(g,d,2,h), new n(d,g,1,h))
+                }
+                u[P("0x3d2")](o);
+                for (var p, m, b, v, C, y, _ = u[0].a[0] - (1 + Math[P("0x78")](u[0].a[0])) * Math[P("0x2ae")](2, -52), A = [new r([_, 1],[_, 0],-1,[],[],[],[])], I = [], w = (h = 0,
+                u.length); h < w; ++h) {
+                    var G = u[h]
+                      , E = G.type;
+                    0 === E ? s(I, A, e, G.a, G[P("0x80e")]) : 2 === E ? (m = G,
+                    v = void 0,
+                    y = (C = (v = (p = A)[b = t.le(p, m, x)])[P("0x810")])[C.length - 1],
+                    v[P("0x810")] = [y],
+                    p[P("0x259")](b + 1, 0, new r(m.a,m.b,m.idx,[y],C))) : l(A, 0, G)
+                }
+                return I
+            }
+        }(V),
+        function(e) {
+            var t = e[P("0x812")] = {}
+              , i = e[P("0x80d")][P("0x811")]
+              , r = e[P("0x7d8")].createTriangulation
+              , n = e.delaunay[P("0x813")]
+              , o = e[P("0x1f2")][P("0x814")];
+            function a(e) {
+                return [Math[P("0x7d")](e[0], e[1]), Math[P("0xee")](e[0], e[1])]
+            }
+            function s(e, t) {
+                return e[0] - t[0] || e[1] - t[1]
+            }
+            function x(e, t, i) {
+                return t in e ? e[t] : i
+            }
+            t.cdt2d = function(e, t, l) {
+                t = d()(t) ? (l = l || {},
+                t || []) : (l = t || {},
+                []);
+                var c = !!x(l, "delaunay", !0)
+                  , u = !!x(l, "interior", !0)
+                  , h = !!x(l, P("0x816"), !0)
+                  , f = !!x(l, P("0x817"), !1);
+                if (!u && !h || 0 === e.length)
+                    return [];
+                var g = i(e, t);
+                if (c || u != h || f) {
+                    for (var p = r(e[P("0x0")], t[P("0x815")](a).sort(s)), m = 0; m < g.length; ++m) {
+                        var b = g[m];
+                        p[P("0x7dd")](b[0], b[1], b[2])
+                    }
+                    return c && n(e, p),
+                    h ? u ? f ? o(p, 0, f) : p[P("0x7e0")]() : o(p, 1, f) : o(p, -1)
+                }
+                return g
+            }
+        }(V),
+        function(e) {
+            function t(t) {
+                t = t || {},
+                this[P("0x563")] = void 0,
+                this[P("0x54e")] = void 0;
+                var i = t[P("0x0")];
+                e[P("0x14")](i) && 2 <= i && (this[P("0x563")] = e[P("0x23")][P("0x119")](t[0]),
+                this[P("0x54e")] = e[P("0x23")][P("0x119")](t[1]))
+            }
+            var i = V[P("0x812")][P("0x812")];
+            function r(i) {
+                i = i || {},
+                this[P("0x818")] = [];
+                var r = i[P("0x0")];
+                if (e[P("0x14")](r) && 3 == r)
+                    for (var n = 0; n < 3; n++) {
+                        var o = new t(i[n]);
+                        this[P("0x818")][P("0x17c")](o)
+                    }
+            }
+            function n(i) {
+                i = i || {},
+                this[P("0x818")] = [];
+                var r = i[P("0x0")];
+                if (e[P("0x14")](r) && 3 <= r)
+                    for (var n = 0; n < r; n++) {
+                        var o = new t(i[n]);
+                        this[P("0x818")][P("0x17c")](o)
+                    }
+            }
+            function o(t) {
+                t = t || {},
+                this[P("0x81c")] = [];
+                var i = t[P("0x0")];
+                if (e[P("0x14")](i))
+                    for (var r = 0; r < i; r++) {
+                        var o = new n(t[r]);
+                        this[P("0x81c")][P("0x17c")](o)
+                    }
+            }
+            t[P("0x3d0")] = function(e) {
+                var i = new t;
+                return i[P("0x563")] = e[0],
+                i[P("0x54e")] = e[1],
+                i
+            }
+            ,
+            t.prototype[P("0x6d")] = function(e, i) {
+                return (i = i || new t)[P("0x563")] = this[P("0x563")] + e[P("0x563")],
+                i.lat = this.lat + e.lat,
+                i
+            }
+            ,
+            t[P("0x5")].scale = function(e, i) {
+                return (i = i || new t)[P("0x563")] = this.lon * e,
+                i[P("0x54e")] = this[P("0x54e")] * e,
+                i
+            }
+            ,
+            r[P("0x3d0")] = function(i) {
+                var n = new r
+                  , o = i[P("0x0")];
+                if (e[P("0x14")](o) && 3 == o)
+                    for (var a = 0; a < 3; a++) {
+                        var s = t[P("0x3d0")](i[a]);
+                        n._points[P("0x17c")](s)
+                    }
+                return n
+            }
+            ,
+            r.prototype[P("0x11a")] = function() {
+                for (var e = new t([0, 0]), i = this._points, r = i[P("0x0")], n = 0; n < r; n++) {
+                    var o = i[n];
+                    e[P("0x6d")](o, e),
+                    e[P("0xfc")](.5, e)
+                }
+                return e
+            }
+            ,
+            r[P("0x5")].adjustOrder = function() {
+                var t = this[P("0x818")];
+                if (3 == t.length) {
+                    var i = new e.Cartesian3(t[0][P("0x563")],t[0][P("0x54e")])
+                      , r = new (e[P("0x11")])(t[1].lon,t[1][P("0x54e")])
+                      , n = new (e[P("0x11")])(t[2][P("0x563")],t[2].lat)
+                      , o = e[P("0x11")][P("0x95")](r, i, new (e[P("0x11")]))
+                      , a = e[P("0x11")][P("0x95")](n, i, new (e[P("0x11")]))
+                      , s = e[P("0x11")][P("0x99")](o, a, new (e[P("0x11")]));
+                    if (e[P("0x11")][P("0x8d")](s, s),
+                    !(0 < e[P("0x11")][P("0x92")](s, e.Cartesian3[P("0xc3")]))) {
+                        var x = t[0];
+                        t[0] = t[2],
+                        t[2] = x
+                    }
+                }
+            }
+            ,
+            r[P("0x5")][P("0x819")] = function(t, i) {
+                var r = this[P("0x818")]
+                  , n = r[P("0x0")];
+                if (3 != n)
+                    return !1;
+                for (var o = 0; o < n; o++) {
+                    var a = r[o]
+                      , s = e[P("0x11")][P("0x3d0")](a[P("0x563")], a[P("0x54e")], 0);
+                    e[P("0x1b")][P("0xd4")](t, s, s),
+                    i.push(s)
+                }
+                return !0
+            }
+            ,
+            r[P("0x5")].peekSource = function(t, i) {
+                var r = [];
+                if (this[P("0x819")](t, r)) {
+                    var n = r[0]
+                      , o = r[1]
+                      , a = e[P("0x11")][P("0x95")](o, n, new (e[P("0x11")]));
+                    e[P("0x11")][P("0x8d")](a, a);
+                    var s = e[P("0x11")][P("0x99")](e[P("0x11")].UNIT_Z, a, new (e[P("0x11")]));
+                    e.Cartesian3.normalize(s, s);
+                    var x = -e[P("0x11")][P("0x92")](s, n);
+                    i[P("0x17c")](new (e[P("0x368")])(s,x)),
+                    n = r[1],
+                    o = r[2],
+                    a = e.Cartesian3[P("0x95")](o, n, new (e[P("0x11")])),
+                    e.Cartesian3[P("0x8d")](a, a),
+                    s = e.Cartesian3.cross(e[P("0x11")].UNIT_Z, a, new (e[P("0x11")])),
+                    e[P("0x11")][P("0x8d")](s, s),
+                    x = -e.Cartesian3[P("0x92")](s, n),
+                    i[P("0x17c")](new (e[P("0x368")])(s,x)),
+                    n = r[2],
+                    o = r[0],
+                    a = e[P("0x11")][P("0x95")](o, n, new (e[P("0x11")])),
+                    e.Cartesian3[P("0x8d")](a, a),
+                    s = e[P("0x11")][P("0x99")](e[P("0x11")].UNIT_Z, a, new (e[P("0x11")])),
+                    e[P("0x11")].normalize(s, s),
+                    x = -e[P("0x11")][P("0x92")](s, n),
+                    i[P("0x17c")](new (e[P("0x368")])(s,x))
+                }
+            }
+            ,
+            r.prototype[P("0x81a")] = function(t) {
+                var i = [];
+                if (!this[P("0x819")](t, i))
+                    return null;
+                var r = i[0]
+                  , n = i[1]
+                  , o = e.Cartesian3.subtract(n, r, new e.Cartesian3);
+                return e[P("0x11")].normalize(o, o),
+                o
+            }
+            ,
+            r[P("0x5")].computeBoundingSphere = function(t) {
+                var i = [];
+                if (!this[P("0x819")](t, i))
+                    return null;
+                var r = i[0]
+                  , n = e.Cartesian3.distance(r, i[1])
+                  , o = e.Cartesian3[P("0x8e")](r, i[2]);
+                return o < n && (o = n),
+                new (e[P("0x5f1")])(r,o)
+            }
+            ,
+            n[P("0x5")][P("0x81b")] = function(e, t) {
+                var i = e[P("0x0")]
+                  , r = i
+                  , n = this._points;
+                i = n[P("0x0")];
+                for (var o = 0; o < i; o++) {
+                    var a = o + 1;
+                    a == i && (a = 0);
+                    var s = n[o];
+                    e.push([s[P("0x563")], s[P("0x54e")]]),
+                    t[P("0x17c")]([r + o, r + a])
+                }
+            }
+            ,
+            o[P("0x5")][P("0x81d")] = function(e, t, i) {
+                for (var r = i[P("0x0")], n = 0; n < r; n++) {
+                    var o = i[n];
+                    if (o[0] == e && o[1] == t)
+                        return !0;
+                    if (o[0] == t && o[1] == e)
+                        return !0
+                }
+                return !1
+            }
+            ,
+            o[P("0x5")]._checkCell = function(e, t) {
+                for (var i = e[P("0x0")], r = 0; r < i; r++) {
+                    var n = r + 1;
+                    if (n == i && (n = 0),
+                    !this[P("0x81d")](e[r], e[n], t))
+                        return !1
+                }
+                return !0
+            }
+            ,
+            o[P("0x5")][P("0x81e")] = function(e, t) {
+                for (var i = [], r = e[P("0x0")], n = 0; n < r; n++) {
+                    var o = e[n];
+                    this[P("0x81f")](o, t) && i.push(o)
+                }
+                e.length = 0,
+                r = i[P("0x0")];
+                for (var a = 0; a < r; a++)
+                    e[P("0x17c")](i[a])
+            }
+            ,
+            o[P("0x5")][P("0x820")] = function(t) {
+                var n = []
+                  , o = []
+                  , a = this[P("0x81c")]
+                  , s = a[P("0x0")];
+                if (!(s < 1)) {
+                    for (var x = 0; x < s; x++)
+                        a[x].take(n, o);
+                    var l = i(n, o, {
+                        delaunay: !0,
+                        interior: !0,
+                        exterior: !1,
+                        infinity: !1
+                    });
+                    if (e[P("0x14")](l) && e[P("0x14")](l[P("0x0")])) {
+                        s = l.length;
+                        for (var c = 0; c < s; c++) {
+                            var u = l[c]
+                              , h = r.fromRadians([n[u[0]], n[u[1]], n[u[2]]]);
+                            t[P("0x17c")](h)
+                        }
+                    }
+                }
+            }
+            ;
+            var a = e[P("0x821")] = function(t) {
+                t = t || {},
+                this[P("0x13c")] = t[P("0x13b")],
+                this[P("0x822")] = e[P("0x102")](t[P("0x823")], a.Hide),
+                this._enabled = e.defaultValue(t[P("0x364")], !0),
+                this[P("0x824")] = e[P("0x102")](t[P("0x825")], e[P("0x16a")].RED),
+                this[P("0x826")] = [],
+                this[P("0x827")] = null,
+                this._filterTexture = null,
+                this._initialize(t.polygons, t[P("0x828")])
+            }
+            ;
+            a[P("0x829")] = 0,
+            a[P("0x82a")] = 1,
+            e.defineProperties(a[P("0x5")], {
+                enabled: {
+                    get: function() {
+                        return this[P("0x82b")]
+                    },
+                    set: function(e) {
+                        this[P("0x82b")] = e
+                    }
+                },
+                clipResult: {
+                    get: function() {
+                        return this[P("0x822")]
+                    },
+                    set: function(e) {
+                        this[P("0x82c")](),
+                        this[P("0x822")] = e
+                    }
+                }
+            }),
+            a[P("0x5")][P("0x82d")] = function(t, i) {
+                if (i = e.defaultValue(i, !1))
+                    this[P("0x82e")](t, this[P("0x826")]);
+                else {
+                    var r = [];
+                    this._parsePolygons(t, r),
+                    this[P("0x82f")](r, this._polygons)
+                }
+                this[P("0x830")]()
+            }
+            ,
+            a[P("0x5")]._parseTriangles = function(t, i) {
+                var n = t[P("0x0")];
+                if (e[P("0x14")](n))
+                    for (var o = 0; o < n; o++) {
+                        var a = new r(t[o]);
+                        i[P("0x17c")](a)
+                    }
+            }
+            ,
+            a.prototype[P("0x831")] = function(t, i) {
+                var r = t[P("0x0")];
+                if (e[P("0x14")](r))
+                    for (var n = 0; n < r; n++) {
+                        var a = new o(t[n]);
+                        i.push(a)
+                    }
+            }
+            ,
+            a[P("0x5")][P("0x830")] = function() {
+                for (var e = this[P("0x826")], t = e.length, i = 0; i < t; i++)
+                    e[i][P("0x832")]()
+            }
+            ,
+            a[P("0x5")][P("0x82f")] = function(e, t) {
+                for (var i = 0; i < e[P("0x0")]; i++)
+                    e[i].triangulate(t)
+            }
+            ,
+            a[P("0x5")][P("0xd2")] = function(e) {
+                this[P("0x826")][P("0x0")] < 1 || (this[P("0x82b")] ? this._enableAll() : this[P("0x82c")]())
+            }
+            ,
+            a[P("0x5")][P("0xf4")] = function() {
+                this._polygons.length = 0,
+                this[P("0x82b")] = !1
+            }
+            ,
+            a[P("0x5")][P("0x833")] = function() {
+                this[P("0x822")] == a.Hide ? this[P("0x834")]() : this[P("0x835")]()
+            }
+            ,
+            a[P("0x5")][P("0x82c")] = function() {
+                this[P("0x822")] == a[P("0x829")] ? this[P("0x836")]() : this[P("0x837")]()
+            }
+            ,
+            a[P("0x5")]._enableHideAll = function() {
+                var e = this[P("0x13c")][P("0x10f")][P("0x17d")];
+                this[P("0x838")](e);
+                var t = this[P("0x13c")][P("0x10f")].globe;
+                this[P("0x839")](t),
+                scene.skyBox[P("0x221")] = !1,
+                scene[P("0x83a")][P("0x221")] = !1
+            }
+            ,
+            a[P("0x5")]._disableHideAll = function() {
+                var e = this[P("0x13c")].scene[P("0x17d")];
+                this[P("0x83b")](e);
+                var t = this[P("0x13c")].scene[P("0xa3")];
+                this[P("0x83c")](t),
+                scene[P("0x83d")].show = !0,
+                scene[P("0x83a")][P("0x221")] = !0
+            }
+            ,
+            a[P("0x5")]._enableShowAll = function() {
+                var e = this[P("0x13c")].scene[P("0x17d")];
+                this[P("0x838")](e);
+                var t = this._viewer[P("0x10f")][P("0xa3")];
+                this[P("0x839")](t),
+                scene[P("0x83d")][P("0x221")] = !1,
+                scene[P("0x83a")][P("0x221")] = !1
+            }
+            ,
+            a[P("0x5")][P("0x837")] = function() {
+                var e = this[P("0x13c")].scene[P("0x17d")];
+                this[P("0x83b")](e);
+                var t = this[P("0x13c")][P("0x10f")][P("0xa3")];
+                this._disableGlobe(t)
+            }
+            ,
+            a[P("0x5")][P("0x838")] = function(e) {
+                for (var t = e.length, i = 0; i < t; i++)
+                    this[P("0x83e")](e[P("0x306")][i])
+            }
+            ,
+            a[P("0x5")][P("0x83b")] = function(e) {
+                for (var t = e[P("0x0")], i = 0; i < t; i++)
+                    this[P("0x83f")](e[P("0x306")][i])
+            }
+            ,
+            a[P("0x5")][P("0x83e")] = function(t) {
+                t instanceof e[P("0x2e1")] ? this._enableTileset(t) : t instanceof e[P("0x51e")] ? this[P("0x838")](t) : t instanceof e.EntityCluster ? this[P("0x840")](t) : t instanceof e[P("0x841")] && this[P("0x842")](t)
+            }
+            ,
+            a[P("0x5")][P("0x83f")] = function(t) {
+                t instanceof e[P("0x2e1")] ? this._removeEffectFromTileset(t) : t instanceof e.PrimitiveCollection ? this[P("0x83b")](t) : t instanceof e[P("0x843")] ? this[P("0x844")](t) : t instanceof e[P("0x841")] && this[P("0x845")](t)
+            }
+            ,
+            a[P("0x5")][P("0x840")] = function(e) {
+                var t = e[P("0x846")];
+                if (t)
+                    for (var i = t[P("0x847")], r = i[P("0x0")], n = 0; n < r; n++)
+                        i[n]
+            }
+            ,
+            a[P("0x5")][P("0x844")] = function(e) {
+                var t = e._pointCollection;
+                if (t)
+                    for (var i = t[P("0x847")], r = i[P("0x0")], n = 0; n < r; n++)
+                        i[n]
+            }
+            ,
+            a[P("0x5")]._enableGlobe = function(t) {
+                if (e.defined(t[P("0x365")]))
+                    t[P("0x365")][P("0x364")] = !0;
+                else {
+                    var i = this._calcClipCenter()
+                      , r = e[P("0x1f")][P("0xbf")](i);
+                    r = e[P("0x1b")][P("0x4e2")](r, new e.Matrix4);
+                    var n = this[P("0x848")](r);
+                    t.clippingPlanes = n
+                }
+            }
+            ,
+            a.prototype._disableGlobe = function(t) {
+                e[P("0x14")](t) && e[P("0x14")](t.clippingPlanes) && (t[P("0x365")] = void 0,
+                this[P("0x849")](t._surface))
+            }
+            ,
+            a[P("0x5")]._clearSurfaceClippingPlanes = function(t) {
+                t[P("0x84a")] = !0,
+                t[P("0x84b")][P("0x84c")] = void 0,
+                t._tilesToRender[P("0x0")] = 0,
+                e[P("0x14")](t._tileProvider) && e.defined(t._tileProvider[P("0x84d")]) && this[P("0x84e")](t[P("0x84b")]._surfaceShaderSet[P("0x84f")])
+            }
+            ,
+            a[P("0x5")][P("0x84e")] = function(t) {
+                if (e[P("0x14")](t) && e.defined(t[P("0x0")]))
+                    for (var i = t[P("0x0")], r = 0; r < i; r++)
+                        t[r] = void 0
+            }
+            ,
+            a[P("0x5")][P("0x850")] = function() {
+                var t = this[P("0x826")]
+                  , i = t[P("0x0")];
+                if (!(i < 1)) {
+                    for (var r = new (e[P("0x13")]), n = 0; n < i; n++) {
+                        var o = t[n][P("0x11a")]();
+                        r[P("0x112")] += o[P("0x563")],
+                        r.latitude += o[P("0x54e")],
+                        r[P("0x112")] *= .5,
+                        r.latitude *= .5
+                    }
+                    return e.Cartesian3[P("0x3d0")](r.longitude, r[P("0x114")], r[P("0x8b")])
+                }
+            }
+            ,
+            a[P("0x5")][P("0x842")] = function(t) {
+                if (e[P("0x14")](t[P("0x365")]))
+                    t[P("0x365")][P("0x364")] = !0;
+                else if (t[P("0x48b")]) {
+                    var i = e[P("0x11")][P("0x6c")](t[P("0x55b")][P("0x11a")], .5, new (e[P("0x11")]))
+                      , r = e[P("0x1b")][P("0x851")](i, new e.Matrix4)
+                      , n = (i = e[P("0x1b")][P("0xd4")](t[P("0x4ac")], t[P("0x55b")][P("0x11a")], new e.Cartesian3),
+                    e.Matrix4[P("0x737")](r, t.modelMatrix, new e.Matrix4));
+                    n = e[P("0x1b")][P("0x4e2")](n, new (e[P("0x1b")]));
+                    var o = this._generateClipPlanes(n);
+                    t[P("0x365")] = o
+                }
+            }
+            ,
+            a.prototype._disableModel = function(t) {
+                e[P("0x14")](t[P("0x365")]) && (t.clippingPlanes = void 0,
+                t[P("0x852")] = !0)
+            }
+            ,
+            a[P("0x5")][P("0x848")] = function(e) {
+                return this[P("0x822")] == a[P("0x829")] ? this[P("0x853")](e) : this[P("0x854")](e)
+            }
+            ,
+            a[P("0x5")][P("0x853")] = function(t) {
+                var i = this[P("0x855")](t);
+                if (e.defined(i)) {
+                    var r = new e.ClippingPlaneCollection({
+                        planes: i,
+                        edgeWidth: .5,
+                        edgeColor: e[P("0x16a")][P("0x856")],
+                        unionClippingRegions: !0
+                    });
+                    return r[P("0x857")] = {},
+                    r[P("0x857")][P("0x858")] = !0,
+                    r[P("0x857")][P("0x859")] = function(e) {
+                        return P("0x85a") + "{\n    vec4 position = czm_windowToEyeCoordinates(fragCoord);\n" + P("0x85b") + "    vec3 clipPosition = vec3(0.0);\n" + P("0x85c") + P("0x85d") + P("0x85e") + "    for (int i = 0; i < " + e + "; i+=3)\n" + P("0x85f") + "        int j = i;\n" + P("0x860") + P("0x861") + P("0x862") + P("0x863") + "        clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n" + P("0x864") + P("0x865") + P("0x866") + P("0x867") + P("0x868") + P("0x869") + "           amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n" + P("0x86a") + P("0x86b") + P("0x86c") + "               j++;\n" + P("0x86d") + P("0x86e") + "               clipPosition = -clippingPlane.w * clipNormal;\n" + P("0x86f") + P("0x870") + "               if (amount > 0.0)\n" + P("0x871") + P("0x872") + P("0x873") + P("0x874") + P("0x875") + P("0x7bf") + P("0x7b7") + P("0x876") + P("0x877") + "    }\n    return clipAmount;\n}\n"
+                    }
+                    ,
+                    r.mularea[P("0x878")] = function(e, t, i) {
+                        return P("0x879") + P("0x87a") + P("0x87b") + "void main() \n" + P("0x87c") + P("0x87d") + "    float clipDistance = clip(gl_FragCoord, " + e + ", " + t + P("0x87e") + "    vec4 clippingPlanesEdgeColor = vec4(1.0); \n" + P("0x87f") + i + P("0x880") + P("0x881") + i + ".a; \n" + P("0x882") + "    { \n" + P("0x883") + P("0x884") + P("0x885")
+                    }
+                    ,
+                    r
+                }
+            }
+            ,
+            a.prototype[P("0x854")] = function(t) {
+                var i = this._generateSourcePlanes(t);
+                if (e[P("0x14")](i)) {
+                    var r = new (e[P("0x36a")])({
+                        planes: i,
+                        edgeWidth: this[P("0x824")][P("0x671")],
+                        edgeColor: this[P("0x824")],
+                        unionClippingRegions: !0
+                    });
+                    return r[P("0x857")] = {},
+                    r[P("0x857")][P("0x858")] = !1,
+                    r[P("0x857")][P("0x859")] = function(e) {
+                        return P("0x85a") + "{\n    vec4 position = czm_windowToEyeCoordinates(fragCoord);\n    vec3 clipNormal = vec3(0.0);\n" + P("0x886") + P("0x85c") + P("0x85d") + P("0x85e") + P("0x7bc") + e + "; i+=3)\n" + P("0x85f") + P("0x887") + P("0x860") + P("0x861") + "        clipPosition = -clippingPlane.w * clipNormal;\n        float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n" + P("0x888") + P("0x864") + P("0x865") + "           j++;\n" + P("0x867") + P("0x868") + P("0x869") + P("0x889") + P("0x86a") + P("0x86b") + P("0x86c") + P("0x88a") + "               clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n" + P("0x86e") + "               clipPosition = -clippingPlane.w * clipNormal;\n" + P("0x86f") + P("0x870") + P("0x88b") + P("0x871") + "                   bDiscard = false;\n" + P("0x873") + "               }\n" + P("0x875") + P("0x7bf") + P("0x88c") + P("0x7b7") + P("0x876") + "        return -100.0;\n    }\n    return 100.0;\n}\n"
+                    }
+                    ,
+                    r[P("0x857")][P("0x878")] = function(e, t, i) {
+                        return P("0x879") + P("0x87a") + P("0x87b") + P("0x88d") + "{ \n" + P("0x87d") + P("0x88e") + e + ", " + t + P("0x87e") + "    vec4 clippingPlanesEdgeColor = vec4(1.0); \n" + P("0x87f") + i + P("0x880") + P("0x881") + i + P("0x88f") + P("0x890") + P("0x891") + "        gl_FragColor = mix(gl_FragColor, clippingPlanesEdgeColor, clippingPlanesEdgeWidth);\n" + P("0x884") + P("0x885")
+                    }
+                    ,
+                    r
+                }
+            }
+            ,
+            a[P("0x5")][P("0x855")] = function(e) {
+                var t = this[P("0x826")]
+                  , i = t[P("0x0")];
+                if (!(i < 1)) {
+                    for (var r = [], n = 0; n < i; n++)
+                        t[n][P("0x892")](e, r);
+                    return r
+                }
+            }
+            ,
+            a.prototype[P("0x893")] = function(t) {
+                var i = e[P("0x13")][P("0x1a1")](t[0], t[1], 0);
+                this[P("0x894")][P("0x17c")](i)
+            }
+            ,
+            a.prototype._unloadTileCallback = function(e, t) {
+                e[P("0x895")][P("0x896")](t),
+                e[P("0x897")][P("0x898")](t[P("0x490")]),
+                --e[P("0x897")][P("0x899")],
+                t[P("0x89a")]()
+            }
+            ,
+            a[P("0x5")][P("0x89b")] = function(t) {
+                if (e[P("0x14")](t[P("0x365")]))
+                    t[P("0x365")][P("0x364")] = !0;
+                else if (t[P("0x89c")] && t[P("0x89c")][P("0x4bc")]) {
+                    var i = t._root[P("0x4bc")][P("0x55b")].center
+                      , r = e[P("0x1f")][P("0xbf")](i);
+                    r = e.Matrix4.inverse(r, new (e[P("0x1b")]));
+                    var n = this[P("0x848")](r);
+                    t[P("0x365")] = n
+                }
+            }
+            ,
+            a[P("0x5")]._disableTileset = function(t) {
+                e[P("0x14")](t[P("0x365")]) && (t[P("0x365")][P("0x364")] = !1)
+            }
+            ,
+            a[P("0x5")][P("0x89d")] = function(t) {
+                e[P("0x14")](t.clippingPlanes) && (t.clippingPlanes = void 0,
+                t[P("0x89e")][P("0xf1")](),
+                t[P("0x89e")][P("0x89f")](),
+                t[P("0x89e")][P("0x8a0")](t, this[P("0x8a1")]))
+            }
+        }(window.Cesium),
+        function(e) {
+            function t(t) {
+                if (t = e[P("0x102")](t, e[P("0x102")][P("0x128")]),
+                !e[P("0x14")](t[P("0x13b")]))
+                    throw new DeveloperError(P("0x63a"));
+                if (this[P("0x13c")] = t[P("0x13b")],
+                !e[P("0x14")](t[P("0x11a")]))
+                    throw new DeveloperError("center is required.");
+                this[P("0x5b4")] = e[P("0x102")](t[P("0x11a")], []);
+                var i = e.defaultValue(t[P("0x8b")], e.GeoRadarScan.DEFAULT_HEIGHT);
+                this._height = i,
+                this[P("0x63c")] = e[P("0x102")](t[P("0x181")], e[P("0x8a2")][P("0x64c")]),
+                this[P("0x596")] = e[P("0x102")](t[P("0x169")], e[P("0x8a2")][P("0x648")]),
+                this[P("0x319")] = e[P("0x102")](t.lineColor, e[P("0x8a2")][P("0x648")]),
+                this[P("0x31a")] = e[P("0x102")](t[P("0x197")], e[P("0x8a2")][P("0x8a3")]),
+                this[P("0x8a4")] = e[P("0x102")](t.sectorColor, e.GeoRadarScan[P("0x648")]),
+                this[P("0x8a5")] = e[P("0x102")](t[P("0x8a6")], e[P("0x8a2")][P("0x8a7")]);
+                var r = this[P("0x5b4")][0]
+                  , n = this._center[1]
+                  , o = e.defaultValue(this[P("0x63c")], 0);
+                this._radarScanEntity = null,
+                this[P("0x8a8")](r, n, i, o, this[P("0x596")], this[P("0x319")], this[P("0x31a")], this[P("0x8a5")])
+            }
+            e.defineProperties(t[P("0x5")], {
+                lineColor: {
+                    get: function() {
+                        return this._lineColor
+                    },
+                    set: function(e) {
+                        this[P("0x319")] = e,
+                        this[P("0x8a9")]()
+                    }
+                },
+                lineWidth: {
+                    get: function() {
+                        return this._lineWidth
+                    },
+                    set: function(e) {
+                        this[P("0x31a")] = e,
+                        this[P("0x8a9")]()
+                    }
+                },
+                sectorColor: {
+                    get: function() {
+                        return this[P("0x8a4")]
+                    },
+                    set: function(e) {
+                        this[P("0x8a4")] = e,
+                        this[P("0x8aa")]()
+                    }
+                },
+                sectorWidth: {
+                    get: function() {
+                        return this._sectorWidth
+                    },
+                    set: function(e) {
+                        this[P("0x8a5")] = e,
+                        this._updateSectorMaterial()
+                    }
+                }
+            }),
+            t[P("0x5")][P("0xf4")] = function() {
+                this[P("0x13c")] && this[P("0x13c")][P("0x194")][P("0x17f")](this._radarScanEntity)
+            }
+            ,
+            t[P("0x5")][P("0x645")] = function(t) {
+                this._isShow = e[P("0x102")](t, !0),
+                this[P("0x8ab")][P("0x221")] = t,
+                this[P("0x8ac")][P("0x221")] = t
+            }
+            ,
+            t[P("0x5")][P("0x8ad")] = function(t) {
+                this[P("0x319")] = e[P("0x102")](t, e.GeoRadarScan[P("0x648")])
+            }
+            ,
+            t[P("0x5")][P("0x8ae")] = function() {
+                return this[P("0x319")]
+            }
+            ,
+            t.prototype[P("0x8af")] = function(t) {
+                this[P("0x8a4")] = e.defaultValue(t, e[P("0x8a2")].DEFAULT_COLOR)
+            }
+            ,
+            t.prototype.getsectorColor = function() {
+                return this[P("0x8a4")]
+            }
+            ,
+            t.prototype[P("0x647")] = function(t) {
+                this[P("0x596")] = e[P("0x102")](t, e[P("0x8a2")][P("0x648")]),
+                this[P("0x8ab")][P("0x649")][P("0x19c")][P("0x169")] = this._color
+            }
+            ,
+            t[P("0x5")][P("0x64a")] = function() {
+                return this[P("0x596")]
+            }
+            ,
+            t[P("0x5")].setRadius = function(t) {
+                this[P("0x63c")] = e[P("0x102")](t, e[P("0x8a2")].DEFAULT_RADIUS),
+                this[P("0x8ab")][P("0x649")][P("0x64d")] = this[P("0x63c")]
+            }
+            ,
+            t.prototype[P("0x64e")] = function() {
+                return this[P("0x63c")]
+            }
+            ,
+            t.prototype[P("0x64f")] = function(t) {
+                if (!e.defined(t))
+                    throw new DeveloperError("position is required.");
+                this[P("0x8ab")][P("0x8c")] = position,
+                this[P("0x5b4")] = position
+            }
+            ,
+            t[P("0x5")][P("0x8a8")] = function(t, i, r, n, o, a, s, x) {
+                var l = this[P("0x13c")];
+                a = this[P("0x319")],
+                x = this[P("0x8a4")];
+                var c = e[P("0x23")][P("0x119")](30);
+                if (!this[P("0x8ab")]) {
+                    var u = l.entities[P("0x6d")]({
+                        position: e[P("0x11")].fromDegrees(t, i, r),
+                        ellipse: {
+                            semiMinorAxis: n,
+                            semiMajorAxis: n,
+                            rotation: new (e[P("0x652")])(f,!1),
+                            stRotation: new (e[P("0x652")])(f,!1),
+                            material: new (e[P("0x651")])({
+                                image: function(e, t, i, r) {
+                                    var n = document[P("0x15c")]("canvas");
+                                    n[P("0x19a")] = 1024,
+                                    n[P("0x8b")] = 1024;
+                                    var o = n[P("0x476")]("2d");
+                                    return e == P("0x449") && (o[P("0x65b")] = function(e) {
+                                        return P("0x8b1") + 255 * e.red + "," + 255 * e.green + "," + 255 * e[P("0x670")] + "," + .5 * e.alpha + ")"
+                                    }(t),
+                                    o.lineWidth = i,
+                                    o[P("0x658")](),
+                                    o[P("0x659")](512, 512, 512 - (i / 2 + 2), 0, 2 * Math.PI, !0),
+                                    o.stroke(),
+                                    o[P("0x65a")]()),
+                                    e == P("0x8b0") && function(e, t, i, r, n, o) {
+                                        var a = Math.PI / 180;
+                                        i = i || 0,
+                                        r = r || 512,
+                                        n = n || 200,
+                                        o = o || P("0x8b2"),
+                                        t = t || P("0x8b3"),
+                                        e[P("0x658")](),
+                                        e[P("0x65b")] = P("0x8b1") + o + P("0x8b4");
+                                        for (var s = r - 2, x = (d(s, i),
+                                        n), l = 0; l < x; l++) {
+                                            var c = .5 - l
+                                              , u = d(s, .5 - l - 1)
+                                              , h = d(s, c)
+                                              , f = 1 - l / x - .3;
+                                            0 == l && (f = 1),
+                                            e[P("0x658")](),
+                                            e.fillStyle = P("0x8b1") + t.red + "," + t[P("0x66f")] + "," + t[P("0x670")] + "," + f + ")",
+                                            e[P("0x8b5")](512, 512),
+                                            e[P("0x8b6")](u.x, u.y),
+                                            e.lineTo(h.x, h.y),
+                                            e[P("0x8b7")]()
+                                        }
+                                        function d(e, t) {
+                                            return {
+                                                x: e * Math[P("0x9a")](a * t),
+                                                y: e * Math[P("0x98")](a * t)
+                                            }
+                                        }
+                                    }(o, r, null),
+                                    n
+                                }(P("0x8b0"), a, s, x),
+                                transparent: !0
+                            })
+                        }
+                    });
+                    this[P("0x8ab")] = u
+                }
+                if (!this[P("0x8ac")]) {
+                    var h = l[P("0x194")][P("0x6d")]({
+                        position: e.Cartesian3[P("0x1a1")](t, i, r),
+                        ellipse: {
+                            semiMinorAxis: n,
+                            semiMajorAxis: n
+                        }
+                    });
+                    this[P("0x8ac")] = h,
+                    this._updateBorderMaterial()
+                }
+                function f() {
+                    return c += .05
+                }
+            }
+            ,
+            t.prototype._createCanvas = function(t, i, r, n) {
+                var o = document[P("0x15c")](P("0x48"));
+                o[P("0x19a")] = 1024,
+                o.height = 1024;
+                var a, s = o[P("0x476")]("2d");
+                return t == P("0x449") && (s[P("0x65b")] = (a = i,
+                P("0x8b1") + 255 * a[P("0x66e")] + "," + 255 * a[P("0x66f")] + "," + 255 * a.blue + "," + .5 * a[P("0x671")] + ")"),
+                s[P("0x197")] = r,
+                s[P("0x658")](),
+                s.arc(512, 512, 512 - (r / 2 + 2), 0, 2 * Math.PI, !0),
+                s[P("0x65e")](),
+                s[P("0x65a")]()),
+                "radar" == t && function(t, i, r, n, o, a) {
+                    var s = Math.PI / 180;
+                    r = r || 0,
+                    n = n || 512,
+                    o = o || 200,
+                    a = a || P("0x8b2"),
+                    i = i || e.GeoRadarScan[P("0x648")],
+                    t[P("0x658")](),
+                    t[P("0x65b")] = P("0x8b1") + a + ",1)";
+                    for (var x = n - 2, l = (g(x, r),
+                    o), c = 0; c < l; c++) {
+                        var u = .5 - c
+                          , h = g(x, .5 - c - 1)
+                          , f = g(x, u)
+                          , d = 1 - c / l - .3;
+                        0 == c && (d = 1),
+                        t.beginPath(),
+                        t[P("0x484")] = P("0x8b1") + i[P("0x66e")] + "," + i[P("0x66f")] + "," + i.blue + "," + d + ")",
+                        t[P("0x8b5")](512, 512),
+                        t.lineTo(h.x, h.y),
+                        t.lineTo(f.x, f.y),
+                        t[P("0x8b7")]()
+                    }
+                    function g(e, t) {
+                        return {
+                            x: e * Math[P("0x9a")](s * t),
+                            y: e * Math[P("0x98")](s * t)
+                        }
+                    }
+                }(s, n, null),
+                o
+            }
+            ,
+            t[P("0x5")][P("0x8a9")] = function() {
+                this[P("0x8ac")].ellipse[P("0x19c")] = new (e[P("0x651")])({
+                    image: this[P("0x8b8")](P("0x449"), this[P("0x319")], this[P("0x197")], this[P("0x8a4")]),
+                    transparent: !0
+                })
+            }
+            ,
+            t[P("0x5")][P("0x8aa")] = function() {
+                this[P("0x8ab")].ellipse[P("0x19c")] = new (e[P("0x651")])({
+                    image: this[P("0x8b8")](P("0x8b0"), this[P("0x319")], this[P("0x197")], this._sectorColor),
+                    transparent: !0
+                })
+            }
+            ,
+            e.GeoRadarScan = t,
+            e[P("0x8a2")].DEFAULT_HEIGHT = 0,
+            e.GeoRadarScan[P("0x64c")] = 25e3,
+            e[P("0x8a2")].DEFAULT_COLOR = e[P("0x16a")][P("0x2cf")],
+            e.GeoRadarScan.DEFAULT_SECTOR_COLOR = e[P("0x16a")].WHITE,
+            e.GeoRadarScan[P("0x8a3")] = 5,
+            e[P("0x8a2")][P("0x8a7")] = 200
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x8b9")] = function(t) {
+                this[P("0x13c")] = t.viewer,
+                this[P("0x63c")] = t[P("0x181")],
+                this[P("0x63c")] *= 1.65;
+                var i = e.Cartographic[P("0x1a1")][P("0x346")](this, t[P("0x11a")]);
+                this[P("0x5b4")] = e.Cartesian3.fromRadians(i[P("0x112")], i[P("0x114")], i[P("0x8b")]),
+                this[P("0x596")] = t[P("0x169")] ? t.color[P("0x6e")]() : e[P("0x16a")].ORANGE.withAlpha(.35)[P("0x6e")](),
+                this[P("0x31a")] = t[P("0x197")] ? t[P("0x197")] : 1,
+                this[P("0x5b9")] = t[P("0x539")] ? t[P("0x539")] : 1,
+                this[P("0x8ba")] = !!t[P("0x8bb")] && t[P("0x8bb")],
+                this._enabled = !t[P("0x364")] || t[P("0x364")],
+                this[P("0x8bc")] = null,
+                this[P("0x8bd")] = null,
+                this[P("0x5bc")] = 0;
+                var r = e[P("0x11")][P("0x8d")](this._center, new (e[P("0x11")]));
+                this[P("0x8be")] = function() {
+                    return r
+                }
+                ;
+                var n = this._radius / this[P("0x5b9")];
+                this._life = function() {
+                    return n
+                }
+                ,
+                this[P("0x8bf")] = function(e) {
+                    n = e
+                }
+                ;
+                var o = 0;
+                this[P("0x5cf")] = function() {
+                    return o
+                }
+                ,
+                this[P("0x8c0")] = function(e) {
+                    o = e
+                }
+                ,
+                this._finishedEvent = new e.Event,
+                this[P("0x77b")] = null,
+                this[P("0x8c1")] = e.Color.WHITE
+            }
+            ;
+            e[P("0xf")](t[P("0x5")], {
+                normal: {
+                    get: function() {
+                        return this[P("0x8be")]()
+                    }
+                },
+                life: {
+                    get: function() {
+                        return this[P("0x5bf")]()
+                    }
+                },
+                time: {
+                    get: function() {
+                        return this[P("0x5cf")]()
+                    },
+                    set: function(e) {
+                        this[P("0x8c0")](e)
+                    }
+                },
+                speed: {
+                    get: function() {
+                        return this[P("0x5b9")]
+                    },
+                    set: function(e) {
+                        this[P("0x5b9")] != e && (this[P("0x5b9")] = e,
+                        this[P("0x8bf")](this[P("0x63c")] / this[P("0x5b9")]))
+                    }
+                },
+                lineWidth: {
+                    get: function() {
+                        return this[P("0x31a")]
+                    },
+                    set: function(e) {
+                        this._lineWidth = e
+                    }
+                },
+                color: {
+                    get: function() {
+                        return this[P("0x596")]
+                    },
+                    set: function(e) {
+                        this._color = e[P("0x6e")]()
+                    }
+                },
+                repeat: {
+                    get: function() {
+                        return this[P("0x8ba")]
+                    },
+                    set: function(e) {
+                        this._repeat = e
+                    }
+                },
+                finishedEvent: {
+                    get: function() {
+                        return this[P("0x8c2")]
+                    }
+                },
+                enabled: {
+                    get: function() {
+                        return this[P("0x82b")]
+                    },
+                    set: function(e) {
+                        this[P("0x82b")] = e
+                    }
+                },
+                center: {
+                    get: function() {
+                        return this[P("0x5b4")]
+                    }
+                },
+                invViewMatrix: {
+                    get: function() {
+                        return this[P("0x77b")]
+                    }
+                }
+            }),
+            t[P("0x5")][P("0xd2")] = function(e) {
+                if (!this[P("0x82b")])
+                    return this._scanCirclePostProcess && (this._scanCirclePostProcess[P("0x364")] = !1),
+                    void (this._scanAperturePostProcess && (this[P("0x8bd")][P("0x364")] = !1));
+                this._updateTime(),
+                this[P("0x82b")] && this[P("0x8c3")](e)
+            }
+            ,
+            t[P("0x5")][P("0xf4")] = function() {
+                this[P("0x8bd")] && (this[P("0x8bd")].enabled = !1,
+                this[P("0x13c")][P("0x10f")][P("0x77c")][P("0x17f")](this._scanAperturePostProcess),
+                this[P("0x8bd")] = null),
+                this._scanCirclePostProcess && (this._scanCirclePostProcess.enabled = !1,
+                this[P("0x13c")][P("0x10f")][P("0x77c")][P("0x17f")](this[P("0x8bc")]),
+                this[P("0x8bc")] = null)
+            }
+            ,
+            t[P("0x5")][P("0x5c8")] = function() {
+                var t = e[P("0x5d0")]() / 1e3;
+                if (0 == this._lastTime)
+                    this[P("0x5bc")] = t,
+                    this[P("0x6f2")] = 0;
+                else {
+                    var i = t - this[P("0x5bc")]
+                      , r = this.life;
+                    r < i && (i = r),
+                    this[P("0x6f2")] += i,
+                    this[P("0x6f2")] > r && (this._repeat || this[P("0x8c4")](),
+                    this[P("0x6f2")] = 0),
+                    this[P("0x5bc")] = t
+                }
+            }
+            ,
+            t[P("0x5")][P("0x8c4")] = function() {
+                this[P("0x82b")] = !1,
+                this[P("0x8c2")][P("0x896")]()
+            }
+            ,
+            t[P("0x5")][P("0x8c3")] = function(e) {
+                var t = e[P("0x7e")];
+                this[P("0x77b")] = t[P("0x8c5")].clone(this._invViewMatrix),
+                this._updateScanCirclePostProcess(e),
+                this[P("0x8c6")](e)
+            }
+            ,
+            t[P("0x5")][P("0x8c7")] = function(t) {
+                var i = this;
+                if (i[P("0x8bc")])
+                    return this[P("0x8bc")][P("0x364")] = !0,
+                    void (this[P("0x13c")].scene[P("0x77c")][P("0xd1")](this[P("0x8bc")]) || (this[P("0x13c")][P("0x10f")].postProcessStages[P("0x6d")](this[P("0x8bc")]),
+                    this[P("0x8bc")][P("0xd2")](t.context, t[P("0x77d")])));
+                var r = P("0x7a0") + P("0x7a1") + P("0x8c8") + P("0x8c9") + "uniform vec3 u_normal;\n" + P("0x5fc") + "uniform vec4 u_param0;\n" + P("0x7a4") + P("0x5f9") + P("0x8ca") + P("0x8cb") + P("0x8cc") + "       gl_FragColor = color;\n" + P("0x8cd") + P("0x614") + P("0x8ce") + P("0x8cf") + P("0x8d0") + P("0x8d1") + P("0x8d2") + "   position = u_invViewMatrix * position;\n   position /= position.w;\n   float t = (u_param0.y > u_param0.x) ? u_param0.x : u_param0.y;\n   float al = (u_param0.y <= u_param0.x) ? 1.0 : clamp(1.0 - (u_param0.y - u_param0.x) / (0.65 * u_param0.x), 0.0, 1.0);\n" + P("0x8d3") + "   vec3 b = normalize(position.xyz - u_center);\n   vec3 n = normalize(u_normal);\n" + P("0x8d4") + P("0x8d5") + "       b = cross(n, nc);\n" + P("0x8d6") + P("0x8d7") + P("0x614") + "   float d = u_param0.z * t;\n" + P("0x8d8") + P("0x8d9") + P("0x8da") + P("0x8db") + P("0x8dc") + "       float r = abs(z - d5);\n       float z1 = clamp(u_color.a, 0.1, 0.6) * (1.0 - r / hw5);\n" + P("0x8dd") + "   }\n   if (z < (d + hw) && z > (d - hw)){\n" + P("0x8de") + P("0x8df") + P("0x8e0") + P("0x71d") + P("0x8e1") + "   }\n   gl_FragColor = color;\n}"
+                  , n = new (e[P("0x12")]);
+                i[P("0x8bc")] = new e.PostProcessStage({
+                    fragmentShader: r,
+                    uniforms: {
+                        u_invViewMatrix: function() {
+                            return i[P("0x8e2")]
+                        },
+                        u_center: function() {
+                            return i[P("0x11a")]
+                        },
+                        u_normal: function() {
+                            return i[P("0x4d0")]
+                        },
+                        u_color: function() {
+                            return i[P("0x169")]
+                        },
+                        u_param0: function() {
+                            return n.x = .607 * i.life,
+                            n.y = i.time,
+                            n.z = i[P("0x539")],
+                            n.w = i.lineWidth,
+                            n
+                        }
+                    }
+                }),
+                i[P("0x8bc")].enabled = !1
+            }
+            ,
+            t.prototype._updateScanAperturePostProcess = function(t) {
+                var i = this;
+                if (i[P("0x8bd")])
+                    return this[P("0x8bd")][P("0x364")] = !0,
+                    void (this._viewer.scene[P("0x77c")][P("0xd1")](this._scanAperturePostProcess) || (this[P("0x13c")][P("0x10f")][P("0x77c")][P("0x6d")](this[P("0x8bd")]),
+                    this[P("0x8bd")][P("0xd2")](t.context, t[P("0x77d")])));
+                var r = "uniform sampler2D colorTexture;\nuniform sampler2D depthTexture;\nuniform mat4 u_invViewMatrix;\nuniform vec3 u_center;\n" + P("0x8e3") + "uniform vec4 u_color;\n" + P("0x8e4") + "varying vec2 v_textureCoordinates;\n" + P("0x5f9") + "   vec4 color = texture2D(colorTexture, v_textureCoordinates);\n" + P("0x8cb") + P("0x8cc") + "       gl_FragColor = color;\n" + P("0x8cd") + P("0x614") + P("0x8ce") + P("0x8cf") + "   zd = (2.0 * zd - czm_depthRange.near - czm_depthRange.far) / (czm_depthRange.far - czm_depthRange.near);\n" + P("0x8d1") + "   vec4 position = czm_inverseProjection * vec4(xy, zd, 1.0);\n   position = u_invViewMatrix * position;\n" + P("0x8e5") + P("0x8e6") + "   float al = (u_param0.y <= u_param0.x) ? 1.0 : clamp(1.0 - (u_param0.y - u_param0.x) / (0.65 * u_param0.x), 0.0, 1.0);\n" + P("0x8d3") + P("0x8e7") + "   vec3 n = normalize(u_normal);\n" + P("0x8d4") + P("0x8d5") + P("0x8e8") + P("0x8d6") + P("0x8d7") + "   }\n" + P("0x8e9") + "   float d5 = u_param0.z * u_param0.y;\n" + P("0x8d9") + "   float hw5 = hw * 12.0;\n   float hd = dot(u_normal, position.xyz) - dot(u_normal, u_center);\n   if (z < (d5 + hw5) && z > (d5 - hw5)){\n" + P("0x8ea") + P("0x8eb") + P("0x8ec") + P("0x614") + P("0x8ed") + "       float r = abs(z - d);\n" + P("0x8ee") + P("0x8ef") + P("0x614") + P("0x728") + "}"
+                  , n = new (e[P("0x12")]);
+                i[P("0x8bd")] = new (e[P("0x7c5")])({
+                    fragmentShader: r,
+                    uniforms: {
+                        u_invViewMatrix: function() {
+                            return i[P("0x8e2")]
+                        },
+                        u_center: function() {
+                            return i[P("0x11a")]
+                        },
+                        u_normal: function() {
+                            return i.normal
+                        },
+                        u_color: function() {
+                            return i[P("0x8c1")]
+                        },
+                        u_param0: function() {
+                            return n.x = .607 * i.life,
+                            n.y = i[P("0x6f2")],
+                            n.z = i.speed,
+                            n.w = i[P("0x197")],
+                            n
+                        }
+                    }
+                }),
+                i[P("0x8bd")].enabled = !1
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x8f0")] = function(t) {
+                this[P("0x13c")] = t[P("0x13b")];
+                var i = e[P("0x13")][P("0x1a1")].apply(this, t[P("0x11a")]);
+                this[P("0x5b4")] = e[P("0x11")].fromRadians(i[P("0x112")], i.latitude, i[P("0x8b")]),
+                this[P("0x63c")] = t[P("0x181")],
+                this[P("0x596")] = t[P("0x169")] ? t[P("0x169")].clone() : e[P("0x16a")][P("0x438")][P("0x6e")](),
+                this[P("0x5b9")] = t.speed ? t.speed : 1,
+                this[P("0x8ba")] = !!t[P("0x8bb")] && t[P("0x8bb")],
+                this._enabled = !t.enabled || t[P("0x364")],
+                this._longest = e.defined(t[P("0x8f1")]) ? t[P("0x8f1")] : 15e3,
+                this[P("0x8f2")] = e.defined(t.url) ? t.url : null,
+                this[P("0x8f3")] = null,
+                this[P("0x5bc")] = 0,
+                this[P("0x48b")] = !1,
+                this[P("0x8be")] = e.Cartesian3[P("0x8d")](this[P("0x5b4")], new (e[P("0x11")])),
+                this[P("0x5bf")] = this._radius / this._speed,
+                this[P("0x5cf")] = 0,
+                this[P("0x77b")] = null,
+                this[P("0x8f4")] = null,
+                this._param0 = null,
+                this[P("0x8f5")] = null,
+                this._param2 = null,
+                this[P("0x8f6")] = null,
+                this._param4 = null,
+                this[P("0x8f7")] = !1
+            }
+            ;
+            e.defineProperties(t.prototype, {
+                enabled: {
+                    get: function() {
+                        return this[P("0x82b")]
+                    },
+                    set: function(e) {
+                        this[P("0x82b")] = e
+                    }
+                },
+                radius: {
+                    get: function() {
+                        return this[P("0x63c")]
+                    },
+                    set: function(t) {
+                        e[P("0x14")](t) && 0 != t && t != this._radius && (this[P("0x63c")] = t,
+                        this[P("0x5bf")] = this[P("0x63c")] / this[P("0x5b9")])
+                    }
+                },
+                speed: {
+                    get: function() {
+                        return this._speed
+                    },
+                    set: function(t) {
+                        e[P("0x14")](t) && 0 != t && t != this[P("0x5b9")] && (this[P("0x5b9")] = t,
+                        this[P("0x5bf")] = this._radius / this[P("0x5b9")])
+                    }
+                },
+                color: {
+                    get: function() {
+                        return this[P("0x596")]
+                    },
+                    set: function(e) {
+                        this[P("0x596")] = e
+                    }
+                }
+            }),
+            t.prototype[P("0xd2")] = function(e) {
+                var t = this;
+                t[P("0x8f8")](e[P("0x7e")]) ? (t[P("0x8f9")](e),
+                t[P("0x82b")] ? (t._updateTime(),
+                t._enabled && (t[P("0x8fa")](),
+                t._updatePostProcesses(e))) : t[P("0x8f3")] && (t[P("0x8f3")][P("0x364")] = !1)) : t[P("0x8f3")] && (t[P("0x8f3")][P("0x364")] = !1)
+            }
+            ,
+            t[P("0x5")][P("0x8fb")] = function(e) {
+                var t = this;
+                t[P("0x8f2")] != e && (t[P("0x8f2")] = e,
+                t._ready = !1,
+                t[P("0x8fc")] = null,
+                t[P("0x8f5")] = null,
+                t._param2 = null,
+                t[P("0x8f6")] = null,
+                t[P("0x8fd")] = null,
+                t[P("0x8f3")] && (t._scanPostProcess[P("0x364")] = !1,
+                t[P("0x13c")][P("0x10f")].postProcessStages[P("0x17f")](t._scanPostProcess),
+                t[P("0x8f3")] = null),
+                t._texture && (t._texture[P("0xf4")](),
+                t._texture = null),
+                t[P("0x8f7")] = !1)
+            }
+            ;
+            var i = new (e[P("0x11")]);
+            t[P("0x5")][P("0x8f8")] = function(t) {
+                return !(e[P("0x11")][P("0x96")](e.Cartesian3[P("0x95")](t.position, this[P("0x5b4")], i)) > this[P("0x8fe")])
+            }
+            ,
+            t.prototype[P("0xf4")] = function() {
+                this[P("0x8f3")] && (this._scanPostProcess[P("0x364")] = !1,
+                this[P("0x13c")][P("0x10f")].postProcessStages[P("0x17f")](this[P("0x8f3")]),
+                this._scanPostProcess = null)
+            }
+            ,
+            t[P("0x5")][P("0x5c8")] = function() {
+                var t = e[P("0x5d0")]() / 1e3;
+                if (0 == this[P("0x5bc")])
+                    this[P("0x5bc")] = t,
+                    this._time = 0;
+                else {
+                    var i = t - this._lastTime
+                      , r = this[P("0x5bf")];
+                    r < i && (i = r),
+                    this[P("0x5cf")] += i,
+                    this[P("0x5cf")] > r && (this[P("0x8ba")] || this[P("0x8c4")](),
+                    this[P("0x5cf")] = 0),
+                    this._lastTime = t
+                }
+            }
+            ,
+            t.prototype[P("0x8c4")] = function() {
+                this[P("0x82b")] = !1
+            }
+            ,
+            t[P("0x5")][P("0x8f9")] = function(t) {
+                var i = this;
+                if (null != i[P("0x8f2")]) {
+                    if (i._texture)
+                        i[P("0x48b")] = !0;
+                    else if (i[P("0x48b")] = !1,
+                    !i._loading) {
+                        i._loading = !0;
+                        var r = t.context
+                          , n = e[P("0x6ba")](i._textureUrl);
+                        e[P("0x6da")][P("0x6dc")]({
+                            url: n,
+                            headers: {
+                                "cache-control": P("0x8ff")
+                            }
+                        })[P("0x333")]((function(t) {
+                            i[P("0x8f7")] = !1,
+                            i[P("0x8f4")] = new (e[P("0x6db")])({
+                                context: r,
+                                source: t
+                            },(function(e) {
+                                hat[P("0x8f2")] = null
                             }
                             ))
+                        }
+                        ))
                     }
-                    function i(t, i) {
-                        this[P("0xc67")] = i,
-                            this[P("0x42")] = t,
-                            this._fs = null,
-                            this[P("0xc68")] = null,
-                            this[P("0x5ba")] = !1,
-                            this[P("0xc69")] = null,
-                            this[P("0xc6a")] = null,
-                            this._createEvent = new (e[P("0x766")]),
-                            this[P("0xc6b")] = new e.Event,
-                            this[P("0xc6c")] = new (e[P("0x766")])
-                    }
-                    function r() {
-                        this._minFovX = r[P("0xc9e")],
-                            this[P("0xc9f")] = r._MaxFovX,
-                            this[P("0xca0")] = r[P("0xca1")],
-                            this[P("0xca2")] = r[P("0xca3")],
-                            this[P("0xca4")] = r[P("0xca5")],
-                            this[P("0xca6")] = r[P("0xca7")],
-                            this[P("0xca8")] = r[P("0xca9")],
-                            this[P("0xcaa")] = r[P("0xcab")],
-                            this._minPitch = r[P("0xcac")],
-                            this[P("0xcad")] = r[P("0xcae")],
-                            this[P("0xcaf")] = r[P("0xcb0")],
-                            this._maxRoll = r[P("0xcb1")],
-                            this[P("0xcb2")] = r._MinSegmentCount,
-                            this[P("0xcb3")] = r[P("0xcb4")],
-                            this[P("0xcb5")] = !1,
-                            this[P("0xcb6")] = !0
-                    }
-                    function n(t, i, r) {
-                        this._scene = t,
-                            this[P("0x6b6")] = i ? i[P("0x6e")]() : null,
-                            this._videoProjection = r,
-                            this[P("0xcc0")] = null,
-                            this._fovX = 120,
-                            this[P("0xcc1")] = 60,
-                            this[P("0xcc2")] = 20,
-                            this[P("0x541")] = 0,
-                            this._pitch = 0,
-                            this[P("0x538")] = 0,
-                            this[P("0x596")] = e[P("0x16a")][P("0x338")][P("0x6e")](),
-                            this[P("0x31a")] = 2,
-                            this[P("0xcc3")] = .8,
-                            this[P("0xcc4")] = null,
-                            this[P("0xcc5")] = null,
-                            this[P("0x4a4")] = null,
-                            this[P("0xcc6")] = null,
-                            this[P("0xcc7")] = 10,
-                            this[P("0x6ce")] = null,
-                            this[P("0xcc8")] = !0,
-                            this[P("0x224")] = e.createGuid(),
-                            this[P("0x9fc")] = new (e[P("0x766")]),
-                            this[P("0x5ba")] = !1,
-                            this._visibly = !0
-                    }
-                    t.prototype[P("0xc5c")] = function () {
-                        return this[P("0x8f4")]
-                    }
-                        ,
-                        e.defineProperties(t.prototype, {
-                            ErrorEvent: {
-                                get: function () {
-                                    return this[P("0x9fc")]
+                } else
+                    i[P("0x48b")] = !0
+            }
+            ,
+            t[P("0x5")][P("0x8fa")] = function() {
+                var t = this
+                  , i = t[P("0x5b4")]
+                  , r = t[P("0x8be")]
+                  , n = e[P("0x11")][P("0x99")](e[P("0x11")][P("0xc3")], r, new (e[P("0x11")]))
+                  , o = e[P("0x11")].cross(r, n, new (e[P("0x11")]));
+                e.Cartesian3[P("0x8d")](n, n),
+                e[P("0x11")][P("0x8d")](o, o);
+                var a = e.Cartesian3[P("0xc8")](n, new (e[P("0x11")]))
+                  , s = e[P("0x11")][P("0xc8")](o, new e.Cartesian3)
+                  , x = t[P("0x5b9")] * t._time;
+                if (null == t[P("0x8f2")])
+                    x /= 1.532,
+                    t._param0 = new (e[P("0x12")])(i.x,i.y,i.z),
+                    t[P("0x8f5")] = new e.Cartesian4(r.x,r.y,r.z),
+                    t[P("0x900")] = new (e[P("0x12")])(x),
+                    t[P("0x8f6")] = new (e[P("0x12")])(r.x,r.y,r.z,-e[P("0x11")][P("0x92")](r, i));
+                else {
+                    var l = e.Cartesian3[P("0x6d")](i, e[P("0x11")][P("0x6c")](a, x, new (e[P("0x11")])), new (e[P("0x11")]))
+                      , c = e[P("0x11")][P("0x6d")](i, e[P("0x11")][P("0x6c")](n, x, new (e[P("0x11")])), new (e[P("0x11")]))
+                      , u = e[P("0x11")][P("0x6d")](i, e[P("0x11")][P("0x6c")](s, x, new e.Cartesian3), new (e[P("0x11")]))
+                      , h = e[P("0x11")].add(i, e[P("0x11")][P("0x6c")](o, x, new (e[P("0x11")])), new (e[P("0x11")]));
+                    t._param0 = new (e[P("0x12")])(n.x,n.y,n.z,-e[P("0x11")][P("0x92")](n, l)),
+                    t._param1 = new (e[P("0x12")])(a.x,a.y,a.z,-e[P("0x11")][P("0x92")](a, c)),
+                    t[P("0x900")] = new (e[P("0x12")])(o.x,o.y,o.z,-e[P("0x11")].dot(o, u)),
+                    t[P("0x8f6")] = new (e[P("0x12")])(s.x,s.y,s.z,-e.Cartesian3[P("0x92")](s, h)),
+                    t[P("0x8fd")] = new (e[P("0x12")])(r.x,r.y,r.z,-e[P("0x11")][P("0x92")](r, i))
+                }
+            }
+            ,
+            t[P("0x5")][P("0x8c3")] = function(t) {
+                var i = this;
+                if (i._ready) {
+                    var r = t[P("0x7e")];
+                    if (i._invViewMatrix = r[P("0x8c5")][P("0x6e")](i[P("0x77b")]),
+                    i[P("0x8f3")])
+                        return i[P("0x8f3")][P("0x364")] = !0,
+                        void (i._viewer[P("0x10f")][P("0x77c")][P("0xd1")](i[P("0x8f3")]) || (i[P("0x13c")][P("0x10f")][P("0x77c")].add(i[P("0x8f3")]),
+                        i._scanPostProcess.update(t.context, t[P("0x77d")])));
+                    if (null == i[P("0x8f2")]) {
+                        var n = P("0x7a0") + "uniform sampler2D depthTexture;\n" + P("0x8c8") + P("0x5fc") + "uniform vec4 u_param0;\nuniform vec4 u_param1;\nuniform vec4 u_param2;\n" + P("0x901") + P("0x7a4") + "void main(){\n   vec4 color = texture2D(colorTexture, v_textureCoordinates);\n" + P("0x8cb") + P("0x8cc") + P("0x902") + P("0x8cd") + P("0x614") + P("0x8ce") + P("0x8cf") + P("0x8d0") + P("0x8d1") + P("0x8d2") + P("0x903") + "   position /= position.w;\n" + P("0x904") + P("0x905") + "       gl_FragColor = color;\n       return;\n" + P("0x614") + P("0x906") + P("0x907") + P("0x908") + "   if(z2 > u_param2.x){\n" + P("0x902") + P("0x8cd") + P("0x614") + P("0x909") + P("0x90a") + P("0x902") + P("0x8cd") + P("0x614") + P("0x90b") + "}";
+                        i[P("0x8f3")] = new e.PostProcessStage({
+                            fragmentShader: n,
+                            uniforms: {
+                                u_invViewMatrix: function() {
+                                    return i[P("0x77b")]
+                                },
+                                u_color: function() {
+                                    return i[P("0x596")]
+                                },
+                                u_param0: function() {
+                                    return i._param0
+                                },
+                                u_param1: function() {
+                                    return i[P("0x8f5")]
+                                },
+                                u_param2: function() {
+                                    return i[P("0x900")]
+                                },
+                                u_param3: function() {
+                                    return i._param3
                                 }
                             }
+                        })
+                    } else
+                        n = "uniform sampler2D colorTexture;\n" + P("0x7a1") + "uniform sampler2D u_texture;\n" + P("0x8c8") + "uniform vec4 u_color;\n" + P("0x8e4") + "uniform vec4 u_param1;\n" + P("0x90c") + P("0x901") + P("0x90d") + P("0x7a4") + P("0x5f9") + "   vec4 color = texture2D(colorTexture, v_textureCoordinates);\n" + P("0x8cb") + "   if(currD.r >= 1.0){\n" + P("0x902") + "       return;\n" + P("0x614") + P("0x8ce") + P("0x8cf") + P("0x8d0") + P("0x8d1") + P("0x8d2") + P("0x903") + P("0x8e5") + P("0x90e") + P("0x90f") + P("0x902") + P("0x8cd") + P("0x614") + P("0x910") + P("0x911") + P("0x902") + P("0x8cd") + P("0x614") + P("0x912") + P("0x913") + P("0x902") + P("0x8cd") + P("0x614") + P("0x914") + P("0x915") + P("0x902") + "       return;\n" + P("0x614") + P("0x916") + "   if(z4 < -800.0 || z4 > 800.0){\n" + P("0x902") + "       return;\n" + P("0x614") + "   float u = z0 / (z0 + z1);\n   float v = z2 / (z2 + z3);\n   vec4 sColor = texture2D(u_texture, vec2(u, v));\n" + P("0x917") + "   sColor = sColor * (1.0 - a) + a * u_color;\n" + P("0x918") + "}",
+                        i[P("0x8f3")] = new (e[P("0x7c5")])({
+                            fragmentShader: n,
+                            uniforms: {
+                                u_invViewMatrix: function() {
+                                    return i._invViewMatrix
+                                },
+                                u_color: function() {
+                                    return i._color
+                                },
+                                u_texture: function() {
+                                    return i._texture
+                                },
+                                u_param0: function() {
+                                    return i._param0
+                                },
+                                u_param1: function() {
+                                    return i._param1
+                                },
+                                u_param2: function() {
+                                    return i[P("0x900")]
+                                },
+                                u_param3: function() {
+                                    return i[P("0x8f6")]
+                                },
+                                u_param4: function() {
+                                    return i[P("0x8fd")]
+                                }
+                            }
+                        });
+                    i[P("0x8f3")].enabled = !1
+                }
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            function t(e) {
+                this[P("0x63c")] = e[P("0x181")],
+                this._direction = e[P("0x93")],
+                this[P("0x919")] = e[P("0x91a")]
+            }
+            var i = new e.Cartesian3
+              , r = new (e[P("0x11")])
+              , n = new (e[P("0x17")])
+              , o = new e.Quaternion
+              , a = new (e[P("0x1a")])
+              , s = new (e[P("0x1b")]);
+            t[P("0x5")][P("0x91b")] = function(t) {
+                var x, l, c, u, h, f;
+                x = this[P("0x6b7")],
+                (l = n)[P("0x7f")] = x.heading,
+                l[P("0x80")] = x[P("0x81")],
+                l.roll = x[P("0x80")],
+                c = n,
+                u = o,
+                e[P("0x1d")].fromHeadingPitchRoll(c, u),
+                h = o,
+                f = a,
+                e[P("0x1a")][P("0xcd")](h, f);
+                var d, g, p, m, b, v, C, y, _ = (d = a,
+                g = s,
+                e[P("0x1b")][P("0x738")](d, void 0, g));
+                p = i,
+                m = r,
+                b = this[P("0x63c")],
+                v = this[P("0x919")],
+                C = e[P("0x23")][P("0x6de")](0, e.Math.TWO_PI),
+                y = (b = e[P("0x23")][P("0x6de")](0, b)) + Math.tan(e[P("0x23")][P("0x119")](v)),
+                p.x = b * Math[P("0x9a")](C),
+                p.y = e[P("0x23")][P("0x6de")](0, 10),
+                p.z = -b * Math[P("0x98")](C),
+                m.x = y * Math[P("0x9a")](C),
+                m.y = p.y + 1,
+                m.z = -y * Math.sin(C),
+                e[P("0x1b")][P("0xd4")](_, i, i),
+                e[P("0x1b")][P("0xd4")](_, r, r),
+                t.position = e.Cartesian3.clone(i, t[P("0x8c")]),
+                t[P("0x91c")] = e[P("0x11")][P("0x95")](r, i, t[P("0x91c")]),
+                e[P("0x11")].normalize(t[P("0x91c")], t[P("0x91c")])
+            }
+            ;
+            var x = e.GeoSprinklerParticleSystem = function(t) {
+                this._image = t[P("0x475")],
+                this[P("0x6b6")] = t[P("0x11a")],
+                this[P("0x6b7")] = t[P("0x93")],
+                this[P("0x6c1")] = e[P("0x14")](t.imageSize) ? t[P("0x91d")] : new (e[P("0x10")])(4.9,4.9),
+                this[P("0x91e")] = e[P("0x14")](t[P("0x91f")]) ? t[P("0x91f")] : 4.9,
+                this[P("0x5b9")] = e.defined(t.speed) ? t[P("0x539")] : 27.46,
+                this[P("0x920")] = e.defined(t.emissionRate) ? t[P("0x921")] : 800,
+                this[P("0x63c")] = e.defined(t[P("0x181")]) ? t[P("0x181")] : .2,
+                this[P("0x922")] = e.defined(t.lifetime) ? t[P("0x923")] : 1,
+                this[P("0x919")] = e[P("0x14")](t[P("0x91a")]) ? t[P("0x91a")] : .89,
+                this[P("0x8fe")] = e.defined(t[P("0x8f1")]) ? t[P("0x8f1")] : 2e3;
+                var i = e.Color[P("0x2cf")];
+                this[P("0x72c")] = i[P("0x16c")](.8),
+                this[P("0x6c2")] = i.withAlpha(0),
+                this[P("0x924")] = null,
+                this[P("0x925")]()
+            }
+            ;
+            x[P("0x5")][P("0xd2")] = function(e) {
+                this[P("0x924")] && (this[P("0x8f8")](e[P("0x7e")]) ? this[P("0x924")][P("0xd2")](e) : this[P("0x926")]())
+            }
+            ,
+            x[P("0x5")][P("0x925")] = function() {
+                if (!this[P("0x924")]) {
+                    var i = e[P("0x13")][P("0x1a1")].apply(this, this[P("0x6b6")]);
+                    i = e[P("0x11")].fromRadians(i.longitude, i.latitude, i[P("0x8b")]);
+                    var r = e[P("0x1f")][P("0xbf")](i);
+                    return this._system = new e.ParticleSystem({
+                        image: this[P("0x595")],
+                        startColor: this[P("0x72c")],
+                        endColor: this[P("0x6c2")],
+                        particleLife: this[P("0x91e")],
+                        speed: this[P("0x5b9")],
+                        imageSize: this[P("0x6c1")],
+                        emissionRate: this[P("0x920")],
+                        emitter: new t({
+                            radius: this._radius,
+                            direction: this._direction,
+                            angle: this._angle
                         }),
-                        t.prototype[P("0xc59")] = function (e, t) {
-                            e && (this[P("0xc56")] = e),
-                                t && (this[P("0x217")] = t),
-                                this[P("0xc57")] = !0
+                        lifetime: this[P("0x922")],
+                        updateCallback: h,
+                        modelMatrix: r
+                    }),
+                    this[P("0x924")]
+                }
+            }
+            ,
+            x[P("0x5")].destroy = function() {
+                this[P("0x924")] && (this[P("0x924")].destroy(),
+                this._system = null)
+            }
+            ,
+            x[P("0x5")][P("0x926")] = function() {
+                this._system && function(t) {
+                    if (e[P("0x14")](t[P("0x927")])) {
+                        for (var i = t[P("0x927")], r = i[P("0x0")], n = 0; n < r; n++) {
+                            var o = i[n];
+                            e[P("0x14")](o[P("0x928")]) && (o._billboard[P("0x221")] = !1),
+                            t[P("0x929")][P("0x17c")](o),
+                            i[n] = i[r - 1],
+                            n--,
+                            r--
+                        }
+                        t[P("0x927")].length = 0
+                    }
+                }(this[P("0x924")])
+            }
+            ;
+            var l = new e.Cartographic
+              , c = new (e[P("0x11")]);
+            x[P("0x5")]._checkVisible = function(t) {
+                var i = e[P("0x13")][P("0x1a1")](this[P("0x6b6")][0], this[P("0x6b6")][1], this[P("0x6b6")][2], l);
+                return i = e[P("0x11")][P("0x3d0")](i[P("0x112")], i[P("0x114")], i[P("0x8b")], void 0, c),
+                !(e[P("0x11")][P("0x96")](e[P("0x11")].subtract(t[P("0x8c")], i, c)) > this[P("0x8fe")])
+            }
+            ;
+            var u = new (e[P("0x11")]);
+            function h(t, i) {
+                var r = e.Cartesian3[P("0x8d")](t[P("0x8c")], u);
+                e.Cartesian3[P("0xc8")](r, r),
+                e[P("0x11")][P("0x6c")](r, 8.16 * i, r),
+                t[P("0x91c")] = e[P("0x11")].add(t[P("0x91c")], r, t[P("0x91c")])
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = e[P("0x92a")] = function(e) {
+                this[P("0x92b")] = e.fieldName,
+                this[P("0x92c")] = e[P("0x92d")],
+                this._minValue = e[P("0x92e")],
+                this[P("0x92f")] = e[P("0x930")],
+                this[P("0x931")] = e[P("0x932")]
+            }
+            ;
+            t[P("0x5")][P("0x934")] = function() {
+                var t = function(t) {
+                    if (!e[P("0x14")](t))
+                        return "";
+                    var i = 255 * t.red
+                      , r = 255 * t[P("0x66f")]
+                      , n = 255 * t[P("0x670")]
+                      , o = t.alpha;
+                    return P("0x933") + i + "," + r + "," + n + "," + o + ");"
+                }(this[P("0x92c")])
+                  , i = P("0x935");
+                if (!e[P("0x14")](this[P("0x92b")]))
+                    return (i += P("0x936") + t + ";\n") + "} \n";
+                var r = "";
+                return this[P("0x92b")] == P("0x469") && (r = "v_elevationPos.z"),
+                i += 1 == (this[P("0x92f")] == this[P("0x937")]) ? "if (" + r + P("0x938") + this._minValue + P("0x939") : P("0x93a") + r + " >= " + this[P("0x937")] + P("0x93b") + r + " <= " + this[P("0x92f")] + P("0x939"),
+                i += "{ \n",
+                i += P("0x936") + t + ";\n",
+                (i += P("0x885")) + P("0x885")
+            }
+            ,
+            t.prototype[P("0x93c")] = function() {
+                if (!e[P("0x14")](this[P("0x92b")]) || this[P("0x92b")] != P("0x469"))
+                    return "";
+                var t = ""
+                  , i = "";
+                this[P("0x92b")] == P("0x469") && (i = "v_elevationPos.z");
+                var r = this[P("0x92f")] == this[P("0x937")]
+                  , n = this[P("0x937")][P("0x531")]();
+                -1 == n[P("0x2d3")](".") && (n += ".0");
+                var o = this._maxValue.toString();
+                -1 == o[P("0x2d3")](".") && (o += ".0");
+                var a = this[P("0x92c")][P("0x531")]();
+                return -1 == a[P("0x2d3")](".") && (a += ".0"),
+                t += 1 == r ? P("0x93a") + i + P("0x938") + n + P("0x93d") : P("0x93a") + i + P("0x93e") + n + P("0x93f") + i + " <= " + o + P("0x93d"),
+                t += P("0x87c"),
+                (t += "luminanceValue = " + a + ";\n") + P("0x885")
+            }
+            ,
+            t.prototype.makeShader = function() {
+                var e;
+                return this._topic == P("0x940") && (e = this[P("0x934")]()),
+                this[P("0x931")] == P("0x941") && (e = this[P("0x93c")]()),
+                e
+            }
+            ,
+            t[P("0x5")][P("0x942")] = function(t) {
+                if (this[P("0x931")] == P("0x941")) {
+                    if (!e[P("0x14")](this[P("0x92b")]))
+                        return this[P("0x92c")];
+                    if (this._fieldName != P("0x469")) {
+                        if (this[P("0x92b")] == P("0x943"))
+                            return this._fieldValue;
+                        var i = t[P("0x944")](this[P("0x92b")]);
+                        return i >= this[P("0x937")] && i <= this[P("0x92f")] ? this._fieldValue : void 0
+                    }
+                }
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            (e[P("0x945")] = function() {}
+            )[P("0x5")][P("0x946")] = function(t, i, r) {
+                var n = i
+                  , o = {};
+                return o[P("0x932")] = t,
+                4 == i[P("0x0")] ? (o[P("0x92d")] = n[0],
+                o.fieldName = n[1],
+                "$" == o[P("0x947")][P("0x7f3")](0, 1) && (o[P("0x947")] = o.fieldName[P("0x7f3")](1, o[P("0x947")][P("0x0")] - 1)),
+                o.minValue = n[2],
+                o.maxValue = n[3],
+                i[1] == P("0x469") && (r[P("0x948")] = !0)) : 1 == i[P("0x0")] ? o[P("0x92d")] = i[0] : 2 == i[P("0x0")] && (o[P("0x92d")] = n[0],
+                o[P("0x947")] = n[1]),
+                new (e[P("0x92a")])(o)
+            }
+        }(window.Cesium),
+        function(e) {
+            function t(e, t, i) {
+                var r = i[P("0x10f")][P("0x77c")][P("0x949")];
+                r[P("0x364")] = e,
+                r[P("0x19d")][P("0x94a")] = !1,
+                r[P("0x19d")][P("0x94b")] = 119,
+                r.uniforms[P("0x94c")] = -.4,
+                r[P("0x19d")].delta = .9,
+                r[P("0x19d")][P("0x94d")] = 3.78,
+                r.uniforms[P("0x94e")] = t,
+                r[P("0x19d")][P("0x94f")] = !1
+            }
+            var i = e[P("0x950")] = function(i) {
+                if (e[P("0x14")](i)) {
+                    if (this[P("0x951")] = !1,
+                    this[P("0x952")] = !1,
+                    this._enabledLightBand = !1,
+                    this[P("0x953")] = !1,
+                    this[P("0x954")] = 5,
+                    this[P("0x955")] = i[P("0x815")],
+                    this._useElevation = !1,
+                    this[P("0x956")] = new (e[P("0x945")]),
+                    e[P("0x14")](i.mixedColor)) {
+                        this[P("0x951")] = e[P("0x102")](i[P("0x940")][P("0x364")], !1);
+                        var r = i[P("0x940")].conditions;
+                        if (e[P("0x14")](r)) {
+                            this._mixedColorConditions = [];
+                            for (var n = 0; n < r.length; n++) {
+                                var o = r[n]
+                                  , a = this._conditionParser[P("0x946")](P("0x940"), o, this);
+                                this[P("0x957")][P("0x17c")](a)
+                            }
+                        }
+                    }
+                    e.defined(i[P("0x941")]) && this[P("0x958")](i[P("0x941")]),
+                    e[P("0x14")](i[P("0x959")]) && (this[P("0x95a")] = e[P("0x102")](i[P("0x959")][P("0x364")], !1)),
+                    e[P("0x14")](i[P("0x949")]) && (this._enabledBloom = e[P("0x102")](i[P("0x949")][P("0x364")], !1),
+                    this._bloomStep = e[P("0x102")](i.bloom.step, 5),
+                    t(this._enabledBloom, this[P("0x954")], this[P("0x955")]))
+                }
+            }
+            ;
+            i[P("0x5")].needCalculateElevation = function() {
+                return !!this[P("0x948")] || !!this[P("0x95a")]
+            }
+            ,
+            i[P("0x5")][P("0x958")] = function(t) {
+                e[P("0x14")](this[P("0x95b")]) ? this[P("0x95b")].length = 0 : this[P("0x95b")] = [],
+                this[P("0x952")] = e[P("0x102")](t[P("0x364")], !1);
+                var i = t[P("0x95c")];
+                if (e[P("0x14")](i))
+                    for (var r = 0; r < i.length; r++) {
+                        var n = i[r]
+                          , o = this[P("0x956")][P("0x946")]("luminanceAtZenith", n, this);
+                        this._luminanceAtZenithConditions[P("0x17c")](o)
+                    }
+            }
+            ,
+            e[P("0xf")](i[P("0x5")], {
+                enabledMixedColor: {
+                    get: function() {
+                        return this[P("0x951")]
+                    },
+                    set: function(e) {
+                        this[P("0x951")] = e
+                    }
+                },
+                enabledLuminanceAtZenith: {
+                    get: function() {
+                        return this[P("0x952")]
+                    },
+                    set: function(e) {
+                        this[P("0x952")] = e
+                    }
+                },
+                luminanceAtZenith: {
+                    set: function(e) {
+                        this[P("0x958")](e)
+                    }
+                },
+                enabledlightBand: {
+                    get: function() {
+                        return this[P("0x95a")]
+                    },
+                    set: function(e) {
+                        this[P("0x95a")] = e
+                    }
+                },
+                enabledBloom: {
+                    get: function() {
+                        return this[P("0x953")]
+                    },
+                    set: function(e) {
+                        this[P("0x953")] = e,
+                        t(this[P("0x953")], this[P("0x954")], this[P("0x955")])
+                    }
+                },
+                bloomStep: {
+                    get: function() {
+                        return this[P("0x954")]
+                    },
+                    set: function(e) {
+                        this[P("0x954")] = e,
+                        t(this[P("0x953")], this[P("0x954")], this[P("0x955")])
+                    }
+                }
+            }),
+            i[P("0x5")][P("0x95d")] = function() {
+                var t = "";
+                if (e.defined(this[P("0x957")]))
+                    for (var i = 0; i < this._mixedColorConditions[P("0x0")]; i++)
+                        t += this[P("0x957")][i].makeShader();
+                return t
+            }
+            ,
+            i.prototype.makeFragmentLuminanceShader = function() {
+                if (!this[P("0x95b")])
+                    return "";
+                var e = P("0x95e");
+                e += P("0x95f");
+                for (var t = 0; t < this[P("0x95b")].length; t++)
+                    e += this[P("0x95b")][t][P("0x960")]();
+                return e + P("0x885")
+            }
+            ,
+            i[P("0x5")][P("0x961")] = function() {
+                var e = "if (visualSenseStyle_enabledLightBand == 1.0) \n";
+                return e += "{\n",
+                e += P("0x962"),
+                e += P("0x963"),
+                e += P("0x964"),
+                e += P("0x965"),
+                (e += P("0x966")) + "}\n"
+            }
+            ,
+            i.prototype[P("0x942")] = function(t, i) {
+                for (var r = void 0, n = 0; n < this[P("0x95b")].length; n++) {
+                    var o = this[P("0x95b")][n];
+                    if (!r || o[P("0x92b")] != P("0x943")) {
+                        var a = o[P("0x942")](t);
+                        e[P("0x14")](a) && (r = a)
+                    }
+                }
+                return e[P("0x14")](r) || (r = i),
+                r
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = e[P("0x967")] = function(t) {
+                return this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x440")] = t[P("0x440")],
+                this[P("0x968")] = t.level,
+                this[P("0x969")] = t[P("0x969")],
+                this.options = t[P("0x132")],
+                this.options.velocityScale = e[P("0x102")](this[P("0x132")][P("0x96a")], .11),
+                this.options[P("0x96b")] = e.defaultValue(this[P("0x132")][P("0x96b")], .002),
+                this[P("0x132")].maxWindIntensity = e[P("0x102")](this[P("0x132")][P("0x96c")], 30),
+                this.options[P("0x197")] = e.defaultValue(this[P("0x132")].lineWidth, 2),
+                this[P("0x132")].opacity = e[P("0x102")](this[P("0x132")].opacity, .6),
+                this[P("0x132")][P("0x96d")] = e.defaultValue(this[P("0x132")][P("0x96d")], [P("0x96e"), P("0x96f"), P("0x970"), P("0x971"), "#b5c0ff", P("0x972"), P("0x973"), "#e185ff", P("0x974"), P("0x975")]),
+                this[P("0x48")] = document.createElement(P("0x48")),
+                this[P("0x976")] = this[P("0x48")][P("0x476")]("2d"),
+                this[P("0x977")](),
+                this[P("0x69c")](this[P("0x440")]),
+                this
+            }
+            ;
+            t[P("0x5")][P("0x977")] = function() {
+                var e = this;
+                this[P("0x978")] = function() {
+                    function t(e, t, i, r, n, o) {
+                        var a = 1 - e
+                          , s = 1 - t
+                          , x = a * s
+                          , l = e * s
+                          , c = a * t
+                          , u = e * t
+                          , h = i[0] * x + r[0] * l + n[0] * c + o[0] * u
+                          , f = i[1] * x + r[1] * l + n[1] * c + o[1] * u;
+                        return [h, f, Math[P("0xca")](h * h + f * f)]
+                    }
+                    function i(e) {
+                        var i, r, n, o, a = null, s = null;
+                        return e[P("0x1e4")]((function(e) {
+                            switch (e[P("0x979")][P("0x97a")] + "," + e[P("0x979")][P("0x97b")]) {
+                            case P("0x97c"):
+                                a = e;
+                                break;
+                            case P("0x97d"):
+                                s = e
+                            }
+                        }
+                        )),
+                        r = s,
+                        n = (i = a)[P("0x440")],
+                        o = r[P("0x440")],
+                        {
+                            header: i[P("0x979")],
+                            data: function(e) {
+                                return [n[e], o[e]]
+                            },
+                            interpolate: t
+                        }
+                    }
+                    function r(e) {
+                        return e / 180 * Math.PI
+                    }
+                    function n(e) {
+                        return e / (Math.PI / 180)
+                    }
+                    function o(e) {
+                        return Math.log(Math.tan(e / 2 + Math.PI / 4))
+                    }
+                    function a(e, t, i) {
+                        var r = {}
+                          , o = s
+                          , a = []
+                          , x = e.x;
+                        function l(i) {
+                            for (var s, x, l, c, u, h, f, d, g, p, m, b, C, y, A, I, w, G, E, S = [], T = e.y; T <= e.yMax; T += 2) {
+                                var M = (b = i,
+                                C = T,
+                                A = (y = t)[P("0x2aa")] - y[P("0x2a9")],
+                                w = (I = y[P("0x19a")] / n(A) * 360 / (2 * Math.PI)) / 2 * Math[P("0x133")]((1 + Math[P("0x98")](y[P("0x2ab")])) / (1 - Math[P("0x98")](y[P("0x2ab")]))),
+                                G = (y.height + w - C) / I,
+                                E = 180 / Math.PI * (2 * Math[P("0x321")](Math[P("0x61")](G)) - Math.PI / 2),
+                                [n(y.west) + b / y.width * n(A), E])
+                                  , N = M[0]
+                                  , L = M[1];
+                                if (isFinite(N)) {
+                                    var R = _(N, L);
+                                    R && (s = r,
+                                    x = N,
+                                    l = L,
+                                    c = i,
+                                    u = T,
+                                    h = o,
+                                    d = t,
+                                    g = (f = R)[0] * h,
+                                    p = f[1] * h,
+                                    m = v(s, x, l, c, u, d),
+                                    f[0] = m[0] * g + m[2] * p,
+                                    f[1] = m[1] * g + m[3] * p,
+                                    R = f,
+                                    S[T + 1] = S[T] = R)
+                                }
+                            }
+                            a[i + 1] = a[i] = S
+                        }
+                        !function t() {
+                            for (var r, n, o, s = Date[P("0x561")](); x < e[P("0x19a")]; )
+                                if (l(x),
+                                x += 2,
+                                1e3 < h()() - s)
+                                    return void setTimeout(t, 25);
+                            function c(e, t) {
+                                var i = r[Math[P("0x5f0")](e)];
+                                return i && i[Math[P("0x5f0")](t)] || d
+                            }
+                            r = a,
+                            n = e,
+                            o = i,
+                            c[P("0x985")] = function() {
+                                r = []
+                            }
+                            ,
+                            c[P("0x986")] = function(e) {
+                                for (var t, i, r = 0; null === c(t = Math[P("0x5f0")](Math[P("0x3e8")](Math[P("0x266")]() * n[P("0x19a")]) + n.x), i = Math[P("0x5f0")](Math[P("0x3e8")](Math[P("0x266")]() * n[P("0x8b")]) + n.y))[2] && r++ < 30; )
+                                    ;
+                                return e.x = t,
+                                e.y = i,
+                                e
+                            }
+                            ,
+                            o(n, c)
+                        }()
+                    }
+                    var s = e[P("0x132")][P("0x96a")]
+                      , x = e[P("0x132")].maxWindIntensity
+                      , l = e[P("0x132")][P("0x197")]
+                      , c = e.options[P("0x96b")]
+                      , u = e[P("0x132")].opacity
+                      , f = e[P("0x132")][P("0x96d")]
+                      , d = [NaN, NaN, null]
+                      , g = 2 * Math.PI
+                      , m = Math[P("0x2ae")](10, -5.2)
+                      , b = function(e) {
+                        return null != e
+                    }
+                      , v = function(e, t, i, r, n, o) {
+                        var a = t < 0 ? m : -m
+                          , s = i < 0 ? m : -m
+                          , x = C(i, t + a, o)
+                          , l = C(i + s, t, o)
+                          , c = Math[P("0x9a")](i / 360 * g);
+                        return [(x[0] - r) / a / c, (x[1] - n) / a / c, (l[0] - r) / s, (l[1] - n) / s]
+                    }
+                      , C = function(e, t, i) {
+                        var n = o(i[P("0x2ab")])
+                          , a = o(i[P("0x2ac")])
+                          , s = i[P("0x19a")] / (i[P("0x2aa")] - i[P("0x2a9")])
+                          , x = i[P("0x8b")] / (a - n)
+                          , l = o(r(e));
+                        return [(r(t) - i[P("0x2a9")]) * s, l = (a - l) * x]
+                    }
+                      , y = function() {
+                        A[P("0x98e")] && A[P("0x98e")].release(),
+                        A[P("0x98d")] && clearTimeout(A[P("0x98d")])
+                    }
+                      , _ = function(e) {
+                        var t = i(e)
+                          , r = t[P("0x979")]
+                          , n = r[P("0x97e")]
+                          , o = r[P("0x97f")]
+                          , a = r.dx
+                          , s = r.dy
+                          , x = r.nx
+                          , l = r.ny
+                          , c = new Date(r[P("0x980")]);
+                        c[P("0x981")](c[P("0x982")]() + r[P("0x983")]);
+                        for (var u = [], h = 0, f = 360 <= Math[P("0x3e8")](x * a), d = 0; d < l; d++) {
+                            for (var g = [], p = 0; p < x; p++,
+                            h++)
+                                g[p] = t[P("0x440")](h);
+                            f && g.push(g[0]),
+                            u[d] = g
+                        }
+                        return function(e, i) {
+                            var r, x = function(e, t) {
+                                return e - t * Math[P("0x3e8")](e / t)
+                            }(e - n, 360) / a, l = (o - i) / s, c = Math[P("0x3e8")](x), h = c + 1, f = Math[P("0x3e8")](l), d = f + 1;
+                            if (r = u[f]) {
+                                var g = r[c]
+                                  , p = r[h];
+                                if (b(g) && b(p) && (r = u[d])) {
+                                    var m = r[c]
+                                      , v = r[h];
+                                    if (b(m) && b(v))
+                                        return t[P("0x984")](x - c, l - f, g, p, m, v)
+                                }
+                            }
+                            return null
+                        }
+                    }(e.data)
+                      , A = {
+                        start: function(t, i, n, o) {
+                            var s = {
+                                south: r(o[0][1]),
+                                north: r(o[1][1]),
+                                east: r(o[1][0]),
+                                west: r(o[0][0]),
+                                width: i,
+                                height: n
+                            };
+                            y(),
+                            a(function(e, t, i) {
+                                var r = e[0]
+                                  , n = e[1]
+                                  , o = Math[P("0x5f0")](r[0])
+                                  , a = Math[P("0xee")](Math[P("0x3e8")](r[1], 0), 0);
+                                return Math[P("0x7d")](Math.ceil(n[0], t), t - 1),
+                                {
+                                    x: o,
+                                    y: a,
+                                    xMax: t,
+                                    yMax: Math[P("0x7d")](Math[P("0x342")](n[1], i), i - 1),
+                                    width: t,
+                                    height: i
+                                }
+                            }(t, i, n), s, (function(t, i) {
+                                A.field = i,
+                                function(t, i) {
+                                    function r(e) {
+                                        return "#" == e[P("0x68e")](0) ? e[P("0x987")](1, 7) : e
+                                    }
+                                    var n, o, a = (n = x,
+                                    o = [],
+                                    f[P("0x1e4")]((function(e) {
+                                        o[P("0x17c")](P("0x8b1") + p()(r(e).substring(0, 2), 16) + ", " + p()(r(e)[P("0x987")](2, 4), 16) + ", " + p()(r(e).substring(4, 6), 16) + ", " + u + ")")
+                                    }
+                                    )),
+                                    o[P("0x988")] = function(e) {
+                                        return Math[P("0x3e8")](Math[P("0x7d")](e, n) / n * (o[P("0x0")] - 1))
+                                    }
+                                    ,
+                                    o), s = a.map((function() {
+                                        return []
+                                    }
+                                    )), h = Math[P("0x5f0")](t[P("0x19a")] * t.height * c);
+                                    /android|blackberry|iemobile|ipad|iphone|ipod|opera mini|webos/i[P("0x270")](navigator.userAgent) && (h *= .075);
+                                    for (var d = P("0x989"), g = [], m = 0; m < h; m++)
+                                        g[P("0x17c")](i[P("0x986")]({
+                                            age: Math.floor(100 * Math[P("0x266")]()) + 0
+                                        }));
+                                    var b = e.canvasContext;
+                                    b[P("0x197")] = l,
+                                    b.fillStyle = d,
+                                    function e() {
+                                        try {
+                                            A[P("0x98d")] = setTimeout((function() {
+                                                var r;
+                                                requestAnimationFrame(e),
+                                                s[P("0x1e4")]((function(e) {
+                                                    e[P("0x0")] = 0
+                                                }
+                                                )),
+                                                g[P("0x1e4")]((function(e) {
+                                                    100 < e[P("0x98a")] && (i[P("0x986")](e)[P("0x98a")] = 0);
+                                                    var t = e.x
+                                                      , r = e.y
+                                                      , n = i(t, r)
+                                                      , o = n[2];
+                                                    if (null === o)
+                                                        e[P("0x98a")] = 100;
+                                                    else {
+                                                        var x = t + n[0]
+                                                          , l = r + n[1];
+                                                        null !== i(x, l)[2] ? (e.xt = x,
+                                                        e.yt = l,
+                                                        s[a.indexFor(o)].push(e)) : (e.x = x,
+                                                        e.y = l)
+                                                    }
+                                                    e[P("0x98a")] += 1
+                                                }
+                                                )),
+                                                r = b[P("0x98b")],
+                                                b[P("0x98b")] = "destination-in",
+                                                b[P("0x98c")](t.x, t.y, t[P("0x19a")], t[P("0x8b")]),
+                                                b[P("0x98b")] = r,
+                                                s.forEach((function(e, t) {
+                                                    0 < e[P("0x0")] && (b[P("0x658")](),
+                                                    b[P("0x65b")] = a[t],
+                                                    e.forEach((function(e) {
+                                                        b.moveTo(e.x, e.y),
+                                                        b.lineTo(e.xt, e.yt),
+                                                        e.x = e.xt,
+                                                        e.y = e.yt
+                                                    }
+                                                    )),
+                                                    b[P("0x65e")]())
+                                                }
+                                                ))
+                                            }
+                                            ), 50)
+                                        } catch (e) {
+                                            console[P("0x391")](e)
+                                        }
+                                    }()
+                                }(t, i)
+                            }
+                            ))
+                        },
+                        stop: y
+                    };
+                    return A
+                }
+            }
+            ,
+            t.prototype._calculateBounds = function() {
+                var t = this[P("0x969")][0][0]
+                  , i = this[P("0x969")][1][1]
+                  , r = this.rectangle[1][0]
+                  , n = this[P("0x969")][0][1]
+                  , o = this[P("0x968")]
+                  , a = this._locationCoordinate(t, n, o)
+                  , s = this[P("0x98f")](r, i, o);
+                this[P("0x990")] = [512 * Math[P("0x78")](a[0] - s[0]), 512 * Math.abs(a[1] - s[1])],
+                this[P("0x991")] = [[t, n], [r, i]],
+                this._rectangle = e[P("0x26b")][P("0x1a1")](t, n, r, i)
+            }
+            ,
+            t.prototype[P("0x98f")] = function(e, t, i) {
+                return [(180 + e) * Math[P("0x2ae")](2, i) / 360, (180 - 180 / Math.PI * Math[P("0x133")](Math[P("0x992")](Math.PI / 4 + t * Math.PI / 360))) * Math[P("0x2ae")](2, i) / 360]
+            }
+            ,
+            t[P("0x5")]._getCenterPoint = function() {
+                var t = this.viewer[P("0x48")]
+                  , i = new (e[P("0x10")])(t.clientWidth / 2,t.clientHeight / 2)
+                  , r = this.viewer.camera.getPickRay(i);
+                return this[P("0x13b")][P("0x10f")][P("0xa3")][P("0xa4")](r, this.viewer[P("0x10f")]) || this[P("0x13b")][P("0x7e")][P("0xa2")](i)
+            }
+            ,
+            t[P("0x5")][P("0x993")] = function() {
+                var t = e[P("0x16")].WGS84
+                  , i = this[P("0x994")]();
+                if (!i) {
+                    var r = this[P("0x13b")][P("0x10f")][P("0xa3")]
+                      , n = this[P("0x13b")][P("0x7e")].positionCartographic[P("0x6e")]()
+                      , o = r.getHeight(n);
+                    n[P("0x8b")] = o || 0,
+                    i = t.cartographicToCartesian(n)
+                }
+                var a = e[P("0x11")][P("0x8e")](i, this[P("0x13b")][P("0x7e")].position) / 1405.5;
+                return Math.log2(78271.51696402031 / a) - 1.2
+            }
+            ,
+            t.prototype[P("0x221")] = function(e) {
+                this[P("0x6a8")] && (this[P("0x6a8")][P("0x221")] = e)
+            }
+            ,
+            t[P("0x5")][P("0x17f")] = function() {
+                this[P("0x6a8")] && this[P("0x13b")].entities[P("0x17f")](this[P("0x6a8")])
+            }
+            ,
+            t[P("0x5")][P("0x6aa")] = function() {
+                var t = this;
+                this[P("0x995")](),
+                this.canvas.width = Math[P("0x5f0")](this[P("0x990")][0]),
+                this[P("0x48")][P("0x8b")] = Math[P("0x5f0")](this[P("0x990")][1]),
+                setTimeout((function() {
+                    t.windy[P("0xe2")]([[0, 0], t[P("0x990")]], t._size[0], t[P("0x990")][1], t[P("0x991")])
+                }
+                ), 1),
+                this[P("0x6a8")] && this[P("0x13b")][P("0x194")].remove(this._layer);
+                var i = new (e[P("0x651")])({
+                    image: new (e[P("0x652")])((function() {
+                        return t[P("0x48")].toDataURL()
+                    }
+                    ),!1)
+                });
+                "1.21" <= e[P("0x373")] ? i[P("0x6ad")] = !0 : e[P("0x373")] >= P("0x996") && (i[P("0x671")] = .99),
+                this[P("0x6a8")] = this.viewer[P("0x194")][P("0x6d")]({
+                    rectangle: {
+                        coordinates: this._rectangle,
+                        material: i
+                    }
+                })
+            }
+            ,
+            t[P("0x5")].setData = function(e) {
+                this[P("0x440")] = e,
+                this[P("0x997")] = new (this[P("0x978")]),
+                this[P("0x6aa")]()
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = "GEO_OVERVIEW_ICO_SOURCE"
+              , i = P("0x998")
+              , r = P("0x999");
+            function n(t, i) {
+                t = e[P("0x102")](t, e[P("0x102")][P("0x128")]),
+                this[P("0x13b")] = t[P("0x13b")],
+                this.map2D = null,
+                this[P("0x99a")] = e[P("0x102")](t[P("0x99a")], {
+                    mapCRS: {
+                        topTileExtent: [-180, -270, 180, 90],
+                        coordtransform: "none"
+                    },
+                    style: {
+                        version: 8,
+                        sources: {
+                            tdt_source_overview: {
+                                type: P("0x99b"),
+                                tiles: [P("0x99c")],
+                                tileSize: 256
+                            }
+                        },
+                        layers: [{
+                            id: P("0x99d"),
+                            type: "raster",
+                            source: "tdt_source_overview",
+                            layout: {
+                                visibility: P("0x99e")
+                            }
+                        }]
+                    },
+                    zoom: 4,
+                    center: [112.939, 31.377],
+                    renderWorldCopies: !1,
+                    isIntScrollZoom: !0,
+                    isAttributionControl: !1
+                }),
+                this[P("0x19a")] = t[P("0x19a")],
+                this[P("0x8b")] = t[P("0x8b")],
+                this.layout = e.defaultValue(t.layout, "BR"),
+                this[P("0x99f")] = t[P("0x99f")],
+                this[P("0x9a0")] = e[P("0x102")](t[P("0x9a0")], 1),
+                this[P("0x9a1")] = e.defaultValue(t.movingTargetZoomLevel, 14),
+                this.callback = "function" == typeof i ? i : function() {}
+                ,
+                this.scalable = !1,
+                this[P("0x9a2")] = !1,
+                this._latelyUpdateStamp = 0,
+                this._modelType = n[P("0x9a3")][P("0x9a4")],
+                this[P("0x9a5")](),
+                this._bindEvent()
+            }
+            n[P("0x5")]._initOverview = function() {
+                var e = this[P("0x13b")].cesiumWidget[P("0x131")].parentElement
+                  , t = document[P("0x15c")]("div");
+                t.className = P("0x9a6"),
+                t[P("0x150")].display = "block",
+                t.style[P("0x8c")] = "absolute",
+                t.style[P("0x19a")] = this.width + "px",
+                t.style.height = this[P("0x8b")] + "px",
+                this[P("0x9a7")][P("0x9a8")]()[P("0x9a9")]("B") ? t[P("0x150")][P("0x9aa")] = P("0x9ab") : this.layout[P("0x9a8")]().startsWith("T") && (t[P("0x150")][P("0x151")] = P("0x9ab")),
+                this[P("0x9a7")][P("0x9a8")]().endsWith("R") ? t[P("0x150")][P("0x9b")] = P("0x9ab") : this.layout[P("0x9a8")]().endsWith("L") && (t[P("0x150")][P("0x149")] = "5px"),
+                e[P("0x167")](t);
+                var i = document[P("0x15c")](P("0x15d"));
+                i.style[P("0x8c")] = P("0x9ac"),
+                i[P("0x150")][P("0x19a")] = i[P("0x150")][P("0x8b")] = "100%",
+                t[P("0x167")](i),
+                this[P("0x99a")][P("0x131")] || (this[P("0x99a")][P("0x131")] = i),
+                this.map2D = new (GeoGlobe[P("0x101")])(this[P("0x99a")])
+            }
+            ,
+            n.prototype[P("0x9ad")] = function() {
+                var e = this;
+                this[P("0x9ae")].on(P("0x9af"), (function() {
+                    var n = e.map2D;
+                    n[P("0x9b0")](e[P("0x99f")], (function(o, a) {
+                        var s = e[P("0x9a0")]
+                          , x = n.getCenter().toArray();
+                        n[P("0x9b1")](r, a),
+                        n[P("0x9b2")](t, {
+                            type: "geojson",
+                            data: {
+                                type: "Point",
+                                coordinates: x
+                            }
+                        }),
+                        n[P("0x9b3")]({
+                            id: i,
+                            source: t,
+                            type: P("0x1f4"),
+                            layout: {
+                                "icon-image": r,
+                                "icon-size": s,
+                                "icon-rotate": 0
+                            }
+                        }),
+                        e[P("0x9a2")] = !0,
+                        e[P("0x191")] && e[P("0x191")](e)
+                    }
+                    ))
+                }
+                )),
+                this[P("0x13b")].scene[P("0x53f")][P("0x130")]((function() {
+                    e[P("0x9b4")]()
+                }
+                ))
+            }
+            ,
+            n[P("0x5")][P("0x9b5")] = function() {
+                for (var e = this[P("0x13b")][P("0x10f")][P("0x53f")]._listeners, t = 0; t < e[P("0x0")]; t++)
+                    e[t].name === P("0x9b6") && e[P("0x259")](t, 1)
+            }
+            ,
+            n[P("0x5")][P("0x9b7")] = function() {
+                return this[P("0x9ae")]
+            }
+            ,
+            n[P("0x5")][P("0x9b8")] = function(e) {
+                return this[P("0x9ae")] ? this[P("0x9ae")][P("0x9b9")](e) : null
+            }
+            ,
+            n[P("0x5")][P("0x9ba")] = function(e, t) {
+                return this[P("0x9ae")] ? this[P("0x9ae")][P("0x9b3")](e, t) : null
+            }
+            ,
+            n[P("0x5")].removeMap2DLayer = function(e) {
+                return this[P("0x9ae")] ? this[P("0x9ae")][P("0x9bb")](e) : null
+            }
+            ,
+            n[P("0x5")][P("0x9bc")] = function(e) {
+                return this.map2D ? this[P("0x9ae")].getSource(e) : null
+            }
+            ,
+            n.prototype[P("0x9bd")] = function(e, t) {
+                return this.map2D ? this[P("0x9ae")][P("0x9b2")](e, t) : null
+            }
+            ,
+            n[P("0x5")][P("0x9be")] = function(e) {
+                return this.map2D ? this[P("0x9ae")].removeSource(e) : null
+            }
+            ,
+            n.prototype[P("0x9b4")] = function() {
+                var r = (new Date)[P("0x68")]();
+                if (!(r - this[P("0x9bf")] < 600) && (this[P("0x9bf")] = r,
+                this[P("0x13b")] && this._isReady)) {
+                    this[P("0x13b")],
+                    this[P("0x13b")][P("0x10f")];
+                    var o, a, s = this[P("0x13b")][P("0x48")], x = this[P("0x13b")][P("0x7e")], l = this[P("0x13b")].scene[P("0xa3")], c = this[P("0x9ae")];
+                    if (this[P("0x9c0")] === n[P("0x9a3")].ROAM) {
+                        var u = e.Ellipsoid[P("0x110")]
+                          , h = null
+                          , f = new (e[P("0x10")])(s[P("0x94")] / 2,s[P("0x7c")] / 2)
+                          , d = this[P("0x13b")][P("0x7e")][P("0x86")](f);
+                        if (!(h = (h = this.viewer[P("0x10f")].globe[P("0xa4")](d, this[P("0x13b")][P("0x10f")])) || x.pickEllipsoid(f))) {
+                            var g = x[P("0x91")][P("0x6e")]()
+                              , p = l[P("0xed")](g);
+                            g.height = p || 0,
+                            h = u[P("0xa7")](g)
+                        }
+                        var m = e[P("0x11")][P("0x8e")](h, x[P("0x8c")]) / 1405.5;
+                        o = Math[P("0x111")](78271.51696402031 / m) - 5.2;
+                        var b = u[P("0xd6")](h);
+                        a = [e[P("0x23")][P("0x113")](b[P("0x112")]), e[P("0x23")].toDegrees(b.latitude)],
+                        this.scalable || c.setZoom(o),
+                        c[P("0x64f")](a),
+                        c[P("0x9c1")](t)[P("0x69c")]({
+                            type: P("0x345"),
+                            coordinates: a
+                        })
+                    } else
+                        this._modelType === n.modelType.WALK && (o = this[P("0x9a1")],
+                        this.scalable || c.setZoom(o),
+                        h = x[P("0x91")][P("0x6e")](),
+                        a = [e.Math[P("0x113")](h[P("0x112")]), e.Math[P("0x113")](h.latitude)],
+                        c.setCenter(a),
+                        c[P("0x9c1")](t)[P("0x69c")]({
+                            type: P("0x345"),
+                            coordinates: a
+                        }));
+                    c[P("0x9c2")](i, P("0x9c3"), e[P("0x23")][P("0x113")](x[P("0x7f")]))
+                }
+            }
+            ,
+            n[P("0x5")][P("0x9c4")] = function(t) {
+                0 < c()(e.GeoOverviewWidget[P("0x9a3")])[P("0x1f2")]((function(i) {
+                    return e.GeoOverviewWidget[P("0x9a3")][i] === t
+                }
+                ))[P("0x0")] && (this[P("0x9c0")] = t)
+            }
+            ,
+            n[P("0x5")][P("0x9c5")] = function(e) {
+                this.scalable = w()(e) !== P("0x9c6") || e
+            }
+            ,
+            n[P("0x9a3")] = {
+                ROAM: 0,
+                WALK: 1
+            },
+            e[P("0x9c7")] = n
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x9c8")] = function(t) {
+                t = e[P("0x102")](t, {}),
+                this[P("0x9c9")] = t[P("0x9ca")],
+                this[P("0x9cb")] = this[P("0x9c9")][P("0x0")] - 1,
+                this[P("0x9cc")] = t[P("0x87")],
+                this[P("0x9cd")] = t[P("0x9ce")],
+                this[P("0x9cf")] = new (e[P("0x26b")].fromDegrees)(this._fullExtent[0],this[P("0x9cd")][1],this[P("0x9cd")][2],this[P("0x9cd")][3]),
+                this[P("0x9d0")] = t.matrixWidth,
+                this._matrixHeight = t.matrixHeight;
+                var i = Math[P("0xee")](Number(this[P("0x9d0")]), Number(this[P("0x9d1")]))
+                  , r = Math[P("0x342")](Math[P("0x133")](i) / Math[P("0x9d2")])
+                  , n = Math[P("0x2ae")](2, r);
+                this._topTileExtent = [],
+                this[P("0x9d3")][0] = this._origin[0],
+                this[P("0x9d3")][3] = this[P("0x9cc")][1],
+                this[P("0x9d3")][1] = this[P("0x9d3")][3] - 256 * this._resolutions[0] * n,
+                this[P("0x9d3")][2] = this._topTileExtent[0] + 256 * this[P("0x9c9")][0] * n,
+                this._numberOfLevelZeroTilesX = e[P("0x102")](t.numberOfLevelZeroTilesX, 2),
+                this[P("0x9d4")] = e[P("0x102")](t.numberOfLevelZeroTilesY, 1),
+                this[P("0x44")] = e[P("0x102")](t[P("0xef")], e[P("0x16")][P("0x110")]),
+                this[P("0x689")] = new (e[P("0x26b")].fromDegrees)(this[P("0x9d3")][0],this[P("0x9d3")][1],this[P("0x9d3")][2],this[P("0x9d3")][3]),
+                this[P("0xc6")] = new e.GeographicProjection(this[P("0x44")]),
+                this[P("0x9d5")] = [(this[P("0x9cd")][0] + this[P("0x9cd")][2]) / 2, (this[P("0x9cd")][1] + this[P("0x9cd")][3]) / 2];
+                var o, a = 0 == r ? r : r - 1;
+                this[P("0x9d6")] = (o = a,
+                2 * Math.PI * 6378137 / 512 / Math[P("0x2ae")](2, o) * 1405.5)
+            }
+            ;
+            t[P("0x5")] = new (e[P("0x9d7")]),
+            delete t[P("0x5")][P("0x9d8")],
+            delete t.prototype[P("0x9d4")],
+            delete t[P("0x5")][P("0x44")],
+            delete t[P("0x5")][P("0x689")],
+            delete t[P("0x5")][P("0xc6")],
+            e[P("0xf")](t[P("0x5")], {
+                ellipsoid: {
+                    get: function() {
+                        return this[P("0x44")]
+                    }
+                },
+                rectangle: {
+                    get: function() {
+                        return this[P("0x689")]
+                    }
+                },
+                projection: {
+                    get: function() {
+                        return this[P("0xc6")]
+                    }
+                },
+                dataRectangle: {
+                    get: function() {
+                        return this[P("0x9cf")]
+                    }
+                },
+                topTileExtent: {
+                    get: function() {
+                        return this[P("0x9d3")]
+                    }
+                },
+                maximumLevel: {
+                    get: function() {
+                        return this[P("0x9cb")]
+                    }
+                },
+                centerPoint: {
+                    get: function() {
+                        return this[P("0x9d5")]
+                    }
+                },
+                proposalHeight: {
+                    get: function() {
+                        return this._proposalHeight
+                    }
+                }
+            }),
+            t[P("0x5")][P("0x9d9")] = function(e) {
+                return (this._topTileExtent[2] - this[P("0x9d3")][0]) / this._resolutions[e] / 256
+            }
+            ,
+            t[P("0x5")].getNumberOfYTilesAtLevel = function(e) {
+                return (this[P("0x9d3")][3] - this[P("0x9d3")][1]) / this[P("0x9c9")][e] / 256
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x9da")] = function(t) {
+                t = e[P("0x102")](t, {}),
+                this[P("0x44")] = e[P("0x102")](t[P("0xef")], e[P("0x16")][P("0x110")]),
+                this[P("0xc6")] = new (e[P("0x68f")])(this._ellipsoid),
+                this[P("0x9c9")] = t.resolutions,
+                this[P("0x9cb")] = this[P("0x9c9")].length - 1,
+                this[P("0x9cc")] = t[P("0x87")],
+                this._fullExtent = t[P("0x9ce")];
+                var i = this[P("0xc6")][P("0xbe")](new (e[P("0x10")])(this[P("0x9cd")][0],this[P("0x9cd")][1]))
+                  , r = this[P("0xc6")].unproject(new (e[P("0x10")])(this[P("0x9cd")][2],this[P("0x9cd")][3]));
+                this._dataRectangle = new (e[P("0x26b")])(i.longitude,i[P("0x114")],r.longitude,r.latitude),
+                this[P("0x9d0")] = t[P("0x9db")],
+                this[P("0x9d1")] = t.matrixHeight;
+                var n = Math.max(Number(this[P("0x9d0")]), Number(this[P("0x9d1")]))
+                  , o = Math[P("0x342")](Math.log(n) / Math[P("0x9d2")])
+                  , a = Math[P("0x2ae")](2, o);
+                this[P("0x9d3")] = [],
+                this[P("0x9d3")][0] = this[P("0x9cc")][0],
+                this[P("0x9d3")][3] = this._origin[1],
+                this._topTileExtent[1] = this[P("0x9d3")][3] - 256 * this[P("0x9c9")][0] * a,
+                this[P("0x9d3")][2] = this[P("0x9d3")][0] + 256 * this[P("0x9c9")][0] * a,
+                this[P("0x9d8")] = e[P("0x102")](t[P("0x9dc")], 1),
+                this[P("0x9d4")] = e.defaultValue(t[P("0x9dd")], 1),
+                this[P("0x9de")] = e.defaultValue(t[P("0x9df")], new (e[P("0x10")])(this._topTileExtent[0],this[P("0x9d3")][1])),
+                this._rectangleNortheastInMeters = e[P("0x102")](t[P("0x9e0")], new (e[P("0x10")])(this[P("0x9d3")][2],this[P("0x9d3")][3]));
+                var s = this[P("0xc6")].unproject(this._rectangleSouthwestInMeters)
+                  , x = this._projection.unproject(this[P("0x9e1")]);
+                this[P("0x689")] = new (e[P("0x26b")])(s[P("0x112")],s[P("0x114")],x[P("0x112")],x.latitude),
+                this[P("0x9d5")] = [(e[P("0x23")][P("0x113")](i[P("0x112")]) + e[P("0x23")][P("0x113")](r[P("0x112")])) / 2, (e.Math[P("0x113")](i.latitude) + e[P("0x23")][P("0x113")](r[P("0x114")])) / 2];
+                var l, c = 0 == o ? o : o - 1;
+                this._proposalHeight = (l = c,
+                2 * Math.PI * 6378137 / 512 / Math.pow(2, l) * 1405.5)
+            }
+            ;
+            t[P("0x5")] = new (e[P("0x68b")]),
+            delete t.prototype._numberOfLevelZeroTilesX,
+            delete t[P("0x5")][P("0x9d4")],
+            delete t[P("0x5")][P("0x44")],
+            delete t.prototype[P("0x689")],
+            delete t[P("0x5")]._projection,
+            delete t[P("0x5")][P("0x9de")],
+            delete t.prototype._rectangleNortheastInMeters,
+            e[P("0xf")](t[P("0x5")], {
+                ellipsoid: {
+                    get: function() {
+                        return this[P("0x44")]
+                    }
+                },
+                rectangle: {
+                    get: function() {
+                        return this._rectangle
+                    }
+                },
+                projection: {
+                    get: function() {
+                        return this[P("0xc6")]
+                    }
+                },
+                dataRectangle: {
+                    get: function() {
+                        return this[P("0x9cf")]
+                    }
+                },
+                topTileExtent: {
+                    get: function() {
+                        return this._topTileExtent
+                    }
+                },
+                maximumLevel: {
+                    get: function() {
+                        return this[P("0x9cb")]
+                    }
+                },
+                centerPoint: {
+                    get: function() {
+                        return this._centerPoint
+                    }
+                },
+                proposalHeight: {
+                    get: function() {
+                        return this._proposalHeight
+                    }
+                }
+            }),
+            t.prototype[P("0x9d9")] = function(e) {
+                return (this[P("0x9d3")][2] - this[P("0x9d3")][0]) / this[P("0x9c9")][e] / 256
+            }
+            ,
+            t[P("0x5")][P("0x9e2")] = function(e) {
+                return (this._topTileExtent[3] - this[P("0x9d3")][1]) / this[P("0x9c9")][e] / 256
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            function t(e) {
+                this.type = P("0x345"),
+                this[P("0x2ed")] = e
+            }
+            function i(e) {
+                this.type = P("0x9e3"),
+                this[P("0x2ed")] = e
+            }
+            var r = e[P("0x9e4")] = function() {}
+            ;
+            r.lineString = function(t) {
+                return e[P("0x14")](t) && e[P("0x14")](t[P("0x0")]) ? t[P("0x0")] < 2 ? null : new i(t) : null
+            }
+            ,
+            r.degreesToRadians = function(e) {
+                return e % 360 * Math.PI / 180
+            }
+            ,
+            r[P("0x9e5")] = function(e) {
+                return e % (2 * Math.PI) * 180 / Math.PI
+            }
+            ,
+            r[P("0x8e")] = function(e, t) {
+                var i = e
+                  , n = t
+                  , o = r[P("0x9e6")](n[1] - i[1])
+                  , a = r[P("0x9e6")](n[0] - i[0])
+                  , s = r[P("0x9e6")](i[1])
+                  , x = r.degreesToRadians(n[1])
+                  , l = Math[P("0x2ae")](Math.sin(o / 2), 2) + Math[P("0x2ae")](Math[P("0x98")](a / 2), 2) * Math[P("0x9a")](s) * Math[P("0x9a")](x);
+                return 2 * Math[P("0x9e7")](Math.sqrt(l), Math[P("0xca")](1 - l)) * 6371008.8
+            }
+            ,
+            r._bearing = function(e, t) {
+                var i = e
+                  , n = t
+                  , o = r[P("0x9e6")](i[0])
+                  , a = r[P("0x9e6")](n[0])
+                  , s = r[P("0x9e6")](i[1])
+                  , x = r[P("0x9e6")](n[1])
+                  , l = Math.sin(a - o) * Math[P("0x9a")](x)
+                  , c = Math[P("0x9a")](s) * Math[P("0x98")](x) - Math[P("0x98")](s) * Math.cos(x) * Math.cos(a - o);
+                return r.radiansToDegrees(Math.atan2(l, c))
+            }
+            ,
+            r[P("0x9e8")] = function(e, i, n) {
+                var o = e
+                  , a = r[P("0x9e6")](o[0])
+                  , s = r[P("0x9e6")](o[1])
+                  , x = r[P("0x9e6")](n)
+                  , l = i / 6371008.8
+                  , c = Math[P("0x97")](Math.sin(s) * Math[P("0x9a")](l) + Math.cos(s) * Math[P("0x98")](l) * Math.cos(x))
+                  , u = a + Math.atan2(Math[P("0x98")](x) * Math[P("0x98")](l) * Math.cos(s), Math.cos(l) - Math[P("0x98")](s) * Math[P("0x98")](c));
+                return new t([r[P("0x9e5")](u), r[P("0x9e5")](c)])
+            }
+            ,
+            r[P("0x9e9")] = function(e, i) {
+                var n;
+                if (e[P("0x165")] !== P("0x9e3"))
+                    return null;
+                n = e[P("0x2ed")];
+                for (var o = 0, a = 0; a < n[P("0x0")] && !(o <= i && a === n[P("0x0")] - 1); a++) {
+                    if (i <= o) {
+                        var s = i - o;
+                        if (s) {
+                            var x = r[P("0x9ea")](n[a], n[a - 1]) - 180;
+                            return r[P("0x9e8")](n[a], s, x)
+                        }
+                        return point(n[a])
+                    }
+                    o += r[P("0x8e")](n[a], n[a + 1])
+                }
+                return new t(n[n[P("0x0")] - 1])
+            }
+        }(window[P("0xfd")]),
+        (j = window[P("0xfd")]) && j[P("0x2e1")] && (j.Cesium3DTileset.prototype[P("0x9eb")] = function(e, t, i) {
+            var r = j[P("0x9e4")];
+            if (r) {
+                var n = this.boundingSphere[P("0x11a")]
+                  , o = j.Cartographic.fromCartesian(n)
+                  , a = j.Math[P("0x113")](o.longitude)
+                  , s = j[P("0x23")][P("0x113")](o[P("0x114")])
+                  , x = o.height
+                  , l = new (j[P("0x13")])(a,s,x + i);
+                if (e < 0) {
+                    var c = a
+                      , u = a - 1;
+                    e = -e;
+                    var h = r.lineString([[c, s], [u, s]])
+                      , f = r[P("0x9e9")](h, e);
+                    l[P("0x112")] = f[P("0x2ed")][0]
+                } else
+                    0 < e && (c = a,
+                    u = a + 1,
+                    h = r.lineString([[c, s], [u, s]]),
+                    f = r[P("0x9e9")](h, e),
+                    l.longitude = f[P("0x2ed")][0]);
+                t < 0 ? (c = s,
+                u = s - 1,
+                t = -t,
+                h = r[P("0x33e")]([[a, c], [a, u]]),
+                f = r[P("0x9e9")](h, t),
+                l[P("0x114")] = f[P("0x2ed")][1]) : 0 < t && (c = s,
+                u = s + 1,
+                h = r[P("0x33e")]([[a, c], [a, u]]),
+                f = r[P("0x9e9")](h, t),
+                l.latitude = f.coordinates[1]);
+                var d = j[P("0x11")][P("0x1a1")](l.longitude, l[P("0x114")], l.height)
+                  , g = j[P("0x11")][P("0x95")](d, n, new (j[P("0x11")]));
+                this[P("0x4ac")] = j[P("0x1b")].fromTranslation(g)
+            }
+        }
+        ),
+        function(e) {
+            var t = e[P("0x9ec")] = function(t) {
+                t = e.defaultValue(t, {}),
+                this[P("0x9d8")] = e[P("0x102")](t[P("0x9dc")], 1),
+                this[P("0x9d4")] = e[P("0x102")](t[P("0x9dd")], .5),
+                this[P("0x44")] = e[P("0x102")](t[P("0xef")], e[P("0x16")][P("0x110")]),
+                this[P("0x689")] = e[P("0x102")](t[P("0x969")], e[P("0x26b")].MAX_VALUE),
+                this._projection = new (e[P("0x9ed")])(this._ellipsoid)
+            }
+            ;
+            t.prototype = new (e[P("0x9d7")]),
+            delete t[P("0x5")]._numberOfLevelZeroTilesX,
+            delete t[P("0x5")][P("0x9d4")],
+            delete t[P("0x5")][P("0x44")],
+            delete t[P("0x5")][P("0x689")],
+            delete t.prototype._projection,
+            t[P("0x5")][P("0x9e2")] = function(e) {
+                return this[P("0x9d4")] * Math[P("0x2ae")](2, e)
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            function t(t) {
+                if (!e[P("0x14")](t))
+                    throw new (e[P("0x15")])("options is required.");
+                this[P("0x9fc")] = new (e[P("0x766")]),
+                this._modelFloorMasks = {},
+                this[P("0x9fd")] = t.credit,
+                w()(this[P("0x9fd")]) == P("0x9fe") && (this[P("0x9fd")] = new (e[P("0x9ff")])(this[P("0x9fd")])),
+                t[P("0xa00")] = e[P("0x102")](t[P("0xa00")], 32),
+                t[P("0xa01")] = e[P("0x102")](t.heightMapHeight, 32),
+                this._options = t,
+                this[P("0x557")] = e.when[P("0x9f8")](!0),
+                this[P("0xa02")] = t.subdomains,
+                t[P("0xa03")] = t[P("0x6af")].replace(P("0xa04"), this[P("0xa05")](0, 0, 0)),
+                this[P("0xa06")] = t[P("0xa03")] + "?request=GetMap&Version=1.3.0&Service=WMS&CRS=EPSG:4326&bbox=-90,-180,90,180&height=32&width=32&optimizedOnly=0&v=1&layers=" + t[P("0xa07")] + P("0xa08");
+                var r = e.defaultValue(t[P("0xa09")], !1);
+                void 0 !== t[P("0xa0a")] && isNaN(t[P("0xa0a")]) && (t[P("0xa0a")] = void 0),
+                this[P("0xa0b")] = e[P("0x102")](t[P("0xa0a")], null),
+                r ? this[P("0xa0c")](!1) : this[P("0xa0c")](!0),
+                this[P("0xa0d")] = t.url + "?" + P("0xa0e") + t[P("0xa07")] + "&Styles=&Format=image/" + this[P("0xa0f")],
+                this._allElevationLayers = null,
+                this[P("0x68a")] = new (e[P("0x9d7")]),
+                this[P("0xa10")] = e[P("0xa11")].getEstimatedLevelZeroGeometricErrorForAHeightmap(this[P("0x68a")][P("0xef")], 4 * t.heightMapWidth, this[P("0x68a")][P("0x9d9")](0)),
+                this[P("0xa12")] = new i({
+                    workerPath: L() + "ThirdParty/sfsterrainprovider/ParseElevationWorker.js"
+                }),
+                this[P("0xa13")] = 0,
+                this._requestGridSize = 8,
+                this[P("0xa14")] = {},
+                this[P("0xa15")] = [],
+                this[P("0xa16")].addEventListener((function(e) {}
+                ), this)
+            }
+            e[P("0xa17")] = t,
+            t[P("0xa18")] = 2,
+            e[P("0xf")](t[P("0x5")], {
+                errorEvent: {
+                    get: function() {
+                        return this[P("0x9fc")]
+                    }
+                },
+                credit: {
+                    get: function() {
+                        return this[P("0x9fd")]
+                    }
+                },
+                hasVertexNormals: {
+                    get: function() {
+                        return !1
+                    }
+                },
+                tilingScheme: {
+                    get: function() {
+                        return this[P("0x68a")]
+                    }
+                },
+                ready: {
+                    get: function() {
+                        return !0
+                    }
+                },
+                hasWaterMask: {
+                    get: function() {
+                        return !1
+                    }
+                },
+                heightMapHeight: {
+                    get: function() {
+                        return this._options[P("0xa01")]
+                    }
+                },
+                heightMapWidth: {
+                    get: function() {
+                        return this[P("0x248")][P("0xa00")]
+                    }
+                },
+                pendingRequests: {
+                    get: function() {
+                        return this[P("0xa13")]
+                    }
+                }
+            }),
+            t[P("0x5")][P("0xa0c")] = function(e) {
+                if (!e || !this[P("0xa09")]) {
+                    var t = this._format;
+                    this[P("0xa0f")] = P(e ? "0xa19" : "0xa1a"),
+                    t !== this[P("0xa0f")] && (this[P("0xa1b")] = e,
+                    void 0 !== this[P("0xa0d")] && (this[P("0xa0d")] = this._urlTemplate[P("0xa1c")]("image/" + t, "image/" + this[P("0xa0f")])))
+                }
+            }
+            ,
+            t.prototype.getLevelMaximumGeometricError = function(e) {
+                return this[P("0xa10")] / (1 << e) * t[P("0xa18")]
+            }
+            ,
+            t.prototype.createKeyFromTile = function(e, t, i) {
+                return e + "_" + t + "_" + i
+            }
+            ,
+            t.prototype[P("0x9fb")] = function(e, t, i) {
+                var r = Math.min(this._maxTerrainLevel, 25);
+                return !!this[P("0xa1b")] || i < r
+            }
+            ,
+            t[P("0x5")][P("0xa1d")] = function(e) {
+                var t = Math[P("0x133")](this[P("0xa1e")]) / Math[P("0x133")](2);
+                return t = Math.min(t, e),
+                Math[P("0x2ae")](2, t)
+            }
+            ,
+            t.prototype[P("0xa1f")] = function(e, t, i, r) {
+                return this.getRequestUrl(e, t, i, r)
+            }
+            ,
+            t[P("0x5")][P("0xa20")] = function(e, t, i) {
+                return this[P("0xa21")](e, t, i, !1, !0)
+            }
+            ,
+            t[P("0x5")][P("0xa21")] = function(e, t, i, r, n) {
+                var o = i
+                  , a = null != r ? this[P("0xa1d")](i) : 1
+                  , s = (e = null != r ? (e - e % a) / a : e,
+                t = null != r ? (t - t % a) / a : t,
+                i = null != r ? i - Math.log(a) / Math.log(2) : i,
+                this[P("0xa22")][P("0xa23")](e, t, i))
+                  , x = this[P("0xa00")] * a == 256 && r ? 1 : 0;
+                return n && (x = 0),
+                this[P("0xa0d")].replace("{south}", s.south)[P("0xa1c")](P("0xa24"), s[P("0x2ac")]).replace(P("0xa25"), s[P("0x2a9")])[P("0xa1c")](P("0xa26"), s[P("0x2aa")])[P("0xa1c")](P("0xa27"), x)[P("0xa1c")]("{width}", this[P("0xa00")] * a).replace(P("0xa28"), this[P("0xa01")] * a)[P("0xa1c")](P("0xa04"), this[P("0xa05")](e, t, i)) + "&level=" + i + "&origLevel=" + o
+            }
+            ,
+            t[P("0x5")][P("0xa29")] = function(t, i) {
+                return t[P("0x2a9")] >= i[P("0x2a9")] * e.Math[P("0xa2a")] && t.east <= i.east * e[P("0x23")][P("0xa2a")] && t[P("0x2ab")] >= i[P("0x2ab")] * e[P("0x23")][P("0xa2a")] && t.north <= i[P("0x2ac")] * e[P("0x23")][P("0xa2a")]
+            }
+            ,
+            t.prototype[P("0xa2b")] = function(t, i) {
+                var r = t[P("0x2a9")] * e[P("0x23")].RADIANS_PER_DEGREE
+                  , n = t[P("0x2aa")] * e[P("0x23")][P("0xa2c")]
+                  , o = t[P("0x2ab")] * e[P("0x23")].RADIANS_PER_DEGREE
+                  , a = t[P("0x2ac")] * e[P("0x23")].RADIANS_PER_DEGREE
+                  , s = new e.Rectangle(r,o,n,a);
+                return e[P("0x26b")].intersection(s, i, new (e[P("0x26b")]))
+            }
+            ,
+            t.prototype[P("0xa05")] = function(e, t, i) {
+                if (null == this[P("0xa02")])
+                    return "";
+                var r = (e + t + i) % this[P("0xa02")][P("0x0")];
+                return this[P("0xa02")][r]
+            }
+            ,
+            t[P("0x5")][P("0xa2d")] = function(e) {
+                e[P("0x969")] && void 0 !== viewer[P("0x10f")].globe[P("0xa2e")][P("0xa2f")] && this[P("0xa30")](e.rectangle, !0)[P("0xa31")]()
+            }
+            ,
+            t[P("0x5")][P("0xa30")] = function(t, i) {
+                function r(t, i, n) {
+                    var o = n ? 4.1 : 2.1;
+                    if (t[P("0x689")].width <= i[P("0x19a")] * o && e[P("0x26b")].contains(t._rectangle, e.Rectangle.center(i)))
+                        return t;
+                    for (var a = t[P("0x12f")].length, s = 0; s < a; s++) {
+                        var x = t.children[s];
+                        if (e[P("0x26b")][P("0xd1")](x._rectangle, e.Rectangle.center(i)))
+                            return r(x, i, n)
+                    }
+                    return null
+                }
+                if (t.width == Math.PI)
+                    return null;
+                for (var n = 0; n < viewer[P("0x10f")].globe[P("0xa2e")][P("0xa2f")][P("0x0")]; n++) {
+                    var o = r(viewer[P("0x10f")][P("0xa3")]._surface[P("0xa2f")][n], t, i);
+                    if (o)
+                        return o
+                }
+                return null
+            }
+            ,
+            t.prototype[P("0xa32")] = function(t, i, r) {
+                var n = this._tilingScheme[P("0xa33")](t, i, r, new e.Rectangle)
+                  , o = this[P("0xa30")](n);
+                if (o && o[P("0x440")] && o[P("0x440")][P("0xa34")]) {
+                    if (!(0 < o.data.terrainData._childTileMask))
+                        return !1;
+                    for (var a = o[P("0x12f")][P("0x0")], s = 0; s < a; s++) {
+                        var x = o.children[s];
+                        if (e[P("0x26b")][P("0x84")](x[P("0x689")], n))
+                            return o[P("0x440")][P("0xa34")][P("0xa35")] & 1 << s
+                    }
+                }
+                return !0
+            }
+            ,
+            t[P("0x5")][P("0xa36")] = function(t, i, r) {
+                var n = this[P("0x68a")][P("0xa33")](t, i, r, new (e[P("0x26b")]))
+                  , o = this[P("0xa30")](n);
+                o && o[P("0x440")] && o[P("0x440")][P("0xa34")] && 0 < o[P("0x440")][P("0xa34")][P("0xa35")] && o[P("0x12f")][P("0x1e4")]((function(t, i) {
+                    if (e[P("0x26b")].equals(t[P("0x689")], n))
+                        switch (i) {
+                        case 0:
+                            o[P("0x440")].terrainData._childTileMask &= -5;
+                            break;
+                        case 1:
+                            o[P("0x440")].terrainData[P("0xa35")] &= -9;
+                            break;
+                        case 2:
+                            o.data[P("0xa34")][P("0xa35")] &= -2;
+                            break;
+                        case 3:
+                            o[P("0x440")][P("0xa34")][P("0xa35")] &= -3
+                        }
+                }
+                ))
+            }
+            ,
+            t[P("0x5")].requestBaseTerrainTileGeometry = function(e, t, i, r) {
+                return this.requestTileGeometryBuffers(e, t, i, r)
+            }
+            ,
+            t.prototype.requestElevationLayerTileGeometry = function(e, t, i, r, n) {
+                return this.requestTileGeometryBuffers(e, t, i, r, n)
+            }
+            ,
+            t[P("0x5")][P("0xa37")] = function(t, i, r, n, o) {
+                var a = this
+                  , s = {};
+                s[P("0xa38")] = this.tilingScheme[P("0xa23")](t, i, r),
+                s[P("0xa39")] = o;
+                var x, l, c, u, h = e[P("0x9ee")][P("0x9ef")]();
+                return void 0 === (u = this[P("0xa3a")](t, i, r, n, void 0, o)) ? void 0 : (x = this[P("0xa3a")](t + 1, i, r, n, !0, o),
+                l = this[P("0xa3a")](t, i + 1, r, n, !0, o),
+                c = this.requestTileHeightBuffer(t + 1, i + 1, r, n, !0, o),
+                e[P("0x9ee")][P("0xa3b")]([u, x, l, c], (function(e) {
+                    if (null != e[0].myReject && e[0][P("0xa3c")])
+                        h[P("0xa3d")]();
+                    else {
+                        for (var t = a[P("0xa00")] + 1, i = a[P("0xa01")] + 1, r = new Float32Array(t * i), n = e[0][P("0xa3e")], o = 0; o < t; o++)
+                            for (var x = 0; x < i; x++) {
+                                var l = o
+                                  , c = x
+                                  , u = 0;
+                                x === t - 1 && (c = 0,
+                                u = 1,
+                                n && (u = 0,
+                                c = t - 2)),
+                                o === i - 1 && (l = 0,
+                                u = 2);
+                                var f = o * t + x
+                                  , d = l * a[P("0xa00")] + c;
+                                null === e[u] || null != e[u].myReject && e[u].myReject || (r[f] = e[u][d])
+                            }
+                        null != e[3][P("0xa3c")] && e[3].myReject || (r[t * i - 1] = e[3][0]);
+                        var g = a[P("0xa3f")](r, t, i, 15);
+                        s.buffer = g,
+                        h[P("0x9f8")](s)
+                    }
+                }
+                ))[P("0xa40")]((function() {
+                    h.reject()
+                }
+                )),
+                h)
+            }
+            ,
+            t[P("0x5")].requestTileGeometry = function(t, i, r, n) {
+                var o = this
+                  , a = []
+                  , s = o[P("0xa22")].tileXYToNativeRectangle(t, i, r);
+                null != this[P("0xa41")] && 0 < this[P("0xa41")].length && 7 < r ? [][P("0xa42")]((function(e, x) {
+                    if (x[P("0x221")]) {
+                        var l = x[P("0x969")];
+                        o[P("0xa29")](s, l) ? (o[P("0xa0c")](!1),
+                        a[P("0x17c")](o[P("0xa43")](t, i, r, n, x))) : null != o[P("0xa2b")](s, l) ? (o.setFormatMPT(!1),
+                        a[P("0x17c")](o.requestElevationLayerTileGeometry(t, i, r, n, x)),
+                        a[P("0x17c")](o[P("0xa44")](t, i, r, n))) : (o[P("0xa0c")](!0),
+                        a[P("0x17c")](o.requestBaseTerrainTileGeometry(t, i, r, n)))
+                    } else
+                        o[P("0xa0c")](!0),
+                        a[P("0x17c")](o.requestBaseTerrainTileGeometry(t, i, r, n))
+                }
+                )) : (o[P("0xa0c")](!0),
+                a.push(o[P("0xa44")](t, i, r, n)));
+                var x = e.when[P("0x9ef")]();
+                return e.when[P("0xa3b")](a, (function(t) {
+                    if (1 === t.length)
+                        void 0 !== t[P("0xa39")] && console[P("0x133")]("missing scale and offset"),
+                        x.resolve(t[0][P("0x4b3")]);
+                    else if (1 < t[P("0x0")]) {
+                        var i = t[P("0x1f2")]((function(e) {
+                            return void 0 !== e.layer
+                        }
+                        ))
+                          , r = t[P("0x1f2")]((function(e) {
+                            return void 0 === e.layer
+                        }
+                        ));
+                        if (0 === i.length)
+                            x.resolve(t[0].buffer);
+                        else {
+                            var n = i[i[P("0x0")] - 1]
+                              , a = r[r[P("0x0")] - 1]
+                              , s = {
+                                tolerance: n[P("0xa39")][P("0xa45")],
+                                nullValueNumber: n[P("0xa39")][P("0xa46")],
+                                verticesX: n[P("0xa39")][P("0xa47")],
+                                verticesY: n[P("0xa39")][P("0xa48")],
+                                scale: e[P("0x102")](n[P("0xa39")][P("0xfc")], 1),
+                                offset: e.defaultValue(n[P("0xa39")].offset, 0)
+                            };
+                            x[P("0x9f8")](o.mergeBuffers(a.buffer, n[P("0x4b3")], s, a.requestedRectangle))
+                        }
+                    } else
+                        x[P("0xa3d")]()
+                }
+                )).otherwise((function() {
+                    x[P("0xa3d")]()
+                }
+                )),
+                x
+            }
+            ,
+            t[P("0x5")][P("0xa49")] = function(t, i, r, n) {
+                n[P("0x2a9")],
+                n.north;
+                var o, a, s, x = (n[P("0x2aa")],
+                n.south,
+                n[P("0x19a")] / 33), l = n[P("0x8b")] / 33, c = r[P("0xfc")], u = r[P("0xa4a")], h = r[P("0xa46")], f = r[P("0xa4b")], d = void 0 !== h && void 0 !== f;
+                if (d)
+                    var g = e.defaultValue(r[P("0xa46")], 0)
+                      , p = e[P("0x102")](Number(r.tolerance), 0);
+                var m = new Float32Array(1089);
+                for (o = 0; o < 33; o++,
+                l)
+                    for (a = 0; a < 33; a++,
+                    x)
+                        m[s = 33 * o + a] = d ? !i[P("0xa4c")][s] || i[P("0xa4c")][s] >= g - p && i[P("0xa4c")][s] <= g + p ? t[P("0xa4c")][s] : i[P("0xa4c")][s] * c + u : i._buffer[s] ? i[P("0xa4c")][s] * c + u : t[P("0xa4c")][s];
+                return this[P("0xa3f")](m, 33, 33, 15)
+            }
+            ,
+            t[P("0x5")].requestTileHeightBuffer = function(t, i, r, n, o, a) {
+                if (!isNaN(t + i + r)) {
+                    e.defined(n) && !1 !== n || (n = new (e[P("0xa4d")])({
+                        defer: !0
+                    }));
+                    var s = 0 == n.defer;
+                    o = e.defaultValue(s, !1);
+                    var x, l = e[P("0x9ee")][P("0x9ef")]();
+                    if (void 0 !== a)
+                        a.getUrlFromSTag = function(e, t, i) {
+                            return void 0 === a.subdomains ? a[P("0x6af")] : a[P("0xa4e")][0] + P("0xa4f")
                         }
                         ,
-                        t.prototype._render = function (e) { }
-                        ,
-                        t.prototype[P("0xc5d")] = function () {
-                            this._sampler || (this[P("0xc58")] = new e.Sampler)
+                        x = this.getRequestElevationLayer(t, i, r).replace(this[P("0x248")][P("0x6af")], a.getUrlFromSTag(t, i, r) + P("0xa50"))[P("0xa1c")](this[P("0x248")][P("0xa07")], a[P("0x176")]),
+                        a[P("0xa51")] === P("0xa19") && (x = x[P("0xa1c")](P("0xa52"), P("0xa53")));
+                    else {
+                        x = this[P("0xa1f")](t, i, r, s || o);
+                        var c = this._tilingScheme.tileXYToRectangle(t, i, r)
+                          , u = this[P("0xa54")]
+                          , h = e[P("0x9ee")][P("0x9ef")]();
+                        if (void 0 !== u) {
+                            var f = [];
+                            if (u[P("0x1e4")]((function(t) {
+                                t[P("0x221")] && null != e[P("0x26b")][P("0x348")](c, t.rectangle, new (e[P("0x26b")])) && f[P("0x17c")](t)
+                            }
+                            )),
+                            0 < f[P("0x0")])
+                                if (1 === f[P("0x0")] && f[0][P("0xa55")] && r > f[0][P("0xa55")])
+                                    h[P("0x9f8")]("NoMerge");
+                                else {
+                                    var d = function(t, i) {
+                                        var r = e.when[P("0x9ef")]()
+                                          , n = [];
+                                        return t[P("0x1e4")]((function(t) {
+                                            var r, o, a, s;
+                                            n[P("0x17c")]((r = t,
+                                            o = i,
+                                            s = e[P("0x9ee")][P("0x9ef")](),
+                                            (a = TerraExplorer.tools[P("0x9f0")][P("0x9f1")][P("0x9f2")].fillArrayFromVerticesAndHeight(r[P("0x9f3")], o, r[P("0x9f4")][0])).timeStamp = r.timeStamp,
+                                            a[P("0x9f5")] = r[P("0x9f4")],
+                                            a[P("0x9f6")] = r[P("0x9f6")],
+                                            a[P("0x9f7")] = r[P("0x9f7")],
+                                            a.rect = r[P("0x969")],
+                                            a[P("0x968")] = r[P("0x968")],
+                                            s[P("0x9f8")](a),
+                                            s))
+                                        }
+                                        )),
+                                        e[P("0x9ee")].all(n, (function(e) {
+                                            if (e[0][P("0x9f9")],
+                                            1 === e[P("0x0")])
+                                                r[P("0x9f8")](e[0]);
+                                            else {
+                                                var t = e[P("0x3d2")]((function(e, t) {
+                                                    return t[P("0x9fa")] - e[P("0x9fa")]
+                                                }
+                                                ))
+                                                  , i = t.shift();
+                                                t.forEach((function(e) {
+                                                    i.forEach((function(t, r) {
+                                                        1 === t && 1 !== e[r] && (i[r] = e[r])
+                                                    }
+                                                    ))
+                                                }
+                                                )),
+                                                r[P("0x9f8")](i)
+                                            }
+                                        }
+                                        )),
+                                        r
+                                    }(f, c);
+                                    e[P("0x9ee")](d, (function(e) {
+                                        h.resolve(e)
+                                    }
+                                    ))[P("0xa40")]((function(e) {
+                                        console[P("0x133")](e)
+                                    }
+                                    ))
+                                }
+                            else
+                                h[P("0x9f8")]("NoMerge")
+                        } else
+                            h[P("0x9f8")](P("0xa56"));
+                        var g = e.when[P("0x9ef")]()
+                          , p = [].filter((function(e) {
+                            return 0 < e[P("0xa57")].length
                         }
-                        ,
-                        t.prototype[P("0x8f9")] = function () {
-                            this[P("0xc54")] && this[P("0xc54")].fillVideo && (this[P("0xb84")] && this[P("0xc5e")] ? this[P("0xc5e")][P("0xaa6")] < 2 || (!this[P("0xc5e")].videoWidth || this._source.videoWidth < 10 ? this._texture && (this[P("0x8f4")].destroy(),
-                                this[P("0x8f4")] = null) : this._texture ? this._texture[P("0xc61")](this._source) : this._texture = new (e[P("0x6db")])({
-                                    context: this[P("0xb84")],
-                                    source: this._source,
-                                    pixelFormat: e[P("0x785")][P("0xb85")],
-                                    pixelDatatype: e[P("0x787")][P("0xc60")]
-                                })) : this[P("0x9fc")][P("0x896")](P("0xc5f")))
+                        ));
+                        if (1 === p.length && p[0].level && r > p[0][P("0x968")])
+                            g[P("0x9f8")](P("0xa58"));
+                        else {
+                            var m = !1;
+                            p[P("0x1e4")]((function(t) {
+                                if (t.ready && t[P("0x221")] && void 0 !== t[P("0xa59")] && void 0 !== e[P("0x26b")][P("0x348")](c, t[P("0xa59")])) {
+                                    for (var i, r = new Uint16Array(1024), n = c.west, o = (c[P("0x2ab")],
+                                    (c[P("0x2aa")] - c[P("0x2a9")]) / 32), a = (c[P("0x2ac")] - c[P("0x2ab")]) / 32, s = 0; s < 32; s++)
+                                        for (var x = 0; x < 32; x++) {
+                                            var l = n + o * x + o / 2
+                                              , u = c[P("0x2ac")] - a * s - a / 2
+                                              , h = new (e[P("0x13")])(l,u);
+                                            i = 65535;
+                                            var f = t[P("0xa5a")](t, h, !0);
+                                            null != f && f[P("0x490")] && f[P("0x490")][P("0xa5b")] && f[P("0x490")][P("0xa5b")].floor && (i = f[P("0x490")]._model[P("0x3e8")][P("0xed")](h.longitude, h[P("0x114")])),
+                                            65535 !== i && (i += 1.5),
+                                            r[32 * s + x] = i
+                                        }
+                                    m = !0,
+                                    g[P("0x9f8")](r)
+                                }
+                            }
+                            )),
+                            m || g[P("0x9f8")]("NoFloor")
                         }
-                        ,
-                        t[P("0x5")]._fetchVideo = function () {
-                            var t = e[P("0x9ee")][P("0x9ef")]();
-                            if (2 <= this[P("0xc5e")][P("0xaa6")]) {
-                                var i = this[P("0xc5e")].videoWidth
-                                    , r = this[P("0xc5e")].videoHeight;
-                                this[P("0xc55")][P("0xc63")](this[P("0xc5e")], 0, 0, i, r, 0, 0, this[P("0xc56")], this[P("0x217")]),
-                                    t[P("0x9f8")](this[P("0x318")])
+                        this[P("0x68a")][P("0xef")]
+                    }
+                    if (!1 === this[P("0xa14")][P("0xa5c")](x)) {
+                        if (this._requestsCache[x] = {},
+                        this[P("0xa15")][P("0x17c")](x),
+                        100 < this[P("0xa15")].length) {
+                            for (var b = 0; b < 50; b++)
+                                delete this._requestsCache[this[P("0xa15")][b]];
+                            this[P("0xa15")].splice(0, 50)
+                        }
+                    } else {
+                        var v = this[P("0xa15")].indexOf(x);
+                        this._requestsCacheKeys[P("0x259")](v, 1),
+                        this[P("0xa15")].push(x)
+                    }
+                    var C = this[P("0xa14")][x];
+                    if (void 0 !== C[P("0xa5d")] || (C[P("0xa5d")] = s ? e.Resource.fetchArrayBuffer(x) : e[P("0x6da")][P("0xa5e")](x),
+                    e[P("0x14")](C[P("0xa5d")]))) {
+                        var y = this;
+                        return this._pendingRequests++,
+                        e.when(C[P("0xa5d")], (function(n) {
+                            void 0 === C.workerFinished && (C[P("0xa5f")] = y[P("0xa12")][P("0xa60")]({
+                                buffer: n,
+                                isElevation: void 0 !== a,
+                                level: r
+                            })),
+                            e[P("0x9ee")][P("0xa3b")]([C[P("0xa5f")], h, g], (function(e) {
+                                var n = void 0 !== e[1] && e[1] !== P("0xa56")
+                                  , o = void 0 !== e[2] && "NoFloor" !== e[2];
+                                if (e[0][P("0xa61")]) {
+                                    for (var a = y[P("0xa00")] * y[P("0xa01")], s = new Int16Array(a), x = 0; x < a; x++)
+                                        s[x] = 300;
+                                    return 2 < r && (s[P("0xa3c")] = !0),
+                                    l[P("0x9f8")](s),
+                                    l
+                                }
+                                var c = y[P("0xa62")](e[0][P("0x4b3")], t, i, r);
+                                if (y[P("0xa13")]--,
+                                n)
+                                    for (x = 0; x < 32; x++)
+                                        for (var u = 0; u < 32; u++) {
+                                            var h = 32 * x + u;
+                                            e[1].fromKML ? c[h] = 1 === e[1][h] ? c[h] : 1 == e[1][P("0x9f6")] ? c[h] + e[1].mtHeight : 2 == e[1][P("0x9f6")] ? Math[P("0x7d")](c[h], e[1][P("0x9f5")]) : 3 == e[1][P("0x9f6")] ? Math[P("0xee")](c[h], e[1][P("0x9f5")]) : e[1][P("0x9f5")] : c[h] = 1 === e[1][h] ? c[h] : 1 == e[1][P("0x9f6")] ? c[h] + e[1][h] : 2 == e[1][P("0x9f6")] ? Math[P("0x7d")](c[h], e[1][h]) : 3 == e[1][P("0x9f6")] ? Math[P("0xee")](c[h], e[1][h]) : e[1][h]
+                                        }
+                                if (o) {
+                                    for (x = 0; x < 32; x++)
+                                        for (u = 0; u < 32; u++)
+                                            c[h = 32 * x + u] = 65535 === e[2][h] || 10500 < e[2][h] ? c[h] : e[2][h];
+                                    c[P("0xa3e")] = !0
+                                }
+                                l[P("0x9f8")](c)
+                            }
+                            ))[P("0xa40")]((function() {
+                                for (var e = y[P("0xa00")] * y[P("0xa01")], t = new Int16Array(e), i = 0; i < e; i++)
+                                    t[i] = 300;
+                                return 2 < r && (t.myReject = !0),
+                                l[P("0x9f8")](t),
+                                l
+                            }
+                            ))
+                        }
+                        ))[P("0xa40")]((function() {
+                            y[P("0xa13")]--,
+                            l[P("0xa3d")]()
+                        }
+                        )),
+                        l
+                    }
+                }
+            }
+            ,
+            t.prototype.extractTileHeightBuffer = function(e, t, i, r) {
+                try {
+                    for (var n = this[P("0xa1d")](r), o = t % n, a = i % n, s = new Float32Array(this.heightMapWidth * this[P("0xa01")]), x = 1e6, l = -1e5, c = 0; c < this[P("0xa01")]; c++)
+                        for (var u = 0; u < this.heightMapWidth; u++) {
+                            var h = c + a * this.heightMapHeight
+                              , f = u + o * this.heightMapWidth
+                              , d = c * this[P("0xa00")] + u
+                              , g = h * this.heightMapWidth * n + f;
+                            e[g] > l && (l = e[g]),
+                            e[g] < x && (x = e[g]),
+                            s[d] = e[g]
+                        }
+                } catch (e) {
+                    console[P("0x133")](e[P("0xa63")])
+                }
+                return s
+            }
+            ,
+            t[P("0x5")].arrayToHeightmapTerrainData = function(t, i, r, n) {
+                !1 === e[P("0x14")](t) && (t = new Int16Array(i * r));
+                var o = {
+                    buffer: t,
+                    width: i,
+                    height: r,
+                    childTileMask: n
+                };
+                return new (e[P("0xa64")])(o)
+            }
+            ;
+            var i = (e[P("0xf")](r[P("0x5")], {
+                errorEvent: {
+                    get: function() {
+                        return this[P("0xa16")]
+                    }
+                },
+                poolSize: {
+                    get: function() {
+                        return this[P("0xa68")]
+                    }
+                }
+            }),
+            r[P("0x5")][P("0xa60")] = function(t, i) {
+                for (var r = e[P("0x9ee")][P("0x9ef")](), n = null, o = 999999, a = 0; a < this[P("0xa6a")][P("0x0")]; a++)
+                    n = this._workers[a],
+                    this[P("0xa6a")][a].jobQueueSize < o && (n = this[P("0xa6a")][a],
+                    o = this[P("0xa6a")][a][P("0xa6c")]);
+                if (0 < o && this[P("0xa6a")].length < this[P("0xa69")]) {
+                    n = new Worker(this[P("0xa66")]);
+                    var s = this;
+                    n[P("0x130")]("message", (function(e) {
+                        s.onWorkerMessage(e)
+                    }
+                    ), !1),
+                    n[P("0x130")](P("0x391"), (function(e) {
+                        s[P("0xa6d")](e)
+                    }
+                    ), !1),
+                    n[P("0xa6c")] = 0,
+                    this[P("0xa6a")][P("0x17c")](n),
+                    n.id = e.createGuid()
+                }
+                t[P("0xa6e")] = n.id;
+                var x = e[P("0x75c")]();
+                return t[P("0xa6f")] = x,
+                this._defered[x] = r,
+                n[P("0xa6c")]++,
+                n[P("0xa70")](t, i),
+                r
+            }
+            ,
+            r[P("0x5")][P("0xa71")] = function(e) {
+                var t = this;
+                if (null == e)
+                    return null != this[P("0xa72")] && clearTimeout(this.timerId),
+                    void (this[P("0xa72")] = setTimeout((function() {
+                        t[P("0xa71")](!0)
+                    }
+                    ), 5e3));
+                for (var i = 0; i < this[P("0xa6a")][P("0x0")]; i++)
+                    0 == this._workers[i][P("0xa6c")] && (this[P("0xa6a")][i][P("0xa73")](),
+                    this[P("0xa6a")][P("0x259")](i, 1),
+                    i--);
+                this[P("0xa6a")][P("0x0")] ? this[P("0xa72")] = setTimeout((function() {
+                    t[P("0xa71")](!0)
+                }
+                ), 5e3) : this[P("0xa72")] = null
+            }
+            ,
+            r[P("0x5")][P("0xa74")] = function(e) {
+                var t = e[P("0x440")]
+                  , i = function(e, t) {
+                    for (var i = 0; i < e[P("0x0")]; i++)
+                        if (t(e[i]))
+                            return i
+                }(this[P("0xa6a")], (function(e) {
+                    return e.id === t.workerId
+                }
+                ));
+                null != i && (this[P("0xa6a")][i].jobQueueSize--,
+                this[P("0xa71")]());
+                var r = this[P("0xa6b")][t.deferedId];
+                delete this._defered[t[P("0xa6f")]],
+                r.resolve(t)
+            }
+            ,
+            r[P("0x5")][P("0xa6d")] = function(e) {
+                console.log(e)
+            }
+            ,
+            r);
+            function r(t) {
+                if (t = t || [],
+                !e[P("0x14")](t.workerPath))
+                    throw new (e[P("0x15")])(P("0xa65"));
+                this[P("0xa66")] = t[P("0xa67")],
+                this[P("0xa68")] = e[P("0x102")](t[P("0xa69")], 16),
+                this[P("0xa6a")] = [],
+                this[P("0xa6b")] = []
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = e.GeoTerrainProvider = function(i) {
+                if (i = e[P("0x102")](i, e[P("0x102")][P("0x128")]),
+                !e[P("0x14")](i.urls))
+                    throw new (e[P("0x15")])(P("0xa75"));
+                this[P("0xa76")] = e.defaultValue(i[P("0xa77")], e[P("0xa78")][P("0xa79")]),
+                this[P("0xa7a")] = e[P("0x102")](i[P("0xa7b")], t[P("0xa7c")]),
+                this[P("0xa7d")] = i[P("0xa7e")],
+                this[P("0xa7f")] = this[P("0xa7d")].length,
+                this[P("0xa80")] = 0,
+                this[P("0xa81")] = 0,
+                this[P("0xa0b")] = e.defaultValue(i[P("0xa77")], e[P("0xa78")][P("0xa79")]),
+                this[P("0x9fc")] = new (e[P("0x766")]),
+                this[P("0x48b")] = !1,
+                this[P("0xa82")] = e.when[P("0x9ef")](),
+                this._proxy = i.proxy,
+                this._terrainDataStructure = {
+                    heightScale: .001,
+                    heightOffset: -1e3,
+                    elementsPerHeight: 3,
+                    stride: 4,
+                    elementMultiplier: 256,
+                    isBigEndian: !0
+                };
+                var r = i[P("0xa83")];
+                w()(r) === P("0x9fe") && (r = new (e[P("0x9ff")])(r)),
+                this[P("0x9fd")] = r,
+                this._tilingScheme = void 0,
+                this._rectangles = [];
+                var n = e[P("0x102")](i[P("0xef")], e[P("0x16")][P("0x110")]);
+                this[P("0x68a")] = new (e[P("0x9d7")])({
+                    ellipsoid: n
+                }),
+                this[P("0xa84")] = 64,
+                this[P("0xa85")] = 64,
+                this._levelZeroMaximumGeometricError = e[P("0xa11")][P("0xa86")](n, Math[P("0x7d")](this[P("0xa84")], this[P("0xa85")]), this[P("0x68a")].getNumberOfXTilesAtLevel(0)),
+                this[P("0x48b")] = !0,
+                this[P("0xa82")][P("0x9f8")](!0),
+                this[P("0x75b")] = i[P("0x176")],
+                this[P("0xa87")] = i[P("0xa88")],
+                this[P("0xa89")] = i[P("0xa8a")],
+                this[P("0xa8b")] = e[P("0x102")](i.topLevel, 5),
+                this[P("0xa8c")] = e[P("0x102")](i[P("0xa8d")], 25)
+            }
+            ;
+            function i(t, i) {
+                return (i = e[P("0x14")](i) ? i : new e.Request)[P("0x6af")] = t,
+                i[P("0xa9e")] = function() {
+                    var i, r, n = P("0xa9f"), o = new XMLHttpRequest;
+                    return o[P("0xaa0")](n, t, !0),
+                    o[P("0xaa1")] = P("0xaa2"),
+                    o[P("0xaa3")] = !1,
+                    o.send(null),
+                    i = o,
+                    r = e[P("0x9ee")].defer(),
+                    i.onreadystatechange = function() {
+                        if (4 === i[P("0xaa6")])
+                            if (200 === i[P("0xaa7")]) {
+                                if (e[P("0x14")](i[P("0xaa8")])) {
+                                    for (var t = new DataView(i[P("0xaa8")]), n = new Uint8Array(t[P("0xaa9")]), o = 0; o < t.byteLength; )
+                                        n[o] = t.getUint8(o, !0),
+                                        o++;
+                                    var a = function(t) {
+                                        if (!(t[P("0x0")] < 1e3)) {
+                                            var i = new (Zlib[P("0xaaa")])(t);
+                                            return e[P("0x14")](i) ? i[P("0xaab")]() : void 0
+                                        }
+                                    }(n);
+                                    e[P("0x14")](a) ? r[P("0x9f8")](a) : r[P("0xa3d")](void 0)
+                                }
                             } else
-                                t[P("0xa3d")](null);
-                            return t
-                        }
-                        ,
-                        t.prototype[P("0xb83")] = function (t) {
-                            this[P("0x8f4")] ? this[P("0x8f4")][P("0xc61")](t) : this[P("0x8f4")] = new (e[P("0x6db")])({
-                                context: this[P("0xb84")],
-                                source: t,
-                                pixelFormat: e[P("0x785")].RGBA,
-                                pixelDatatype: e.PixelDatatype[P("0xc60")],
-                                sampler: this[P("0xc58")]
-                            })
-                        }
-                        ,
-                        t[P("0x5")]._recreateParseCanvas = function () {
-                            this[P("0xc56")] < 1 || this[P("0x217")] < 1 || (this[P("0x318")] || (this[P("0x318")] = document.createElement(P("0x48"))),
-                                this[P("0x318")][P("0x19a")] = e[P("0x23")][P("0xc64")](this[P("0xc56")]),
-                                this[P("0x318")].height = e.Math[P("0xc64")](this[P("0x217")]),
-                                this[P("0xc55")] = this[P("0x318")][P("0x476")]("2d"))
-                        }
-                        ,
-                        t[P("0x5")][P("0xc65")] = function () {
-                            var e = this[P("0xc5e")][P("0xc5a")]
-                                , t = this[P("0xc5e")][P("0xc66")];
-                            return this[P("0xc55")][P("0xc63")](this[P("0xc5e")], 0, 0, e, t, 0, 0, this._width, this[P("0x217")]),
-                                this._canvas
-                        }
-                        ,
-                        t.prototype._createSource = function (e) {
-                            return {
-                                arrayBufferView: new Uint8Array(e),
-                                width: this._width,
-                                height: this[P("0x217")]
-                            }
-                        }
-                        ,
-                        t.prototype[P("0xf4")] = function () {
-                            this[P("0xc5e")] = null,
-                                this._context2D = null,
-                                this[P("0xb84")] = null,
-                                this[P("0x318")] = null,
-                                this[P("0xc54")] = null,
-                                this[P("0xc58")] = null,
-                                this._errorEvent = new (e[P("0x766")]),
-                                this[P("0x8f4")] && (this[P("0x8f4")].destroy(),
-                                    this._texture = null)
-                        }
-                        ,
-                        i[P("0x5")].destroy = function () {
-                            this._destroyPostStage(),
-                                this[P("0xc67")] = null,
-                                this[P("0x42")] = null,
-                                this[P("0xc6d")] = null,
-                                this[P("0xc6b")] = null,
-                                this[P("0xc6c")] = null,
-                                this[P("0xc6a")] = null
-                        }
-                        ,
-                        i[P("0xc6e")] = P("0xc6f") + P("0xc70") + "uniform sampler2D colorTexture;\nuniform sampler2D videoMapTexture;\n" + P("0xc71") + P("0x7a1") + P("0xc72") + P("0xc73") + P("0xc74") + P("0x7a4") + P("0x7a5") + P("0x7a6") + P("0xc75") + "    posInCamera = posInCamera / posInCamera.w;\n" + P("0xc76") + "}\n" + P("0x7a8") + "    float z_window = czm_unpackDepth(depth);\n" + P("0x7aa") + P("0x7ab") + P("0x7ac") + "    return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n}\n" + P("0xc77") + "    float visibility = step(position.z, texture2D(shadowMap, position.xy).r);\n    return (visibility == 1.0);\n}\n" + P("0x708") + "{\n" + P("0x7b1") + P("0x7b2") + P("0x7b3") + P("0x7b4") + P("0x7b5") + P("0x7b7") + P("0x7b8") + P("0xc78") + "    vec4 videoPosition = videoMapMatrix * positionEC;\n    videoPosition /= videoPosition.w;\n" + P("0xc79") + "    {\n" + P("0x7b4") + P("0x7b5") + "    }\n" + P("0xc7a") + P("0xc7b") + P("0xc7c") + "        gl_FragColor = vec4(mix(color.rgb, videoColor.rgb, mixNum), 1.0);\n" + P("0xc7d") + P("0x7b4") + P("0x7b7") + "}",
-                        i[P("0xc7e")] = P("0xc6f") + P("0xc70") + P("0x7a0") + P("0xc7f") + P("0x7a1") + P("0xc72") + "uniform mat4 videoViewMatrix;\n" + P("0xc74") + P("0xc80") + P("0x7a4") + P("0x7a5") + P("0x7a6") + P("0xc75") + "    posInCamera = posInCamera / posInCamera.w;\n" + P("0xc76") + "}\n" + P("0x7a8") + P("0x7a9") + P("0x7aa") + P("0x7ab") + "    float f_range = czm_depthRange.far;\n    return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n}\n" + P("0xc77") + P("0xc81") + P("0xc82") + "}\n" + P("0x708") + "{\n    vec4 color = texture2D(colorTexture, v_textureCoordinates);\n    vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n" + P("0x7b3") + P("0x7b4") + P("0x7b5") + "    }\n" + P("0x7b8") + P("0xc78") + P("0xc83") + P("0xc84") + P("0xc79") + P("0x85f") + P("0x7b4") + P("0x7b5") + "    }\n" + P("0xc7a") + "    if(visibility){\n" + P("0xc85") + P("0xc86") + P("0xc7d") + P("0x7b4") + "    }\n}",
-                        i[P("0xc87")] = P("0xc6f") + P("0xc70") + "uniform sampler2D colorTexture;\n" + P("0xc7f") + P("0xc71") + P("0x7a1") + "uniform mat4 videoMapMatrix;\n" + P("0xc73") + P("0xc74") + P("0xc80") + "varying vec2 v_textureCoordinates;\n" + P("0x7a5") + P("0x7a6") + P("0xc75") + P("0x7a7") + P("0xc76") + "}\n" + P("0x7a8") + P("0x7a9") + P("0x7aa") + P("0x7ab") + P("0x7ac") + P("0x7ad") + "}\n" + P("0xc77") + P("0xc81") + P("0xc82") + "}\n" + P("0x708") + "{\n    vec4 color = texture2D(colorTexture, v_textureCoordinates);\n" + P("0x7b2") + P("0x7b3") + P("0x7b4") + P("0x7b5") + P("0x7b7") + P("0x7b8") + P("0xc78") + P("0xc83") + P("0xc84") + P("0xc79") + "    {\n        gl_FragColor = color;\n        return;\n" + P("0x7b7") + P("0xc7a") + P("0xc7b") + P("0xc88") + "        vec4 positionWC = viewScene * positionEC;\n        positionWC /= positionWC.w;\n        depth = length(videoMapPosition - positionWC.xyz);\n        if(depth - videoDistance > -0.5){\n" + P("0xc89") + P("0xc8a") + P("0x7bf") + P("0xc7c") + P("0xc86") + P("0xc7d") + P("0x7b4") + "    }\n}",
-                        i[P("0xc8b")] = "uniform float mixNum;\n" + P("0xc70") + P("0x7a0") + P("0xc7f") + P("0x7a1") + P("0xc72") + P("0xc73") + P("0xc74") + P("0xc80") + "varying vec2 v_textureCoordinates;\n" + P("0x7a5") + P("0x7a6") + P("0xc75") + P("0x7a7") + P("0xc76") + "}\n" + P("0x7a8") + P("0x7a9") + P("0x7aa") + "    float n_range = czm_depthRange.near;\n" + P("0x7ac") + "    return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n}\n" + P("0xc77") + P("0xc81") + "    return (visibility == 1.0);\n}\nvoid main()\n{\n" + P("0x7b1") + P("0x7b2") + P("0x7b3") + "        gl_FragColor = color;\n" + P("0x7b5") + P("0x7b7") + P("0x7b8") + P("0xc78") + P("0xc83") + P("0xc84") + P("0xc79") + "    {\n" + P("0x7b4") + P("0x7b5") + P("0x7b7") + P("0xc7a") + P("0xc7b") + P("0xc88") + P("0xc8c") + "        positionWC /= positionWC.w;\n" + P("0xc8d") + "        if(depth - videoDistance > -0.5){\n" + P("0xc89") + P("0xc8a") + P("0x7bf") + P("0xc85") + "        gl_FragColor = vec4(mix(color.rgb, videoColor.rgb, mixNum), 1.0);\n" + P("0xc7d") + P("0x7b4") + "    }\n}",
-                        e[P("0xf")](i[P("0x5")], {
-                            CreationEvent: {
-                                get: function () {
-                                    return this[P("0xc6d")]
+                                (400 <= i[P("0xaa7")] || 0 == i[P("0xaa7")]) && r.reject(void 0)
+                    }
+                    ,
+                    r.promise
+                }
+                ,
+                e[P("0xaa4")][P("0xaa5")](i)
+            }
+            e.defineProperties(t[P("0x5")], {
+                errorEvent: {
+                    get: function() {
+                        return this[P("0x9fc")]
+                    }
+                },
+                credit: {
+                    get: function() {
+                        return this[P("0x9fd")]
+                    }
+                },
+                tilingScheme: {
+                    get: function() {
+                        if (!this[P("0xa8e")])
+                            throw new (e[P("0x15")])(P("0xa8f"));
+                        return this._tilingScheme
+                    }
+                },
+                ready: {
+                    get: function() {
+                        return this._ready
+                    }
+                },
+                readyPromise: {
+                    get: function() {
+                        return this[P("0xa82")][P("0xa90")]
+                    }
+                },
+                hasWaterMask: {
+                    get: function() {
+                        return !1
+                    }
+                },
+                hasVertexNormals: {
+                    get: function() {
+                        return !1
+                    }
+                }
+            }),
+            t[P("0x5")][P("0xa91")] = function(r, o, a, s) {
+                if (!this.ready)
+                    throw new e.DeveloperError(P("0xa8f"));
+                1 < this[P("0xa7f")] && (this[P("0xa81")] < 8 ? this[P("0xa81")]++ : (this[P("0xa81")] = 0,
+                this[P("0xa80")]++,
+                this[P("0xa80")] >= this._urls_length && (this[P("0xa80")] = 0)));
+                var x = this[P("0xa7d")][this[P("0xa80")]];
+                if (this[P("0x68a")][P("0x9e2")](a),
+                a < this[P("0xa8c")] && a >= this[P("0xa8b")]) {
+                    var l, c = -1 === x[P("0x2d3")]("?") ? "?" : "&", u = x + c + "x=" + r + P("0xa92") + o + P("0xa93") + (a + 1), h = this[P("0xa94")];
+                    if (e.defined(h) && (u = h[P("0xa95")](u)),
+                    s = e[P("0x102")](s, !0)) {
+                        if (l = i(u, s),
+                        !e.defined(l))
+                            return
+                    } else
+                        l = i(u);
+                    if (this._tileType == t[P("0xa96")])
+                        return l.then((function(e) {
+                            return function(e, t, i, r, n) {
+                                var o = 0
+                                  , a = 3 * Float64Array[P("0x4b5")]
+                                  , s = 4 * Float64Array[P("0x4b5")]
+                                  , x = 3 * Uint16Array.BYTES_PER_ELEMENT
+                                  , l = Uint16Array[P("0x4b5")]
+                                  , c = 3 * l
+                                  , u = new DataView(t)
+                                  , h = new Cartesian3(u[P("0xaad")](o, !0),u[P("0xaad")](o + 8, !0),u[P("0xaad")](o + 16, !0));
+                                o += a;
+                                var f = u[P("0xaae")](o, !0);
+                                o += Float32Array.BYTES_PER_ELEMENT;
+                                var d = u[P("0xaae")](o, !0);
+                                o += Float32Array.BYTES_PER_ELEMENT;
+                                var g = new BoundingSphere(new Cartesian3(u.getFloat64(o, !0),u[P("0xaad")](o + 8, !0),u[P("0xaad")](o + 16, !0)),u[P("0xaad")](o + a, !0));
+                                o += s;
+                                var p = new Cartesian3(u[P("0xaad")](o, !0),u[P("0xaad")](o + 8, !0),u[P("0xaad")](o + 16, !0));
+                                o += a;
+                                var m = u.getUint32(o, !0);
+                                o += Uint32Array.BYTES_PER_ELEMENT;
+                                var b = new Uint16Array(t,o,3 * m);
+                                o += m * x,
+                                65536 < m && (c = 3 * (l = Uint32Array[P("0x4b5")]));
+                                var v = b[P("0xaaf")](0, m)
+                                  , C = b[P("0xaaf")](m, 2 * m)
+                                  , y = b[P("0xaaf")](2 * m, 3 * m);
+                                AttributeCompression.zigZagDeltaDecode(v, C, y),
+                                o % l != 0 && (o += l - o % l);
+                                var _ = u[P("0xab0")](o, !0);
+                                o += Uint32Array[P("0x4b5")];
+                                var A = IndexDatatype[P("0xab1")](m, t, o, 3 * _);
+                                o += _ * c;
+                                for (var I = 0, w = A[P("0x0")], G = 0; G < w; ++G) {
+                                    var E = A[G];
+                                    A[G] = I - E,
+                                    0 === E && ++I
                                 }
-                            },
-                            AddToSceneEvent: {
-                                get: function () {
-                                    return this[P("0xc6b")]
-                                }
-                            },
-                            RemoveFromSceneEvent: {
-                                get: function () {
-                                    return this[P("0xc6c")]
-                                }
-                            }
-                        }),
-                        i.prototype[P("0xc8e")] = function () {
-                            var e = this[P("0xc67")];
-                            if (e) {
-                                if (this[P("0xc6a")] = e[P("0xc8f")](),
-                                    this._videoTexture)
-                                    e.fillVideo || (this[P("0xc6a")] = null);
-                                else if (e[P("0xc90")])
-                                    return void this._removeFromScene();
-                                this[P("0xc91")](),
-                                    this[P("0xc92")](),
-                                    this._addToScene()
-                            }
-                        }
-                        ,
-                        i[P("0x5")][P("0xc93")] = function () {
-                            this[P("0xc68")] = null,
-                                this._removeFromScene()
-                        }
-                        ,
-                        i[P("0x5")][P("0xc94")] = function () {
-                            this._postStage && (this[P("0x42")][P("0x77c")][P("0xd1")](this[P("0xc69")]) || (this._scene.postProcessStages[P("0x6d")](this[P("0xc69")]),
-                                this[P("0xc6b")][P("0x896")](this)))
-                        }
-                        ,
-                        i.prototype[P("0xc95")] = function () {
-                            this._postStage && this._scene[P("0x77c")][P("0xd1")](this._postStage) && (this[P("0x42")][P("0x77c")][P("0x17f")](this._postStage),
-                                this[P("0xc69")] = null,
-                                this[P("0xc6c")][P("0x896")](this))
-                        }
-                        ,
-                        i[P("0x5")][P("0xc91")] = function () {
-                            if (!this._uniforms) {
-                                var e = this
-                                    , t = e[P("0xc67")];
-                                e._videoTexture ? this[P("0xc68")] = {
-                                    mixNum: function () {
-                                        return t[P("0xc96")]
-                                    },
-                                    videoMapTexture: function () {
-                                        return t[P("0xc97")]()
-                                    },
-                                    videoTexture: function () {
-                                        return e[P("0xc6a")]
-                                    },
-                                    videoMapMatrix: function () {
-                                        return t[P("0xc98")]()
-                                    },
-                                    videoViewMatrix: function () {
-                                        return t[P("0xc99")]()
-                                    },
-                                    videoDistance: function () {
-                                        return t.fovDistance
-                                    },
-                                    videoMapPosition: function () {
-                                        return t[P("0x8c")]
-                                    },
-                                    u_videoColor: function () {
-                                        return t[P("0xc9a")]
+                                var S = u[P("0xab0")](o, !0);
+                                o += Uint32Array.BYTES_PER_ELEMENT;
+                                var T = IndexDatatype[P("0xab1")](m, t, o, S);
+                                o += S * l;
+                                var M = u[P("0xab0")](o, !0);
+                                o += Uint32Array[P("0x4b5")];
+                                var N = IndexDatatype[P("0xab1")](m, t, o, M);
+                                o += M * l;
+                                var L = u[P("0xab0")](o, !0);
+                                o += Uint32Array.BYTES_PER_ELEMENT;
+                                var R = IndexDatatype[P("0xab1")](m, t, o, L);
+                                o += L * l;
+                                var O = u[P("0xab0")](o, !0);
+                                o += Uint32Array[P("0x4b5")];
+                                var F, D, U = IndexDatatype.createTypedArrayFromArrayBuffer(m, t, o, O);
+                                for (o += O * l; o < u[P("0xaa9")]; ) {
+                                    var k = u[P("0xab2")](o, !0);
+                                    o += Uint8Array[P("0x4b5")];
+                                    var B = u.getUint32(o, !0);
+                                    if (o += Uint32Array[P("0x4b5")],
+                                    k === QuantizedMeshExtensionIds[P("0xab3")] && e[P("0xab4")])
+                                        F = new Uint8Array(t,o,2 * m);
+                                    else if (k === QuantizedMeshExtensionIds[P("0xab5")] && e._requestWaterMask)
+                                        D = new Uint8Array(t,o,B);
+                                    else if (k === QuantizedMeshExtensionIds[P("0xab6")] && e[P("0xab7")]) {
+                                        var W = u[P("0xab0")](o, !0);
+                                        if (0 < W) {
+                                            var j = getStringFromTypedArray(new Uint8Array(t), o + Uint32Array[P("0x4b5")], W)
+                                              , V = JSON[P("0x946")](j)[P("0xab8")];
+                                            if (defined(V))
+                                                for (var z = 0; z < V[P("0x0")]; ++z)
+                                                    for (var H = i + z + 1, q = V[z], X = (e._tilingScheme[P("0x9e2")](H),
+                                                    0); X < q[P("0x0")]; ++X) {
+                                                        var Y = q[X];
+                                                        Y[P("0xab9")],
+                                                        Y.startY
+                                                    }
+                                        }
                                     }
-                                } : this[P("0xc68")] = {
-                                    mixNum: function () {
-                                        return t.mixFactor
-                                    },
-                                    videoMapTexture: function () {
-                                        return t[P("0xc97")]()
-                                    },
-                                    videoMapMatrix: function () {
-                                        return t[P("0xc98")]()
-                                    },
-                                    videoViewMatrix: function () {
-                                        return t[P("0xc99")]()
-                                    },
-                                    videoDistance: function () {
-                                        return t[P("0xc9b")]
-                                    },
-                                    videoMapPosition: function () {
-                                        return t[P("0x8c")]
-                                    },
-                                    u_videoColor: function () {
-                                        return t[P("0xc9a")]
-                                    }
+                                    o += B
                                 }
-                            }
+                                var K, Q = 5 * e[P("0xa99")](i), Z = e[P("0x68a")][P("0xa33")](r, n, i);
+                                return Z.width < CesiumMath.PI_OVER_TWO + CesiumMath[P("0xaba")] && (K = OrientedBoundingBox[P("0xabb")](Z, f, d, e[P("0x68a")][P("0xef")])),
+                                new QuantizedMeshTerrainData({
+                                    center: h,
+                                    minimumHeight: f,
+                                    maximumHeight: d,
+                                    boundingSphere: g,
+                                    orientedBoundingBox: K,
+                                    horizonOcclusionPoint: p,
+                                    quantizedVertices: b,
+                                    encodedNormals: F,
+                                    indices: A,
+                                    westIndices: T,
+                                    southIndices: N,
+                                    eastIndices: R,
+                                    northIndices: U,
+                                    westSkirtHeight: Q,
+                                    southSkirtHeight: Q,
+                                    eastSkirtHeight: Q,
+                                    northSkirtHeight: Q,
+                                    waterMask: D,
+                                    credits: e[P("0xabc")]
+                                })
+                            }(provider, e, a, r, o)
                         }
-                        ,
-                        i[P("0x5")][P("0xc9c")] = function () {
-                            var e = this[P("0xc69")];
-                            e && (e.enabled = this[P("0xc67")][P("0x5ba")])
+                        ));
+                    var f = this;
+                    return e[P("0x9ee")](l, (function(t) {
+                        var i = f.transformBuffer(t);
+                        if (e.defined(i)) {
+                            var s = new (e[P("0xa64")])({
+                                buffer: i,
+                                width: f[P("0xa84")],
+                                height: f[P("0xa85")],
+                                childTileMask: n(f, r, o, a),
+                                structure: f[P("0xa97")]
+                            });
+                            return s[P("0xa98")] = 6e3,
+                            s
                         }
-                        ,
-                        i[P("0x5")][P("0xc92")] = function () {
-                            if (!this[P("0xc69")]) {
-                                var t;
-                                t = 1 == this[P("0xc67")][P("0xc9d")] ? this[P("0xc6a")] ? i._FS_Cone : i[P("0xc7e")] : this[P("0xc6a")] ? i[P("0xc87")] : i[P("0xc8b")],
-                                    this._postStage = new (e[P("0x7c5")])({
-                                        fragmentShader: t,
-                                        enabled: !1,
-                                        uniforms: this[P("0xc68")]
-                                    }),
-                                    this[P("0xc6d")][P("0x896")](this)
-                            }
+                    }
+                    ))
+                }
+                if (a < this[P("0xa8b")]) {
+                    var d = this[P("0xa84")]
+                      , g = this[P("0xa85")]
+                      , p = n(this, r, o, a)
+                      , m = this._terrainDataStructure;
+                    return new (e[P("0xa64")])({
+                        buffer: this.getvHeightBuffer(),
+                        width: d,
+                        height: g,
+                        childTileMask: p,
+                        structure: m
+                    })
+                }
+                return a >= this[P("0xa8c")] ? new C.a((function(e, t) {
+                    t("璇ョ骇鍒笉鍙戦�佽姹傦紒")
+                }
+                )) : void 0
+            }
+            ,
+            t[P("0x5")][P("0xa99")] = function(t) {
+                if (!this[P("0xa8e")])
+                    throw new (e[P("0x15")])("requestTileGeometry must not be called before ready returns true.");
+                return this._levelZeroMaximumGeometricError / (1 << t)
+            }
+            ,
+            t[P("0x5")][P("0x9fb")] = function(e, t, i) {
+                if (i < 25)
+                    return !0
+            }
+            ,
+            t[P("0x5")][P("0xa9a")] = function() {
+                var t = this[P("0xa9b")];
+                if (!e[P("0x14")](t)) {
+                    t = new Uint8ClampedArray(this._heightmapWidth * this._heightmapHeight * 4);
+                    for (var i = 0; i < this[P("0xa84")] * this[P("0xa85")] * 4; )
+                        t[i++] = 15,
+                        t[i++] = 66,
+                        t[i++] = 64,
+                        t[i++] = 255;
+                    this[P("0xa9b")] = t
+                }
+                return t
+            }
+            ,
+            t[P("0x5")][P("0xa9c")] = function(t) {
+                var i = 2;
+                this._dataType === e.GeoTerrainProvider[P("0xa79")] ? i = 2 : this._dataType === e[P("0xa78")].FLOAT && (i = 4);
+                var r = t;
+                if (r[P("0x0")] !== 22500 * i)
+                    return null;
+                for (var n, o, a, s, x, l = new ArrayBuffer(i), c = new DataView(l), u = this[P("0xa84")], h = this[P("0xa85")], f = new Uint8Array(u * h * 4), d = 0; d < h; d++)
+                    for (var g = 0; g < u; g++) {
+                        s = p()(149 * d / (h - 1)),
+                        x = p()(149 * g / (u - 1)),
+                        (1e4 < (n = 4 === i ? (o = i * (150 * s + x),
+                        c.setInt8(0, r[o]),
+                        c[P("0xa9d")](1, r[o + 1]),
+                        c[P("0xa9d")](2, r[o + 2]),
+                        c.setInt8(3, r[o + 3]),
+                        c.getFloat32(0, !0)) : r[o = i * (150 * s + x)] + 256 * r[o + 1]) || n < -2e3) && (n = 0);
+                        var m = (n + 1e3) / .001;
+                        f[a = 4 * (d * u + g)] = m / 65536,
+                        f[1 + a] = (m - 256 * f[a] * 256) / 256,
+                        f[2 + a] = m - 256 * f[a] * 256 - 256 * f[1 + a],
+                        f[3 + a] = 255
+                    }
+                return f
+            }
+            ;
+            var r = new (e[P("0x26b")]);
+            function n(t, i, n, a) {
+                for (var s = t._tilingScheme, x = t[P("0xaac")], l = s[P("0xa33")](i, n, a), c = 0, u = 0; u < x[P("0x0")] && 15 !== c; ++u) {
+                    var h = x[u];
+                    if (!(h[P("0x109")] <= a)) {
+                        var f = h[P("0x969")]
+                          , d = e[P("0x26b")][P("0x348")](f, l, r);
+                        e[P("0x14")](d) && (o(s, f, 2 * i, 2 * n, a + 1) && (c |= 4),
+                        o(s, f, 2 * i + 1, 2 * n, a + 1) && (c |= 8),
+                        o(s, f, 2 * i, 2 * n + 1, a + 1) && (c |= 1),
+                        o(s, f, 2 * i + 1, 2 * n + 1, a + 1) && (c |= 2))
+                    }
+                }
+                return c
+            }
+            function o(t, i, n, o, a) {
+                var s = t[P("0xa33")](n, o, a);
+                return e[P("0x14")](e.Rectangle.intersection(s, i, r))
+            }
+            t[P("0xa79")] = P("0xabd"),
+            t[P("0x5e9")] = P("0xabe"),
+            t.QUANTIZED_MESH = P("0xabf"),
+            t[P("0xa7c")] = P("0xac0")
+        }(window[P("0xfd")]),
+        k = (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && "symbol" == w()(Symbol[P("0x1f3")]) ? function(e) {
+            return w()(e)
+        }
+        : function(e) {
+            return e && (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && e[P("0x2b7")] === A.a && e !== Symbol[P("0x5")] ? "symbol" : w()(e)
+        }
+        ,
+        function(e) {
+            var t = e.defaultValue;
+            function i(i) {
+                i = t(i, t[P("0x128")]),
+                this.viewer = i[P("0x13b")],
+                this[P("0xac1")] = i.tileset,
+                this[P("0xac2")] = i[P("0xac2")],
+                this[P("0xac3")] = t(i[P("0xac3")], !0),
+                this[P("0x69")] = t(i[P("0x69")], null),
+                this[P("0xac4")] = t(i.originalColor, e[P("0x16a")][P("0xac5")](255, 50, 50, 1)),
+                this[P("0xac6")] = t(i[P("0xac6")], e.Color[P("0xac5")](255, 50, 50, 122)),
+                this.selectedColor = t(i.selectedColor, e.Color.fromBytes(50, 255, 50, 122)),
+                this[P("0xac7")] = void 0,
+                this[P("0xac8")] = new e.PrimitiveCollection,
+                this[P("0xac2")] && this[P("0xac2")][P("0x165")] === P("0xac9") && this._loadGeoJSON(this[P("0xac2")].data),
+                this[P("0x16f")] = new (e[P("0x15f")])(this[P("0x13b")][P("0x10f")][P("0x48")]),
+                this[P("0xac3")] && this[P("0xaca")](),
+                this[P("0xacb")] = new (e[P("0x766")])
+            }
+            e[P("0x14")],
+            e[P("0xf")](i[P("0x5")], {
+                seletedEvent: {
+                    get: function() {
+                        return this[P("0xacb")]
+                    }
+                }
+            }),
+            i[P("0x5")]._loadGeoJSON = function(e) {
+                var t = this;
+                if ("object" === (w()(e) === P("0x2b6") ? P("0x2b6") : k(e)))
+                    this._loadGroundPrimitives(e);
+                else if ("string" == typeof e) {
+                    var i = new (window[P("0xacc")]);
+                    i[P("0xaa0")](P("0xa9f"), e, !0),
+                    i[P("0xacd")] = !1,
+                    i.setRequestHeader(P("0xace"), P("0xacf")),
+                    i[P("0xad0")] = function() {
+                        console[P("0x391")](i[P("0xad1")])
+                    }
+                    ,
+                    i[P("0xad2")] = function() {
+                        if (200 <= i.status && i[P("0xaa7")] < 300 && i[P("0xaa8")]) {
+                            var e = JSON[P("0x946")](i[P("0xaa8")]);
+                            t[P("0xad3")](e)
                         }
-                        ,
-                        i[P("0x5")]._destroyPostStage = function () {
-                            this._postStage && this[P("0xc95")](),
-                                this[P("0xc68")] = null
-                        }
-                        ,
-                        e[P("0xf")](r[P("0x5")], {
-                            minFovX: {
-                                get: function () {
-                                    return this[P("0xcb7")]
-                                },
-                                set: function (e) {
-                                    this[P("0xcb7")] = e
-                                }
+                    }
+                    ,
+                    i.send()
+                } else
+                    console.warn(P("0xad4"))
+            }
+            ,
+            i[P("0x5")][P("0xad3")] = function(t) {
+                this[P("0xac8")][P("0xf3")]() && (this[P("0xac8")] = new (e[P("0x51e")]));
+                for (var i = 0; i < t[P("0x33a")][P("0x0")]; i++) {
+                    var r = t[P("0x33a")][i];
+                    if (r[P("0x180")][P("0x165")] === P("0xad5")) {
+                        for (var n = [], o = 0; o < r[P("0x180")].coordinates[0][P("0x0")]; o++)
+                            n[P("0x17c")](r[P("0x180")].coordinates[0][o][0]),
+                            n[P("0x17c")](r[P("0x180")][P("0x2ed")][0][o][1]);
+                        var a = new e.GeometryInstance({
+                            geometry: e.PolygonGeometry[P("0x231")]({
+                                positions: e.Cartesian3[P("0x1da")](n),
+                                vertexFormat: e[P("0x1b0")][P("0x1b1")]
+                            }),
+                            attributes: {
+                                color: e[P("0x184")][P("0x1b2")](this[P("0xac4")])
                             },
-                            maxFovX: {
-                                get: function () {
-                                    return this[P("0xc9f")]
-                                },
-                                set: function (e) {
-                                    this[P("0xc9f")] = e
-                                }
-                            },
-                            minFovY: {
-                                get: function () {
-                                    return this[P("0xca0")]
-                                },
-                                set: function (e) {
-                                    this[P("0xca0")] = e
-                                }
-                            },
-                            maxFovY: {
-                                get: function () {
-                                    return this[P("0xca2")]
-                                },
-                                set: function (e) {
-                                    this[P("0xca2")] = e
-                                }
-                            },
-                            minFovDistance: {
-                                get: function () {
-                                    return this[P("0xca4")]
-                                },
-                                set: function (e) {
-                                    this[P("0xca4")] = e
-                                }
-                            },
-                            maxFovDistance: {
-                                get: function () {
-                                    return this[P("0xca6")]
-                                },
-                                set: function (e) {
-                                    this[P("0xca6")] = e
-                                }
-                            },
-                            minHeading: {
-                                get: function () {
-                                    return this[P("0xca8")]
-                                },
-                                set: function (e) {
-                                    this[P("0xca8")] = e
-                                }
-                            },
-                            maxHeading: {
-                                get: function () {
-                                    return this[P("0xcaa")]
-                                },
-                                set: function (e) {
-                                    this._maxHeading = e
-                                }
-                            },
-                            minPitch: {
-                                get: function () {
-                                    return this[P("0xcb8")]
-                                },
-                                set: function (e) {
-                                    this[P("0xcb8")] = e
-                                }
-                            },
-                            maxPitch: {
-                                get: function () {
-                                    return this._maxPitch
-                                },
-                                set: function (e) {
-                                    this._maxPitch = e
-                                }
-                            },
-                            minRoll: {
-                                get: function () {
-                                    return this[P("0xcaf")]
-                                },
-                                set: function (e) {
-                                    this._minRoll = e
-                                }
-                            },
-                            maxRoll: {
-                                get: function () {
-                                    return this[P("0xcb9")]
-                                },
-                                set: function (e) {
-                                    this._maxRoll = e
-                                }
-                            },
-                            minSegmentCount: {
-                                get: function () {
-                                    return this[P("0xcb2")]
-                                },
-                                set: function (e) {
-                                    this[P("0xcb2")] = e
-                                }
-                            },
-                            maxSegmentCount: {
-                                get: function () {
-                                    return this[P("0xcb3")]
-                                },
-                                set: function (e) {
-                                    this[P("0xcb3")] = e
-                                }
-                            },
-                            isInvSphere: {
-                                get: function () {
-                                    return this._isInvSphere
-                                },
-                                set: function (e) {
-                                    this._isInvSphere = e
-                                }
-                            },
-                            isSphereType: {
-                                get: function () {
-                                    return this._isSphereType
-                                },
-                                set: function (e) {
-                                    this[P("0xcb6")] = e
-                                }
-                            }
-                        }),
-                        r[P("0xcba")] = 5,
-                        r[P("0xcb4")] = 10,
-                        r[P("0xc9e")] = 1,
-                        r._MaxFovX = 160,
-                        r[P("0xca1")] = 1,
-                        r._MaxFovY = 90,
-                        r[P("0xca5")] = 1,
-                        r._MaxFovDistance = 500,
-                        r[P("0xca9")] = -180,
-                        r[P("0xcab")] = 180,
-                        r[P("0xcb0")] = -90,
-                        r[P("0xcb1")] = 90,
-                        r[P("0xcac")] = -90,
-                        r[P("0xcae")] = 90,
-                        r[P("0x5")][P("0xcbb")] = function (e) {
-                            return e ? e < this._minSegmentCount ? this[P("0xcb2")] : e > this[P("0xcb3")] ? this[P("0xcb3")] : e : this._minSegmentCount
-                        }
-                        ,
-                        r[P("0x5")].clampFovX = function (e) {
-                            return e ? e < this[P("0xcb7")] ? this._minFovX : e > this._maxFovX ? this._maxFovX : e : this[P("0xc9f")]
-                        }
-                        ,
-                        r[P("0x5")][P("0xcbc")] = function (e) {
-                            return e ? e < this[P("0xca0")] ? this[P("0xca0")] : e > this._maxFovY ? this[P("0xca2")] : e : this._maxFovY
-                        }
-                        ,
-                        r[P("0x5")][P("0xcbd")] = function (e) {
-                            return e ? e < this[P("0xca4")] ? this[P("0xca4")] : e > this._maxFovDistance ? this[P("0xca6")] : e : this[P("0xca4")]
-                        }
-                        ,
-                        r.prototype[P("0xcbe")] = function (e) {
-                            return e ? e < this[P("0xca8")] ? this[P("0xca8")] : e > this._maxHeading ? this[P("0xcaa")] : e : 0
-                        }
-                        ,
-                        r.prototype[P("0xcbf")] = function (e) {
-                            return e ? e < this._minPitch ? this[P("0xcb8")] : e > this._maxPitch ? this[P("0xcad")] : e : 0
-                        }
-                        ,
-                        r[P("0x5")].clampRoll = function (e) {
-                            return e ? e < this[P("0xcaf")] ? this[P("0xcaf")] : e > this[P("0xcb9")] ? this[P("0xcb9")] : e : 0
-                        }
-                        ,
-                        n[P("0x5")][P("0xf4")] = function () {
-                            this[P("0x42")] = null,
-                                this[P("0xc67")] = null,
-                                this[P("0x224")] = null,
-                                this[P("0x9fc")] = null,
-                                this._boundingVolume = null,
-                                this[P("0xcc0")] = null,
-                                this[P("0xcc6")] = null,
-                                this[P("0x5ba")] = !1,
-                                this[P("0xcc9")] = !1,
-                                this[P("0x6ce")] && (this[P("0x6ce")][P("0xcca")] && (this[P("0x6ce")][P("0xcca")][P("0xf4")](),
-                                    this[P("0x6ce")][P("0xcca")] = null),
-                                    this._drawCommand[P("0x4d8")] && (this._drawCommand._vertexArray[P("0xf4")](),
-                                        this[P("0x6ce")][P("0x4d8")] = null),
-                                    this[P("0x6ce")] = null)
-                        }
-                        ,
-                        e.defineProperties(n[P("0x5")], {
                             id: {
-                                get: function () {
-                                    return this._id
-                                },
-                                set: function (e) {
-                                    this._id = e
-                                }
+                                tag: P("0xad7"),
+                                description: r
+                            }
+                        })
+                          , s = new e.GroundPrimitive({
+                            geometryInstances: a,
+                            appearance: new (e[P("0x16e")]),
+                            show: !0,
+                            classificationType: e[P("0x17a")].BOTH
+                        });
+                        this[P("0xac8")][P("0x6d")](s)
+                    } else
+                        console[P("0x2e2")]("瑕佺礌绫诲瀷鏄�" + r[P("0x180")][P("0x165")] + P("0xad6"))
+                }
+                this.viewer[P("0x10f")][P("0x17d")][P("0x6d")](this[P("0xac8")])
+            }
+            ,
+            i.prototype[P("0xad8")] = function(e) {
+                this.groundPrimitiveCollection && this[P("0xac8")][P("0xf4")](),
+                this[P("0xad9")](e)
+            }
+            ,
+            i[P("0x5")].isContaintFeature = function(e) {
+                return this[P("0xac8")][P("0xd1")](e[P("0x182")])
+            }
+            ,
+            i[P("0x5")][P("0xaca")] = function() {
+                if (!0 !== this.active) {
+                    this[P("0x69")] = !0;
+                    var t = this
+                      , i = null
+                      , r = null;
+                    t[P("0x16f")].setInputAction((function(n) {
+                        if (i && i.id && i.id[P("0x2cc")] == P("0xad7")) {
+                            if (r && r.id && i && i.id && i.id.description === r.id.description)
+                                return;
+                            i[P("0x182")][P("0x354")](i.id)[P("0x169")] = e.ColorGeometryInstanceAttribute[P("0x356")](t[P("0xac4")]),
+                            i = void 0
+                        }
+                        for (var o = void 0, a = t.viewer[P("0x10f")].drillPick(n[P("0x64")], 10), s = 0; s < a[P("0x0")]; s++)
+                            if (a[s] && a[s].id && a[s].id[P("0x2cc")] == P("0xad7")) {
+                                o = a[s];
+                                break
+                            }
+                        if (e[P("0x14")](o) && (!r && o && o.id && o.id[P("0x2cc")] == P("0xad7") || o && o.id && r && r.id && o.id[P("0xada")] !== r.id.description)) {
+                            if (!t[P("0xadb")](o))
+                                return;
+                            (i = o)[P("0x182")][P("0x354")](o.id).color = e[P("0x184")][P("0x356")](t[P("0xac6")])
+                        }
+                    }
+                    ), e.ScreenSpaceEventType[P("0x163")]),
+                    t[P("0x16f")][P("0x160")]((function(n) {
+                        r && (r[P("0x182")][P("0x354")](r.id)[P("0x169")] = e[P("0x184")].toValue(t[P("0xac4")]),
+                        r = void 0);
+                        for (var o = void 0, a = t.viewer[P("0x10f")][P("0xadc")](n[P("0x8c")], 10), s = 0; s < a[P("0x0")]; s++)
+                            if (a[s] && a[s].id && a[s].id[P("0x2cc")] == P("0xad7")) {
+                                o = a[s];
+                                break
+                            }
+                        if (e[P("0x14")](o) && r !== o) {
+                            if (o && o.id && r !== o) {
+                                if (!t[P("0xadb")](o))
+                                    return;
+                                (r = o)[P("0x182")][P("0x354")](o.id)[P("0x169")] = e[P("0x184")][P("0x356")](t[P("0xadd")]),
+                                t.selectedFeature = r
+                            }
+                            o && r && i && o.id === i.id && (i = void 0),
+                            o && o.id && t._seletedEvent[P("0x896")](o)
+                        }
+                    }
+                    ), e.ScreenSpaceEventType.LEFT_CLICK)
+                }
+            }
+            ,
+            i[P("0x5")][P("0xade")] = function() {
+                !0 === this[P("0x69")] && (this[P("0x69")] = !1,
+                this.selectedFeature && this.selectedFeature.id && (this.selectedFeature[P("0x182")][P("0x354")](this.selectedFeature.id)[P("0x169")] = e[P("0x184")][P("0x356")](this[P("0xac4")]),
+                this.selectedFeature = null),
+                this.handler[P("0x535")](e.ScreenSpaceEventType[P("0x163")]),
+                this[P("0x16f")][P("0x535")](e[P("0x161")][P("0x17e")]))
+            }
+            ,
+            i[P("0x5")][P("0xf4")] = function() {
+                this[P("0xade")](),
+                this.handler = this.handler && this.handler.destroy(),
+                this[P("0xac8")] = this[P("0xac8")] && this[P("0xac8")].destroy(),
+                this.viewer = void 0,
+                this[P("0xac1")] = void 0,
+                this[P("0xac2")] = void 0,
+                this[P("0xac4")] = void 0,
+                this[P("0xac6")] = void 0,
+                this[P("0xadd")] = void 0,
+                this[P("0xac7")] = void 0
+            }
+            ,
+            e[P("0xadf")] = i
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x5f1")]
+              , i = e[P("0x10")]
+              , r = e[P("0x11")]
+              , n = e[P("0x12")]
+              , o = e[P("0x13")]
+              , a = e.defaultValue
+              , s = e[P("0x14")]
+              , x = e[P("0xf")]
+              , l = e[P("0x15")]
+              , c = e[P("0xae0")]
+              , u = e[P("0x16")]
+              , h = e[P("0x282")]
+              , f = e[P("0x766")]
+              , d = e[P("0xa9")]
+              , g = e[P("0x17")]
+              , p = e[P("0xae1")]
+              , m = e[P("0x18")]
+              , b = e[P("0x23")]
+              , v = e.Matrix3
+              , C = e[P("0x1b")]
+              , y = e[P("0xae2")]
+              , _ = e.OrthographicOffCenterFrustum
+              , A = e[P("0xae3")]
+              , I = e[P("0x1d")]
+              , w = e.Ray
+              , G = e[P("0x26b")]
+              , E = e[P("0x1f")]
+              , S = e[P("0xae4")]
+              , T = e[P("0x21")]
+              , M = e.SceneMode;
+            function N(e) {
+                if (!s(e))
+                    throw new l(P("0x24"));
+                this[P("0x42")] = e,
+                this[P("0xae5")] = C[P("0x6e")](C[P("0xae")]),
+                this[P("0xae6")] = C[P("0x6e")](C.IDENTITY),
+                this[P("0xae7")] = C.clone(C[P("0xae")]),
+                this._actualInvTransform = C[P("0x6e")](C[P("0xae")]),
+                this[P("0xae8")] = !1,
+                this[P("0xae9")] = !1,
+                this[P("0x8c")] = new r,
+                this[P("0x6b6")] = new r,
+                this[P("0xaea")] = new r,
+                this._positionCartographic = new o,
+                this[P("0x93")] = new r,
+                this[P("0x6b7")] = new r,
+                this[P("0xaeb")] = new r,
+                this.up = new r,
+                this[P("0xaec")] = new r,
+                this[P("0xaed")] = new r,
+                this[P("0x9b")] = new r,
+                this[P("0xaee")] = new r,
+                this._rightWC = new r,
+                this[P("0xe8")] = new A,
+                this[P("0xe8")][P("0xaef")] = e[P("0x782")] / e[P("0x783")],
+                this[P("0xe8")][P("0xaf0")] = b.toRadians(60),
+                this[P("0xaf1")] = 1e5,
+                this[P("0xaf2")] = Math.PI / 60,
+                this[P("0xaf3")] = Math.PI / 3600,
+                this[P("0xaf4")] = 1e5,
+                this[P("0xc7")] = void 0,
+                this[P("0xaf5")] = 1.5,
+                this._moveStart = new f,
+                this[P("0xaf6")] = new f,
+                this[P("0xaf7")] = new f,
+                this._changedPosition = void 0,
+                this[P("0xaf8")] = void 0,
+                this[P("0xaf9")] = void 0,
+                this[P("0xafa")] = .5,
+                this[P("0x77a")] = new C,
+                this[P("0x77b")] = new C,
+                L(this),
+                this._mode = M.SCENE3D,
+                this[P("0xafb")] = !0;
+                var t = e[P("0xbd")];
+                this[P("0xc6")] = t,
+                this[P("0x59")] = t.project(new o(Math.PI,b.PI_OVER_TWO)),
+                this[P("0xafc")] = void 0,
+                this[P("0xafd")] = !1,
+                Qe(this, N[P("0xafe")], this.position, !0);
+                var i = r[P("0x96")](this.position);
+                i += i * N[P("0xaff")],
+                r[P("0x8d")](this[P("0x8c")], this[P("0x8c")]),
+                r[P("0x6c")](this.position, i, this.position)
+            }
+            function L(e) {
+                C[P("0xb03")](e[P("0x6b6")], e._direction, e[P("0xaec")], e[P("0xaee")], e[P("0x77a")]),
+                C[P("0x737")](e[P("0x77a")], e._actualInvTransform, e._viewMatrix),
+                C.inverseTransformation(e[P("0x77a")], e[P("0x77b")])
+            }
+            N[P("0xb00")] = new C(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),
+            N[P("0xb01")] = C.inverseTransformation(N[P("0xb00")], new C),
+            N[P("0xafe")] = G[P("0x1a1")](-95, -20, -70, 90),
+            N[P("0xaff")] = .5,
+            N.DEFAULT_OFFSET = new d(0,-b[P("0xb02")],0),
+            N[P("0x5")][P("0xb04")] = function() {
+                var e = this;
+                if (0 !== e._changed[P("0xb05")]) {
+                    var t = e[P("0xafa")];
+                    if (e[P("0x6b9")] !== M[P("0x85")]) {
+                        if (!s(e[P("0xaf8")]))
+                            return e[P("0xb06")] = r.clone(e[P("0xa5")], e[P("0xb06")]),
+                            void (e[P("0xaf8")] = r[P("0x6e")](e[P("0xa6")], e[P("0xaf8")]));
+                        var i, n = b[P("0x9d")](r[P("0x92")](e.directionWC, e[P("0xaf8")]));
+                        i = s(e.frustum[P("0xb07")]) ? n / (.5 * e[P("0xe8")][P("0xb07")]) : n;
+                        var o = r[P("0x8e")](e.positionWC, e[P("0xb06")]) / e.positionCartographic[P("0x8b")];
+                        (t < i || t < o) && (e._changed[P("0x896")](Math[P("0xee")](i, o)),
+                        e._changedPosition = r[P("0x6e")](e[P("0xa5")], e[P("0xb06")]),
+                        e._changedDirection = r[P("0x6e")](e[P("0xa6")], e[P("0xaf8")]))
+                    } else {
+                        if (!s(e._changedFrustum))
+                            return e[P("0xb06")] = r[P("0x6e")](e[P("0x8c")], e._changedPosition),
+                            void (e[P("0xaf9")] = e[P("0xe8")][P("0x6e")]());
+                        var a, x = e[P("0x8c")], l = e[P("0xb06")], c = e[P("0xe8")], u = e[P("0xaf9")], h = x.x + c[P("0x149")], f = x.x + c.right, d = l.x + u.left, g = l.x + u[P("0x9b")], p = x.y + c[P("0x9aa")], m = x.y + c[P("0x151")], v = l.y + u.bottom, C = l.y + u[P("0x151")], y = Math[P("0xee")](h, d), _ = Math[P("0x7d")](f, g), A = Math[P("0xee")](p, v), I = Math[P("0x7d")](m, C);
+                        if (_ <= y || m <= A)
+                            a = 1;
+                        else {
+                            var w = u;
+                            h < d && g < f && p < v && C < m && (w = c),
+                            a = 1 - (_ - y) * (I - A) / ((w.right - w.left) * (w[P("0x151")] - w.bottom))
+                        }
+                        t < a && (e[P("0xaf7")].raiseEvent(a),
+                        e[P("0xb06")] = r.clone(e.position, e[P("0xb06")]),
+                        e[P("0xaf9")] = e[P("0xe8")].clone(e[P("0xaf9")]))
+                    }
+                }
+            }
+            ;
+            var R = new C
+              , O = new o;
+            N[P("0x5")][P("0xb08")] = function() {
+                var e = this[P("0x42")]
+                  , t = e.screenSpaceCameraController
+                  , i = t[P("0x41")]
+                  , n = t[P("0x3d")]
+                  , o = t[P("0x30")];
+                if (!this[P("0xafd")] && i) {
+                    var a = this[P("0x6b9")]
+                      , x = e[P("0xa3")];
+                    if (s(x) && a !== M[P("0x85")] && a !== M.MORPHING) {
+                        var l, c, u = x[P("0xef")], h = e.mapProjection;
+                        C[P("0x84")](this[P("0xaf")], C[P("0xae")]) || (l = C[P("0x6e")](this[P("0xaf")], R),
+                        c = r.magnitude(this[P("0x8c")]),
+                        this[P("0xc2")](C.IDENTITY));
+                        var f = O;
+                        a === M[P("0x90")] ? u.cartesianToCartographic(this.position, f) : h.unproject(this[P("0x8c")], f);
+                        var d = !1;
+                        if (f[P("0x8b")] < n) {
+                            var g = x[P("0xed")](f);
+                            s(g) && (g += o,
+                            f[P("0x8b")] < g && (f[P("0x8b")] = g,
+                            a === M[P("0x90")] ? u[P("0xa7")](f, this[P("0x8c")]) : h.project(f, this[P("0x8c")]),
+                            d = !0))
+                        }
+                        s(l) && (this[P("0xc2")](l),
+                        d && (r[P("0x8d")](this[P("0x8c")], this[P("0x8c")]),
+                        r[P("0xc8")](this[P("0x8c")], this[P("0x93")]),
+                        r[P("0x6c")](this[P("0x8c")], Math[P("0xee")](c, o), this[P("0x8c")]),
+                        r[P("0x8d")](this[P("0x93")], this[P("0x93")]),
+                        r.cross(this[P("0x93")], this.up, this.right),
+                        r[P("0x99")](this[P("0x9b")], this[P("0x93")], this.up)))
+                    }
+                }
+            }
+            ;
+            var F = new o
+              , D = new r
+              , U = new r
+              , k = new n
+              , B = new n
+              , W = new n
+              , j = new n
+              , V = new n
+              , z = new r;
+            function H(e) {
+                var t = e[P("0x6b9")]
+                  , i = !1
+                  , o = 0;
+                t === M[P("0x85")] && (i = (o = e.frustum[P("0x9b")] - e.frustum.left) !== e[P("0x53b")].height);
+                var a = e[P("0x6b6")]
+                  , s = !r[P("0x84")](a, e[P("0x8c")]) || i;
+                s && (a = r[P("0x6e")](e[P("0x8c")], e[P("0x6b6")]));
+                var x = e[P("0x6b7")]
+                  , l = !r[P("0x84")](x, e.direction);
+                l && (r[P("0x8d")](e[P("0x93")], e[P("0x93")]),
+                x = r[P("0x6e")](e[P("0x93")], e[P("0x6b7")]));
+                var c = e[P("0xaec")]
+                  , u = !r[P("0x84")](c, e.up);
+                u && (r.normalize(e.up, e.up),
+                c = r[P("0x6e")](e.up, e[P("0xaec")]));
+                var h = e[P("0xaee")]
+                  , f = !r[P("0x84")](h, e.right);
+                f && (r[P("0x8d")](e[P("0x9b")], e[P("0x9b")]),
+                h = r[P("0x6e")](e[P("0x9b")], e[P("0xaee")]));
+                var d, g = e[P("0xae8")] || e[P("0xafb")];
+                e[P("0xae8")] = !1,
+                g && (C[P("0xb0c")](e[P("0xae5")], e[P("0xae6")]),
+                e._mode === M[P("0x8a")] || e[P("0x6b9")] === M.SCENE2D ? C.equals(C[P("0xae")], e[P("0xae5")]) ? C.clone(N[P("0xb00")], e[P("0xae7")]) : e[P("0x6b9")] === M[P("0x8a")] ? (d = e,
+                E[P("0xb09")](d._projection, d[P("0xae5")], d._actualTransform)) : function(e) {
+                    var t = e[P("0xc6")]
+                      , i = t.ellipsoid
+                      , o = C.getColumn(e._transform, 3, k)
+                      , a = i[P("0xd6")](o, F)
+                      , s = t[P("0x5a")](a, D)
+                      , x = B;
+                    x.x = s.z,
+                    x.y = s.x,
+                    x.z = s.y,
+                    x.w = 1;
+                    var l = n.clone(n[P("0xb8")], V)
+                      , c = n[P("0x6d")](C[P("0xb0a")](e[P("0xae5")], 0, U), o, U);
+                    i[P("0xd6")](c, a),
+                    t[P("0x5a")](a, s);
+                    var u = W;
+                    u.x = s.z,
+                    u.y = s.x,
+                    u.z = s.y,
+                    u.w = 0,
+                    r.subtract(u, x, u),
+                    u.x = 0;
+                    var h = j;
+                    if (r[P("0xe6")](u) > b.EPSILON10)
+                        r[P("0x99")](l, u, h);
+                    else {
+                        var f = n[P("0x6d")](C.getColumn(e[P("0xae5")], 1, U), o, U);
+                        i[P("0xd6")](f, a),
+                        t.project(a, s),
+                        h.x = s.z,
+                        h.y = s.x,
+                        h.z = s.y,
+                        h.w = 0,
+                        r.subtract(h, x, h),
+                        h.x = 0,
+                        r.magnitudeSquared(h) < b[P("0xb0b")] && (n[P("0x6e")](n.UNIT_Y, u),
+                        n[P("0x6e")](n[P("0xc3")], h))
+                    }
+                    r[P("0x99")](h, l, u),
+                    r.normalize(u, u),
+                    r[P("0x99")](l, u, h),
+                    r.normalize(h, h),
+                    C[P("0x4e3")](e[P("0xae7")], 0, u, e[P("0xae7")]),
+                    C.setColumn(e[P("0xae7")], 1, h, e._actualTransform),
+                    C[P("0x4e3")](e._actualTransform, 2, l, e._actualTransform),
+                    C[P("0x4e3")](e[P("0xae7")], 3, x, e[P("0xae7")])
+                }(e) : C[P("0x6e")](e[P("0xae5")], e[P("0xae7")]),
+                C[P("0xb0c")](e[P("0xae7")], e[P("0xb0d")]),
+                e[P("0xafb")] = !1);
+                var p = e._actualTransform;
+                if (s || g)
+                    if (e[P("0xaea")] = C[P("0xd4")](p, a, e[P("0xaea")]),
+                    t === M[P("0x90")] || t === M.MORPHING)
+                        e[P("0x53b")] = e[P("0xc6")][P("0xef")][P("0xd6")](e._positionWC, e[P("0x53b")]);
+                    else {
+                        var m = z;
+                        m.x = e[P("0xaea")].y,
+                        m.y = e[P("0xaea")].z,
+                        m.z = e[P("0xaea")].x,
+                        t === M[P("0x85")] && (m.z = o),
+                        e._projection.unproject(m, e[P("0x53b")])
+                    }
+                if (l || u || f) {
+                    var v = r[P("0x92")](x, r.cross(c, h, z));
+                    if (Math[P("0x78")](1 - v) > b[P("0xe9")]) {
+                        var y = 1 / r[P("0xe6")](c)
+                          , _ = r[P("0x92")](c, x) * y
+                          , A = r[P("0x6c")](x, _, z);
+                        c = r[P("0x8d")](r[P("0x95")](c, A, e[P("0xaec")]), e._up),
+                        r[P("0x6e")](c, e.up),
+                        h = r[P("0x99")](x, c, e[P("0xaee")]),
+                        r[P("0x6e")](h, e[P("0x9b")])
+                    }
+                }
+                (l || g) && (e[P("0xaeb")] = C[P("0x739")](p, x, e[P("0xaeb")]),
+                r.normalize(e[P("0xaeb")], e[P("0xaeb")])),
+                (u || g) && (e[P("0xaed")] = C[P("0x739")](p, c, e._upWC),
+                r.normalize(e[P("0xaed")], e._upWC)),
+                (f || g) && (e[P("0xb0e")] = C[P("0x739")](p, h, e._rightWC),
+                r[P("0x8d")](e[P("0xb0e")], e[P("0xb0e")])),
+                (s || l || u || f || g) && L(e)
+            }
+            function q(e, t) {
+                var i;
+                return i = b[P("0x62")](Math[P("0x78")](e.z), 1, b.EPSILON3) ? Math[P("0x9e7")](t.y, t.x) - b[P("0x5b")] : Math.atan2(e.y, e.x) - b[P("0x5b")],
+                b[P("0xab")] - b[P("0xb0f")](i)
+            }
+            function X(e) {
+                return b[P("0x5b")] - b[P("0x9d")](e.z)
+            }
+            function Y(e, t, i) {
+                var r = 0;
+                return b[P("0x62")](Math.abs(e.z), 1, b[P("0xdf")]) || (r = Math[P("0x9e7")](-i.z, t.z),
+                r = b[P("0xb0f")](r + b[P("0xab")])),
+                r
+            }
+            var K = new C
+              , Q = new C;
+            x(N[P("0x5")], {
+                transform: {
+                    get: function() {
+                        return this._transform
+                    }
+                },
+                inverseTransform: {
+                    get: function() {
+                        return H(this),
+                        this[P("0xae6")]
+                    }
+                },
+                viewMatrix: {
+                    get: function() {
+                        return H(this),
+                        this[P("0x77a")]
+                    }
+                },
+                inverseViewMatrix: {
+                    get: function() {
+                        return H(this),
+                        this._invViewMatrix
+                    }
+                },
+                positionCartographic: {
+                    get: function() {
+                        return H(this),
+                        this[P("0x53b")]
+                    }
+                },
+                positionWC: {
+                    get: function() {
+                        return H(this),
+                        this[P("0xaea")]
+                    }
+                },
+                directionWC: {
+                    get: function() {
+                        return H(this),
+                        this._directionWC
+                    }
+                },
+                upWC: {
+                    get: function() {
+                        return H(this),
+                        this[P("0xaed")]
+                    }
+                },
+                rightWC: {
+                    get: function() {
+                        return H(this),
+                        this._rightWC
+                    }
+                },
+                heading: {
+                    get: function() {
+                        if (this[P("0x6b9")] !== M[P("0xb10")]) {
+                            var e = this[P("0xc6")].ellipsoid
+                              , t = C.clone(this[P("0xae5")], K)
+                              , i = E[P("0xbf")](this[P("0xa5")], e, Q);
+                            this._setTransform(i);
+                            var r = q(this[P("0x93")], this.up);
+                            return this[P("0xc2")](t),
+                            r
+                        }
+                    }
+                },
+                pitch: {
+                    get: function() {
+                        if (this[P("0x6b9")] !== M[P("0xb10")]) {
+                            var e = this[P("0xc6")].ellipsoid
+                              , t = C[P("0x6e")](this._transform, K)
+                              , i = E[P("0xbf")](this[P("0xa5")], e, Q);
+                            this._setTransform(i);
+                            var r = X(this[P("0x93")]);
+                            return this[P("0xc2")](t),
+                            r
+                        }
+                    }
+                },
+                roll: {
+                    get: function() {
+                        if (this[P("0x6b9")] !== M[P("0xb10")]) {
+                            var e = this[P("0xc6")][P("0xef")]
+                              , t = C[P("0x6e")](this[P("0xae5")], K)
+                              , i = E[P("0xbf")](this[P("0xa5")], e, Q);
+                            this[P("0xc2")](i);
+                            var r = Y(this.direction, this.up, this.right);
+                            return this[P("0xc2")](t),
+                            r
+                        }
+                    }
+                },
+                moveStart: {
+                    get: function() {
+                        return this[P("0xb11")]
+                    }
+                },
+                moveEnd: {
+                    get: function() {
+                        return this[P("0xaf6")]
+                    }
+                },
+                changed: {
+                    get: function() {
+                        return this[P("0xaf7")]
+                    }
+                }
+            }),
+            N[P("0x5")].update = function(e) {
+                if (!s(e))
+                    throw new l(P("0xb12"));
+                if (e === M.SCENE2D && !(this[P("0xe8")]instanceof _))
+                    throw new l(P("0xb13"));
+                if (!(e !== M[P("0x90")] && e !== M[P("0x8a")] || this[P("0xe8")]instanceof A || this[P("0xe8")]instanceof y))
+                    throw new l(P("0xb14"));
+                var t = !1;
+                if (e !== this[P("0x6b9")] && (this[P("0x6b9")] = e,
+                this[P("0xafb")] = e !== M.MORPHING,
+                t = this[P("0x6b9")] === M[P("0x85")]),
+                t) {
+                    var i = this[P("0xafc")] = this[P("0xe8")][P("0x6e")]();
+                    if (!(i instanceof _))
+                        throw new l(P("0xb15"));
+                    var r = i[P("0x151")] / i[P("0x9b")];
+                    i[P("0x9b")] = 2 * this[P("0x59")].x,
+                    i.left = -i.right,
+                    i[P("0x151")] = r * i[P("0x9b")],
+                    i[P("0x9aa")] = -i[P("0x151")]
+                }
+                this._mode === M[P("0x85")] && me(this, this[P("0x8c")]);
+                var n = this._scene[P("0xa3")]
+                  , o = !s(n) || n._surface[P("0xb16")].ready && 0 === n[P("0xa2e")][P("0xb17")].length && 0 === n[P("0xa2e")][P("0xb18")].length && 0 === n[P("0xa2e")][P("0xb19")].length && 0 === n._surface[P("0xb1a")][P("0xb1b")];
+                this[P("0xafd")] && (this[P("0xafd")] = !o),
+                this[P("0xb08")]()
+            }
+            ;
+            var Z = new r
+              , J = new r
+              , $ = new r;
+            N[P("0x5")][P("0xc2")] = function(e) {
+                var t = r[P("0x6e")](this[P("0xa5")], Z)
+                  , i = r[P("0x6e")](this.upWC, J)
+                  , n = r[P("0x6e")](this[P("0xa6")], $);
+                C[P("0x6e")](e, this._transform),
+                this[P("0xae8")] = !0,
+                H(this);
+                var o = this[P("0xb0d")];
+                C[P("0xd4")](o, t, this[P("0x8c")]),
+                C[P("0x739")](o, n, this[P("0x93")]),
+                C[P("0x739")](o, i, this.up),
+                r.cross(this[P("0x93")], this.up, this.right),
+                H(this)
+            }
+            ;
+            var ee = new i
+              , te = new w
+              , ie = new r
+              , re = new r;
+            N[P("0x5")][P("0x83")] = function(e) {
+                if (this[P("0xe8")]instanceof y && (e || !(this[P("0x53b")].height < 15e4)))
+                    if (C[P("0x84")](C[P("0xae")], this[P("0xaf")])) {
+                        var t, i, n = this[P("0x42")], o = n[P("0x43")];
+                        if (s(o)) {
+                            var a = ee;
+                            a.x = n[P("0x782")] / 2,
+                            a.y = n[P("0x783")] / 2;
+                            var x = this[P("0x86")](a, te);
+                            if (t = o[P("0xa4")](x, n, ie),
+                            n.pickPositionSupported && (i = n[P("0xb1c")](a, re)),
+                            s(t) && s(i)) {
+                                var l = s(i) ? r[P("0x8e")](i, this[P("0xa5")]) : Number[P("0x31")]
+                                  , c = s(t) ? r[P("0x8e")](t, this.positionWC) : Number[P("0x31")];
+                                this[P("0xe8")][P("0x19a")] = Math[P("0x7d")](l, c)
+                            } else
+                                s(i) ? this[P("0xe8")][P("0x19a")] = r[P("0x8e")](i, this.positionWC) : s(t) && (this[P("0xe8")].width = r[P("0x8e")](t, this.positionWC))
+                        }
+                        if (!s(o) || !s(t) && !s(i)) {
+                            var u = Math[P("0xee")](this.positionCartographic[P("0x8b")], 0);
+                            this.frustum[P("0x19a")] = u
+                        }
+                    } else
+                        this[P("0xe8")][P("0x19a")] = r[P("0x96")](this[P("0x8c")])
+            }
+            ;
+            var ne = new r
+              , oe = new C
+              , ae = new C
+              , se = new I
+              , xe = new v
+              , le = new o
+              , ce = new r
+              , ue = new r
+              , he = new r;
+            function fe(e, t, i, n) {
+                var o = r.clone(i[P("0x93")], ce)
+                  , a = r.clone(i.up, ue);
+                if (e[P("0x42")][P("0xd3")] === M[P("0x90")]) {
+                    var s = e[P("0xc6")][P("0xef")]
+                      , x = E[P("0xbf")](t, s, K)
+                      , l = C[P("0xb0c")](x, Q);
+                    C[P("0x739")](l, o, o),
+                    C[P("0x739")](l, a, a)
+                }
+                var c = r[P("0x99")](o, a, he);
+                return n.heading = q(o, a),
+                n.pitch = X(o),
+                n[P("0x81")] = Y(o, a, c),
+                n
+            }
+            var de = {
+                destination: void 0,
+                orientation: {
+                    direction: void 0,
+                    up: void 0,
+                    heading: void 0,
+                    pitch: void 0,
+                    roll: void 0
+                },
+                convert: void 0,
+                endTransform: void 0
+            }
+              , ge = new g;
+            N.prototype[P("0x9c")] = function(e) {
+                e = a(e, a[P("0x128")]);
+                var t = a(e[P("0x11e")], a[P("0x128")])
+                  , n = this[P("0x6b9")];
+                if (n !== M[P("0xb10")]) {
+                    s(e[P("0xb1f")]) && this[P("0xc2")](e.endTransform);
+                    var o = a(e.convert, !0)
+                      , x = a(e[P("0x11d")], r.clone(this[P("0xa5")], ne));
+                    s(x) && s(x[P("0x2a9")]) && (x = this[P("0xb20")](x, ne),
+                    o = !1),
+                    s(t[P("0x93")]) && (t = fe(this, x, t, de[P("0x11e")])),
+                    ge[P("0x7f")] = a(t[P("0x7f")], 0),
+                    ge[P("0x80")] = a(t.pitch, -b[P("0x5b")]),
+                    ge.roll = a(t[P("0x81")], 0),
+                    this[P("0xafd")] = !1,
+                    n === M[P("0x90")] ? function(e, t, i) {
+                        var n = C[P("0x6e")](e[P("0xaf")], oe)
+                          , o = E[P("0xbf")](t, e[P("0xc6")][P("0xef")], ae);
+                        e[P("0xc2")](o),
+                        r[P("0x6e")](r.ZERO, e[P("0x8c")]),
+                        i[P("0x7f")] = i[P("0x7f")] - b[P("0x5b")];
+                        var a = I.fromHeadingPitchRoll(i, se)
+                          , s = v.fromQuaternion(a, xe);
+                        v[P("0xb0a")](s, 0, e[P("0x93")]),
+                        v[P("0xb0a")](s, 2, e.up),
+                        r.cross(e.direction, e.up, e[P("0x9b")]),
+                        e[P("0xc2")](n),
+                        e[P("0x83")](!0)
+                    }(this, x, ge) : n === M[P("0x85")] ? function(e, t, n, o) {
+                        var a = C[P("0x6e")](e[P("0xaf")], oe);
+                        if (e[P("0xc2")](C[P("0xae")]),
+                        !r[P("0x84")](t, e.positionWC)) {
+                            if (o) {
+                                var s = e[P("0xc6")]
+                                  , x = s[P("0xef")][P("0xd6")](t, le);
+                                t = s[P("0x5a")](x, ne)
+                            }
+                            i.clone(t, e.position);
+                            var l = .5 * -t.z
+                              , c = -l
+                              , u = e.frustum;
+                            if (l < c) {
+                                var h = u[P("0x151")] / u.right;
+                                u[P("0x9b")] = c,
+                                u[P("0x149")] = l,
+                                u[P("0x151")] = u.right * h,
+                                u[P("0x9aa")] = -u[P("0x151")]
+                            }
+                        }
+                        if (e._scene.mapMode2D === T[P("0xb1d")]) {
+                            n.heading = n[P("0x7f")] - b[P("0x5b")],
+                            n[P("0x80")] = -b[P("0x5b")],
+                            n[P("0x81")] = 0;
+                            var f = I[P("0xb1e")](n, se)
+                              , d = v[P("0xcd")](f, xe);
+                            v[P("0xb0a")](d, 2, e.up),
+                            r[P("0x99")](e[P("0x93")], e.up, e[P("0x9b")])
+                        }
+                        e[P("0xc2")](a)
+                    }(this, x, ge, o) : function(e, t, i, n) {
+                        var o = C[P("0x6e")](e[P("0xaf")], oe);
+                        if (e._setTransform(C[P("0xae")]),
+                        !r[P("0x84")](t, e[P("0xa5")])) {
+                            if (n) {
+                                var a = e._projection
+                                  , s = a[P("0xef")].cartesianToCartographic(t, le);
+                                t = a[P("0x5a")](s, ne)
+                            }
+                            r[P("0x6e")](t, e[P("0x8c")])
+                        }
+                        i.heading = i[P("0x7f")] - b[P("0x5b")];
+                        var x = I.fromHeadingPitchRoll(i, se)
+                          , l = v[P("0xcd")](x, xe);
+                        v[P("0xb0a")](l, 0, e[P("0x93")]),
+                        v.getColumn(l, 2, e.up),
+                        r[P("0x99")](e[P("0x93")], e.up, e[P("0x9b")]),
+                        e[P("0xc2")](o),
+                        e[P("0x83")](!0)
+                    }(this, x, ge, o)
+                }
+            }
+            ;
+            var pe = new r;
+            function me(e, t) {
+                var i, r, n = e[P("0x42")].mapMode2D === T.ROTATE, o = e[P("0x59")].x, a = e[P("0x59")].y;
+                i = n ? -(r = o) : (r = t.x - 2 * o,
+                t.x + 2 * o),
+                t.x > o && (t.x = r),
+                t.x < -o && (t.x = i),
+                t.y > a && (t.y = a),
+                t.y < -a && (t.y = -a)
+            }
+            N[P("0x5")][P("0xb21")] = function(e) {
+                var t = this[P("0x6b9")];
+                if (t === M.MORPHING && this[P("0x42")][P("0xb22")](),
+                t === M.SCENE2D)
+                    this[P("0xb23")]({
+                        destination: N.DEFAULT_VIEW_RECTANGLE,
+                        duration: e,
+                        endTransform: C[P("0xae")]
+                    });
+                else if (t === M.SCENE3D) {
+                    var i = this[P("0xb20")](N[P("0xafe")])
+                      , n = r[P("0x96")](i);
+                    n += n * N[P("0xaff")],
+                    r.normalize(i, i),
+                    r[P("0x6c")](i, n, i),
+                    this[P("0xb23")]({
+                        destination: i,
+                        duration: e,
+                        endTransform: C.IDENTITY
+                    })
+                } else if (t === M[P("0x8a")]) {
+                    var o = this[P("0xc6")][P("0xef")][P("0xc4")]
+                      , a = new r(0,-1,1);
+                    a = r.multiplyByScalar(r[P("0x8d")](a, a), 5 * o, a),
+                    this.flyTo({
+                        destination: a,
+                        duration: e,
+                        orientation: {
+                            heading: 0,
+                            pitch: -Math[P("0xdc")](r[P("0x8d")](a, pe).z),
+                            roll: 0
+                        },
+                        endTransform: C[P("0xae")],
+                        convert: !1
+                    })
+                }
+            }
+            ,
+            N.prototype[P("0xdb")] = function(e, t) {
+                if (!s(e))
+                    throw new l("cartesian is required.");
+                return s(t) || (t = new n),
+                H(this),
+                C[P("0xce")](this[P("0xb0d")], e, t)
+            }
+            ,
+            N[P("0x5")][P("0xc9")] = function(e, t) {
+                if (!s(e))
+                    throw new l(P("0xb24"));
+                return s(t) || (t = new r),
+                H(this),
+                C.multiplyByPoint(this[P("0xb0d")], e, t)
+            }
+            ,
+            N[P("0x5")][P("0xb25")] = function(e, t) {
+                if (!s(e))
+                    throw new l(P("0xb24"));
+                return s(t) || (t = new r),
+                H(this),
+                C[P("0x739")](this._actualInvTransform, e, t)
+            }
+            ,
+            N.prototype[P("0xb26")] = function(e, t) {
+                if (!s(e))
+                    throw new l(P("0xb24"));
+                return s(t) || (t = new n),
+                H(this),
+                C[P("0xce")](this._actualTransform, e, t)
+            }
+            ,
+            N[P("0x5")][P("0xb27")] = function(e, t) {
+                if (!s(e))
+                    throw new l(P("0xb24"));
+                return s(t) || (t = new r),
+                H(this),
+                C[P("0xd4")](this[P("0xae7")], e, t)
+            }
+            ,
+            N.prototype[P("0xb28")] = function(e, t) {
+                if (!s(e))
+                    throw new l(P("0xb24"));
+                return s(t) || (t = new r),
+                H(this),
+                C[P("0x739")](this[P("0xae7")], e, t)
+            }
+            ;
+            var be = new r;
+            N[P("0x5")][P("0xa0")] = function(e, t) {
+                if (!s(e))
+                    throw new l(P("0xb29"));
+                var i = this.position;
+                r.multiplyByScalar(e, t, be),
+                r[P("0x6d")](i, be, i),
+                this[P("0x6b9")] === M.SCENE2D && me(this, i),
+                this[P("0x83")](!0)
+            }
+            ,
+            N[P("0x5")][P("0x584")] = function(e) {
+                e = a(e, this[P("0xaf1")]),
+                this[P("0xa0")](this[P("0x93")], e)
+            }
+            ,
+            N[P("0x5")][P("0x11c")] = function(e) {
+                e = a(e, this[P("0xaf1")]),
+                this[P("0xa0")](this[P("0x93")], -e)
+            }
+            ,
+            N[P("0x5")][P("0xb2a")] = function(e) {
+                e = a(e, this[P("0xaf1")]),
+                this[P("0xa0")](this.up, e)
+            }
+            ,
+            N[P("0x5")][P("0xb2b")] = function(e) {
+                e = a(e, this[P("0xaf1")]),
+                this.move(this.up, -e)
+            }
+            ,
+            N[P("0x5")][P("0xb2c")] = function(e) {
+                e = a(e, this[P("0xaf1")]),
+                this[P("0xa0")](this[P("0x9b")], e)
+            }
+            ,
+            N.prototype.moveLeft = function(e) {
+                e = a(e, this.defaultMoveAmount),
+                this[P("0xa0")](this[P("0x9b")], -e)
+            }
+            ,
+            N[P("0x5")][P("0xb2d")] = function(e) {
+                e = a(e, this[P("0xaf2")]),
+                this[P("0xe7")](this.up, -e)
+            }
+            ,
+            N.prototype[P("0x585")] = function(e) {
+                e = a(e, this[P("0xaf2")]),
+                this[P("0xe7")](this.up, e)
+            }
+            ,
+            N.prototype[P("0xeb")] = function(e) {
+                e = a(e, this[P("0xaf2")]),
+                this[P("0xe7")](this[P("0x9b")], -e)
+            }
+            ,
+            N[P("0x5")][P("0xb2e")] = function(e) {
+                e = a(e, this[P("0xaf2")]),
+                this.look(this[P("0x9b")], e)
+            }
+            ;
+            var ve = new I
+              , Ce = new v;
+            N.prototype[P("0xe7")] = function(e, t) {
+                if (!s(e))
+                    throw new l("axis is required.");
+                var i = a(t, this[P("0xaf2")])
+                  , r = I[P("0xcc")](e, -i, ve)
+                  , n = v[P("0xcd")](r, Ce)
+                  , o = this.direction
+                  , x = this.up
+                  , c = this[P("0x9b")];
+                v.multiplyByVector(n, o, o),
+                v[P("0xce")](n, x, x),
+                v[P("0xce")](n, c, c)
+            }
+            ,
+            N[P("0x5")][P("0xb2f")] = function(e) {
+                e = a(e, this[P("0xaf2")]),
+                this.look(this.direction, e)
+            }
+            ,
+            N.prototype[P("0xac")] = function(e) {
+                e = a(e, this[P("0xaf2")]),
+                this[P("0xe7")](this.direction, -e)
+            }
+            ;
+            var ye = new I
+              , _e = new v;
+            N[P("0x5")][P("0x9e")] = function(e, t) {
+                if (!s(e))
+                    throw new l(P("0xb30"));
+                var i = a(t, this[P("0xaf3")])
+                  , n = I[P("0xcc")](e, -i, ye)
+                  , o = v[P("0xcd")](n, _e);
+                v.multiplyByVector(o, this[P("0x8c")], this.position),
+                v.multiplyByVector(o, this[P("0x93")], this[P("0x93")]),
+                v[P("0xce")](o, this.up, this.up),
+                r[P("0x99")](this[P("0x93")], this.up, this[P("0x9b")]),
+                r[P("0x99")](this[P("0x9b")], this.direction, this.up),
+                this[P("0x83")](!1)
+            }
+            ,
+            N[P("0x5")][P("0xb31")] = function(e) {
+                Ee(this, e = a(e, this.defaultRotateAmount))
+            }
+            ,
+            N[P("0x5")][P("0xda")] = function(e) {
+                Ee(this, -(e = a(e, this[P("0xaf3")])))
+            }
+            ;
+            var Ae = new r
+              , Ie = new r
+              , we = new r
+              , Ge = new r;
+            function Ee(e, t) {
+                var i = e.position
+                  , n = r.normalize(i, Ae);
+                if (s(e[P("0xc7")])) {
+                    var o = r[P("0x62")](n, e[P("0xc7")], b[P("0xe9")])
+                      , a = r.equalsEpsilon(n, r.negate(e[P("0xc7")], Ge), b[P("0xe9")]);
+                    if (o || a)
+                        (o && t < 0 || a && 0 < t) && e[P("0x9e")](e[P("0x9b")], t);
+                    else {
+                        var x = r.normalize(e[P("0xc7")], Ie)
+                          , l = r[P("0x92")](n, x)
+                          , c = b[P("0x9d")](l);
+                        0 < t && c < t && (t = c - b[P("0xea")]),
+                        l = r[P("0x92")](n, r[P("0xc8")](x, Ge)),
+                        c = b.acosClamped(l),
+                        t < 0 && c < -t && (t = -c + b[P("0xea")]);
+                        var u = r[P("0x99")](x, n, we);
+                        e.rotate(u, t)
+                    }
+                } else
+                    e[P("0x9e")](e[P("0x9b")], t)
+            }
+            function Se(e, t) {
+                s(e[P("0xc7")]) ? e[P("0x9e")](e.constrainedAxis, t) : e[P("0x9e")](e.up, t)
+            }
+            function Te(e, t) {
+                var i, r = e[P("0xe8")];
+                if (!(r instanceof _ && s(r.left) && s(r[P("0x9b")]) && s(r[P("0x9aa")]) && s(r[P("0x151")])))
+                    throw new l(P("0xb15"));
+                if (t *= .5,
+                Math.abs(r[P("0x151")]) + Math[P("0x78")](r[P("0x9aa")]) > Math.abs(r.left) + Math[P("0x78")](r[P("0x9b")])) {
+                    var n = r[P("0x151")] - t
+                      , o = r[P("0x9aa")] + t
+                      , a = e[P("0x59")].y;
+                    e._scene[P("0xad")] === T[P("0xb1d")] && (a *= e[P("0xaf5")]),
+                    a < o && (n = -(o = a)),
+                    n <= o && (o = -(n = 1)),
+                    i = r.right / r.top,
+                    r.top = n,
+                    r[P("0x9aa")] = o,
+                    r.right = r[P("0x151")] * i,
+                    r[P("0x149")] = -r[P("0x9b")]
+                } else {
+                    var x = r[P("0x9b")] - t
+                      , c = r[P("0x149")] + t
+                      , u = e._maxCoord.x;
+                    e[P("0x42")][P("0xad")] === T[P("0xb1d")] && (u *= e[P("0xaf5")]),
+                    u < x && (c = -(x = u)),
+                    x <= c && (c = -(x = 1)),
+                    i = r[P("0x151")] / r.right,
+                    r.right = x,
+                    r[P("0x149")] = c,
+                    r[P("0x151")] = r[P("0x9b")] * i,
+                    r[P("0x9aa")] = -r[P("0x151")]
+                }
+            }
+            function Pe(e, t) {
+                e[P("0xa0")](e.direction, t)
+            }
+            N.prototype[P("0xd8")] = function(e) {
+                Se(this, -(e = a(e, this[P("0xaf3")])))
+            }
+            ,
+            N[P("0x5")][P("0xb32")] = function(e) {
+                Se(this, e = a(e, this[P("0xaf3")]))
+            }
+            ,
+            N[P("0x5")][P("0x82")] = function(e) {
+                e = a(e, this[P("0xaf4")]),
+                this[P("0x6b9")] === M[P("0x85")] ? Te(this, e) : Pe(this, e)
+            }
+            ,
+            N.prototype[P("0xb33")] = function(e) {
+                e = a(e, this[P("0xaf4")]),
+                this[P("0x6b9")] === M.SCENE2D ? Te(this, -e) : Pe(this, -e)
+            }
+            ,
+            N[P("0x5")][P("0x8f")] = function() {
+                return this[P("0x6b9")] === M.SCENE3D ? r[P("0x96")](this[P("0x8c")]) : this._mode === M.COLUMBUS_VIEW ? Math.abs(this[P("0x8c")].z) : this[P("0x6b9")] === M[P("0x85")] ? Math[P("0xee")](this[P("0xe8")][P("0x9b")] - this[P("0xe8")][P("0x149")], this[P("0xe8")][P("0x151")] - this[P("0xe8")].bottom) : void 0
+            }
+            ;
+            var Me = new C;
+            N[P("0x5")][P("0x50a")] = function(e, t) {
+                if (!s(e))
+                    throw new l("target is required");
+                if (!s(t))
+                    throw new l(P("0xb34"));
+                if (this._mode === M[P("0xb10")])
+                    throw new l(P("0xb35"));
+                var i = E[P("0xbf")](e, u[P("0x110")], Me);
+                this.lookAtTransform(i, t)
+            }
+            ;
+            var Ne = new r
+              , Le = new I
+              , Re = new I
+              , Oe = new v;
+            function Fe(e, t, i) {
+                t = b[P("0x77")](t, -b[P("0x5b")], b[P("0x5b")]),
+                e = b.zeroToTwoPi(e) - b[P("0x5b")];
+                var n = I[P("0xcc")](r[P("0xb36")], -t, Le)
+                  , o = I[P("0xcc")](r[P("0xc3")], -e, Re)
+                  , a = I[P("0x737")](o, n, o)
+                  , s = v[P("0xcd")](a, Oe)
+                  , x = r.clone(r[P("0xb8")], Ne);
+                return v[P("0xce")](s, x, x),
+                r[P("0xc8")](x, x),
+                r.multiplyByScalar(x, i, x),
+                x
+            }
+            N[P("0x5")].lookAtTransform = function(e, t) {
+                if (!s(e))
+                    throw new l(P("0xb37"));
+                if (this._mode === M[P("0xb10")])
+                    throw new l(P("0xb38"));
+                if (this[P("0xc2")](e),
+                s(t)) {
+                    var n;
+                    if (n = s(t[P("0x7f")]) ? Fe(t[P("0x7f")], t[P("0x80")], t[P("0x55c")]) : t,
+                    this._mode === M[P("0x85")]) {
+                        i[P("0x6e")](i[P("0x6f")], this[P("0x8c")]),
+                        r[P("0xc8")](n, this.up),
+                        this.up.z = 0,
+                        r.magnitudeSquared(this.up) < b.EPSILON10 && r.clone(r[P("0xb36")], this.up),
+                        r[P("0x8d")](this.up, this.up),
+                        this[P("0xc2")](C[P("0xae")]),
+                        r[P("0xc8")](r.UNIT_Z, this.direction),
+                        r.cross(this[P("0x93")], this.up, this.right),
+                        r[P("0x8d")](this[P("0x9b")], this.right);
+                        var o = this[P("0xe8")]
+                          , a = o[P("0x151")] / o[P("0x9b")];
+                        return o[P("0x9b")] = .5 * r[P("0x96")](n),
+                        o.left = -o[P("0x9b")],
+                        o.top = a * o[P("0x9b")],
+                        o[P("0x9aa")] = -o.top,
+                        void this[P("0xc2")](e)
+                    }
+                    r[P("0x6e")](n, this[P("0x8c")]),
+                    r[P("0xc8")](this[P("0x8c")], this[P("0x93")]),
+                    r[P("0x8d")](this[P("0x93")], this[P("0x93")]),
+                    r.cross(this.direction, r[P("0xc3")], this.right),
+                    r[P("0xe6")](this[P("0x9b")]) < b[P("0xb0b")] && r[P("0x6e")](r[P("0xb8")], this[P("0x9b")]),
+                    r.normalize(this.right, this[P("0x9b")]),
+                    r[P("0x99")](this[P("0x9b")], this[P("0x93")], this.up),
+                    r[P("0x8d")](this.up, this.up),
+                    this[P("0x83")](!0)
+                }
+            }
+            ;
+            var De, Ue = new o, ke = new o, Be = new r, We = new r, je = new r, Ve = new r, ze = new r, He = new r, qe = new r, Xe = new r, Ye = {
+                direction: new r,
+                right: new r,
+                up: new r
+            };
+            function Ke(e, t, i, n) {
+                return Math.abs(r[P("0x92")](t, i)) / n - r[P("0x92")](e, i)
+            }
+            function Qe(e, t, i, n) {
+                var o = e[P("0xc6")][P("0xef")]
+                  , a = n ? e : Ye
+                  , x = t[P("0x2ac")]
+                  , l = t[P("0x2ab")]
+                  , c = t[P("0x2aa")]
+                  , u = t[P("0x2a9")];
+                c < u && (c += b[P("0xab")]);
+                var f, d = .5 * (u + c);
+                if (l < -b[P("0x5b")] + b[P("0xa2c")] && x > b.PI_OVER_TWO - b[P("0xa2c")])
+                    f = 0;
+                else {
+                    var g = Ue;
+                    g[P("0x112")] = d,
+                    g[P("0x114")] = x,
+                    g.height = 0;
+                    var p = ke;
+                    p[P("0x112")] = d,
+                    p[P("0x114")] = l,
+                    p[P("0x8b")] = 0;
+                    var m = De;
+                    s(m) && m[P("0xef")] === o || (De = m = new h(void 0,void 0,o)),
+                    m[P("0xb39")](g, p),
+                    f = m[P("0x283")](.5, Ue).latitude
+                }
+                var v = Ue;
+                v[P("0x112")] = d,
+                v[P("0x114")] = f,
+                v[P("0x8b")] = 0;
+                var C = o[P("0xa7")](v, qe)
+                  , _ = Ue;
+                _[P("0x112")] = c,
+                _.latitude = x;
+                var A = o[P("0xa7")](_, Be);
+                _[P("0x112")] = u;
+                var I = o.cartographicToCartesian(_, je);
+                _.longitude = d;
+                var w = o[P("0xa7")](_, ze);
+                _.latitude = l;
+                var G = o[P("0xa7")](_, He);
+                _[P("0x112")] = c;
+                var E = o[P("0xa7")](_, Ve);
+                _[P("0x112")] = u;
+                var S = o[P("0xa7")](_, We);
+                r[P("0x95")](I, C, I),
+                r[P("0x95")](E, C, E),
+                r.subtract(A, C, A),
+                r[P("0x95")](S, C, S),
+                r[P("0x95")](w, C, w),
+                r[P("0x95")](G, C, G);
+                var T = o[P("0xd5")](C, a[P("0x93")]);
+                r.negate(T, T);
+                var M = r.cross(T, r[P("0xc3")], a.right);
+                r[P("0x8d")](M, M);
+                var N, L = r[P("0x99")](M, T, a.up);
+                if (e[P("0xe8")]instanceof y) {
+                    var R, O, F = Math.max(r[P("0x8e")](A, I), r[P("0x8e")](E, S)), D = Math[P("0xee")](r.distance(A, E), r[P("0x8e")](I, S)), U = e[P("0xe8")][P("0xb3a")].right / e[P("0xe8")]._offCenterFrustum[P("0x151")], k = D * U;
+                    k < F ? O = (R = F) / U : (O = D,
+                    R = k),
+                    N = Math[P("0xee")](R, O)
+                } else {
+                    var B = Math.tan(.5 * e[P("0xe8")][P("0xb07")])
+                      , W = e[P("0xe8")][P("0xaef")] * B;
+                    if (N = Math[P("0xee")](Ke(T, L, I, B), Ke(T, L, E, B), Ke(T, L, A, B), Ke(T, L, S, B), Ke(T, L, w, B), Ke(T, L, G, B), Ke(T, M, I, W), Ke(T, M, E, W), Ke(T, M, A, W), Ke(T, M, S, W), Ke(T, M, w, W), Ke(T, M, G, W)),
+                    l < 0 && 0 < x) {
+                        var j = Ue;
+                        j[P("0x112")] = u,
+                        j[P("0x114")] = 0,
+                        j[P("0x8b")] = 0;
+                        var V = o.cartographicToCartesian(j, Xe);
+                        r[P("0x95")](V, C, V),
+                        N = Math[P("0xee")](N, Ke(T, L, V, B), Ke(T, M, V, W)),
+                        j.longitude = c,
+                        V = o.cartographicToCartesian(j, Xe),
+                        r[P("0x95")](V, C, V),
+                        N = Math.max(N, Ke(T, L, V, B), Ke(T, M, V, W))
+                    }
+                }
+                return r[P("0x6d")](C, r[P("0x6c")](T, -N, Xe), i)
+            }
+            var Ze = new o
+              , Je = new r
+              , $e = new r
+              , et = new o
+              , tt = new r
+              , it = new r;
+            N[P("0x5")][P("0xb20")] = function(e, t) {
+                if (!s(e))
+                    throw new l(P("0xb3c"));
+                var i = this[P("0x6b9")];
+                return s(t) || (t = new r),
+                i === M[P("0x90")] ? Qe(this, e, t) : i === M[P("0x8a")] ? function(e, t, i) {
+                    var r = e[P("0xc6")];
+                    t.west > t[P("0x2aa")] && (t = G[P("0xb3b")]);
+                    var n = e[P("0xae7")]
+                      , o = e[P("0xb0d")]
+                      , a = Ze;
+                    a[P("0x112")] = t[P("0x2aa")],
+                    a[P("0x114")] = t.north;
+                    var x = r.project(a, Je);
+                    C[P("0xd4")](n, x, x),
+                    C[P("0xd4")](o, x, x),
+                    a[P("0x112")] = t[P("0x2a9")],
+                    a[P("0x114")] = t.south;
+                    var l = r[P("0x5a")](a, $e);
+                    if (C[P("0xd4")](n, l, l),
+                    C.multiplyByPoint(o, l, l),
+                    i.x = .5 * (x.x - l.x) + l.x,
+                    i.y = .5 * (x.y - l.y) + l.y,
+                    s(e[P("0xe8")][P("0xb07")])) {
+                        var c = Math[P("0x992")](.5 * e[P("0xe8")][P("0xb07")])
+                          , u = e.frustum[P("0xaef")] * c;
+                        i.z = .5 * Math[P("0xee")]((x.x - l.x) / u, (x.y - l.y) / c)
+                    } else {
+                        var h = x.x - l.x
+                          , f = x.y - l.y;
+                        i.z = Math[P("0xee")](h, f)
+                    }
+                    return i
+                }(this, e, t) : i === M.SCENE2D ? function(e, t, i) {
+                    var r = e._projection;
+                    t.west > t[P("0x2aa")] && (t = G[P("0xb3b")]);
+                    var n = et;
+                    n[P("0x112")] = t.east,
+                    n[P("0x114")] = t[P("0x2ac")];
+                    var o = r.project(n, tt);
+                    n[P("0x112")] = t.west,
+                    n[P("0x114")] = t.south;
+                    var a, s, x = r[P("0x5a")](n, it), l = .5 * Math[P("0x78")](o.x - x.x), c = .5 * Math.abs(o.y - x.y), u = e[P("0xe8")][P("0x9b")] / e[P("0xe8")].top, h = c * u;
+                    return h < l ? s = (a = l) / u : (s = c,
+                    a = h),
+                    c = Math[P("0xee")](2 * a, 2 * s),
+                    i.x = .5 * (o.x - x.x) + x.x,
+                    i.y = .5 * (o.y - x.y) + x.y,
+                    (n = r[P("0xbe")](i, n))[P("0x8b")] = c,
+                    r[P("0x5a")](n, i)
+                }(this, e, t) : void 0
+            }
+            ;
+            var rt = new w
+              , nt = new w
+              , ot = new w;
+            N[P("0x5")][P("0xa2")] = function(e, t, i) {
+                if (!s(e))
+                    throw new l(P("0xb3d"));
+                var n = this[P("0x42")][P("0x48")];
+                if (0 !== n.clientWidth && 0 !== n[P("0x7c")]) {
+                    if (s(i) || (i = new r),
+                    t = a(t, u[P("0x110")]),
+                    this._mode === M[P("0x90")])
+                        i = function(e, t, i, r) {
+                            i = a(i, u[P("0x110")]);
+                            var n = e.getPickRay(t, rt)
+                              , o = m[P("0xe0")](n, i);
+                            if (o) {
+                                var s = 0 < o[P("0xe2")] ? o[P("0xe2")] : o[P("0xe4")];
+                                return w.getPoint(n, s, r)
+                            }
+                        }(this, e, t, i);
+                    else if (this._mode === M[P("0x85")])
+                        i = function(e, t, i, r) {
+                            var n = e[P("0x86")](t, nt)[P("0x87")];
+                            n.z = 0;
+                            var o = i[P("0xbe")](n);
+                            if (!(o[P("0x114")] < -b[P("0x5b")] || o.latitude > b[P("0x5b")]))
+                                return i.ellipsoid[P("0xa7")](o, r)
+                        }(this, e, this[P("0xc6")], i);
+                    else {
+                        if (this[P("0x6b9")] !== M[P("0x8a")])
+                            return;
+                        i = function(e, t, i, n) {
+                            var o = e.getPickRay(t, ot)
+                              , a = -o[P("0x87")].x / o[P("0x93")].x;
+                            w[P("0xe1")](o, a, n);
+                            var s = i.unproject(new r(n.y,n.z,0));
+                            if (!(s[P("0x114")] < -b[P("0x5b")] || s[P("0x114")] > b[P("0x5b")] || s[P("0x112")] < -Math.PI || s.longitude > Math.PI))
+                                return i[P("0xef")][P("0xa7")](s, n)
+                        }(this, e, this[P("0xc6")], i)
+                    }
+                    return i
+                }
+            }
+            ;
+            var at = new r
+              , st = new r
+              , xt = new r
+              , lt = new r;
+            N[P("0x5")][P("0x86")] = function(e, t) {
+                if (!s(e))
+                    throw new l(P("0xb3d"));
+                s(t) || (t = new w);
+                var i = this[P("0xe8")];
+                return s(i[P("0xaef")]) && s(i[P("0xaf0")]) && s(i[P("0xb3e")]) ? function(e, t, i) {
+                    var n = e[P("0x42")].canvas
+                      , o = n[P("0x94")]
+                      , a = n[P("0x7c")]
+                      , s = Math[P("0x992")](.5 * e[P("0xe8")].fovy)
+                      , x = e.frustum[P("0xaef")] * s
+                      , l = e.frustum.near
+                      , c = 2 / o * t.x - 1
+                      , u = 2 / a * (a - t.y) - 1
+                      , h = e[P("0xa5")];
+                    r[P("0x6e")](h, i[P("0x87")]);
+                    var f = r[P("0x6c")](e[P("0xa6")], l, at);
+                    r[P("0x6d")](h, f, f);
+                    var d = r[P("0x6c")](e.rightWC, c * l * x, st)
+                      , g = r[P("0x6c")](e.upWC, u * l * s, xt)
+                      , p = r[P("0x6d")](f, d, i[P("0x93")]);
+                    return r[P("0x6d")](p, g, p),
+                    r[P("0x95")](p, h, p),
+                    r[P("0x8d")](p, p),
+                    i
+                }(this, e, t) : function(e, t, i) {
+                    var n = e[P("0x42")].canvas
+                      , o = n[P("0x94")]
+                      , a = n[P("0x7c")]
+                      , x = e.frustum;
+                    s(x._offCenterFrustum) && (x = x._offCenterFrustum);
+                    var l = 2 / o * t.x - 1;
+                    l *= .5 * (x[P("0x9b")] - x[P("0x149")]);
+                    var c = 2 / a * (a - t.y) - 1;
+                    c *= .5 * (x.top - x[P("0x9aa")]);
+                    var u = i.origin;
+                    return r[P("0x6e")](e.position, u),
+                    r[P("0x6c")](e.right, l, lt),
+                    r.add(lt, u, u),
+                    r.multiplyByScalar(e.up, c, lt),
+                    r[P("0x6d")](lt, u, u),
+                    r[P("0x6e")](e[P("0xa6")], i[P("0x93")]),
+                    e[P("0x6b9")] === M[P("0x8a")] && r[P("0x88")](i[P("0x87")].z, i[P("0x87")].x, i.origin.y, i[P("0x87")]),
+                    i
+                }(this, e, t)
+            }
+            ;
+            var ct = new r
+              , ut = new r;
+            N[P("0x5")][P("0xb3f")] = function(e) {
+                if (!s(e))
+                    throw new l(P("0xb40"));
+                var t = r[P("0x95")](this[P("0xa5")], e[P("0x11a")], ct)
+                  , i = r[P("0x6c")](this[P("0xa6")], r[P("0x92")](t, this[P("0xa6")]), ut);
+                return Math[P("0xee")](0, r[P("0x96")](i) - e[P("0x181")])
+            }
+            ;
+            var ht = new i;
+            function ft(e, t, i, n, o, a) {
+                var s = r.clone(t);
+                return i.y > n ? s.y -= i.y - n : i.y < -n && (s.y += -n - i.y),
+                i.z > o ? s.z -= i.z - o : i.z < -o && (s.z += -o - i.z),
+                {
+                    easingFunction: c[P("0xb44")],
+                    startObject: {
+                        time: 0
+                    },
+                    stopObject: {
+                        time: 1
+                    },
+                    duration: a,
+                    update: function(i) {
+                        var n = r[P("0x308")](t, s, i.time, new r);
+                        e[P("0xc9")](n, e[P("0x8c")])
+                    }
+                }
+            }
+            N.prototype[P("0xb41")] = function(e, t, i) {
+                if (!s(e))
+                    throw new l(P("0xb40"));
+                if (!s(t))
+                    throw new l("drawingBufferWidth is required.");
+                if (!s(i))
+                    throw new l(P("0xb42"));
+                var r = this[P("0xb3f")](e)
+                  , n = this.frustum[P("0xb43")](t, i, r, ht);
+                return Math[P("0xee")](n.x, n.y)
+            }
+            ;
+            var dt = new r
+              , gt = new r
+              , pt = new r
+              , mt = new r;
+            N[P("0x5")][P("0xb45")] = function(e) {
+                if (!s(e))
+                    throw new l(P("0xb46"));
+                if (this[P("0x6b9")] === M[P("0x8a")])
+                    return function(e, t) {
+                        var i = e[P("0x8c")]
+                          , n = e[P("0x93")]
+                          , o = e.worldToCameraCoordinatesVector(r[P("0xb8")], dt)
+                          , a = -r[P("0x92")](o, i) / r[P("0x92")](o, n)
+                          , s = r[P("0x6d")](i, r[P("0x6c")](n, a, gt), gt);
+                        e[P("0xb27")](s, s),
+                        i = e[P("0xb27")](e.position, pt);
+                        var x = Math[P("0x992")](.5 * e[P("0xe8")][P("0xb07")])
+                          , l = e[P("0xe8")][P("0xaef")] * x
+                          , c = r.magnitude(r[P("0x95")](i, s, mt))
+                          , u = l * c
+                          , h = x * c
+                          , f = e._maxCoord.x
+                          , d = e[P("0x59")].y
+                          , g = Math.max(u - f, f)
+                          , p = Math[P("0xee")](h - d, d);
+                        if (i.z < -g || i.z > g || i.y < -p || i.y > p) {
+                            var m = s.y < -g || s.y > g
+                              , b = s.z < -p || s.z > p;
+                            if (m || b)
+                                return ft(e, i, s, g, p, t)
+                        }
+                    }(this, e)
+            }
+            ;
+            var bt = new r
+              , vt = {
+                destination: void 0,
+                heading: void 0,
+                pitch: void 0,
+                roll: void 0,
+                duration: void 0,
+                complete: void 0,
+                cancel: void 0,
+                endTransform: void 0,
+                maximumHeight: void 0,
+                easingFunction: void 0
+            };
+            function Ct(e, t, i) {
+                s(i) || (i = d[P("0x6e")](N[P("0xb52")]));
+                var r, n, o, a, x = e[P("0x42")][P("0x24f")][P("0x30")], l = e[P("0x42")][P("0x24f")][P("0x79")], c = i[P("0x55c")];
+                if (!s(c) || 0 === c) {
+                    var u = t[P("0x181")];
+                    0 === u ? i[P("0x55c")] = 100 : e.frustum instanceof y || e[P("0x6b9")] === M[P("0x85")] ? i[P("0x55c")] = function(e, t) {
+                        var i, r, n = e[P("0xe8")];
+                        s(n[P("0xb3a")]) && (n = n[P("0xb3a")]);
+                        var o = n[P("0x9b")] / n.top
+                          , a = t * o;
+                        return a < t ? r = (i = t) / o : (r = t,
+                        i = a),
+                        1.5 * Math[P("0xee")](i, r)
+                    }(e, u) : i[P("0x55c")] = (r = u,
+                    n = e[P("0xe8")],
+                    o = Math[P("0x992")](.5 * n[P("0xb07")]),
+                    a = n[P("0xaef")] * o,
+                    Math[P("0xee")](r / a, r / o)),
+                    i[P("0x55c")] = b[P("0x77")](i.range, x, l)
+                }
+                return i
+            }
+            N[P("0x5")].cancelFlight = function() {
+                s(this[P("0xb47")]) && (this._currentFlight.cancelTween(),
+                this[P("0xb47")] = void 0)
+            }
+            ,
+            N[P("0x5")][P("0xb23")] = function(e) {
+                var t = (e = a(e, a.EMPTY_OBJECT)).destination;
+                if (!s(t))
+                    throw new l(P("0xb48"));
+                if (this[P("0x6b9")] !== M[P("0xb10")]) {
+                    this[P("0xb49")]();
+                    var i = a(e[P("0x11e")], a.EMPTY_OBJECT);
+                    if (s(i[P("0x93")]) && (i = fe(this, t, i, de[P("0x11e")])),
+                    s(e[P("0x763")]) && e.duration <= 0) {
+                        var r = de;
+                        return r[P("0x11d")] = e[P("0x11d")],
+                        r[P("0x11e")][P("0x7f")] = i[P("0x7f")],
+                        r[P("0x11e")][P("0x80")] = i[P("0x80")],
+                        r[P("0x11e")][P("0x81")] = i[P("0x81")],
+                        r[P("0xb4a")] = e[P("0xb4a")],
+                        r[P("0xb1f")] = e[P("0xb1f")],
+                        this[P("0x9c")](r),
+                        void ("function" == typeof e[P("0xb4b")] && e[P("0xb4b")]())
+                    }
+                    var n = s(t[P("0x2a9")]);
+                    n && (t = this[P("0xb20")](t, bt));
+                    var o, x = this;
+                    vt[P("0x11d")] = t,
+                    vt[P("0x7f")] = i.heading,
+                    vt[P("0x80")] = i[P("0x80")],
+                    vt.roll = i[P("0x81")],
+                    vt[P("0x763")] = e[P("0x763")],
+                    vt[P("0xb4b")] = function() {
+                        o === x[P("0xb47")] && (x[P("0xb47")] = void 0),
+                        s(e[P("0xb4b")]) && e[P("0xb4b")]()
+                    }
+                    ,
+                    vt[P("0xb4c")] = e[P("0xb4c")],
+                    vt[P("0xb1f")] = e[P("0xb1f")],
+                    vt[P("0xb4a")] = !n && e.convert,
+                    vt.maximumHeight = e[P("0x46d")],
+                    vt[P("0xb4d")] = e.pitchAdjustHeight,
+                    vt.flyOverLongitude = e[P("0xb4e")],
+                    vt[P("0xb4f")] = e[P("0xb4f")],
+                    vt[P("0xb50")] = e[P("0xb50")];
+                    var c = this[P("0x42")];
+                    o = c.tweens[P("0x6d")](S[P("0xb51")](c, vt)),
+                    this[P("0xb47")] = o
+                }
+            }
+            ,
+            N[P("0x5")].viewBoundingSphere = function(e, t) {
+                if (!s(e))
+                    throw new l(P("0xb40"));
+                if (this[P("0x6b9")] === M[P("0xb10")])
+                    throw new l(P("0xb53"));
+                t = Ct(this, e, t),
+                this[P("0x50a")](e[P("0x11a")], t)
+            }
+            ;
+            var yt = new C
+              , _t = new r
+              , At = new r
+              , It = new r
+              , wt = new r
+              , Gt = new n
+              , Et = new I
+              , St = new v;
+            N.prototype[P("0xa8")] = function(e, t) {
+                if (!s(e))
+                    throw new l(P("0xb40"));
+                t = a(t, a.EMPTY_OBJECT);
+                var i = this[P("0x6b9")] === M[P("0x85")] || this._mode === M.COLUMBUS_VIEW;
+                this[P("0xc2")](C[P("0xae")]);
+                var n, o = Ct(this, e, t[P("0xa4a")]);
+                n = i ? r[P("0x6c")](r[P("0xc3")], o.range, _t) : Fe(o[P("0x7f")], o[P("0x80")], o[P("0x55c")]);
+                var x, c, h = E.eastNorthUpToFixedFrame(e[P("0x11a")], u[P("0x110")], yt);
+                if (C[P("0xd4")](h, n, n),
+                !i) {
+                    if (x = r[P("0x95")](e[P("0x11a")], n, At),
+                    r[P("0x8d")](x, x),
+                    c = C[P("0x739")](h, r[P("0xc3")], It),
+                    1 - Math.abs(r[P("0x92")](x, c)) < b[P("0xbb")]) {
+                        var f = I.fromAxisAngle(x, o.heading, Et)
+                          , d = v.fromQuaternion(f, St);
+                        r[P("0xb54")](C[P("0xb0a")](h, 1, Gt), c),
+                        v[P("0xce")](d, c, c)
+                    }
+                    var g = r.cross(x, c, wt);
+                    r[P("0x99")](g, x, c),
+                    r[P("0x8d")](c, c)
+                }
+                this[P("0xb23")]({
+                    destination: n,
+                    orientation: {
+                        direction: x,
+                        up: c
+                    },
+                    duration: t[P("0x763")],
+                    complete: t[P("0xb4b")],
+                    cancel: t[P("0xb4c")],
+                    endTransform: t[P("0xb1f")],
+                    maximumHeight: t[P("0x46d")],
+                    easingFunction: t[P("0xb50")],
+                    flyOverLongitude: t[P("0xb4e")],
+                    flyOverLongitudeWeight: t[P("0xb4f")],
+                    pitchAdjustHeight: t[P("0xb4d")]
+                })
+            }
+            ;
+            var Tt = new r
+              , Pt = new r
+              , Mt = new r
+              , Nt = new r
+              , Lt = [new r, new r, new r, new r]
+              , Rt = new i
+              , Ot = new r
+              , Ft = [new o, new o, new o, new o];
+            function Dt(e, t, i, r, n, o) {
+                Rt.x = e,
+                Rt.y = t;
+                var a = r[P("0xa2")](Rt, n, Ot);
+                return s(a) ? (Ft[i] = n[P("0xd6")](a, Ft[i]),
+                1) : (Ft[i] = n[P("0xd6")](o[i], Ft[i]),
+                0)
+            }
+            N.prototype.computeViewRectangle = function(e, i) {
+                e = a(e, u.WGS84);
+                var n = this[P("0xe8")].computeCullingVolume(this.positionWC, this[P("0xa6")], this[P("0xb58")])
+                  , o = new t(r.ZERO,e[P("0xc4")]);
+                if (n[P("0xb59")](o) !== p.OUTSIDE) {
+                    var s = this._scene[P("0x48")]
+                      , x = s.clientWidth
+                      , l = s.clientHeight
+                      , c = 0
+                      , h = function(e, t) {
+                        var i, n, o = t[P("0xb55")], a = e.positionWC, s = r[P("0xb56")](t[P("0xb57")], a, Tt), x = r[P("0x96")](s), l = r[P("0x8d")](s, Pt);
+                        n = r[P("0x62")](l, r[P("0xc3")], b[P("0xb0b")]) ? (i = new r(0,1,0),
+                        new r(0,0,1)) : (i = r[P("0x8d")](r[P("0x99")](r[P("0xc3")], l, Mt), Mt),
+                        r.normalize(r[P("0x99")](l, i, Nt), Nt));
+                        var c = Math.sqrt(r.magnitudeSquared(s) - 1)
+                          , u = r[P("0x6c")](l, 1 / x, Tt)
+                          , h = c / x
+                          , f = r[P("0x6c")](i, h, Pt)
+                          , d = r[P("0x6c")](n, h, Mt)
+                          , g = r[P("0x6d")](u, d, Lt[0]);
+                        r[P("0x95")](g, f, g),
+                        r.multiplyComponents(o, g, g);
+                        var p = r.subtract(u, d, Lt[1]);
+                        r[P("0x95")](p, f, p),
+                        r.multiplyComponents(o, p, p);
+                        var m = r[P("0x95")](u, d, Lt[2]);
+                        r[P("0x6d")](m, f, m),
+                        r[P("0xb56")](o, m, m);
+                        var v = r.add(u, d, Lt[3]);
+                        return r[P("0x6d")](v, f, v),
+                        r[P("0xb56")](o, v, v),
+                        Lt
+                    }(this, e);
+                    if (c += Dt(0, 0, 0, this, e, h),
+                    c += Dt(0, l, 1, this, e, h),
+                    c += Dt(x, l, 2, this, e, h),
+                    (c += Dt(x, 0, 3, this, e, h)) < 2)
+                        return G[P("0xb3b")];
+                    i = G[P("0xb5a")](Ft, i);
+                    for (var f = 0, d = Ft[3][P("0x112")], g = 0; g < 4; ++g) {
+                        var m = Ft[g][P("0x112")]
+                          , v = Math.abs(m - d);
+                        v > b.PI ? f += b.TWO_PI - v : f += v,
+                        d = m
+                    }
+                    return b.equalsEpsilon(Math[P("0x78")](f), b.TWO_PI, b[P("0xb5b")]) && (i[P("0x2a9")] = -b.PI,
+                    i[P("0x2aa")] = b.PI,
+                    0 <= Ft[0][P("0x114")] ? i.north = b[P("0x5b")] : i[P("0x2ab")] = -b.PI_OVER_TWO),
+                    i
+                }
+            }
+            ,
+            N.prototype[P("0xb5c")] = function() {
+                if (!(this._mode === M[P("0x85")] || this.frustum instanceof A)) {
+                    var e = this[P("0x42")];
+                    this[P("0xe8")] = new A,
+                    this.frustum[P("0xaef")] = e[P("0x782")] / e[P("0x783")],
+                    this.frustum.fov = b[P("0x119")](60)
+                }
+            }
+            ,
+            N[P("0x5")][P("0xb5d")] = function() {
+                if (!(this._mode === M[P("0x85")] || this.frustum instanceof y)) {
+                    var e = this._scene;
+                    this[P("0xe8")] = new y,
+                    this[P("0xe8")][P("0xaef")] = e.drawingBufferWidth / e[P("0x783")],
+                    this[P("0xe8")][P("0x19a")] = r.magnitude(this.position);
+                    var t = this.frustum[P("0xb5e")];
+                    s(t) && this[P("0x83")](!0)
+                }
+            }
+            ,
+            N[P("0x6e")] = function(e, t) {
+                return s(t) || (t = new N(e[P("0x42")])),
+                r.clone(e[P("0x8c")], t[P("0x8c")]),
+                r[P("0x6e")](e[P("0x93")], t[P("0x93")]),
+                r.clone(e.up, t.up),
+                r[P("0x6e")](e[P("0x9b")], t[P("0x9b")]),
+                C.clone(e[P("0xae5")], t[P("0xaf")]),
+                t[P("0xae8")] = !0,
+                t
+            }
+            ,
+            e.GeoCamera = N
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x10")]
+              , i = e.defined
+              , r = e[P("0xf")]
+              , n = e[P("0x22b")]
+              , o = e.DeveloperError
+              , a = e[P("0x19")]
+              , s = e[P("0x23")]
+              , x = e[P("0x15f")]
+              , l = e[P("0x161")]
+              , c = e[P("0xb5f")];
+            function u(e, t) {
+                var r = e;
+                return i(t) && (r += "+" + t),
+                r
+            }
+            function h(e, r, n) {
+                var o = u(c[P("0x35")], r)
+                  , a = e[P("0xb60")]
+                  , s = e[P("0xb61")]
+                  , x = e._eventStartPosition
+                  , h = e._pressTime
+                  , f = e._releaseTime;
+                a[o] = !0,
+                s[o] = !1,
+                x[o] = new t;
+                var d = e[P("0xb62")][o];
+                i(d) || (d = e[P("0xb62")][o] = {}),
+                d[P("0x8e")] = {
+                    startPosition: new t,
+                    endPosition: new t
+                },
+                d[P("0xaa")] = {
+                    startPosition: new t,
+                    endPosition: new t
+                },
+                d[P("0xb63")] = 0,
+                e._eventHandler[P("0x160")]((function(i) {
+                    e[P("0xb64")]++,
+                    s[o] = !0,
+                    h[o] = new Date,
+                    t[P("0x308")](i[P("0xb65")], i.position2, .5, x[o])
+                }
+                ), l[P("0x162")], r),
+                e[P("0xb66")][P("0x160")]((function() {
+                    e._buttonsDown = Math[P("0xee")](e[P("0xb64")] - 1, 0),
+                    s[o] = !1,
+                    f[o] = new Date
+                }
+                ), l[P("0xb67")], r),
+                e[P("0xb66")][P("0x160")]((function(e) {
+                    if (s[o]) {
+                        a[o] ? (l = e,
+                        c = d,
+                        t[P("0x6e")](l[P("0x8e")].startPosition, c.distance[P("0x63")]),
+                        t[P("0x6e")](l[P("0x8e")][P("0x64")], c[P("0x8e")][P("0x64")]),
+                        t[P("0x6e")](l[P("0xaa")].startPosition, c[P("0xaa")].startPosition),
+                        t[P("0x6e")](l.angleAndHeight[P("0x64")], c[P("0xaa")][P("0x64")]),
+                        a[o] = !1,
+                        d[P("0xb63")] = d[P("0xaa")][P("0x63")].x) : (t.clone(e.distance[P("0x64")], d[P("0x8e")].endPosition),
+                        t[P("0x6e")](e.angleAndHeight[P("0x64")], d[P("0xaa")][P("0x64")]));
+                        for (var i = d.angleAndHeight[P("0x64")].x, r = d[P("0xb63")], x = 2 * Math.PI; i >= r + Math.PI; )
+                            i -= x;
+                        for (; i < r - Math.PI; )
+                            i += x;
+                        d[P("0xaa")].endPosition.x = -i * n[P("0x94")] / 12,
+                        d.angleAndHeight.startPosition.x = -r * n.clientWidth / 12
+                    }
+                    var l, c
+                }
+                ), l[P("0xb68")], r)
+            }
+            function f(e, r) {
+                var n = u(c[P("0x34")], r)
+                  , o = e._update;
+                o[n] = !0;
+                var a = e[P("0xb62")][n];
+                i(a) || (a = e[P("0xb62")][n] = {}),
+                a.startPosition = new t,
+                a[P("0x64")] = new t,
+                e[P("0xb66")].setInputAction((function(e) {
+                    var i = 10 * s[P("0x119")](e);
+                    o[n] ? (t.clone(t[P("0x6f")], a[P("0x63")]),
+                    a[P("0x64")].x = 0,
+                    a[P("0x64")].y = i,
+                    o[n] = !1) : a[P("0x64")].y = a[P("0x64")].y + i
+                }
+                ), l.WHEEL, r)
+            }
+            function d(e, r, n) {
+                var o = u(n, r)
+                  , a = e[P("0xb61")]
+                  , s = e[P("0xb69")]
+                  , x = e[P("0xb6a")]
+                  , h = e[P("0xb6b")];
+                a[o] = !1,
+                s[o] = new t;
+                var f, d, g = e._lastMovement[o];
+                i(g) || (g = e._lastMovement[o] = {
+                    startPosition: new t,
+                    endPosition: new t,
+                    valid: !1
+                }),
+                n === c[P("0x32")] ? (f = l[P("0x1ff")],
+                d = l[P("0x1fd")]) : n === c[P("0x37")] ? (f = l[P("0xb6c")],
+                d = l[P("0xb6d")]) : n === c[P("0xb6e")] && (f = l.MIDDLE_DOWN,
+                d = l[P("0xb6f")]),
+                e[P("0xb66")][P("0x160")]((function(i) {
+                    e[P("0xb64")]++,
+                    g.valid = !1,
+                    a[o] = !0,
+                    x[o] = new Date,
+                    t[P("0x6e")](i.position, s[o])
+                }
+                ), f, r),
+                e[P("0xb66")][P("0x160")]((function() {
+                    e[P("0xb64")] = Math[P("0xee")](e[P("0xb64")] - 1, 0),
+                    a[o] = !1,
+                    h[o] = new Date
+                }
+                ), d, r)
+            }
+            function g(e, i) {
+                t.clone(e[P("0x63")], i[P("0x63")]),
+                t.clone(e[P("0x64")], i[P("0x64")])
+            }
+            function p(e, r) {
+                var n = e[P("0xb60")]
+                  , o = e._movement
+                  , a = e._lastMovement
+                  , s = e[P("0xb61")];
+                for (var x in c)
+                    if (c[P("0xa5c")](x)) {
+                        var h = c[x];
+                        if (i(h)) {
+                            var f = u(h, r);
+                            n[f] = !0,
+                            i(e[P("0xb70")][f]) || (e[P("0xb70")][f] = {
+                                startPosition: new t,
+                                endPosition: new t,
+                                valid: !1
+                            }),
+                            i(e[P("0xb62")][f]) || (e[P("0xb62")][f] = {
+                                startPosition: new t,
+                                endPosition: new t
+                            })
+                        }
+                    }
+                e[P("0xb66")][P("0x160")]((function(x) {
+                    for (var l in c)
+                        if (c[P("0xa5c")](l)) {
+                            var h = c[l];
+                            if (i(h)) {
+                                var f = u(h, r);
+                                s[f] && (n[f] ? (g(o[f], a[f]),
+                                a[f][P("0xb71")] = !0,
+                                g(x, o[f]),
+                                n[f] = !1) : t.clone(x[P("0x64")], o[f][P("0x64")]))
+                            }
+                        }
+                    t[P("0x6e")](x[P("0x64")], e._currentMousePosition)
+                }
+                ), l[P("0x163")], r)
+            }
+            function m(e) {
+                if (!i(e))
+                    throw new o(P("0xb72"));
+                for (var r in this[P("0xb66")] = new x(e,!0),
+                this[P("0xb60")] = {},
+                this._movement = {},
+                this[P("0xb70")] = {},
+                this[P("0xb61")] = {},
+                this[P("0xb69")] = {},
+                this[P("0xb6a")] = {},
+                this[P("0xb6b")] = {},
+                this[P("0xb64")] = 0,
+                this[P("0xb73")] = new t,
+                f(this, void 0),
+                h(this, void 0, e),
+                d(this, void 0, c[P("0x32")]),
+                d(this, void 0, c[P("0x37")]),
+                d(this, void 0, c[P("0xb6e")]),
+                p(this, void 0),
+                a)
+                    if (a.hasOwnProperty(r)) {
+                        var n = a[r];
+                        i(n) && (f(this, n),
+                        h(this, n, e),
+                        d(this, n, c.LEFT_DRAG),
+                        d(this, n, c[P("0x37")]),
+                        d(this, n, c[P("0xb6e")]),
+                        p(this, n))
+                    }
+            }
+            r(m.prototype, {
+                currentMousePosition: {
+                    get: function() {
+                        return this[P("0xb73")]
+                    }
+                },
+                anyButtonDown: {
+                    get: function() {
+                        var e = !(this._update[u(c[P("0x34")])] && this[P("0xb60")][u(c.WHEEL, a[P("0x3a")])] && this[P("0xb60")][u(c.WHEEL, a[P("0x38")])] && this[P("0xb60")][u(c.WHEEL, a[P("0xb74")])]);
+                        return 0 < this[P("0xb64")] || e
+                    }
+                }
+            }),
+            m.prototype[P("0x74")] = function(e, t) {
+                if (!i(e))
+                    throw new o("type is required.");
+                var r = u(e, t);
+                return !this[P("0xb60")][r]
+            }
+            ,
+            m[P("0x5")][P("0x75")] = function(e, t) {
+                if (!i(e))
+                    throw new o(P("0xb75"));
+                var r = u(e, t);
+                return this._movement[r]
+            }
+            ,
+            m[P("0x5")][P("0x6a")] = function(e, t) {
+                if (!i(e))
+                    throw new o("type is required.");
+                var r = u(e, t)
+                  , n = this._lastMovement[r];
+                if (n[P("0xb71")])
+                    return n
+            }
+            ,
+            m[P("0x5")][P("0x70")] = function(e, t) {
+                if (!i(e))
+                    throw new o(P("0xb75"));
+                var r = u(e, t);
+                return this[P("0xb61")][r]
+            }
+            ,
+            m.prototype[P("0x76")] = function(e, t) {
+                if (!i(e))
+                    throw new o(P("0xb75"));
+                if (e === c[P("0x34")])
+                    return this[P("0xb73")];
+                var r = u(e, t);
+                return this[P("0xb69")][r]
+            }
+            ,
+            m[P("0x5")][P("0x66")] = function(e, t) {
+                if (!i(e))
+                    throw new o(P("0xb75"));
+                var r = u(e, t);
+                return this[P("0xb6a")][r]
+            }
+            ,
+            m.prototype[P("0x67")] = function(e, t) {
+                if (!i(e))
+                    throw new o(P("0xb75"));
+                var r = u(e, t);
+                return this[P("0xb6b")][r]
+            }
+            ,
+            m[P("0x5")][P("0xf1")] = function() {
+                for (var e in this[P("0xb60")])
+                    this[P("0xb60")][P("0xa5c")](e) && (this[P("0xb60")][e] = !0)
+            }
+            ,
+            m[P("0x5")][P("0xf3")] = function() {
+                return !1
+            }
+            ,
+            m[P("0x5")][P("0xf4")] = function() {
+                return this[P("0xb66")] = this[P("0xb66")] && this._eventHandler[P("0xf4")](),
+                n(this)
+            }
+            ,
+            e[P("0x47")] = m
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0xb76")] = function(t) {
+                t = t || {},
+                this[P("0x217")] = e.defaultValue(t[P("0x8b")], 9e3);
+                var i = e[P("0x102")](t[P("0x6af")], "../../../resource/images/cloud.jpg");
+                this._url_0 = e[P("0x6ba")](i),
+                this._speedScale = e[P("0x102")](t[P("0xb77")], 1),
+                this[P("0xb78")] = 0,
+                this[P("0xb79")] = 1e-4,
+                this[P("0xb7a")] = e[P("0x102")](t[P("0xb7b")], new e.Cartesian4(.83,1.03,1.4,.25)),
+                this[P("0xb7c")] = e[P("0x102")](t.isInverse, !1),
+                this[P("0xb7d")] = new (e[P("0x1b")]),
+                this._radius = null,
+                this[P("0xb7e")] = null,
+                this[P("0xb7f")] = !1,
+                this[P("0xb80")] = !1,
+                this[P("0x5ba")] = !0
+            }
+            ;
+            e.defineProperties(t[P("0x5")], {
+                actived: {
+                    get: function() {
+                        return this[P("0x5ba")]
+                    },
+                    set: function(e) {
+                        this[P("0x5ba")] = e
+                    }
+                },
+                isInverse: {
+                    get: function() {
+                        return this[P("0xb7c")]
+                    },
+                    set: function(e) {
+                        this[P("0xb7c")] = e
+                    }
+                },
+                redGamma: {
+                    get: function() {
+                        return this[P("0xb7a")].x
+                    },
+                    set: function(t) {
+                        t = e[P("0x23")][P("0x77")](t, 0, 2),
+                        this[P("0xb7a")].x = t
+                    }
+                },
+                greenGamma: {
+                    get: function() {
+                        return this[P("0xb7a")].y
+                    },
+                    set: function(t) {
+                        t = e[P("0x23")][P("0x77")](t, 0, 2),
+                        this[P("0xb7a")].y = t
+                    }
+                },
+                blueGamma: {
+                    get: function() {
+                        return this._gamma.z
+                    },
+                    set: function(t) {
+                        t = e.Math[P("0x77")](t, 0, 2),
+                        this[P("0xb7a")].z = t
+                    }
+                },
+                alphaGamma: {
+                    get: function() {
+                        return this[P("0xb7a")].w
+                    },
+                    set: function(t) {
+                        t = e.Math[P("0x77")](t, 0, 1),
+                        this._gamma.w = t
+                    }
+                },
+                speedScale: {
+                    get: function() {
+                        return this._speedScale
+                    },
+                    set: function(e) {
+                        this._speedScale = e
+                    }
+                },
+                url: {
+                    set: function(t) {
+                        var i = e.defaultValue(t, P("0xb81"));
+                        this[P("0xb82")] = e[P("0x6ba")](i),
+                        this[P("0xb7e")] && (this[P("0xb7e")].destroy(),
+                        this[P("0xb7e")] = null)
+                    }
+                }
+            }),
+            t[P("0x5")]._isTexturesReady = function() {
+                return !!this[P("0xb7e")]
+            }
+            ,
+            t[P("0x5")][P("0xb83")] = function(t) {
+                var i = this;
+                i[P("0xb84")] = t,
+                i._requestUrl || i[P("0xb7e")] || (i[P("0xb7f")] = !0,
+                e[P("0x9ee")](e[P("0x6da")][P("0x6dc")]({
+                    url: this[P("0xb82")]
+                }))[P("0x333")]((function(t) {
+                    i[P("0xb7e")] = new (e[P("0x6db")])({
+                        context: i._context,
+                        source: t,
+                        pixelFormat: e[P("0x785")][P("0xb85")],
+                        pixelDatatype: e[P("0x787")].UNSIGNED_BYTE
+                    })
+                }
+                )).otherwise((function(e) {
+                    console[P("0x133")](P("0xb86"))
+                }
+                )))
+            }
+            ,
+            t[P("0x5")][P("0xd2")] = function(e) {
+                if (this[P("0x5ba")] && e[P("0xb87")][P("0x75d")]) {
+                    var t = e[P("0x5ca")]
+                      , i = e[P("0x3cc")];
+                    this[P("0xb83")](i),
+                    this[P("0xb88")]() && (this._drawCommand || this[P("0xb89")](i),
+                    this[P("0x6ce")] && (this[P("0xb8a")](),
+                    t[P("0x17c")](this[P("0x6ce")])))
+                }
+            }
+            ;
+            var i = new (e[P("0x1d")])
+              , r = new (e[P("0x1a")]);
+            t[P("0x5")][P("0xb8a")] = function() {
+                var t = this[P("0xb78")] * e[P("0x23")].TWO_PI;
+                this[P("0xb7c")] && (t = -t);
+                var n = e[P("0x1d")][P("0xcc")](e[P("0x11")][P("0xc3")], t, i)
+                  , o = e[P("0x1a")][P("0xcd")](n, r);
+                this[P("0xb7d")] = e.Matrix4[P("0x738")](o, void 0, this[P("0xb7d")]),
+                this[P("0xb78")] += this._step * this._speedScale,
+                1 < this[P("0xb78")] && (this[P("0xb78")] = 0)
+            }
+            ,
+            t[P("0x5")][P("0xb89")] = function(e) {
+                var t = this;
+                setTimeout((function() {
+                    t[P("0xb8b")](e)
+                }
+                ), 500)
+            }
+            ;
+            var n = "var PI = Math.PI;\nvar TWO_PI = PI * 2.0;\n" + P("0xb8c") + P("0xb8d") + "   var params = e.data;\n" + P("0xb8e") + P("0xb8f") + "       postMessage({error:true});\n       return;\n" + P("0x614") + P("0xb90") + P("0xb91") + P("0xb92") + P("0x8cd") + P("0x614") + P("0xb93") + P("0xb94") + P("0xb92") + P("0x8cd") + P("0x614") + P("0xb95") + P("0xb96") + P("0xb97") + P("0xb98") + P("0xb99") + P("0xb9a") + "   var vFovRad = PI;\n" + P("0xb9b") + P("0xb9c") + "   var stepHRad = hFovRad / xCount;\n" + P("0xb9d") + P("0xb9e") + "       pointsArray[ptIndex ++] = 0.0;\n" + P("0xb9f") + P("0xba0") + P("0xba1") + P("0xba2") + P("0x614") + P("0xba3") + P("0xba4") + "   var tt = 0.0;\n" + P("0xba5") + P("0xba6") + "       for (var F = 0; F < xCount + 1; F++) {\n" + P("0xba7") + P("0xba8") + P("0xba9") + P("0xbaa") + P("0xbab") + P("0xbac") + P("0xbad") + P("0x71d") + "   }\n" + P("0xb9e") + P("0xb9f") + P("0xb9f") + P("0xbae") + P("0xba1") + P("0xbaf") + P("0x614") + P("0xbb0") + "   var faceIndexArray = new Uint16Array(faceIndexCount);\n" + P("0xbb1") + P("0xbb2") + "       faceIndexArray[faceIndex ++] = F;\n" + P("0xbb3") + P("0xbb4") + P("0x614") + P("0xbb5") + "       for (var F = 0; F < xCount; F ++){\n" + P("0xbb6") + P("0xbb7") + P("0xbb8") + P("0xbb6") + P("0xbb8") + P("0xbb9") + P("0x71d") + P("0x614") + P("0xbb2") + P("0xbba") + "       faceIndexArray[faceIndex ++] = F + xCount + 1 + (yCount - 2) * (xCount + 1);\n       faceIndexArray[faceIndex ++] = pointsCount - (xCount - F);\n" + P("0x614") + P("0xbbb") + "       pointsArray: pointsArray,\n       texcoordArray: texcoordArray,\n" + P("0xbbc") + "   }, [pointsArray.buffer, texcoordArray.buffer, faceIndexArray.buffer]);\n" + P("0xbbd") + P("0xbbe") + "   debugger;\n}";
+            t.prototype[P("0xb8b")] = function(t) {
+                var i = this;
+                if (!i[P("0xb80")]) {
+                    i[P("0xb80")] = !0;
+                    var r = t
+                      , o = i[P("0x217")] + e[P("0x16")].WGS84[P("0xb55")].x + 15e4;
+                    i[P("0x63c")] = o;
+                    var a = new Blob([n],{
+                        type: P("0xbbf")
+                    })
+                      , s = new Worker(URL.createObjectURL(a));
+                    s[P("0xbc0")] = function(t) {
+                        var n = t.data.pointsArray
+                          , o = t.data.texcoordArray
+                          , a = t[P("0x440")][P("0xbc1")]
+                          , x = e[P("0x5ea")][P("0x5ec")]({
+                            context: r,
+                            typedArray: a,
+                            usage: e[P("0x4d5")][P("0x4d6")],
+                            indexDatatype: e[P("0x742")].UNSIGNED_SHORT
+                        })
+                          , l = []
+                          , c = e[P("0x5ea")][P("0x5eb")]({
+                            context: r,
+                            typedArray: n,
+                            usage: e[P("0x4d5")][P("0x4d6")]
+                        });
+                        l[P("0x17c")]({
+                            index: 0,
+                            vertexBuffer: c,
+                            componentsPerAttribute: 3,
+                            componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                            offsetInBytes: 0,
+                            strideInBytes: 12,
+                            normalize: !1
+                        });
+                        var u = e[P("0x5ea")][P("0x5eb")]({
+                            context: r,
+                            typedArray: o,
+                            usage: e.BufferUsage[P("0x4d6")]
+                        });
+                        l[P("0x17c")]({
+                            index: 1,
+                            vertexBuffer: u,
+                            componentsPerAttribute: 2,
+                            componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                            offsetInBytes: 0,
+                            strideInBytes: 8,
+                            normalize: !1
+                        });
+                        var h = new e.VertexArray({
+                            context: r,
+                            attributes: l,
+                            indexBuffer: x
+                        })
+                          , f = new (e[P("0x5d3")])({
+                            owner: i,
+                            primitiveType: e[P("0xbc2")][P("0xbc3")]
+                        });
+                        f[P("0x5cb")] = h;
+                        var d = {
+                            cull: {
+                                enabled: !1
                             },
-                            actived: {
-                                get: function () {
-                                    return this[P("0x5ba")]
-                                },
-                                set: function (e) {
-                                    this[P("0x5ba")] = e
-                                }
+                            depthMask: !1,
+                            depthTest: {
+                                enabled: !0
                             },
-                            visibly: {
-                                get: function () {
-                                    return this._visibly
-                                },
-                                set: function (e) {
-                                    this[P("0xcc9")] = e
-                                }
+                            blending: {
+                                color: e[P("0x16a")][P("0x2cf")],
+                                enabled: !0,
+                                equationRgb: e.WebGLConstants[P("0xbc4")],
+                                equationAlpha: e[P("0x5d8")][P("0xbc4")],
+                                functionSourceRgb: e[P("0x5d8")][P("0xbc5")],
+                                functionDestinationRgb: e[P("0x5d8")].ZERO,
+                                functionSourceAlpha: e[P("0x5d8")].ZERO,
+                                functionDestinationAlpha: e.WebGLConstants[P("0xbc5")]
+                            }
+                        };
+                        f[P("0x5d5")] = e[P("0x5d6")][P("0x5d7")](d),
+                        f[P("0x5cc")] = i[P("0xbc6")](r),
+                        f[P("0x5de")] = {
+                            u_colorTexture_0: function() {
+                                return i._colorTexture_0
                             },
-                            DeveloperErrorEvent: {
-                                get: function () {
-                                    return this[P("0x9fc")]
-                                }
+                            u_animationMatrix: function() {
+                                return i._animationMatrix
                             },
-                            minFovX: {
-                                get: function () {
-                                    return this._videoProjection.config[P("0xccb")]
+                            u_gamma: function() {
+                                return i._gamma
+                            }
+                        },
+                        f[P("0x5d4")] = e.Pass[P("0x73e")],
+                        f[P("0xbc7")] = !1,
+                        f[P("0x4bc")] = new (e[P("0x5f1")])(e[P("0x11")][P("0x6f")],i[P("0x63c")]),
+                        f[P("0xbc8")] = P("0xb76"),
+                        i[P("0x6ce")] = f,
+                        s.terminate()
+                    }
+                    ,
+                    s.onerror = function(e) {}
+                    ,
+                    s[P("0xa70")]({
+                        xCount: 36,
+                        yCount: 36,
+                        radius: o
+                    })
+                }
+            }
+            ,
+            t.prototype[P("0xbc6")] = function(t) {
+                var i, r, n = "";
+                i = n,
+                r = n = i += P("0xbc9"),
+                n = r += P("0xbca");
+                var o, a, s = "";
+                return o = s,
+                a = s = o += P("0xbcb"),
+                s = a += P("0xbcc"),
+                e[P("0x5dc")].replaceCache({
+                    context: t,
+                    shaderProgram: void 0,
+                    vertexShaderSource: n,
+                    fragmentShaderSource: s,
+                    attributeLocations: {
+                        a_position: 0,
+                        a_texcoord_0: 1
+                    }
+                })
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x102")];
+            function i(i) {
+                i = t(i, t.EMPTY_OBJECT),
+                this.viewer = i[P("0x13b")],
+                this.scene = this.viewer[P("0x10f")],
+                this.scene[P("0x24f")][P("0xd9")] = !1,
+                this[P("0x17d")] = this[P("0x10f")][P("0x17d")],
+                this[P("0xbcd")] = t(i[P("0xbcd")], new e.Color(1,0,0,.5)),
+                this.bottomCylinderColor = t(i[P("0xbce")], new (e[P("0x16a")])(0,1,0,.5)),
+                this[P("0xbcf")](),
+                this[P("0x69")]()
+            }
+            function r(t, i, r, n) {
+                return new (e[P("0x179")])({
+                    geometry: new (e[P("0xbd9")])({
+                        center: t,
+                        semiMajorAxis: i,
+                        semiMinorAxis: r,
+                        height: n,
+                        vertexFormat: e[P("0x1b0")][P("0xbda")]
+                    })
+                })
+            }
+            function n(t, i, r, n, o, a, s, x, l, c) {
+                return new (e[P("0x179")])({
+                    geometry: new e.CylinderGeometry({
+                        length: t,
+                        topRadius: i,
+                        bottomRadius: r,
+                        vertexFormat: e[P("0x1b7")][P("0xbdb")]
+                    }),
+                    attributes: {
+                        color: new (e[P("0x184")])(n,o,a,s)
+                    },
+                    modelMatrix: e[P("0x1b")][P("0x597")](e[P("0x1f")][P("0xbf")](e[P("0x11")][P("0x1a1")](x, l, c)), new (e[P("0x11")])(0,0,0), new (e[P("0x1b")]))
+                })
+            }
+            function o(t, i) {
+                return new (e[P("0x226")])({
+                    allowPicking: !0,
+                    geometryInstances: t,
+                    vertexCacheOptimize: !0,
+                    appearance: i,
+                    interleave: !0,
+                    asynchronous: !1,
+                    cull: !1,
+                    releaseGeometryInstances: !0,
+                    show: !0
+                })
+            }
+            e[P("0xf")](i[P("0x5")], {}),
+            i[P("0x5")][P("0xbcf")] = function() {
+                var t, i, a, s = r(e[P("0x11")][P("0xb8")], 1e-4, 1e-4, 1e-4), x = (t = e[P("0x373")],
+                i = Number[P("0x374")](t),
+                P("0xbdd") + (1.68 <= i ? P("0x376") : "") + P("0xbde"));
+                this[P("0xbd0")] = (a = x,
+                new (e[P("0x1b0")])({
+                    translucent: !0,
+                    material: new (e[P("0x212")])({
+                        fabric: {
+                            type: "Image",
+                            uniforms: {
+                                image: P("0xbdc")
+                            }
+                        }
+                    }),
+                    fragmentShaderSource: a
+                }));
+                var l = o(s, this[P("0xbd0")]);
+                this[P("0x17d")][P("0x6d")](l),
+                this[P("0xbd1")] = l;
+                var c = o([n(1e-4, 1e-4, 0, 1, 0, 0, 0, 0, 0, 0), n(1e-4, 0, 1e-4, 1, 0, 0, 0, 0, 0, 0)], new (e[P("0x16e")]));
+                this.primitives.add(c),
+                this.prestrainCylinderPrimitive = c
+            }
+            ,
+            i[P("0x5")].active = function() {
+                var t = null
+                  , i = this
+                  , a = new (e[P("0x15f")])(this[P("0x10f")][P("0x48")]);
+                a[P("0x160")]((function(a) {
+                    if (!i.viewer[P("0xbd2")]) {
+                        i.scene.screenSpaceCameraController.enableInputs = !1;
+                        var s;
+                        if (s = null == i[P("0x10f")][P("0xa4")](a[P("0x8c")]) ? i[P("0x10f")].globe.pick(i.viewer[P("0x7e")][P("0x86")](a.position), i[P("0x10f")]) : i[P("0x10f")][P("0x174")](a[P("0x8c")])) {
+                            var x = e[P("0x13")][P("0x175")](s)
+                              , l = e.Math.toDegrees(x[P("0x112")])
+                              , c = e[P("0x23")][P("0x113")](x[P("0x114")])
+                              , u = x[P("0x8b")] + .5
+                              , h = e[P("0x11")][P("0x8e")](i[P("0x13b")][P("0x7e")][P("0x8c")], s) / 80
+                              , f = i[P("0x13b")][P("0x194")][P("0x6d")]({
+                                id: P("0xbd3"),
+                                position: s,
+                                point: {
+                                    color: new (e[P("0x16a")])(1,1,1,0)
                                 }
-                            },
-                            maxFovX: {
-                                get: function () {
-                                    return this[P("0xc67")][P("0xccc")][P("0xccd")]
+                            });
+                            f.enableGeoLocateRatate = !0,
+                            i[P("0x13b")][P("0xbd2")] = f,
+                            i[P("0x10f")].screenSpaceCameraController[P("0xd9")] = !0;
+                            var d = o(r(s, h, h, u), i[P("0xbd0")]);
+                            i[P("0x17d")][P("0x6d")](d),
+                            i[P("0xbd4")] = d;
+                            var g = o([n(.3 * h, .1 * h, 0, i[P("0xbcd")][P("0x66e")], i.topCylinderColor[P("0x66f")], i[P("0xbcd")].blue, i.topCylinderColor[P("0x671")], l, c, u + .2 * h), n(.3 * h, 0, .1 * h, i[P("0xbce")][P("0x66e")], i[P("0xbce")][P("0x66f")], i.bottomCylinderColor[P("0x670")], i.bottomCylinderColor[P("0x671")], l, c, u - .2 * h)], new (e[P("0x16e")]));
+                            i.primitives[P("0x6d")](g),
+                            i[P("0xbd5")] = g,
+                            i[P("0x10f")][P("0x24f")][P("0x36")] = e.CameraEventType[P("0xb6e")],
+                            t = setTimeout((function() {
+                                i[P("0x10f")][P("0x24f")].enableInputs = !0
+                            }
+                            ), 10),
+                            i[P("0x10f")][P("0xa3")].depthTestAgainstTerrain = !1
+                        }
+                    }
+                }
+                ), e[P("0x161")][P("0xbd6")]),
+                a[P("0x160")]((function(r) {
+                    i.viewer.trackedEntity[P("0xd9")] && (clearTimeout(t),
+                    i[P("0xbd1")] && i[P("0x17d")][P("0x17f")](i[P("0xbd1")]),
+                    i[P("0xbd7")] && i.primitives.remove(i[P("0xbd7")]),
+                    i[P("0xbd4")] && i[P("0x17d")].remove(i[P("0xbd4")]),
+                    i[P("0xbd5")] && i[P("0x17d")].remove(i[P("0xbd5")]),
+                    i[P("0x13b")][P("0x194")][P("0xbd8")]("pointEntity"),
+                    t = null,
+                    i.prestrainEllipsePrimitive = null,
+                    i[P("0xbd7")] = null,
+                    i[P("0xbd4")] = null,
+                    i.cylinderPrimitive = null,
+                    i.viewer[P("0xbd2")] = void 0,
+                    i.scene.screenSpaceCameraController[P("0xd9")] = !1,
+                    i[P("0x10f")][P("0x24f")][P("0x36")] = e[P("0xb5f")].LEFT_DRAG,
+                    i.scene[P("0x24f")].enableInputs = !0)
+                }
+                ), e[P("0x161")].MIDDLE_UP)
+            }
+            ,
+            e[P("0xbdf")] = i
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0xbe0")] = function(t, i) {
+                if (i = w()(i) === P("0x2b6") || i,
+                this[P("0xa8e")] = !1,
+                t) {
+                    this.ready = !0,
+                    this[P("0x10f")] = t,
+                    this[P("0xbe1")] = i;
+                    var r = new (e[P("0xbe2")])(0,0,256,256)
+                      , n = new (e[P("0x3cb")])(t);
+                    n.frustum = new (e[P("0xae2")])({
+                        width: 1,
+                        aspectRatio: 1,
+                        near: .01,
+                        far: 1e3
+                    }),
+                    this._pickOffscreenView = new (e[P("0xbe3")])(t,n,r),
+                    this[P("0xbe4")] = e.when[P("0x9ef")](),
+                    this[P("0xa90")] = this[P("0xbe4")][P("0xa90")]
+                }
+            }
+            ;
+            t[P("0x5")][P("0xbe5")] = function(e, t) {
+                var i = this;
+                if (!i[P("0xa8e")])
+                    return null;
+                var r = null;
+                return i[P("0xb60")](e, t),
+                i.promise.then((function(e) {
+                    r = i._pick(e)
+                }
+                )),
+                r
+            }
+            ;
+            var i = new (e[P("0x5f1")]);
+            function r(t) {
+                var r, n, o, a = t.camera, s = t[P("0xbe9")];
+                s[P("0x5ca")][P("0x0")] = 0,
+                s.shadowMaps[P("0x0")] = 0,
+                s[P("0xbea")] = t[P("0xbeb")],
+                s[P("0xbec")] = t.skyBox && t[P("0x83d")][P("0xbed")],
+                s[P("0xd3")] = t[P("0x6b9")],
+                s[P("0xbee")] = t[P("0xbee")],
+                s[P("0xbd")] = t.mapProjection,
+                s.camera = a,
+                s[P("0xbef")] = a[P("0xe8")][P("0xbf0")](a.positionWC, a[P("0xa6")], a.upWC),
+                s.occluder = (n = (r = t)[P("0xa3")].ellipsoid,
+                i[P("0x181")] = n[P("0xbe6")],
+                e.Occluder.fromBoundingSphere(i, r.camera.positionWC)),
+                s[P("0xf0")] = t[P("0xbf1")],
+                s[P("0xbf2")] = t[P("0xbf3")],
+                s[P("0xbf4")] = t[P("0xbf4")],
+                s[P("0x77d")] = !1,
+                s.sunColor = t[P("0xbf5")],
+                t[P("0xbf6")] = e[P("0x16a")][P("0x6e")](t.invertClassificationColor, t._actualInvertClassificationColor),
+                e.InvertClassification[P("0xbf7")](t[P("0xb84")]) || (t[P("0xbf6")].alpha = 1),
+                s[P("0xbf8")] = t[P("0xbf6")],
+                s.maximumScreenSpaceError = t[P("0xa3")][P("0xbf9")],
+                (o = s[P("0xb87")])[P("0x75d")] = !1,
+                o.pick = !1,
+                o[P("0x456")] = !1,
+                o[P("0xbe7")] = !1,
+                o[P("0xbe8")] = !1,
+                o[P("0xaa3")] = !1
+            }
+            var n = new (e[P("0xbfa")]);
+            function o(t, i, r, n) {
+                var o = i[P("0xbe9")];
+                if (t instanceof e[P("0x790")])
+                    t.execute(r, n);
+                else {
+                    o[P("0x77d")] && e[P("0x14")](t.derivedCommands.logDepth) && (t = t[P("0xc0d")].logDepth[P("0x4d7")]);
+                    var a = o.passes;
+                    if (a[P("0xa4")] || a[P("0x456")]) {
+                        if (a[P("0xa4")] && !a[P("0x456")] && e.defined(t[P("0xc0d")][P("0xc0e")]))
+                            return void (t = t.derivedCommands.picking.pickCommand).execute(r, n);
+                        if (e[P("0x14")](t[P("0xc0d")][P("0x456")]))
+                            return void (t = t[P("0xc0d")].depth[P("0xc0f")])[P("0x797")](r, n)
+                    }
+                    t[P("0x797")](r, n)
+                }
+            }
+            function a(t, i, r) {
+                return t[P("0x4bc")].distanceSquaredTo(r) - i[P("0x4bc")].distanceSquaredTo(r) + e[P("0x23")][P("0xc10")]
+            }
+            function s(t, i, r, n) {
+                var o = t[P("0x3cc")];
+                e[P("0xc11")](n, a, t[P("0x7e")][P("0xa5")]);
+                for (var s = n[P("0x0")], x = 0; x < s; ++x)
+                    i(n[x], t, o, r)
+            }
+            var x = new (e[P("0xae2")]);
+            var l = new e.Cartesian3
+              , c = new e.Cartesian3
+              , u = new (e[P("0xbe2")])
+              , h = new (e[P("0x16a")])(0,0,0,0);
+            t[P("0x5")]._update = function(t, i) {
+                var a = this[P("0x10f")]
+                  , f = a[P("0xb84")]
+                  , d = f[P("0xc28")]
+                  , g = a[P("0xbe9")]
+                  , p = this[P("0xc29")]
+                  , m = (a[P("0x794")] = p)[P("0x7e")]
+                  , b = t[P("0x93")]
+                  , v = e[P("0x11")][P("0x99")](b, i, l);
+                e[P("0x11")][P("0x8d")](v, v),
+                i = e[P("0x11")][P("0x6e")](i, c),
+                m[P("0x8c")] = t[P("0x87")],
+                m[P("0x93")] = b,
+                m.up = i,
+                m[P("0x9b")] = v;
+                var C, y, _, A, I, w = e[P("0xbe2")].clone(p.viewport, u), G = p[P("0xc2a")][P("0xc2b")](w, p[P("0xc06")]);
+                a._jobScheduler[P("0xc2c")](),
+                r(a),
+                g[P("0xbf4")] = !1,
+                g[P("0xb87")][P("0xa4")] = !0,
+                g.passes[P("0xbe8")] = !0,
+                g.passes.async = !1,
+                g[P("0xc2d")] = !0,
+                d[P("0xd2")](g),
+                function(e) {
+                    var t = e[P("0xbe9")]
+                      , i = e[P("0xbfb")];
+                    i[P("0xbfc")] = void 0,
+                    i[P("0xbfd")] = void 0,
+                    i[P("0xbfe")] = void 0,
+                    i[P("0xbff")] = void 0,
+                    i[P("0xc00")] = void 0,
+                    i.clearGlobeDepth = !0,
+                    (i.useDepthPlane = !0) && e[P("0xc01")][P("0xd2")](t),
+                    i[P("0xc02")] = !1,
+                    i.useWebVR = !1;
+                    for (var r = t[P("0xbef")], o = n[P("0xc03")], a = 0; a < 5; ++a)
+                        o[a] = r[P("0xc03")][a];
+                    r = n
+                }(a),
+                function(t, i, r) {
+                    var n, a, l = t[P("0x794")];
+                    t[P("0x6d9")][P("0x5ca")][P("0x0")] = 0,
+                    a = (n = t)[P("0xbe9")],
+                    n._groundPrimitives[P("0xd2")](a),
+                    n[P("0x306")][P("0xd2")](a),
+                    n[P("0x43")] && n._globe.render(a),
+                    l[P("0xc26")](t),
+                    e[P("0x14")](r) && function(t, i, r) {
+                        var n = t[P("0xb84")]
+                          , o = t[P("0xbfb")]
+                          , a = t[P("0x794")];
+                        o[P("0xc04")] = i[P("0x796")];
+                        var s = t._clearColorCommand;
+                        e[P("0x16a")][P("0x6e")](r, s[P("0x169")]),
+                        s[P("0x797")](n, i),
+                        o[P("0xc05")] = !0,
+                        a.globeDepth[P("0xd2")](n, i, a[P("0xc06")], t[P("0xc07")]),
+                        a[P("0xc08")].clear(n, i, r),
+                        o[P("0xc09")] = !1,
+                        o[P("0xc0a")] = !1,
+                        o.usePostProcessSelected = !1,
+                        i[P("0x796")] = a[P("0xc08")][P("0x796")],
+                        s[P("0x797")](n, i),
+                        o[P("0xc0b")] = !1
+                    }(t, i, r),
+                    function(t, i) {
+                        var r = t[P("0x7e")]
+                          , n = t.context
+                          , a = n.uniformState;
+                        a[P("0xc12")](r);
+                        var l = r[P("0xe8")][P("0x6e")](x);
+                        l[P("0xb3e")] = r[P("0xe8")][P("0xb3e")],
+                        l[P("0xc13")] = r[P("0xe8")].far,
+                        a[P("0xc14")](l),
+                        a.updatePass(e[P("0x5e4")][P("0xc15")]);
+                        for (var c, u, h, f, d = t[P("0xbfb")], g = t[P("0x794")], p = s, m = d[P("0xc16")], b = d.useDepthPlane, v = t[P("0xc17")], C = t._stencilClearCommand, y = t[P("0xc01")], _ = g[P("0xc18")], A = _.length, I = 0; I < A; ++I) {
+                            var w = A - I - 1
+                              , G = _[w];
+                            l[P("0xb3e")] = 0 != w ? G[P("0xb3e")] * t[P("0xc19")] : G[P("0xb3e")],
+                            l[P("0xc13")] = G[P("0xc13")],
+                            a[P("0xc14")](l);
+                            var E = g[P("0xc08")];
+                            v[P("0x797")](n, i),
+                            n[P("0xc1a")] && C[P("0x797")](n, i),
+                            a[P("0xc1b")](e[P("0x5e4")].GLOBE);
+                            var S = G[P("0xc1c")][e[P("0x5e4")][P("0xc1d")]]
+                              , T = G[P("0xc1e")][e[P("0x5e4")][P("0xc1d")]];
+                            for (c = 0; c < T; ++c)
+                                o(S[c], t, n, i);
+                            for (e[P("0x14")](E) && d[P("0xc05")] && E[P("0xc1f")](n, i),
+                            a[P("0xc1b")](e[P("0x5e4")][P("0xc20")]),
+                            S = G[P("0xc1c")][e.Pass[P("0xc20")]],
+                            T = G.indices[e[P("0x5e4")][P("0xc20")]],
+                            c = 0; c < T; ++c)
+                                o(S[c], t, n, i);
+                            for (a[P("0xc1b")](e.Pass[P("0xc21")]),
+                            S = G.commands[e[P("0x5e4")][P("0xc21")]],
+                            T = G[P("0xc1e")][e[P("0x5e4")][P("0xc21")]],
+                            c = 0; c < T; ++c)
+                                o(S[c], t, n, i);
+                            for (m && v[P("0x797")](n, i),
+                            a.updatePass(e[P("0x5e4")][P("0xc22")]),
+                            S = G.commands[e[P("0x5e4")].CESIUM_3D_TILE],
+                            T = G[P("0xc1e")][e[P("0x5e4")][P("0xc22")]],
+                            c = 0; c < T; ++c)
+                                o(S[c], t, n, i);
+                            for (a[P("0xc1b")](e[P("0x5e4")][P("0xc23")]),
+                            S = G[P("0xc1c")][e[P("0x5e4")][P("0xc23")]],
+                            T = G[P("0xc1e")][e[P("0x5e4")][P("0xc23")]],
+                            c = 0; c < T; ++c)
+                                o(S[c], t, n, i);
+                            for (a[P("0xc1b")](e.Pass[P("0xc21")]),
+                            S = G[P("0xc1c")][e[P("0x5e4")][P("0xc21")]],
+                            T = G[P("0xc1e")][e[P("0x5e4")].CLASSIFICATION],
+                            c = 0; c < T; ++c)
+                                o(S[c], t, n, i);
+                            for (0 < T && n[P("0xc1a")] && C[P("0x797")](n, i),
+                            m && b && y.execute(n, i),
+                            a.updatePass(e[P("0x5e4")][P("0x5e5")]),
+                            S = G[P("0xc1c")][e.Pass.OPAQUE],
+                            T = G[P("0xc1e")][e[P("0x5e4")].OPAQUE],
+                            c = 0; c < T; ++c)
+                                o(S[c], t, n, i);
+                            if (0 != w && (l[P("0xb3e")] = G[P("0xb3e")],
+                            a[P("0xc14")](l)),
+                            a[P("0xc1b")](e.Pass.TRANSLUCENT),
+                            (S = G[P("0xc1c")][e[P("0x5e4")].TRANSLUCENT]).length = G[P("0xc1e")][e.Pass[P("0x73e")]],
+                            p(t, o, i, S),
+                            n[P("0xc24")] && t[P("0xc25")] && d[P("0xc05")]) {
+                                var M = E[P("0x796")].depthStencilTexture
+                                  , N = (u = w,
+                                f = h = void 0,
+                                f = (h = t._view.pickDepths)[u],
+                                e[P("0x14")](f) || (f = new e.PickDepth,
+                                h[u] = f),
+                                f);
+                                N[P("0xd2")](n, M),
+                                N.executeCopyDepth(n, i)
+                            }
+                        }
+                    }(t, i)
+                }(a, G, h),
+                y = G,
+                _ = (C = a)[P("0xb84")],
+                A = C[P("0xbfb")],
+                I = C[P("0x794")],
+                y[P("0x796")] = A[P("0xc04")],
+                I[P("0xc08")][P("0xc27")](_, y);
+                var E = p[P("0xc2a")][P("0xc2e")](w);
+                g[P("0xc2d")] = !1,
+                a[P("0x794")] = a[P("0xc2f")],
+                f[P("0xc30")](),
+                this.deferred.resolve({
+                    object: E,
+                    ray: t
+                })
+            }
+            ,
+            t[P("0x5")][P("0xc31")] = function(t) {
+                var i, r, n, o, a = t[P("0x7")], s = t[P("0xc32")], x = this[P("0xc29")], l = this[P("0x10f")], c = l[P("0xb84")];
+                if (c[P("0xc24")])
+                    for (var u = x[P("0xc18")].length, h = 0; h < u; ++h) {
+                        var f = (r = h,
+                        o = n = void 0,
+                        n = x.pickDepths,
+                        o = n[r],
+                        e[P("0x14")](o) || (o = new (e[P("0xc0c")]),
+                        n[r] = o),
+                        o).getDepthEx(c, 0, 0, x[P("0xc06")][P("0x19a")], x[P("0xc06")][P("0x8b")], this[P("0xbe1")]);
+                        if (0 < f && f <= 1) {
+                            var d = x.frustumCommandsList[h]
+                              , g = d[P("0xb3e")] * (0 !== h ? l[P("0xc19")] : 1)
+                              , p = g + f * (d.far - g);
+                            i = e.Ray[P("0xe1")](s, p);
+                            break
+                        }
+                    }
+                return {
+                    object: a,
+                    position: i
+                }
+            }
+            ;
+            var f = new (e[P("0x12")])
+              , d = new (e[P("0x12")])(1,1 / 255,1 / 65025,1 / 16581375);
+            function g(t, i) {
+                if (!e[P("0x14")](t[P("0xc3e")]) || !e[P("0x14")](t[P("0xc3e")][P("0xa5b")]) || !t[P("0xc3e")]._model[P("0xa8e")])
+                    return !1;
+                var r = t[P("0x4a4")];
+                return i[P("0xc3f")](r, e[P("0xbfa")][P("0xc40")]) !== e[P("0xbfa")][P("0xc41")]
+            }
+            e[P("0xc0c")][P("0x5")][P("0xc33")] = function(t, i, r, n, o, a) {
+                n = void 0 !== n ? n : 1,
+                o = void 0 !== o ? o : 1,
+                a = w()(a) === P("0x2b6") || a;
+                var s = t[P("0xc34")]({
+                    x: i,
+                    y: r,
+                    width: n,
+                    height: o,
+                    framebuffer: this[P("0x784")]
+                });
+                if (!s)
+                    return 0;
+                for (var x = [], l = 0; l < n; l++)
+                    for (var c = 0; c < o; c++) {
+                        var u = 4 * c * n + l
+                          , h = e[P("0x12")][P("0xc35")](s, u, f);
+                        e.Cartesian4.divideByScalar(h, 255, h);
+                        var g = e[P("0x12")][P("0x92")](h, d);
+                        x[P("0x17c")](g)
+                    }
+                var p = Math.floor(.5 * n) + Math.floor(.5 * o) * n
+                  , m = x[p];
+                if (0 < m && m <= 1)
+                    return m;
+                if (a)
+                    return 0;
+                var b = 0
+                  , v = 0;
+                for (l = 0; l < n; l++)
+                    for (c = 0; c < o; c++)
+                        u = c * n + l,
+                        0 < (m = x[p]) && m < 1 && (b += m,
+                        v++);
+                return v < 1 ? 0 : b / v
+            }
+            ,
+            e[P("0xc0c")][P("0x5")][P("0xc36")] = function(e, t, i, r, n) {
+                return r = w()(r) !== P("0x2b6") ? r : 1,
+                n = w()(n) !== P("0x2b6") ? n : 1,
+                {
+                    arrayBufferView: e[P("0xc34")]({
+                        x: t,
+                        y: i,
+                        width: r,
+                        height: n,
+                        framebuffer: this[P("0x784")]
+                    }),
+                    width: r,
+                    height: n
+                }
+            }
+            ,
+            e[P("0xc37")][P("0x5")][P("0xc36")] = function(e, t) {
+                return e = w()(e) !== P("0x2b6") ? e : 1,
+                t = w()(t) !== P("0x2b6") ? t : 1,
+                {
+                    arrayBufferView: this[P("0xb84")][P("0xc34")]({
+                        x: 0,
+                        y: 0,
+                        width: e,
+                        height: t,
+                        framebuffer: this._fb
+                    }),
+                    width: e,
+                    height: t
+                }
+            }
+            ,
+            t.pick = function(i, r, n, o) {
+                if (o = w()(o) === P("0x2b6") || o,
+                !i)
+                    return null;
+                if (i._picker)
+                    i[P("0xc39")][P("0xbe1")] = o;
+                else {
+                    var a = new t(i,o,P("0xc38"));
+                    i[P("0xc39")] = a,
+                    e[P("0xc3a")][P("0x5")][P("0xc3b")] = e[P("0xc3a")][P("0x5")][P("0xf4")],
+                    e.Scene[P("0x5")][P("0xf4")] = function() {
+                        this[P("0xc39")] && (this[P("0xc39")][P("0xf4")](),
+                        this[P("0xc39")] = null),
+                        this[P("0xc3b")]()
+                    }
+                    ,
+                    e.Cesium3DTile[P("0x5")][P("0xc42")] = e.Cesium3DTile[P("0x5")][P("0xc43")],
+                    e.Cesium3DTile.prototype[P("0xc43")] = function(t, i) {
+                        var r = t[P("0xbef")]
+                          , n = function(t, i) {
+                            if (i[P("0xd3")] !== e.SceneMode[P("0x90")] && !e.defined(t._boundingVolume2D)) {
+                                var r = t._boundingVolume[P("0x55b")]
+                                  , n = e[P("0x5f1")][P("0xc4a")](r, i[P("0xbd")], p);
+                                t[P("0xc4b")] = new e.TileBoundingSphere(n.center,n[P("0x181")])
+                            }
+                            return i[P("0xd3")] !== e[P("0x22")][P("0x90")] ? t._boundingVolume2D : t._boundingVolume
+                        }(this, t)
+                          , o = this._tileset
+                          , a = o[P("0x365")];
+                        if (e.defined(a) && a[P("0x364")]) {
+                            var s = a[P("0xc44")](n, o[P("0xc45")]);
+                            if (this[P("0xc46")] = s !== Intersect[P("0xc47")],
+                            s === Intersect[P("0xc48")])
+                                return CullingVolume[P("0xc41")]
+                        }
+                        return t[P("0x7e")][P("0xc")]._hookUpdate && !0 === t[P("0xc2d")] ? function(t, i, r) {
+                            if (r === e[P("0xbfa")][P("0xc41")] || r === e.CullingVolume[P("0xc4c")])
+                                return r;
+                            for (var n = e.CullingVolume.MASK_INSIDE, o = t[P("0xc03")], a = 0, s = o.length; a < s; ++a) {
+                                var x = a < 31 ? 1 << a : 0;
+                                if (!(a < 31 && 0 == (r & x))) {
+                                    var l = b(i[P("0x4cb")], e.Plane[P("0xb54")](o[a], m));
+                                    if (l === e[P("0xae1")][P("0xc48")])
+                                        return e[P("0xbfa")].MASK_OUTSIDE;
+                                    l === e[P("0xae1")][P("0xc4d")] && (n |= x)
                                 }
-                            },
-                            minFovY: {
-                                get: function () {
-                                    return this[P("0xc67")][P("0xccc")].minFovY
-                                }
-                            },
-                            maxFovY: {
-                                get: function () {
-                                    return this[P("0xc67")][P("0xccc")][P("0xcce")]
-                                }
-                            },
-                            minFovDistance: {
-                                get: function () {
-                                    return this[P("0xc67")][P("0xccc")][P("0xccf")]
-                                }
-                            },
-                            maxFovDistance: {
-                                get: function () {
-                                    return this._videoProjection.config.maxFovDistance
-                                }
-                            },
-                            minHeading: {
-                                get: function () {
-                                    return this[P("0xc67")][P("0xccc")][P("0xcd0")]
-                                }
-                            },
-                            maxHeading: {
-                                get: function () {
-                                    return this[P("0xc67")][P("0xccc")][P("0xcd1")]
-                                }
-                            },
-                            minPitch: {
-                                get: function () {
-                                    return this[P("0xc67")].config[P("0xcd2")]
-                                }
-                            },
-                            maxPitch: {
-                                get: function () {
-                                    return this[P("0xc67")][P("0xccc")][P("0xcd3")]
-                                }
-                            },
-                            minRoll: {
-                                get: function () {
-                                    return this[P("0xc67")][P("0xccc")][P("0xcd4")]
-                                }
-                            },
-                            maxRoll: {
-                                get: function () {
-                                    return this._videoProjection.config[P("0xcd5")]
-                                }
-                            },
-                            minSegmentCount: {
-                                get: function () {
-                                    return this[P("0xc67")][P("0xccc")][P("0xcd6")]
-                                }
-                            },
-                            maxSegmentCount: {
-                                get: function () {
-                                    return this._videoProjection.config[P("0xcd7")]
-                                }
-                            },
-                            isSphereType: {
-                                get: function () {
-                                    return this[P("0xc67")][P("0xccc")][P("0xcd8")]
-                                }
-                            },
-                            isInvSphere: {
-                                get: function () {
-                                    return this[P("0xc67")][P("0xccc")][P("0xcd9")]
-                                }
-                            },
-                            position: {
-                                get: function () {
-                                    return this[P("0x6b6")]
-                                }
-                            },
-                            fovX: {
-                                get: function () {
-                                    return this._fovX
-                                },
-                                set: function (e) {
-                                    e < this[P("0xccb")] || e > this[P("0xccd")] ? this[P("0x9fc")][P("0x896")](P("0xcda")) : this._fovX !== e && (this._fovX = e,
-                                        this[P("0xcc8")] = !0)
-                                }
-                            },
-                            fovY: {
-                                get: function () {
-                                    return this[P("0xcc1")]
-                                },
-                                set: function (e) {
-                                    e < this[P("0xcdb")] || e > this[P("0xcce")] ? this[P("0x9fc")].raiseEvent(P("0xcdc")) : this._fovY !== e && (this[P("0xcc1")] = e,
-                                        this._isNeedRecreate = !0)
-                                }
-                            },
-                            fovDistance: {
-                                get: function () {
-                                    return this[P("0xcc2")]
-                                },
-                                set: function (e) {
-                                    e < this[P("0xccf")] || e > this[P("0xcdd")] ? this[P("0x9fc")][P("0x896")](P("0xcde")) : this[P("0xcc2")] !== e && (this[P("0xcc2")] = e,
-                                        this[P("0xcc8")] = !0)
-                                }
-                            },
-                            heading: {
-                                get: function () {
-                                    return this[P("0x541")]
-                                },
-                                set: function (e) {
-                                    e < this.minHeading || e > this[P("0xcd1")] ? this[P("0x9fc")][P("0x896")](P("0xcdf")) : this[P("0x541")] !== e && (this._heading = e,
-                                        this[P("0xcc8")] = !0)
-                                }
-                            },
-                            roll: {
-                                get: function () {
-                                    return this[P("0x538")]
-                                },
-                                set: function (e) {
-                                    e < this[P("0xcd4")] || e > this[P("0xcd5")] ? this._errorEvent[P("0x896")](P("0xce0")) : this._roll !== e && (this[P("0x538")] = e,
-                                        this._isNeedRecreate = !0)
-                                }
-                            },
-                            pitch: {
-                                get: function () {
-                                    return this._pitch
-                                },
-                                set: function (e) {
-                                    e < this[P("0xcd2")] || e > this.maxPitch ? this[P("0x9fc")][P("0x896")]("pitch!") : this._pitch !== e && (this[P("0x537")] = e,
-                                        this[P("0xcc8")] = !0)
-                                }
-                            },
-                            color: {
-                                get: function () {
-                                    return this[P("0x596")]
-                                },
-                                set: function (e) {
-                                    this[P("0x596")] = e[P("0x6e")]()
-                                }
-                            },
-                            lineWidth: {
-                                get: function () {
-                                    return this[P("0x31a")]
-                                },
-                                set: function (e) {
-                                    e < 1 ? this._errorEvent.raiseEvent("lineWidth!") : this[P("0x31a")] = e
-                                }
-                            },
-                            mixFactor: {
-                                get: function () {
-                                    return this[P("0xcc3")]
-                                },
-                                set: function (e) {
-                                    e < 0 || 1 < e ? this[P("0x9fc")][P("0x896")](P("0xce1")) : this[P("0xcc3")] = e
-                                }
-                            },
-                            drawCommand: {
-                                get: function () {
-                                    return this[P("0x6ce")]
-                                }
+                            }
+                            return n
+                        }(r, n, i) : r[P("0xc3f")](n, i)
+                    }
+                }
+                return i._picker[P("0xbe5")](r, n)
+            }
+            ,
+            t[P("0x5")].destroy = function() {
+                this[P("0x10f")] = null,
+                this[P("0xc29")][P("0xf4")](),
+                this[P("0xc29")] = null,
+                e[P("0xc49")][P("0x5")]._visibility_Old && (e[P("0xc49")][P("0x5")][P("0xc43")] = e[P("0xc49")].prototype[P("0xc42")],
+                delete e[P("0xc49")].__proto__[P("0xc42")])
+            }
+            ,
+            e[P("0x2e1")][P("0x5")][P("0xc3c")] = e[P("0x2e1")][P("0x5")].update,
+            e[P("0x2e1")][P("0x5")][P("0xd2")] = function(e) {
+                !0 === e[P("0xb87")][P("0xa4")] && !0 === e.pickEx ? this[P("0xc3d")](e) : this[P("0xc3c")](e)
+            }
+            ,
+            e[P("0x2e1")][P("0x5")]._updatePicked = function(e) {
+                var t, i, r = this[P("0xa57")], n = r[P("0x0")], o = e[P("0xbef")];
+                for (t = 0; t < n; ++t)
+                    (i = r[t]) && g(i, o) && i.update(this, e, e[P("0xb87")])
+            }
+            ;
+            var p = new (e[P("0x5f1")])
+              , m = new (e[P("0x1c")])(new (e[P("0x11")]),0);
+            function b(t, i) {
+                var r = t[P("0x11a")]
+                  , n = i.normal
+                  , o = t[P("0x4a5")]
+                  , a = n.x
+                  , s = n.y
+                  , x = n.z
+                  , l = Math[P("0x78")](a * o[e.Matrix3[P("0xc4e")]] + s * o[e[P("0x1a")][P("0xc4f")]] + x * o[e[P("0x1a")][P("0xc50")]]) + Math[P("0x78")](a * o[e.Matrix3[P("0xc51")]] + s * o[e[P("0x1a")].COLUMN1ROW1] + x * o[e[P("0x1a")].COLUMN1ROW2]) + Math.abs(a * o[e[P("0x1a")][P("0xc52")]] + s * o[e[P("0x1a")].COLUMN2ROW1] + x * o[e.Matrix3[P("0xc53")]])
+                  , c = e.Cartesian3[P("0x92")](n, r) + i[P("0x8e")];
+                return c <= -(l *= 2) ? e[P("0xae1")][P("0xc48")] : l <= c ? e.Intersect[P("0xc47")] : e[P("0xae1")].INTERSECTING
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            function t(t, i, r, n) {
+                var o = this;
+                o[P("0x13c")] = r,
+                o._source = t,
+                o[P("0xc54")] = n,
+                o[P("0xb84")] = i,
+                o._canvas = null,
+                o._texture = null,
+                o[P("0xc55")] = null,
+                o[P("0xc56")] = 0,
+                o._height = 0,
+                o[P("0xc57")] = !1,
+                o[P("0xc58")] = null,
+                o[P("0x9fc")] = new (e[P("0x766")]),
+                t && t instanceof HTMLVideoElement && t[P("0x130")](P("0xc5b"), (function e() {
+                    o[P("0xc59")](Math[P("0x5f0")](.1 * t[P("0xc5a")]), Math.round(.1 * t.videoHeight)),
+                    t[P("0x548")](P("0xc5b"), e)
+                }
+                )),
+                r.clock[P("0x59d")].addEventListener((function() {
+                    o[P("0x8f9")]()
+                }
+                ))
+            }
+            function i(t, i) {
+                this[P("0xc67")] = i,
+                this[P("0x42")] = t,
+                this._fs = null,
+                this[P("0xc68")] = null,
+                this[P("0x5ba")] = !1,
+                this[P("0xc69")] = null,
+                this[P("0xc6a")] = null,
+                this._createEvent = new (e[P("0x766")]),
+                this[P("0xc6b")] = new e.Event,
+                this[P("0xc6c")] = new (e[P("0x766")])
+            }
+            function r() {
+                this._minFovX = r[P("0xc9e")],
+                this[P("0xc9f")] = r._MaxFovX,
+                this[P("0xca0")] = r[P("0xca1")],
+                this[P("0xca2")] = r[P("0xca3")],
+                this[P("0xca4")] = r[P("0xca5")],
+                this[P("0xca6")] = r[P("0xca7")],
+                this[P("0xca8")] = r[P("0xca9")],
+                this[P("0xcaa")] = r[P("0xcab")],
+                this._minPitch = r[P("0xcac")],
+                this[P("0xcad")] = r[P("0xcae")],
+                this[P("0xcaf")] = r[P("0xcb0")],
+                this._maxRoll = r[P("0xcb1")],
+                this[P("0xcb2")] = r._MinSegmentCount,
+                this[P("0xcb3")] = r[P("0xcb4")],
+                this[P("0xcb5")] = !1,
+                this[P("0xcb6")] = !0
+            }
+            function n(t, i, r) {
+                this._scene = t,
+                this[P("0x6b6")] = i ? i[P("0x6e")]() : null,
+                this._videoProjection = r,
+                this[P("0xcc0")] = null,
+                this._fovX = 120,
+                this[P("0xcc1")] = 60,
+                this[P("0xcc2")] = 20,
+                this[P("0x541")] = 0,
+                this._pitch = 0,
+                this[P("0x538")] = 0,
+                this[P("0x596")] = e[P("0x16a")][P("0x338")][P("0x6e")](),
+                this[P("0x31a")] = 2,
+                this[P("0xcc3")] = .8,
+                this[P("0xcc4")] = null,
+                this[P("0xcc5")] = null,
+                this[P("0x4a4")] = null,
+                this[P("0xcc6")] = null,
+                this[P("0xcc7")] = 10,
+                this[P("0x6ce")] = null,
+                this[P("0xcc8")] = !0,
+                this[P("0x224")] = e.createGuid(),
+                this[P("0x9fc")] = new (e[P("0x766")]),
+                this[P("0x5ba")] = !1,
+                this._visibly = !0
+            }
+            t.prototype[P("0xc5c")] = function() {
+                return this[P("0x8f4")]
+            }
+            ,
+            e.defineProperties(t.prototype, {
+                ErrorEvent: {
+                    get: function() {
+                        return this[P("0x9fc")]
+                    }
+                }
+            }),
+            t.prototype[P("0xc59")] = function(e, t) {
+                e && (this[P("0xc56")] = e),
+                t && (this[P("0x217")] = t),
+                this[P("0xc57")] = !0
+            }
+            ,
+            t.prototype._render = function(e) {}
+            ,
+            t.prototype[P("0xc5d")] = function() {
+                this._sampler || (this[P("0xc58")] = new e.Sampler)
+            }
+            ,
+            t.prototype[P("0x8f9")] = function() {
+                this[P("0xc54")] && this[P("0xc54")].fillVideo && (this[P("0xb84")] && this[P("0xc5e")] ? this[P("0xc5e")][P("0xaa6")] < 2 || (!this[P("0xc5e")].videoWidth || this._source.videoWidth < 10 ? this._texture && (this[P("0x8f4")].destroy(),
+                this[P("0x8f4")] = null) : this._texture ? this._texture[P("0xc61")](this._source) : this._texture = new (e[P("0x6db")])({
+                    context: this[P("0xb84")],
+                    source: this._source,
+                    pixelFormat: e[P("0x785")][P("0xb85")],
+                    pixelDatatype: e[P("0x787")][P("0xc60")]
+                })) : this[P("0x9fc")][P("0x896")](P("0xc5f")))
+            }
+            ,
+            t[P("0x5")]._fetchVideo = function() {
+                var t = e[P("0x9ee")][P("0x9ef")]();
+                if (2 <= this[P("0xc5e")][P("0xaa6")]) {
+                    var i = this[P("0xc5e")].videoWidth
+                      , r = this[P("0xc5e")].videoHeight;
+                    this[P("0xc55")][P("0xc63")](this[P("0xc5e")], 0, 0, i, r, 0, 0, this[P("0xc56")], this[P("0x217")]),
+                    t[P("0x9f8")](this[P("0x318")])
+                } else
+                    t[P("0xa3d")](null);
+                return t
+            }
+            ,
+            t.prototype[P("0xb83")] = function(t) {
+                this[P("0x8f4")] ? this[P("0x8f4")][P("0xc61")](t) : this[P("0x8f4")] = new (e[P("0x6db")])({
+                    context: this[P("0xb84")],
+                    source: t,
+                    pixelFormat: e[P("0x785")].RGBA,
+                    pixelDatatype: e.PixelDatatype[P("0xc60")],
+                    sampler: this[P("0xc58")]
+                })
+            }
+            ,
+            t[P("0x5")]._recreateParseCanvas = function() {
+                this[P("0xc56")] < 1 || this[P("0x217")] < 1 || (this[P("0x318")] || (this[P("0x318")] = document.createElement(P("0x48"))),
+                this[P("0x318")][P("0x19a")] = e[P("0x23")][P("0xc64")](this[P("0xc56")]),
+                this[P("0x318")].height = e.Math[P("0xc64")](this[P("0x217")]),
+                this[P("0xc55")] = this[P("0x318")][P("0x476")]("2d"))
+            }
+            ,
+            t[P("0x5")][P("0xc65")] = function() {
+                var e = this[P("0xc5e")][P("0xc5a")]
+                  , t = this[P("0xc5e")][P("0xc66")];
+                return this[P("0xc55")][P("0xc63")](this[P("0xc5e")], 0, 0, e, t, 0, 0, this._width, this[P("0x217")]),
+                this._canvas
+            }
+            ,
+            t.prototype._createSource = function(e) {
+                return {
+                    arrayBufferView: new Uint8Array(e),
+                    width: this._width,
+                    height: this[P("0x217")]
+                }
+            }
+            ,
+            t.prototype[P("0xf4")] = function() {
+                this[P("0xc5e")] = null,
+                this._context2D = null,
+                this[P("0xb84")] = null,
+                this[P("0x318")] = null,
+                this[P("0xc54")] = null,
+                this[P("0xc58")] = null,
+                this._errorEvent = new (e[P("0x766")]),
+                this[P("0x8f4")] && (this[P("0x8f4")].destroy(),
+                this._texture = null)
+            }
+            ,
+            i[P("0x5")].destroy = function() {
+                this._destroyPostStage(),
+                this[P("0xc67")] = null,
+                this[P("0x42")] = null,
+                this[P("0xc6d")] = null,
+                this[P("0xc6b")] = null,
+                this[P("0xc6c")] = null,
+                this[P("0xc6a")] = null
+            }
+            ,
+            i[P("0xc6e")] = P("0xc6f") + P("0xc70") + "uniform sampler2D colorTexture;\nuniform sampler2D videoMapTexture;\n" + P("0xc71") + P("0x7a1") + P("0xc72") + P("0xc73") + P("0xc74") + P("0x7a4") + P("0x7a5") + P("0x7a6") + P("0xc75") + "    posInCamera = posInCamera / posInCamera.w;\n" + P("0xc76") + "}\n" + P("0x7a8") + "    float z_window = czm_unpackDepth(depth);\n" + P("0x7aa") + P("0x7ab") + P("0x7ac") + "    return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n}\n" + P("0xc77") + "    float visibility = step(position.z, texture2D(shadowMap, position.xy).r);\n    return (visibility == 1.0);\n}\n" + P("0x708") + "{\n" + P("0x7b1") + P("0x7b2") + P("0x7b3") + P("0x7b4") + P("0x7b5") + P("0x7b7") + P("0x7b8") + P("0xc78") + "    vec4 videoPosition = videoMapMatrix * positionEC;\n    videoPosition /= videoPosition.w;\n" + P("0xc79") + "    {\n" + P("0x7b4") + P("0x7b5") + "    }\n" + P("0xc7a") + P("0xc7b") + P("0xc7c") + "        gl_FragColor = vec4(mix(color.rgb, videoColor.rgb, mixNum), 1.0);\n" + P("0xc7d") + P("0x7b4") + P("0x7b7") + "}",
+            i[P("0xc7e")] = P("0xc6f") + P("0xc70") + P("0x7a0") + P("0xc7f") + P("0x7a1") + P("0xc72") + "uniform mat4 videoViewMatrix;\n" + P("0xc74") + P("0xc80") + P("0x7a4") + P("0x7a5") + P("0x7a6") + P("0xc75") + "    posInCamera = posInCamera / posInCamera.w;\n" + P("0xc76") + "}\n" + P("0x7a8") + P("0x7a9") + P("0x7aa") + P("0x7ab") + "    float f_range = czm_depthRange.far;\n    return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n}\n" + P("0xc77") + P("0xc81") + P("0xc82") + "}\n" + P("0x708") + "{\n    vec4 color = texture2D(colorTexture, v_textureCoordinates);\n    vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n" + P("0x7b3") + P("0x7b4") + P("0x7b5") + "    }\n" + P("0x7b8") + P("0xc78") + P("0xc83") + P("0xc84") + P("0xc79") + P("0x85f") + P("0x7b4") + P("0x7b5") + "    }\n" + P("0xc7a") + "    if(visibility){\n" + P("0xc85") + P("0xc86") + P("0xc7d") + P("0x7b4") + "    }\n}",
+            i[P("0xc87")] = P("0xc6f") + P("0xc70") + "uniform sampler2D colorTexture;\n" + P("0xc7f") + P("0xc71") + P("0x7a1") + "uniform mat4 videoMapMatrix;\n" + P("0xc73") + P("0xc74") + P("0xc80") + "varying vec2 v_textureCoordinates;\n" + P("0x7a5") + P("0x7a6") + P("0xc75") + P("0x7a7") + P("0xc76") + "}\n" + P("0x7a8") + P("0x7a9") + P("0x7aa") + P("0x7ab") + P("0x7ac") + P("0x7ad") + "}\n" + P("0xc77") + P("0xc81") + P("0xc82") + "}\n" + P("0x708") + "{\n    vec4 color = texture2D(colorTexture, v_textureCoordinates);\n" + P("0x7b2") + P("0x7b3") + P("0x7b4") + P("0x7b5") + P("0x7b7") + P("0x7b8") + P("0xc78") + P("0xc83") + P("0xc84") + P("0xc79") + "    {\n        gl_FragColor = color;\n        return;\n" + P("0x7b7") + P("0xc7a") + P("0xc7b") + P("0xc88") + "        vec4 positionWC = viewScene * positionEC;\n        positionWC /= positionWC.w;\n        depth = length(videoMapPosition - positionWC.xyz);\n        if(depth - videoDistance > -0.5){\n" + P("0xc89") + P("0xc8a") + P("0x7bf") + P("0xc7c") + P("0xc86") + P("0xc7d") + P("0x7b4") + "    }\n}",
+            i[P("0xc8b")] = "uniform float mixNum;\n" + P("0xc70") + P("0x7a0") + P("0xc7f") + P("0x7a1") + P("0xc72") + P("0xc73") + P("0xc74") + P("0xc80") + "varying vec2 v_textureCoordinates;\n" + P("0x7a5") + P("0x7a6") + P("0xc75") + P("0x7a7") + P("0xc76") + "}\n" + P("0x7a8") + P("0x7a9") + P("0x7aa") + "    float n_range = czm_depthRange.near;\n" + P("0x7ac") + "    return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n}\n" + P("0xc77") + P("0xc81") + "    return (visibility == 1.0);\n}\nvoid main()\n{\n" + P("0x7b1") + P("0x7b2") + P("0x7b3") + "        gl_FragColor = color;\n" + P("0x7b5") + P("0x7b7") + P("0x7b8") + P("0xc78") + P("0xc83") + P("0xc84") + P("0xc79") + "    {\n" + P("0x7b4") + P("0x7b5") + P("0x7b7") + P("0xc7a") + P("0xc7b") + P("0xc88") + P("0xc8c") + "        positionWC /= positionWC.w;\n" + P("0xc8d") + "        if(depth - videoDistance > -0.5){\n" + P("0xc89") + P("0xc8a") + P("0x7bf") + P("0xc85") + "        gl_FragColor = vec4(mix(color.rgb, videoColor.rgb, mixNum), 1.0);\n" + P("0xc7d") + P("0x7b4") + "    }\n}",
+            e[P("0xf")](i[P("0x5")], {
+                CreationEvent: {
+                    get: function() {
+                        return this[P("0xc6d")]
+                    }
+                },
+                AddToSceneEvent: {
+                    get: function() {
+                        return this[P("0xc6b")]
+                    }
+                },
+                RemoveFromSceneEvent: {
+                    get: function() {
+                        return this[P("0xc6c")]
+                    }
+                }
+            }),
+            i.prototype[P("0xc8e")] = function() {
+                var e = this[P("0xc67")];
+                if (e) {
+                    if (this[P("0xc6a")] = e[P("0xc8f")](),
+                    this._videoTexture)
+                        e.fillVideo || (this[P("0xc6a")] = null);
+                    else if (e[P("0xc90")])
+                        return void this._removeFromScene();
+                    this[P("0xc91")](),
+                    this[P("0xc92")](),
+                    this._addToScene()
+                }
+            }
+            ,
+            i[P("0x5")][P("0xc93")] = function() {
+                this[P("0xc68")] = null,
+                this._removeFromScene()
+            }
+            ,
+            i[P("0x5")][P("0xc94")] = function() {
+                this._postStage && (this[P("0x42")][P("0x77c")][P("0xd1")](this[P("0xc69")]) || (this._scene.postProcessStages[P("0x6d")](this[P("0xc69")]),
+                this[P("0xc6b")][P("0x896")](this)))
+            }
+            ,
+            i.prototype[P("0xc95")] = function() {
+                this._postStage && this._scene[P("0x77c")][P("0xd1")](this._postStage) && (this[P("0x42")][P("0x77c")][P("0x17f")](this._postStage),
+                this[P("0xc69")] = null,
+                this[P("0xc6c")][P("0x896")](this))
+            }
+            ,
+            i[P("0x5")][P("0xc91")] = function() {
+                if (!this._uniforms) {
+                    var e = this
+                      , t = e[P("0xc67")];
+                    e._videoTexture ? this[P("0xc68")] = {
+                        mixNum: function() {
+                            return t[P("0xc96")]
+                        },
+                        videoMapTexture: function() {
+                            return t[P("0xc97")]()
+                        },
+                        videoTexture: function() {
+                            return e[P("0xc6a")]
+                        },
+                        videoMapMatrix: function() {
+                            return t[P("0xc98")]()
+                        },
+                        videoViewMatrix: function() {
+                            return t[P("0xc99")]()
+                        },
+                        videoDistance: function() {
+                            return t.fovDistance
+                        },
+                        videoMapPosition: function() {
+                            return t[P("0x8c")]
+                        },
+                        u_videoColor: function() {
+                            return t[P("0xc9a")]
+                        }
+                    } : this[P("0xc68")] = {
+                        mixNum: function() {
+                            return t.mixFactor
+                        },
+                        videoMapTexture: function() {
+                            return t[P("0xc97")]()
+                        },
+                        videoMapMatrix: function() {
+                            return t[P("0xc98")]()
+                        },
+                        videoViewMatrix: function() {
+                            return t[P("0xc99")]()
+                        },
+                        videoDistance: function() {
+                            return t[P("0xc9b")]
+                        },
+                        videoMapPosition: function() {
+                            return t[P("0x8c")]
+                        },
+                        u_videoColor: function() {
+                            return t[P("0xc9a")]
+                        }
+                    }
+                }
+            }
+            ,
+            i[P("0x5")][P("0xc9c")] = function() {
+                var e = this[P("0xc69")];
+                e && (e.enabled = this[P("0xc67")][P("0x5ba")])
+            }
+            ,
+            i[P("0x5")][P("0xc92")] = function() {
+                if (!this[P("0xc69")]) {
+                    var t;
+                    t = 1 == this[P("0xc67")][P("0xc9d")] ? this[P("0xc6a")] ? i._FS_Cone : i[P("0xc7e")] : this[P("0xc6a")] ? i[P("0xc87")] : i[P("0xc8b")],
+                    this._postStage = new (e[P("0x7c5")])({
+                        fragmentShader: t,
+                        enabled: !1,
+                        uniforms: this[P("0xc68")]
+                    }),
+                    this[P("0xc6d")][P("0x896")](this)
+                }
+            }
+            ,
+            i[P("0x5")]._destroyPostStage = function() {
+                this._postStage && this[P("0xc95")](),
+                this[P("0xc68")] = null
+            }
+            ,
+            e[P("0xf")](r[P("0x5")], {
+                minFovX: {
+                    get: function() {
+                        return this[P("0xcb7")]
+                    },
+                    set: function(e) {
+                        this[P("0xcb7")] = e
+                    }
+                },
+                maxFovX: {
+                    get: function() {
+                        return this[P("0xc9f")]
+                    },
+                    set: function(e) {
+                        this[P("0xc9f")] = e
+                    }
+                },
+                minFovY: {
+                    get: function() {
+                        return this[P("0xca0")]
+                    },
+                    set: function(e) {
+                        this[P("0xca0")] = e
+                    }
+                },
+                maxFovY: {
+                    get: function() {
+                        return this[P("0xca2")]
+                    },
+                    set: function(e) {
+                        this[P("0xca2")] = e
+                    }
+                },
+                minFovDistance: {
+                    get: function() {
+                        return this[P("0xca4")]
+                    },
+                    set: function(e) {
+                        this[P("0xca4")] = e
+                    }
+                },
+                maxFovDistance: {
+                    get: function() {
+                        return this[P("0xca6")]
+                    },
+                    set: function(e) {
+                        this[P("0xca6")] = e
+                    }
+                },
+                minHeading: {
+                    get: function() {
+                        return this[P("0xca8")]
+                    },
+                    set: function(e) {
+                        this[P("0xca8")] = e
+                    }
+                },
+                maxHeading: {
+                    get: function() {
+                        return this[P("0xcaa")]
+                    },
+                    set: function(e) {
+                        this._maxHeading = e
+                    }
+                },
+                minPitch: {
+                    get: function() {
+                        return this[P("0xcb8")]
+                    },
+                    set: function(e) {
+                        this[P("0xcb8")] = e
+                    }
+                },
+                maxPitch: {
+                    get: function() {
+                        return this._maxPitch
+                    },
+                    set: function(e) {
+                        this._maxPitch = e
+                    }
+                },
+                minRoll: {
+                    get: function() {
+                        return this[P("0xcaf")]
+                    },
+                    set: function(e) {
+                        this._minRoll = e
+                    }
+                },
+                maxRoll: {
+                    get: function() {
+                        return this[P("0xcb9")]
+                    },
+                    set: function(e) {
+                        this._maxRoll = e
+                    }
+                },
+                minSegmentCount: {
+                    get: function() {
+                        return this[P("0xcb2")]
+                    },
+                    set: function(e) {
+                        this[P("0xcb2")] = e
+                    }
+                },
+                maxSegmentCount: {
+                    get: function() {
+                        return this[P("0xcb3")]
+                    },
+                    set: function(e) {
+                        this[P("0xcb3")] = e
+                    }
+                },
+                isInvSphere: {
+                    get: function() {
+                        return this._isInvSphere
+                    },
+                    set: function(e) {
+                        this._isInvSphere = e
+                    }
+                },
+                isSphereType: {
+                    get: function() {
+                        return this._isSphereType
+                    },
+                    set: function(e) {
+                        this[P("0xcb6")] = e
+                    }
+                }
+            }),
+            r[P("0xcba")] = 5,
+            r[P("0xcb4")] = 10,
+            r[P("0xc9e")] = 1,
+            r._MaxFovX = 160,
+            r[P("0xca1")] = 1,
+            r._MaxFovY = 90,
+            r[P("0xca5")] = 1,
+            r._MaxFovDistance = 500,
+            r[P("0xca9")] = -180,
+            r[P("0xcab")] = 180,
+            r[P("0xcb0")] = -90,
+            r[P("0xcb1")] = 90,
+            r[P("0xcac")] = -90,
+            r[P("0xcae")] = 90,
+            r[P("0x5")][P("0xcbb")] = function(e) {
+                return e ? e < this._minSegmentCount ? this[P("0xcb2")] : e > this[P("0xcb3")] ? this[P("0xcb3")] : e : this._minSegmentCount
+            }
+            ,
+            r[P("0x5")].clampFovX = function(e) {
+                return e ? e < this[P("0xcb7")] ? this._minFovX : e > this._maxFovX ? this._maxFovX : e : this[P("0xc9f")]
+            }
+            ,
+            r[P("0x5")][P("0xcbc")] = function(e) {
+                return e ? e < this[P("0xca0")] ? this[P("0xca0")] : e > this._maxFovY ? this[P("0xca2")] : e : this._maxFovY
+            }
+            ,
+            r[P("0x5")][P("0xcbd")] = function(e) {
+                return e ? e < this[P("0xca4")] ? this[P("0xca4")] : e > this._maxFovDistance ? this[P("0xca6")] : e : this[P("0xca4")]
+            }
+            ,
+            r.prototype[P("0xcbe")] = function(e) {
+                return e ? e < this[P("0xca8")] ? this[P("0xca8")] : e > this._maxHeading ? this[P("0xcaa")] : e : 0
+            }
+            ,
+            r.prototype[P("0xcbf")] = function(e) {
+                return e ? e < this._minPitch ? this[P("0xcb8")] : e > this._maxPitch ? this[P("0xcad")] : e : 0
+            }
+            ,
+            r[P("0x5")].clampRoll = function(e) {
+                return e ? e < this[P("0xcaf")] ? this[P("0xcaf")] : e > this[P("0xcb9")] ? this[P("0xcb9")] : e : 0
+            }
+            ,
+            n[P("0x5")][P("0xf4")] = function() {
+                this[P("0x42")] = null,
+                this[P("0xc67")] = null,
+                this[P("0x224")] = null,
+                this[P("0x9fc")] = null,
+                this._boundingVolume = null,
+                this[P("0xcc0")] = null,
+                this[P("0xcc6")] = null,
+                this[P("0x5ba")] = !1,
+                this[P("0xcc9")] = !1,
+                this[P("0x6ce")] && (this[P("0x6ce")][P("0xcca")] && (this[P("0x6ce")][P("0xcca")][P("0xf4")](),
+                this[P("0x6ce")][P("0xcca")] = null),
+                this._drawCommand[P("0x4d8")] && (this._drawCommand._vertexArray[P("0xf4")](),
+                this[P("0x6ce")][P("0x4d8")] = null),
+                this[P("0x6ce")] = null)
+            }
+            ,
+            e.defineProperties(n[P("0x5")], {
+                id: {
+                    get: function() {
+                        return this._id
+                    },
+                    set: function(e) {
+                        this._id = e
+                    }
+                },
+                actived: {
+                    get: function() {
+                        return this[P("0x5ba")]
+                    },
+                    set: function(e) {
+                        this[P("0x5ba")] = e
+                    }
+                },
+                visibly: {
+                    get: function() {
+                        return this._visibly
+                    },
+                    set: function(e) {
+                        this[P("0xcc9")] = e
+                    }
+                },
+                DeveloperErrorEvent: {
+                    get: function() {
+                        return this[P("0x9fc")]
+                    }
+                },
+                minFovX: {
+                    get: function() {
+                        return this._videoProjection.config[P("0xccb")]
+                    }
+                },
+                maxFovX: {
+                    get: function() {
+                        return this[P("0xc67")][P("0xccc")][P("0xccd")]
+                    }
+                },
+                minFovY: {
+                    get: function() {
+                        return this[P("0xc67")][P("0xccc")].minFovY
+                    }
+                },
+                maxFovY: {
+                    get: function() {
+                        return this[P("0xc67")][P("0xccc")][P("0xcce")]
+                    }
+                },
+                minFovDistance: {
+                    get: function() {
+                        return this[P("0xc67")][P("0xccc")][P("0xccf")]
+                    }
+                },
+                maxFovDistance: {
+                    get: function() {
+                        return this._videoProjection.config.maxFovDistance
+                    }
+                },
+                minHeading: {
+                    get: function() {
+                        return this[P("0xc67")][P("0xccc")][P("0xcd0")]
+                    }
+                },
+                maxHeading: {
+                    get: function() {
+                        return this[P("0xc67")][P("0xccc")][P("0xcd1")]
+                    }
+                },
+                minPitch: {
+                    get: function() {
+                        return this[P("0xc67")].config[P("0xcd2")]
+                    }
+                },
+                maxPitch: {
+                    get: function() {
+                        return this[P("0xc67")][P("0xccc")][P("0xcd3")]
+                    }
+                },
+                minRoll: {
+                    get: function() {
+                        return this[P("0xc67")][P("0xccc")][P("0xcd4")]
+                    }
+                },
+                maxRoll: {
+                    get: function() {
+                        return this._videoProjection.config[P("0xcd5")]
+                    }
+                },
+                minSegmentCount: {
+                    get: function() {
+                        return this[P("0xc67")][P("0xccc")][P("0xcd6")]
+                    }
+                },
+                maxSegmentCount: {
+                    get: function() {
+                        return this._videoProjection.config[P("0xcd7")]
+                    }
+                },
+                isSphereType: {
+                    get: function() {
+                        return this[P("0xc67")][P("0xccc")][P("0xcd8")]
+                    }
+                },
+                isInvSphere: {
+                    get: function() {
+                        return this[P("0xc67")][P("0xccc")][P("0xcd9")]
+                    }
+                },
+                position: {
+                    get: function() {
+                        return this[P("0x6b6")]
+                    }
+                },
+                fovX: {
+                    get: function() {
+                        return this._fovX
+                    },
+                    set: function(e) {
+                        e < this[P("0xccb")] || e > this[P("0xccd")] ? this[P("0x9fc")][P("0x896")](P("0xcda")) : this._fovX !== e && (this._fovX = e,
+                        this[P("0xcc8")] = !0)
+                    }
+                },
+                fovY: {
+                    get: function() {
+                        return this[P("0xcc1")]
+                    },
+                    set: function(e) {
+                        e < this[P("0xcdb")] || e > this[P("0xcce")] ? this[P("0x9fc")].raiseEvent(P("0xcdc")) : this._fovY !== e && (this[P("0xcc1")] = e,
+                        this._isNeedRecreate = !0)
+                    }
+                },
+                fovDistance: {
+                    get: function() {
+                        return this[P("0xcc2")]
+                    },
+                    set: function(e) {
+                        e < this[P("0xccf")] || e > this[P("0xcdd")] ? this[P("0x9fc")][P("0x896")](P("0xcde")) : this[P("0xcc2")] !== e && (this[P("0xcc2")] = e,
+                        this[P("0xcc8")] = !0)
+                    }
+                },
+                heading: {
+                    get: function() {
+                        return this[P("0x541")]
+                    },
+                    set: function(e) {
+                        e < this.minHeading || e > this[P("0xcd1")] ? this[P("0x9fc")][P("0x896")](P("0xcdf")) : this[P("0x541")] !== e && (this._heading = e,
+                        this[P("0xcc8")] = !0)
+                    }
+                },
+                roll: {
+                    get: function() {
+                        return this[P("0x538")]
+                    },
+                    set: function(e) {
+                        e < this[P("0xcd4")] || e > this[P("0xcd5")] ? this._errorEvent[P("0x896")](P("0xce0")) : this._roll !== e && (this[P("0x538")] = e,
+                        this._isNeedRecreate = !0)
+                    }
+                },
+                pitch: {
+                    get: function() {
+                        return this._pitch
+                    },
+                    set: function(e) {
+                        e < this[P("0xcd2")] || e > this.maxPitch ? this[P("0x9fc")][P("0x896")]("pitch!") : this._pitch !== e && (this[P("0x537")] = e,
+                        this[P("0xcc8")] = !0)
+                    }
+                },
+                color: {
+                    get: function() {
+                        return this[P("0x596")]
+                    },
+                    set: function(e) {
+                        this[P("0x596")] = e[P("0x6e")]()
+                    }
+                },
+                lineWidth: {
+                    get: function() {
+                        return this[P("0x31a")]
+                    },
+                    set: function(e) {
+                        e < 1 ? this._errorEvent.raiseEvent("lineWidth!") : this[P("0x31a")] = e
+                    }
+                },
+                mixFactor: {
+                    get: function() {
+                        return this[P("0xcc3")]
+                    },
+                    set: function(e) {
+                        e < 0 || 1 < e ? this[P("0x9fc")][P("0x896")](P("0xce1")) : this[P("0xcc3")] = e
+                    }
+                },
+                drawCommand: {
+                    get: function() {
+                        return this[P("0x6ce")]
+                    }
+                }
+            }),
+            n[P("0x5")][P("0xce2")] = function(e, t) {
+                this._actived && this._visibly && (t && this[P("0xc67")] === t ? (t[P("0xce4")] && (this[P("0xcc0")] = t[P("0xce4")]()),
+                this[P("0xd2")](e),
+                this[P("0xcc0")] = null) : this[P("0x9fc")][P("0x896")](P("0xce3")))
+            }
+            ,
+            n.prototype[P("0xd2")] = function(e) {
+                this[P("0x6ce")] ? e ? e[P("0x5ca")][P("0x17c")](this._drawCommand) : this[P("0x9fc")].raiseEvent(P("0xce5")) : this[P("0x9fc")][P("0x896")]("update!")
+            }
+            ,
+            n.prototype[P("0xce6")] = function(e) {
+                e && (this._position = e[P("0x6e")](),
+                this._isNeedRecreate = !0,
+                this[P("0xce7")]())
+            }
+            ,
+            n[P("0x5")][P("0xce8")] = function(e) {
+                e && (this[P("0xce9")] = e,
+                this._tryCreate())
+            }
+            ,
+            n.prototype[P("0xcea")] = function(e) {
+                e && (this.fovY = e,
+                this[P("0xce7")]())
+            }
+            ,
+            n[P("0x5")]._updateFovDistance = function(e) {
+                e && (this[P("0xc9b")] = e,
+                this._tryCreate())
+            }
+            ,
+            n[P("0x5")]._updateHeading = function(e) {
+                e && (this[P("0x7f")] = e,
+                this._tryCreate())
+            }
+            ,
+            n[P("0x5")][P("0xceb")] = function(e) {
+                e && (this[P("0x80")] = e,
+                this[P("0xce7")]())
+            }
+            ,
+            n[P("0x5")][P("0xcec")] = function(e) {
+                e && (this[P("0x81")] = e,
+                this[P("0xce7")]())
+            }
+            ,
+            n.prototype[P("0xced")] = function(e, t, i, r, n, o) {
+                e && (this[P("0xce9")] = e),
+                t && (this[P("0xcee")] = t),
+                i && (this.fovDistance = i),
+                r && (this.heading = r),
+                n && (this[P("0x80")] = n),
+                o && (this[P("0x81")] = o),
+                this[P("0xce7")]()
+            }
+            ,
+            n[P("0x5")][P("0xc91")] = function() {
+                var e = this;
+                return {
+                    uDiffuseColor: function() {
+                        return e[P("0x169")]
+                    }
+                }
+            }
+            ,
+            n[P("0x5")]._computeTransform = function() {
+                if (!this[P("0x8c")])
+                    return this[P("0x9fc")][P("0x896")]("_computeTransform!"),
+                    null;
+                var t = null;
+                (t = this[P("0xcc0")] ? e[P("0x3cb")].clone(this._videoProjectionCamera, null) : e[P("0x3cb")].clone(this[P("0x42")][P("0x7e")], null))[P("0xe8")].aspectRatio = this[P("0xce9")] / this[P("0xcee")],
+                t[P("0xe8")].fov = this[P("0xce9")] * e[P("0x23")][P("0xa2c")],
+                t[P("0xe8")][P("0xb3e")] = .1,
+                t[P("0xe8")][P("0xc13")] = this.fovDistance,
+                t.setView({
+                    destination: this[P("0x8c")],
+                    orientation: {
+                        heading: this[P("0x7f")] * e.Math[P("0xa2c")],
+                        pitch: this.pitch * e[P("0x23")][P("0xa2c")],
+                        roll: this.roll * e[P("0x23")].RADIANS_PER_DEGREE
+                    }
+                });
+                var i = new (e[P("0x1b")]);
+                return i[0] = t[P("0x9b")].x,
+                i[1] = t[P("0x9b")].y,
+                i[2] = t[P("0x9b")].z,
+                i[3] = 0,
+                i[4] = t.direction.x,
+                i[5] = t[P("0x93")].y,
+                i[6] = t[P("0x93")].z,
+                i[7] = 0,
+                i[8] = t.up.x,
+                i[9] = t.up.y,
+                i[10] = t.up.z,
+                i[11] = 0,
+                i[12] = t[P("0x8c")].x,
+                i[13] = t[P("0x8c")].y,
+                i[14] = t[P("0x8c")].z,
+                i[15] = 1,
+                i
+            }
+            ,
+            n[P("0x5")][P("0xcef")] = function() {
+                if (!this[P("0x8c")])
+                    return this[P("0x9fc")][P("0x896")](P("0xcf0")),
+                    null;
+                var t = null;
+                return (t = this[P("0xcc0")] ? e[P("0x3cb")].clone(this[P("0xcc0")], null) : e[P("0x3cb")][P("0x6e")](this[P("0x42")][P("0x7e")], null))[P("0xe8")][P("0xaef")] = this[P("0xce9")] / this[P("0xcee")],
+                t[P("0xe8")].fov = this[P("0xce9")] * e.Math[P("0xa2c")],
+                t.frustum[P("0xb3e")] = 1,
+                t[P("0xe8")].far = this[P("0xc9b")],
+                t[P("0x9c")]({
+                    destination: this.position,
+                    orientation: {
+                        heading: this.heading * e.Math[P("0xa2c")],
+                        pitch: this[P("0x80")] * e[P("0x23")][P("0xa2c")],
+                        roll: this[P("0x81")] * e[P("0x23")].RADIANS_PER_DEGREE
+                    }
+                }),
+                t.inverseViewMatrix[P("0x6e")]()
+            }
+            ,
+            n.prototype[P("0xcf1")] = function() {
+                return "attribute vec4 aPosition;\n" + P("0xcf2") + P("0xcf3") + P("0xcf4") + P("0xcf5") + P("0xcf6") + P("0xcf7") + "{\n" + P("0xcf8") + "    clipPos.z = min(clipPos.z, clipPos.w);\n" + P("0xcf9") + "}\n" + P("0x708") + "{\n" + P("0xcfa") + P("0xcfb") + "    clip_vertex = czm_modelView * vec4(aPosition.xyz, 1.0);\n" + P("0xcfc") + P("0xcfd") + "}"
+            }
+            ,
+            n[P("0x5")]._createFS = function() {
+                return P("0xcfe") + P("0xcff") + "varying vec4 vColor;\nvarying float fWindowZ;\n" + P("0xcf6") + "vec4 LIGHT_COLOR = vec4(0.8, 0.8, 0.8, 1.0);\nvoid main()\n{\n" + P("0xd00") + P("0xd01") + P("0xd02") + "    vec4 eyePosition = czm_modelView * vec4(normal_vertex.xyz, 1.0);\n" + P("0xd03") + "    float nDotL = max(dot(lightDirection, normal), 0.0);\n" + P("0xd04") + P("0xd05") + P("0xd06") + "}"
+            }
+            ,
+            n[P("0x5")][P("0xd07")] = function() {
+                var t = this._scene[P("0x3cc")];
+                if (!t)
+                    return this[P("0x9fc")][P("0x896")]("_createVA!"),
+                    null;
+                var i = this[P("0xcc2")]
+                  , r = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 15)
+                  , n = 3
+                  , o = this[P("0xd08")] * e[P("0x23")].RADIANS_PER_DEGREE
+                  , a = this[P("0xcc1")] * e[P("0x23")][P("0xa2c")];
+                if (Math[P("0x2ae")](Math[P("0x9a")](.5 * o), 2) < .001)
+                    return null;
+                var s = i / Math[P("0x9a")](.5 * o)
+                  , x = i * Math[P("0x992")](.5 * a);
+                i = Math[P("0xca")](s * s + x * x);
+                for (var l = e[P("0x23")].PI_OVER_TWO + .5 * o, c = .5 * a, u = 0, h = 0, f = o / 1, d = a / 1, g = 0; g < 2; g++) {
+                    u = l - g * f;
+                    for (var p = 0; p < 2; p++)
+                        h = c - p * d,
+                        r[n++] = i * Math[P("0x9a")](h) * Math[P("0x9a")](u),
+                        r[n++] = i * Math[P("0x9a")](h) * Math.sin(u),
+                        r[n++] = i * Math.sin(h)
+                }
+                var m = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")].UNSIGNED_SHORT, 16)
+                  , b = 0;
+                for (m[b++] = 0,
+                m[b++] = 1,
+                m[b++] = 0,
+                m[b++] = 2,
+                m[b++] = 0,
+                m[b++] = 3,
+                m[b++] = 0,
+                m[b++] = 4,
+                g = 0; g < 2; g++)
+                    for (p = 0; p < 1; p++)
+                        m[b++] = 1 + p + 2 * g,
+                        m[b++] = 1 + (p + 1) + 2 * g;
+                for (g = 0; g < 2; g++)
+                    for (p = 0; p < 1; p++)
+                        m[b++] = 1 + 2 * p + g,
+                        m[b++] = 1 + 2 * (p + 1) + g;
+                var v = e[P("0x5ea")][P("0x5eb")]({
+                    context: t,
+                    typedArray: r,
+                    usage: e[P("0x4d5")].STATIC_DRAW
+                })
+                  , C = e[P("0x5ea")][P("0x5ec")]({
+                    context: t,
+                    typedArray: m,
+                    usage: e.BufferUsage[P("0x4d6")],
+                    indexDatatype: e[P("0x742")][P("0x5ed")]
+                })
+                  , y = [];
+                return y[P("0x17c")]({
+                    index: 0,
+                    vertexBuffer: v,
+                    componentsPerAttribute: 3,
+                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                    offsetInBytes: 0,
+                    strideInBytes: 12,
+                    normalize: !1
+                }),
+                this[P("0xd09")](r),
+                new (e[P("0x5ee")])({
+                    context: t,
+                    attributes: y,
+                    indexBuffer: C
+                })
+            }
+            ,
+            n.prototype[P("0xd0a")] = function() {
+                var t = this[P("0x42")][P("0x3cc")];
+                if (!t)
+                    return this._errorEvent.raiseEvent(P("0xd0b")),
+                    null;
+                var i = Math[P("0xee")](this[P("0xcc7")], this[P("0xcd6")]);
+                i = Math.min(i, this.maxSegmentCount);
+                for (var r = this[P("0xcc2")], n = (i + 1) * (i + 1) + 1, o = e[P("0x5e8")].createTypedArray(e.ComponentDatatype.FLOAT, 3 * n), a = 3, s = this[P("0xd08")] * e.Math[P("0xa2c")], x = this[P("0xcc1")] * e[P("0x23")].RADIANS_PER_DEGREE, l = e.Math[P("0x5b")] + .5 * s, c = .5 * x, u = 0, h = 0, f = s / i, d = x / i, g = 0; g < i + 1; g++) {
+                    u = l - g * f;
+                    for (var p = 0; p < i + 1; p++)
+                        h = c - p * d,
+                        o[a++] = r * Math[P("0x9a")](h) * Math[P("0x9a")](u),
+                        o[a++] = r * Math[P("0x9a")](h) * Math[P("0x98")](u),
+                        o[a++] = r * Math[P("0x98")](h)
+                }
+                var m = 4 * (2 + (i + 1) * i)
+                  , b = e[P("0x5e8")].createTypedArray(e[P("0x5e8")].UNSIGNED_SHORT, m)
+                  , v = 0;
+                for (b[v++] = 0,
+                b[v++] = 1,
+                b[v++] = 0,
+                b[v++] = i + 1,
+                b[v++] = 0,
+                b[v++] = i * (i + 1) + 1,
+                b[v++] = 0,
+                b[v++] = (i + 1) * (i + 1),
+                g = 0; g < i + 1; g++)
+                    for (p = 0; p < i; p++)
+                        b[v++] = 1 + p + (i + 1) * g,
+                        b[v++] = 1 + (p + 1) + (i + 1) * g;
+                for (g = 0; g < i + 1; g++)
+                    for (p = 0; p < i; p++)
+                        b[v++] = 1 + (i + 1) * p + g,
+                        b[v++] = 1 + (i + 1) * (p + 1) + g;
+                var C = e[P("0x5ea")][P("0x5eb")]({
+                    context: t,
+                    typedArray: o,
+                    usage: e.BufferUsage[P("0x4d6")]
+                })
+                  , y = e.Buffer.createIndexBuffer({
+                    context: t,
+                    typedArray: b,
+                    usage: e[P("0x4d5")].STATIC_DRAW,
+                    indexDatatype: e[P("0x742")][P("0x5ed")]
+                })
+                  , _ = [];
+                return _.push({
+                    index: 0,
+                    vertexBuffer: C,
+                    componentsPerAttribute: 3,
+                    componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                    offsetInBytes: 0,
+                    strideInBytes: 12,
+                    normalize: !1
+                }),
+                this[P("0xd09")](o),
+                new (e[P("0x5ee")])({
+                    context: t,
+                    attributes: _,
+                    indexBuffer: y
+                })
+            }
+            ,
+            n[P("0x5")][P("0xd0c")] = function() {
+                var t = this[P("0x42")][P("0x3cc")];
+                if (!t)
+                    return this._errorEvent.raiseEvent(P("0xd0b")),
+                    null;
+                var i = Math.max(this[P("0xcc7")], this[P("0xcd6")]);
+                i = Math[P("0x7d")](i, this[P("0xcd7")]);
+                for (var r = this[P("0xcc2")], n = (i + 1) * (i + 1) + 1, o = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")].FLOAT, 3 * n), a = 3, s = this[P("0xd08")] * e[P("0x23")][P("0xa2c")], x = this[P("0xcc1")] * e[P("0x23")][P("0xa2c")], l = r * Math[P("0x992")](.5 * x), c = Math.PI - .5 * s, u = 0, h = 0, f = s / i, d = 0; d < i + 1; d++) {
+                    u = c + d * f;
+                    for (var g = l / (r / Math.cos(u)), p = Math[P("0x321")](g), m = -p, b = 2 * p / i, v = 0; v < i + 1; v++)
+                        h = m + v * b,
+                        o[a++] = r * Math.cos(h) * Math[P("0x98")](u),
+                        o[a++] = r * Math.sin(h),
+                        o[a++] = r * Math[P("0x9a")](h) * Math[P("0x9a")](u)
+                }
+                var C = 4 * (2 + (i + 1) * i)
+                  , y = e[P("0x5e8")].createTypedArray(e[P("0x5e8")].UNSIGNED_SHORT, C)
+                  , _ = 0;
+                for (y[_++] = 0,
+                y[_++] = 1,
+                y[_++] = 0,
+                y[_++] = i + 1,
+                y[_++] = 0,
+                y[_++] = i * (i + 1) + 1,
+                y[_++] = 0,
+                y[_++] = (i + 1) * (i + 1),
+                d = 0; d < i + 1; d++)
+                    for (v = 0; v < i; v++)
+                        y[_++] = 1 + v + (i + 1) * d,
+                        y[_++] = 1 + (v + 1) + (i + 1) * d;
+                for (d = 0; d < i + 1; d++)
+                    for (v = 0; v < i; v++)
+                        y[_++] = 1 + (i + 1) * v + d,
+                        y[_++] = 1 + (i + 1) * (v + 1) + d;
+                var A = e.Buffer[P("0x5eb")]({
+                    context: t,
+                    typedArray: o,
+                    usage: e[P("0x4d5")][P("0x4d6")]
+                })
+                  , I = e.Buffer[P("0x5ec")]({
+                    context: t,
+                    typedArray: y,
+                    usage: e.BufferUsage[P("0x4d6")],
+                    indexDatatype: e[P("0x742")][P("0x5ed")]
+                })
+                  , w = [];
+                return w[P("0x17c")]({
+                    index: 0,
+                    vertexBuffer: A,
+                    componentsPerAttribute: 3,
+                    componentDatatype: e[P("0x5e8")].FLOAT,
+                    offsetInBytes: 0,
+                    strideInBytes: 12,
+                    normalize: !1
+                }),
+                this[P("0xd09")](o),
+                new (e[P("0x5ee")])({
+                    context: t,
+                    attributes: w,
+                    indexBuffer: I
+                })
+            }
+            ,
+            n[P("0x5")][P("0xd0d")] = function() {
+                return e[P("0x5d6")].fromCache({
+                    cull: {
+                        enabled: !1
+                    },
+                    depthTest: {
+                        enabled: !0
+                    }
+                })
+            }
+            ,
+            n[P("0x5")][P("0xd0e")] = function() {
+                var e = {};
+                return e[P("0x6ee")] = 0,
+                e
+            }
+            ,
+            n[P("0x5")][P("0xd0f")] = function() {
+                var t = this[P("0x42")][P("0x3cc")];
+                if (!t)
+                    return this[P("0x9fc")][P("0x896")](P("0xd10")),
+                    null;
+                var i = this[P("0xcf1")]()
+                  , r = this[P("0xd11")]()
+                  , n = this[P("0xd0e")]();
+                return n ? e.ShaderProgram.fromCache({
+                    context: t,
+                    vertexShaderSource: i,
+                    fragmentShaderSource: r,
+                    attributeLocations: n
+                }) : (this._errorEvent[P("0x896")](P("0xd10")),
+                null)
+            }
+            ;
+            var o = new (e[P("0x11")])
+              , a = new (e[P("0x11")]);
+            n[P("0x5")][P("0xd09")] = function(t) {
+                if (t && t[P("0x0")] && 6 <= t[P("0x0")]) {
+                    for (var i = 3, r = t[0], n = t[1], s = t[2], x = t[0], l = t[1], c = t[2], u = 0; i < t[P("0x0")]; i += 3)
+                        u = t[i],
+                        r = Math.min(u, r),
+                        x = Math[P("0xee")](u, x),
+                        u = t[i + 1],
+                        n = Math[P("0x7d")](u, n),
+                        l = Math[P("0xee")](u, l),
+                        u = t[i + 2],
+                        s = Math[P("0x7d")](u, s),
+                        c = Math[P("0xee")](u, c);
+                    o.x = r,
+                    o.y = n,
+                    o.z = s,
+                    a.x = x,
+                    a.y = l,
+                    a.z = c,
+                    this[P("0x4a4")] = e[P("0x5f1")][P("0xd12")](o, a)
+                } else
+                    this[P("0x4a4")] = new (e[P("0x5f1")])(e.Cartesian3[P("0x6f")],this[P("0xc9b")])
+            }
+            ;
+            var s = new (e[P("0x5f1")])(e[P("0x11")][P("0x6f")],1);
+            function x(t, i) {
+                this[P("0xd17")] = null,
+                this[P("0x42")] = t,
+                this[P("0x6d6")] = i,
+                this[P("0x5ba")] = !1,
+                this[P("0xd18")] = new (e[P("0x766")]),
+                this[P("0xd19")] = new (e[P("0x766")])
+            }
+            function l() {
+                this[P("0xb78")] = 0
+            }
+            n[P("0x5")][P("0x5ef")] = function(t) {
+                var i = this[P("0x4a4")];
+                return i ? (e[P("0x5f1")][P("0xaf")](i, t, s),
+                s) : (this._errorEvent[P("0x896")](P("0xd13")),
+                null)
+            }
+            ,
+            n[P("0x5")][P("0xce7")] = function() {
+                try {
+                    this._recreate()
+                } catch (e) {
+                    this._drawCommand = null
+                }
+            }
+            ,
+            n[P("0x5")]._recreate = function() {
+                if (this[P("0xcc8")]) {
+                    this[P("0xcc8")] = !1,
+                    this._drawCommand && (this._drawCommand[P("0xcca")] && (this[P("0x6ce")][P("0xcca")][P("0xf4")](),
+                    this._drawCommand[P("0xcca")] = null),
+                    this[P("0x6ce")]._vertexArray && (this._drawCommand[P("0x4d8")].destroy(),
+                    this[P("0x6ce")][P("0x4d8")] = null),
+                    this[P("0x6ce")] = null);
+                    var t;
+                    if (t = this[P("0xcd9")] && this[P("0xcd8")] ? this[P("0xcef")]() : this[P("0xd14")]()) {
+                        var i;
+                        if (i = this.isSphereType ? this[P("0xcd9")] ? this[P("0xd0c")]() : this[P("0xd0a")]() : this[P("0xd07")]()) {
+                            var r = this[P("0xd0d")]();
+                            if (r) {
+                                var n = this[P("0xd0f")]();
+                                if (n) {
+                                    var o = this[P("0xc91")]()
+                                      , a = this[P("0x5ef")](t);
+                                    a ? this._drawCommand = new e.DrawCommand({
+                                        vertexArray: i,
+                                        primitiveType: e.PrimitiveType[P("0xd16")],
+                                        renderState: r,
+                                        shaderProgram: n,
+                                        modelMatrix: t,
+                                        boundingVolume: a,
+                                        uniformMap: o,
+                                        owner: this[P("0xc67")],
+                                        pass: e.Pass.OPAQUE
+                                    }) : this[P("0x9fc")][P("0x896")](P("0xd15"))
+                                } else
+                                    this[P("0x9fc")].raiseEvent(P("0xd15"))
+                            } else
+                                this._errorEvent[P("0x896")](P("0xd15"))
+                        } else
+                            this._errorEvent[P("0x896")](P("0xd15"))
+                    } else
+                        this._errorEvent[P("0x896")](P("0xd15"))
+                }
+            }
+            ,
+            e[P("0xf")](x[P("0x5")], {
+                UpdateMatrixEvent: {
+                    get: function() {
+                        return this._updateMatrixEvent
+                    }
+                },
+                UpdateEvent: {
+                    get: function() {
+                        return this._updateEvent
+                    }
+                }
+            }),
+            x[P("0x5")][P("0xc5d")] = function() {
+                return new (e[P("0x789")])({
+                    wrapS: e.TextureWrap.CLAMP_TO_EDGE,
+                    wrapT: e[P("0x78b")][P("0x78a")],
+                    minificationFilter: e[P("0x78c")].NEAREST,
+                    magnificationFilter: e[P("0x78e")][P("0x78d")]
+                })
+            }
+            ,
+            x.prototype[P("0xd1a")] = function(t, i) {
+                for (var r = new e.Texture({
+                    context: i,
+                    width: t._textureSize.x,
+                    height: t[P("0xd1b")].y,
+                    pixelFormat: e[P("0x785")].DEPTH_STENCIL,
+                    pixelDatatype: e[P("0x787")].UNSIGNED_INT_24_8,
+                    sampler: this[P("0xc5d")]()
+                }), n = new (e[P("0x78f")])({
+                    context: i,
+                    depthStencilTexture: r,
+                    destroyAttachments: !1
+                }), o = t[P("0xd1c")][P("0x0")], a = 0; a < o; ++a) {
+                    var s = t[P("0xd1c")][a];
+                    s[P("0x796")] = n,
+                    s.passState[P("0x796")] = n
+                }
+                t[P("0xd1d")] = r,
+                t[P("0x770")] = r
+            }
+            ,
+            x[P("0x5")][P("0xd1e")] = function(e, t) {
+                e[P("0x771")][P("0x796")] = e[P("0xd1c")][0][P("0x796")],
+                e[P("0x771")].execute(t, e[P("0xd1f")])
+            }
+            ,
+            x[P("0x5")][P("0xd20")] = function() {
+                var t = this[P("0xd17")];
+                if (t) {
+                    for (var i = t._passes[P("0x0")], r = 0; r < i; ++r) {
+                        var n = t[P("0xd1c")][r]
+                          , o = n[P("0x796")];
+                        e[P("0x14")](o) && !o[P("0xf3")]() && o[P("0xf4")](),
+                        n[P("0x796")] = void 0
+                    }
+                    t._depthAttachment = t[P("0x770")] && t[P("0x770")].destroy(),
+                    t[P("0xd21")] = t._colorAttachment && t[P("0xd21")][P("0xf4")]();
+                    var a = this._scene[P("0x6d9")][P("0x3cc")];
+                    this[P("0xd1a")](t, a),
+                    this[P("0xd1e")](t, a)
+                }
+            }
+            ,
+            x[P("0x5")][P("0xd22")] = function(t, i, r, n, o, a, s) {
+                if (!this._shadowMap) {
+                    var x = this._scene;
+                    if (x) {
+                        var l = this
+                          , c = new (e[P("0x3cb")])(x);
+                        c[P("0xe8")] = new (e[P("0xae3")]),
+                        c[P("0xe8")].aspectRatio = i / r,
+                        c[P("0xe8")].fov = i * e[P("0x23")][P("0xa2c")],
+                        c.frustum[P("0xb3e")] = 1,
+                        c[P("0xe8")][P("0xc13")] = n,
+                        c[P("0x9c")]({
+                            destination: t,
+                            orientation: {
+                                heading: o * e.Math[P("0xa2c")],
+                                pitch: a * e[P("0x23")].RADIANS_PER_DEGREE,
+                                roll: s * e[P("0x23")].RADIANS_PER_DEGREE
+                            }
+                        });
+                        var u = this[P("0xd17")] = new (e[P("0x4f1")])({
+                            lightCamera: c,
+                            enable: !1,
+                            isPointLight: !1,
+                            isSpotLight: !0,
+                            cascadesEnabled: !1,
+                            context: x[P("0x3cc")],
+                            pointLightRadius: n
+                        });
+                        u[P("0xd23")] = u[P("0xd2")],
+                        u.update = function(e) {
+                            u._updateOri(e);
+                            var t = u[P("0xd24")]._invViewMatrix;
+                            l[P("0xd18")][P("0x896")](t),
+                            l[P("0xd19")][P("0x896")]()
+                        }
+                    }
+                }
+            }
+            ,
+            x[P("0x5")][P("0xd2")] = function(t, i, r, n, o, a) {
+                if (this[P("0xd17")]) {
+                    var s = this[P("0xd17")][P("0xd25")];
+                    s[P("0xe8")][P("0xaef")] = t / i,
+                    s.frustum.fov = t * e.Math[P("0xa2c")],
+                    s[P("0xe8")].near = 1,
+                    s[P("0xe8")][P("0xc13")] = r,
+                    s[P("0x9c")]({
+                        destination: s[P("0x8c")],
+                        orientation: {
+                            heading: n * e[P("0x23")].RADIANS_PER_DEGREE,
+                            pitch: o * e[P("0x23")][P("0xa2c")],
+                            roll: a * e[P("0x23")][P("0xa2c")]
+                        }
+                    })
+                }
+            }
+            ,
+            x[P("0x5")][P("0xf4")] = function() {
+                this.deactive(),
+                this[P("0xd17")] && (this[P("0xd17")][P("0xf4")](),
+                this[P("0xd17")] = null),
+                this[P("0x42")] = null,
+                this[P("0x6d6")] = null,
+                this[P("0xd18")] = null,
+                this[P("0xd19")] = null
+            }
+            ,
+            x[P("0x5")].active = function() {
+                if (this[P("0xd17")]) {
+                    var e = this[P("0x42")][P("0x17d")];
+                    this._actived = !0;
+                    var t = this[P("0xd17")]
+                      , i = t[P("0xa94")];
+                    i || (i = {
+                        update: function(e) {
+                            e[P("0xd26")] || (e[P("0xd26")] = []),
+                            t[P("0xd2")](e),
+                            e[P("0xd26")][P("0x2d3")](t) < 0 && e[P("0xd26")][P("0x17c")](t)
+                        },
+                        owner: t,
+                        destroy: function() {
+                            this.owner && (this[P("0x5cd")]._proxy = null,
+                            this[P("0x5cd")] = null)
+                        }
+                    },
+                    t[P("0xa94")] = i),
+                    e.contains(i) || e[P("0x6d")](i)
+                }
+            }
+            ,
+            x[P("0x5")][P("0xd27")] = function() {
+                if (this[P("0x5ba")] && this[P("0xd17")]) {
+                    var e = this[P("0x42")] && this._scene.primitives;
+                    this._actived = !1;
+                    var t = this[P("0xd17")]
+                      , i = t[P("0xa94")];
+                    i && (e.contains(i) && e.remove(i),
+                    t[P("0xa94")] = null);
+                    var r = this[P("0x42")];
+                    if (r) {
+                        var n = r[P("0x6d9")][P("0xd26")];
+                        if (n) {
+                            var o = n[P("0x2d3")](this._shadowMap);
+                            0 <= o && n.splice(o, 1)
+                        }
+                    }
+                }
+            }
+            ,
+            x.prototype.updatePosition = function(t, i, r, n) {
+                if (t) {
+                    var o = this[P("0xd17")];
+                    if (o) {
+                        i || 0 === i || (i = a[P("0x7f")]),
+                        r || 0 === r || (r = a[P("0x80")]),
+                        n || 0 === n || (n = a[P("0x81")]);
+                        var a = o[P("0xd25")];
+                        a[P("0x9c")]({
+                            destination: t,
+                            orientation: {
+                                heading: i * e.Math[P("0xa2c")],
+                                pitch: r * e[P("0x23")][P("0xa2c")],
+                                roll: n * e[P("0x23")][P("0xa2c")]
+                            }
+                        })
+                    }
+                }
+            }
+            ,
+            x.prototype[P("0xd28")] = function(t) {
+                if (t) {
+                    var i = this[P("0xd17")];
+                    if (i) {
+                        var r = i[P("0xd25")]
+                          , n = r[P("0xe8")][P("0xaf0")] / r[P("0xe8")][P("0xaef")];
+                        r.frustum[P("0xaf0")] = t * e[P("0x23")][P("0xa2c")],
+                        r.frustum.aspectRatio = r[P("0xe8")][P("0xaf0")] / n
+                    }
+                }
+            }
+            ,
+            x[P("0x5")][P("0xd29")] = function(t) {
+                if (t) {
+                    var i = this[P("0xd17")];
+                    if (i) {
+                        var r = i[P("0xd25")];
+                        r[P("0xe8")].aspectRatio = r[P("0xe8")].fov / (t * e[P("0x23")][P("0xa2c")])
+                    }
+                }
+            }
+            ,
+            x[P("0x5")][P("0xd2a")] = function(e) {
+                if (e) {
+                    var t = this._shadowMap;
+                    t && (t[P("0xd25")][P("0xe8")][P("0xc13")] = e)
+                }
+            }
+            ,
+            x[P("0x5")].updateHeadingPitchRoll = function(t, i, r) {
+                var n = this._shadowMap;
+                if (n) {
+                    t || 0 === t || (t = o[P("0x7f")]),
+                    i || 0 === i || (i = o[P("0x80")]),
+                    r || 0 === r || (r = o.roll);
+                    var o = n._lightCamera;
+                    o[P("0x9c")]({
+                        destination: o[P("0x8c")],
+                        orientation: {
+                            heading: t * e[P("0x23")][P("0xa2c")],
+                            pitch: i * e[P("0x23")][P("0xa2c")],
+                            roll: r * e[P("0x23")].RADIANS_PER_DEGREE
+                        }
+                    })
+                }
+            }
+            ,
+            x[P("0x5")]._getShadowMapTexture = function() {
+                return this[P("0xd17")] ? this[P("0xd17")]._shadowMapTexture : null
+            }
+            ,
+            x.prototype._getShadowMapMatrix = function() {
+                return this._shadowMap ? this._shadowMap[P("0xd2b")] : null
+            }
+            ,
+            x[P("0x5")]._getProjectionCamera = function() {
+                return this[P("0xd17")] ? this[P("0xd17")][P("0xd25")] : null
+            }
+            ,
+            l.prototype[P("0xd2c")] = function(e) {
+                return e ? e = P("0xd2d") + e : (e = P("0xd2d") + this[P("0xb78")][P("0x531")](),
+                this[P("0xb78")] += 1),
+                e
+            }
+            ,
+            l[P("0xd2e")] = new l,
+            l[P("0xd2f")] = function() {
+                return l._instance[P("0xd2c")]()
+            }
+            ;
+            var c = e[P("0xd30")] = function(t, i, n, o, a) {
+                if (!t || !t.scene)
+                    throw e[P("0x15")]("viewer or viewer.scene is invalid!");
+                var s = t.scene;
+                this._viewer = t,
+                this._scene = s,
+                this[P("0xd31")] = new r,
+                this[P("0xd32")] = null,
+                this[P("0xd33")] = null,
+                this[P("0xd34")] = null,
+                this[P("0xd35")] = null,
+                this._invViewMatrix = null,
+                this[P("0xd36")] = !0,
+                this._name = l[P("0xd2f")](),
+                this._actived = !1,
+                this[P("0x6d6")] = null,
+                this[P("0x82d")](i, n, o, a)
+            }
+            ;
+            function u() {
+                this[P("0x431")] = [],
+                this[P("0xc6b")] = new (e[P("0x766")]),
+                this._removeEvent = new (e[P("0x766")]),
+                this[P("0xd50")] = new (e[P("0x766")]),
+                this[P("0xd51")] = !1
+            }
+            c[P("0x5")][P("0x82d")] = function(r, o, a, s) {
+                var l = this
+                  , c = l._scene;
+                if (r && !(!r instanceof HTMLVideoElement)) {
+                    s && (s[P("0xccb")] && (this._videoProjectionConfig[P("0xccb")] = s[P("0xccb")]),
+                    s[P("0xccd")] && (this._videoProjectionConfig.maxFovX = s.maxFovX),
+                    s.minFovY && (this._videoProjectionConfig.minFovY = s[P("0xcdb")]),
+                    s[P("0xcce")] && (this._videoProjectionConfig[P("0xcce")] = s.maxFovY),
+                    s[P("0xccf")] && (this[P("0xd31")][P("0xccf")] = s[P("0xccf")]),
+                    s[P("0xcdd")] && (this._videoProjectionConfig.maxFovDistance = s[P("0xcdd")]),
+                    s[P("0xcd0")] && (this[P("0xd31")][P("0xcd0")] = s[P("0xcd0")]),
+                    s[P("0xcd1")] && (this._videoProjectionConfig[P("0xcd1")] = s[P("0xcd1")]),
+                    s[P("0xcd2")] && (this[P("0xd31")][P("0xcd2")] = s[P("0xcd2")]),
+                    s[P("0xcd3")] && (this[P("0xd31")].maxPitch = s[P("0xcd3")]),
+                    s[P("0xcd4")] && (this._videoProjectionConfig[P("0xcd4")] = s[P("0xcd4")]),
+                    s[P("0xcd5")] && (this[P("0xd31")][P("0xcd5")] = s.maxRoll),
+                    s[P("0xcd8")] && (this[P("0xd31")].isSphereType = s[P("0xcd8")]),
+                    s[P("0xcd9")] && (this[P("0xd31")][P("0xcd9")] = s[P("0xcd9")])),
+                    (l[P("0xd33")] = new t(r,c.context,this[P("0x13c")],this)).ErrorEvent[P("0x130")]((function(e) {}
+                    ));
+                    var u = l[P("0xd32")] = new n(c,o,this);
+                    a && a instanceof e[P("0x16a")] && (u[P("0x169")] = a),
+                    u[P("0xd37")][P("0x130")]((function(e) {}
+                    ));
+                    var h = l[P("0xd34")] = new i(c,this);
+                    h.CreationEvent[P("0x130")]((function(e) {}
+                    )),
+                    h[P("0xd38")][P("0x130")]((function(e) {}
+                    )),
+                    h[P("0xd39")][P("0x130")]((function(e) {}
+                    ));
+                    var f = this[P("0xd35")] = new x(c,this);
+                    f[P("0xd3a")][P("0x130")]((function(e) {
+                        l[P("0x77b")] = e
+                    }
+                    )),
+                    f[P("0xd3b")][P("0x130")]((function(e) {
+                        l[P("0xd34")] && l[P("0xd34")][P("0xc8e")]()
+                    }
+                    ))
+                }
+            }
+            ,
+            c[P("0x5")][P("0xd3c")] = function() {
+                if (this._videoProjectionPostRender) {
+                    this._videoProjectionPostRender[P("0xf4")]();
+                    var e = this[P("0xd34")] = new i(this._scene,this);
+                    e[P("0xd3d")][P("0x130")]((function(e) {}
+                    )),
+                    e[P("0xd38")][P("0x130")]((function(e) {}
+                    )),
+                    e[P("0xd39")][P("0x130")]((function(e) {}
+                    ))
+                }
+            }
+            ,
+            c[P("0x5")][P("0xce2")] = function(e) {
+                var t = this[P("0xd33")];
+                t && t[P("0xce2")](e);
+                var i = this[P("0xd32")];
+                i && i[P("0xce2")](e, this);
+                var r = this[P("0xd34")];
+                r && r[P("0xc9c")](e)
+            }
+            ,
+            c[P("0x5")][P("0xd20")] = function() {
+                this[P("0xd35")] && this[P("0xd35")][P("0xd20")]()
+            }
+            ,
+            c[P("0x5")][P("0xc97")] = function() {
+                return this._videoShadowMap ? this[P("0xd35")][P("0xc97")]() : null
+            }
+            ,
+            c[P("0x5")][P("0xc98")] = function() {
+                return this[P("0xd35")] ? this[P("0xd35")]._getShadowMapMatrix() : null
+            }
+            ,
+            c.prototype[P("0xce4")] = function() {
+                return this[P("0xd35")] ? this[P("0xd35")][P("0xce4")]() : null
+            }
+            ,
+            c[P("0x5")][P("0xd2")] = function(e, t, i, r, n, o) {
+                var a = this._videoProjectionConfig;
+                e = a[P("0xd3e")](e),
+                t = a[P("0xcbc")](t),
+                i = a[P("0xcbd")](i),
+                r = a[P("0xcbe")](r),
+                n = a[P("0xcbf")](n),
+                o = a.clampRoll(o);
+                var s = this[P("0xd32")];
+                s && s[P("0xced")](e, t, i, r, n, o);
+                var x = this[P("0xd35")];
+                x && x[P("0xd2")](e, t, i, r, n, o)
+            }
+            ,
+            c[P("0x5")][P("0x69")] = function() {
+                this[P("0x5ba")] = !0;
+                var e = this[P("0xd32")];
+                e && (e[P("0x5bb")] = !0);
+                var t = this[P("0xd3f")]();
+                t && t.active()
+            }
+            ,
+            c[P("0x5")].deactive = function() {
+                var e = this._videoProjectionFrustumPrimitive;
+                e && (e.actived = !1);
+                var t = this[P("0xd34")];
+                t && t[P("0xd40")]();
+                var i = this[P("0xd35")];
+                i && i.deactive(),
+                this[P("0x5ba")] = !1
+            }
+            ,
+            c.prototype[P("0xd41")] = function(e) {
+                if (e) {
+                    var t = this._videoProjectionFrustumPrimitive;
+                    t && t[P("0xce6")](e);
+                    var i = this[P("0xd35")];
+                    i && i[P("0xd41")](e, t.heading, t[P("0x80")], t[P("0x81")])
+                }
+            }
+            ,
+            c[P("0x5")][P("0xd28")] = function(e) {
+                e = this[P("0xd31")][P("0xd3e")](e);
+                var t = this[P("0xd32")];
+                t && t[P("0xce8")](e);
+                var i = this[P("0xd35")];
+                i && i.update(t[P("0xce9")], t.fovY, t[P("0xc9b")], t[P("0x7f")], t[P("0x80")], t[P("0x81")])
+            }
+            ,
+            c[P("0x5")][P("0xd29")] = function(e) {
+                e = this[P("0xd31")][P("0xcbc")](e);
+                var t = this[P("0xd32")];
+                t && t[P("0xcea")](e);
+                var i = this[P("0xd35")];
+                i && i[P("0xd2")](t[P("0xce9")], t[P("0xcee")], t[P("0xc9b")], t[P("0x7f")], t.pitch, t.roll)
+            }
+            ,
+            c[P("0x5")][P("0xd2a")] = function(e) {
+                e = this._videoProjectionConfig[P("0xcbd")](e);
+                var t = this[P("0xd32")];
+                t && t[P("0xd42")](e);
+                var i = this[P("0xd35")];
+                i && i[P("0xd2a")](e)
+            }
+            ,
+            c[P("0x5")].updateHeading = function(e) {
+                e = this[P("0xd31")][P("0xcbe")](e);
+                var t = this._videoProjectionFrustumPrimitive;
+                t && t[P("0xd43")](e);
+                var i = this[P("0xd35")];
+                i && i[P("0xd44")](t[P("0x7f")], t[P("0x80")], t[P("0x81")])
+            }
+            ,
+            c[P("0x5")][P("0xd45")] = function(e) {
+                e = this._videoProjectionConfig[P("0xcbf")](e);
+                var t = this[P("0xd32")];
+                t && t[P("0xceb")](e);
+                var i = this[P("0xd35")];
+                i && i[P("0xd44")](t.heading, t[P("0x80")], t.roll)
+            }
+            ,
+            c.prototype[P("0xd46")] = function(e) {
+                e = this._videoProjectionConfig[P("0xd47")](e);
+                var t = this._videoProjectionFrustumPrimitive;
+                t && t[P("0xcec")](e);
+                var i = this[P("0xd35")];
+                i && i[P("0xd44")](t[P("0x7f")], t[P("0x80")], t[P("0x81")])
+            }
+            ,
+            c[P("0x5")][P("0xd48")] = function(e) {
+                if (e) {
+                    var t = this[P("0xd32")];
+                    t && (t.color = e)
+                }
+            }
+            ,
+            c[P("0x5")][P("0xd49")] = function(e) {
+                if (e) {
+                    var t = this._videoProjectionFrustumPrimitive;
+                    t && (t[P("0xc96")] = e)
+                }
+            }
+            ,
+            c.prototype[P("0xd4a")] = function(e) {
+                if (e) {
+                    var t = this[P("0xd32")];
+                    t && (t[P("0x197")] = e)
+                }
+            }
+            ,
+            c[P("0x5")][P("0xd4b")] = function(e) {
+                if (e)
+                    return this[P("0x75b")] == e[P("0x75b")]
+            }
+            ,
+            c[P("0x5")][P("0xd4c")] = function(e) {
+                return this[P("0x75b")] == e
+            }
+            ,
+            c.prototype._createShadowMap = function() {
+                if (!this[P("0xd35")])
+                    return null;
+                var e = this[P("0xd32")];
+                if (!e)
+                    return null;
+                var t = e[P("0x8c")]
+                  , i = e.fovX
+                  , r = e.fovY
+                  , n = e[P("0xc9b")]
+                  , o = e[P("0x7f")]
+                  , a = e[P("0x80")]
+                  , s = e[P("0x81")];
+                return this[P("0xd35")][P("0xd22")](t, i, r, n, o, a, s),
+                this[P("0xd35")]
+            }
+            ,
+            c[P("0x5")]._getCurrentVideoTexture = function() {
+                return this[P("0xd33")] ? this._videoTextureSource[P("0xc5c")]() : null
+            }
+            ,
+            c.prototype._getViewMatrix = function() {
+                return this[P("0xd35")] ? this[P("0x77b")] : e[P("0x1b")][P("0xae")]
+            }
+            ,
+            c[P("0x5")][P("0xf4")] = function() {
+                this[P("0xd27")](),
+                this._videoProjectionFrustumPrimitive && (this[P("0xd32")][P("0xf4")](),
+                this[P("0xd32")] = null),
+                this._videoShadowMap && (this[P("0xd35")].destroy(),
+                this[P("0xd35")] = null),
+                this[P("0xd34")] && (this[P("0xd34")][P("0xf4")](),
+                this[P("0xd34")] = null),
+                this._videoTextureSource && (this[P("0xd33")][P("0xf4")](),
+                this[P("0xd33")] = null),
+                this[P("0x77b")] = null,
+                this[P("0x13c")] = null,
+                this[P("0x42")] = null,
+                this._owner = null
+            }
+            ,
+            e[P("0xf")](c[P("0x5")], {
+                name: {
+                    get: function() {
+                        return this[P("0x75b")]
+                    }
+                },
+                fillVideo: {
+                    get: function() {
+                        return this[P("0xd36")]
+                    },
+                    set: function(e) {
+                        this[P("0xd36")] != e && (this[P("0xd36")] = e,
+                        this._rebuildPostRender())
+                    }
+                },
+                position: {
+                    get: function() {
+                        return this[P("0xd32")][P("0x8c")]
+                    }
+                },
+                fovX: {
+                    get: function() {
+                        return this[P("0xd32")].fovX
+                    },
+                    set: function(e) {
+                        this[P("0xd28")](e)
+                    }
+                },
+                fovY: {
+                    get: function() {
+                        return this[P("0xd32")][P("0xcee")]
+                    },
+                    set: function(e) {
+                        this[P("0xd29")](e)
+                    }
+                },
+                fovDistance: {
+                    get: function() {
+                        return this[P("0xd32")][P("0xc9b")]
+                    },
+                    set: function(e) {
+                        this[P("0xd2a")](e)
+                    }
+                },
+                heading: {
+                    get: function() {
+                        return this[P("0xd32")].heading
+                    },
+                    set: function(e) {
+                        this[P("0xd4d")](e)
+                    }
+                },
+                pitch: {
+                    get: function() {
+                        return this[P("0xd32")][P("0x80")]
+                    },
+                    set: function(e) {
+                        this[P("0xd45")](e)
+                    }
+                },
+                roll: {
+                    get: function() {
+                        return this[P("0xd32")][P("0x81")]
+                    },
+                    set: function(e) {
+                        this[P("0xd46")](e)
+                    }
+                },
+                hitlineColor: {
+                    get: function() {
+                        return this[P("0xd32")][P("0x169")]
+                    },
+                    set: function(e) {
+                        this[P("0xd48")](e)
+                    }
+                },
+                mixFactor: {
+                    get: function() {
+                        return this[P("0xd32")][P("0xc96")]
+                    },
+                    set: function(e) {
+                        this.updateMixFactor(e)
+                    }
+                },
+                lineWidth: {
+                    get: function() {
+                        return this[P("0xd32")][P("0x197")]
+                    },
+                    set: function(e) {
+                        this[P("0xd4a")](e)
+                    }
+                },
+                hitlineType: {
+                    get: function() {
+                        return this[P("0xd32")][P("0xd4e")]
+                    }
+                },
+                hitlineVisibly: {
+                    get: function() {
+                        return this._videoProjectionFrustumPrimitive.visibly
+                    },
+                    set: function(e) {
+                        this._videoProjectionFrustumPrimitive[P("0xd4f")] = e
+                    }
+                },
+                config: {
+                    get: function() {
+                        return this._videoProjectionConfig
+                    }
+                },
+                isActived: {
+                    get: function() {
+                        return this[P("0x5ba")]
+                    }
+                }
+            }),
+            e[P("0xf")](u[P("0x5")], {
+                length: {
+                    get: function() {
+                        return this[P("0x431")][P("0x0")]
+                    }
+                },
+                AddEvent: {
+                    get: function() {
+                        return this[P("0xc6b")]
+                    }
+                },
+                RemoveEvent: {
+                    get: function() {
+                        return this[P("0xc6c")]
+                    }
+                },
+                RemoveAllEvent: {
+                    get: function() {
+                        return this[P("0xd50")]
+                    }
+                },
+                projectBackFaces: {
+                    get: function() {
+                        return this[P("0xd51")]
+                    },
+                    set: function(e) {
+                        if (this[P("0xd51")] != e) {
+                            for (var t = this[P("0x431")], i = t[P("0x0")], r = 0; r < i; r++)
+                                t[r][P("0xd20")]();
+                            this[P("0xd51")] = e
+                        }
+                    }
+                }
+            }),
+            u.prototype[P("0x6d")] = function(e) {
+                if (e) {
+                    var t = e[P("0x176")];
+                    if (!t)
+                        throw P("0xd52");
+                    if (this[P("0xd53")](t))
+                        throw "exist!";
+                    this[P("0x431")][P("0x17c")](e),
+                    this._addEvent[P("0x896")](e)
+                }
+            }
+            ,
+            u[P("0x5")][P("0xd54")] = function(e) {
+                if (e) {
+                    var t = e[P("0x176")];
+                    if (!t)
+                        throw P("0xd52");
+                    this[P("0xd53")](t) && this.removeByName(t),
+                    e[P("0xf4")]()
+                }
+            }
+            ,
+            u[P("0x5")][P("0xf4")] = function() {
+                this[P("0x192")]()
+            }
+            ,
+            u[P("0x5")].getCount = function() {
+                return this[P("0x431")][P("0x0")]
+            }
+            ,
+            u[P("0x5")][P("0x192")] = function() {
+                for (var e = this._array[P("0x0")], t = 0; t < e; t++)
+                    this[P("0x431")][t].destroy(),
+                    this[P("0x431")][t] = null;
+                this[P("0xf5")]()
+            }
+            ,
+            u[P("0x5")][P("0xce2")] = function(e) {
+                for (var t = this._array, i = t[P("0x0")], r = 0; r < i; r++)
+                    t[r][P("0xce2")](e)
+            }
+            ,
+            u.prototype[P("0xd55")] = function(e) {
+                var t = this._array.length;
+                return e < 0 || t <= e ? null : this._array[e]
+            }
+            ,
+            u[P("0x5")].getByName = function(e) {
+                return this[P("0xd53")](e)
+            }
+            ,
+            u.prototype[P("0xd56")] = function(e) {
+                var t = this[P("0x431")].length;
+                e < 0 || t <= e || (this[P("0x431")][P("0x259")](e, 1),
+                this[P("0xc6c")][P("0x896")]())
+            }
+            ,
+            u.prototype[P("0xd57")] = function(e) {
+                for (var t = this[P("0x431")].length, i = 0; i < t; i++)
+                    if (this._array[i][P("0xd4c")](e))
+                        return this[P("0x431")][P("0x259")](i, 1),
+                        void this._removeEvent.raiseEvent()
+            }
+            ,
+            u[P("0x5")].removeAll = function() {
+                this._array.length = 0,
+                this[P("0xd50")].raiseEvent()
+            }
+            ,
+            u.prototype[P("0xd53")] = function(e) {
+                if (!e)
+                    return null;
+                for (var t = this[P("0x431")][P("0x0")], i = 0; i < t; i++) {
+                    var r = this[P("0x431")][i];
+                    if (r.isSelf(e))
+                        return r
+                }
+                return null
+            }
+            ,
+            u.prototype[P("0xd58")] = function() {
+                for (var e = [], t = this[P("0x431")][P("0x0")], i = 0; i < t; i++) {
+                    var r = this[P("0x431")][i];
+                    e[P("0x17c")](r[P("0x176")])
+                }
+                return e
+            }
+            ,
+            e[P("0xc3a")][P("0x5")].getVideoProjectionCollection = function() {
+                return this[P("0xd59")] || (this[P("0xd59")] = new u),
+                this[P("0xd59")]
+            }
+            ,
+            e[P("0xc3a")][P("0x5")][P("0xd5a")] = function(e) {
+                this[P("0xd59")] || (this._videoProjectionCollection = new u),
+                this[P("0xd59")]._render(e)
+            }
+            ,
+            e[P("0xc3a")].prototype[P("0xd5b")] = function() {
+                this._videoProjectionCollection && this._videoProjectionCollection[P("0x192")]()
+            }
+            ,
+            e[P("0xc3a")][P("0x5")][P("0xd5c")] = function(e) {
+                e && this[P("0xd59")] && this._videoProjectionCollection.destoryObject(e)
+            }
+            ,
+            e[P("0xc3a")][P("0x5")][P("0xd5d")] = function(t, i, r, n) {
+                try {
+                    var o = new (e[P("0xd30")])(t,i,r,n);
+                    if (o) {
+                        var a = this[P("0xd5e")]();
+                        a && a[P("0x6d")](o)
+                    }
+                    return o
+                } catch (t) {
+                    return null
+                }
+            }
+            ,
+            e[P("0xc3a")][P("0x5")][P("0xd5f")] = function(e) {
+                if (e)
+                    for (var t = e[P("0xb87")], i = t[P("0x0")], r = 0; r < i; ++r)
+                        t[r].commandList[P("0x0")] = 0
+            }
+            ,
+            e[P("0xc3a")].prototype[P("0xd60")] = function(e, t, i, r, n) {
+                for (var o = 0; o < t; ++o) {
+                    var a = e[P("0xb87")][o];
+                    i[P("0xc12")](a[P("0x7e")]),
+                    e[P("0xc1b")](r, o);
+                    for (var s = a[P("0x5ca")].length, x = 0; x < s; ++x) {
+                        var l = a[P("0x5ca")][x];
+                        i.updatePass(l.pass),
+                        this[P("0xd61")](l[P("0xc0d")][P("0xd62")][P("0xd63")][n], r, a[P("0x795")])
+                    }
+                }
+            }
+            ,
+            e[P("0xc3a")].prototype._executeVideoProjectionCastCommands = function() {
+                var e = this[P("0x6d9")]
+                  , t = e[P("0xd26")];
+                if (t) {
+                    var i = this[P("0xd59")];
+                    if (i && !i[P("0xd64")])
+                        for (var r = t.length, n = this.context, o = n[P("0xc28")], a = 0; a < r; ++a) {
+                            var s = t[a];
+                            if (!s[P("0xd65")]) {
+                                var x = s[P("0xb87")][P("0x0")];
+                                this[P("0xd5f")](s);
+                                var l = e.commandList;
+                                this._insertVideoProjectionCastCommands(l, s),
+                                this._executePassesVideoProjectionCommands(s, x, o, n, a)
+                            }
+                        }
+                }
+            }
+            ,
+            e.Scene[P("0x5")]._insertVideoProjectionCastCommands = function(t, i) {
+                for (var r = i[P("0xd66")], n = i[P("0xb87")], o = t[P("0x0")], a = 0; a < o; ++a) {
+                    var s = t[a];
+                    this[P("0xd67")](s),
+                    !s[P("0xd68")] || s.pass !== e[P("0x5e4")].GLOBE && s[P("0x5d4")] !== e[P("0x5e4")].CESIUM_3D_TILE && s[P("0x5d4")] !== e[P("0x5e4")][P("0x5e5")] && s.pass !== e[P("0x5e4")][P("0x73e")] || this[P("0xd69")](s, r) && n[0][P("0x5ca")].push(s)
+                }
+            }
+            ,
+            e.Scene.prototype[P("0xd67")] = function(t) {
+                if (e[P("0x14")](t.derivedCommands)) {
+                    var i = this[P("0xbe9")]
+                      , r = this[P("0xb84")]
+                      , n = i[P("0x77d")]
+                      , o = this[P("0xc07")]
+                      , a = t[P("0xc0d")]
+                      , s = e[P("0x14")](a[P("0xd6a")])
+                      , x = !(n && o || s);
+                    if (t[P("0x48c")] = !0,
+                    t.dirty) {
+                        t.dirty = !1;
+                        var l = i.videoProjectionMaps;
+                        t.castShadows && (a[P("0xd62")] = e[P("0x4f1")][P("0xd6b")](l, t, !0, r, a[P("0xd62")])),
+                        (s || x) && this[P("0xd6c")](t)
+                    }
+                }
+            }
+            ,
+            e[P("0xc3a")].prototype[P("0xd61")] = function(t, i, r) {
+                var n = this[P("0xbe9")];
+                if (!e[P("0x14")](this[P("0xd6d")]) || this[P("0xd6d")](t))
+                    if (t instanceof e[P("0x790")])
+                        t.execute(i, r);
+                    else if (!t.debugShowBoundingVolume || !e.defined(t[P("0x4bc")])) {
+                        n[P("0x77d")] && e[P("0x14")](t[P("0xc0d")][P("0xd6e")]) && (t = t[P("0xc0d")].logDepth.command);
+                        var o = n[P("0xb87")];
+                        if (!o.pick && this[P("0xc07")] && e[P("0x14")](t.derivedCommands) && e[P("0x14")](t[P("0xc0d")].hdr) && (t = t[P("0xc0d")][P("0xd6f")][P("0x4d7")]),
+                        o[P("0xa4")] || o.depth) {
+                            if (o[P("0xa4")] && !o[P("0x456")] && e.defined(t.derivedCommands[P("0xc0e")]))
+                                return void (t = t.derivedCommands[P("0xc0e")].pickCommand)[P("0x797")](i, r);
+                            if (e[P("0x14")](t[P("0xc0d")][P("0x456")]))
+                                return void (t = t[P("0xc0d")][P("0x456")].depthOnlyCommand)[P("0x797")](i, r)
+                        }
+                        this[P("0xd70")] || this.debugShowFrustums || (n[P("0xd71")].lightShadowsEnabled && t[P("0xd72")] && e[P("0x14")](t[P("0xc0d")][P("0xd62")]) ? t.derivedCommands[P("0xd62")][P("0xd73")][P("0x797")](i, r) : t[P("0x797")](i, r))
+                    }
+            }
+            ,
+            e[P("0xc3a")][P("0x5")][P("0xd6c")] = function(t) {
+                var i = this._frameState
+                  , r = this[P("0xb84")]
+                  , n = this._view[P("0xd74")]
+                  , o = i[P("0xd71")][P("0xd75")]
+                  , a = i.shadowState[P("0xd76")]
+                  , s = t.derivedCommands;
+                e[P("0x14")](t[P("0xd77")]) && (s[P("0xc0e")] = e[P("0xd78")].createPickDerivedCommand(this, t, r, s[P("0xc0e")])),
+                t[P("0xd79")] || (s[P("0x456")] = e.DerivedCommand[P("0xd7a")](this, t, r, s[P("0x456")])),
+                s[P("0xd6a")] = t,
+                this._hdr && (s.hdr = e[P("0xd78")][P("0xd7b")](t, r, s[P("0xd6f")]),
+                s = (t = s.hdr[P("0x4d7")])[P("0xc0d")]),
+                a && t.receiveShadows && (s[P("0xd62")] = e[P("0x4f1")][P("0xd7c")](o, t, !0, r, s[P("0xd62")])),
+                t.pass === e[P("0x5e4")][P("0x73e")] && e.defined(n) && n[P("0xd7d")]() && (a && t[P("0xd72")] ? (s.oit = e.defined(s.oit) ? s[P("0xd74")] : {},
+                s[P("0xd74")][P("0xd62")] = n[P("0xd7e")](s[P("0xd62")][P("0xd73")], r, s[P("0xd74")][P("0xd62")])) : s[P("0xd74")] = n.createDerivedCommands(t, r, s.oit))
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = e[P("0xd7f")] = function(t) {
+                t = e[P("0x102")](t, e.defaultValue[P("0x128")]),
+                this[P("0xd80")] = null,
+                this.filterFar = e.defaultValue(t[P("0xd81")], 1e6),
+                this.scene = t[P("0x10f")],
+                this.initStage()
+            }
+            ;
+            e[P("0xf")](t[P("0x5")], {
+                name: {
+                    get: function() {
+                        return this[P("0xd80")][P("0x176")]
+                    }
+                },
+                inputPreviousStageTexture: {
+                    get: function() {
+                        return this._stage[P("0xd82")]
+                    }
+                },
+                enabled: {
+                    set: function(e) {
+                        this[P("0xd80")][P("0x364")] = e
+                    },
+                    get: function() {
+                        return this[P("0xd80")][P("0x364")]
+                    }
+                },
+                _textureCache: {
+                    set: function(e) {
+                        this[P("0xd80")][P("0xd83")] = e
+                    },
+                    get: function() {
+                        return this[P("0xd80")][P("0xd83")]
+                    }
+                },
+                outputTexture: {
+                    get: function() {
+                        return this[P("0xd80")][P("0xd84")]
+                    }
+                },
+                ready: {
+                    get: function() {
+                        return this[P("0xd80")][P("0xa8e")]
+                    }
+                },
+                _index: {
+                    set: function(e) {
+                        this[P("0xd80")]._index = e
+                    },
+                    get: function() {
+                        return this[P("0xd80")][P("0xd85")]
+                    }
+                },
+                uniforms: {
+                    get: function() {
+                        return this[P("0xd80")].uniforms
+                    }
+                },
+                _textureScale: {
+                    get: function() {
+                        return this[P("0xd80")].textureScale
+                    }
+                },
+                _pixelFormat: {
+                    get: function() {
+                        return this[P("0xd80")][P("0xd86")]
+                    }
+                },
+                _forcePowerOfTwo: {
+                    get: function() {
+                        return this[P("0xd80")][P("0xd87")]
+                    }
+                },
+                _pixelDatatype: {
+                    get: function() {
+                        return this[P("0xd80")][P("0xd88")]
+                    }
+                },
+                _clearColor: {
+                    get: function() {
+                        return this[P("0xd80")][P("0xd89")]
+                    }
+                }
+            }),
+            t[P("0x5")][P("0xd8a")] = function() {
+                var t = this
+                  , i = P("0x7a0") + P("0x7a1") + P("0x7a4") + P("0xd8b") + P("0xd8c") + "{\n" + P("0xd8d") + P("0xd8e") + P("0xd8f") + "   return posEC;\n}\n" + P("0xd90") + P("0x7b1") + "    vec3 hsb = czm_RGBToHSB(color.rgb);\n" + P("0xd91") + P("0xd92") + P("0x85f") + P("0xd93") + P("0x7b7") + "    else\n" + P("0x85f") + P("0xd94") + P("0x7b7") + "    color.rgb = czm_HSBToRGB(hsb);\n" + P("0xd95") + P("0xd96") + P("0xd97") + P("0xd98") + P("0x85f") + P("0xd99") + "    }\n" + P("0xd9a") + P("0x85f") + P("0xd9b") + P("0x7b7") + "}\n"
+                  , r = new (e[P("0x7c5")])({
+                    fragmentShader: i,
+                    name: e[P("0x75c")](),
+                    inputPreviousStageTexture: !0,
+                    uniforms: {
+                        u_filterFar: function() {
+                            var e = t[P("0x10f")];
+                            if (e) {
+                                var i = e[P("0x7e")];
+                                if (i[P("0xd81")] && i[P("0xd9c")])
+                                    return .6 * i[P("0xd81")]
+                            }
+                            return t[P("0xd81")]
+                        }
+                    }
+                });
+                (this[P("0xd80")] = r)[P("0x48b")] = !0
+            }
+            ,
+            t[P("0x5")][P("0xd2")] = function(e, t) {
+                this[P("0xd80")][P("0xd2")](e, t)
+            }
+            ,
+            t[P("0x5")][P("0xd9d")] = function(e) {
+                return this[P("0xd80")]._isSupported(e)
+            }
+            ,
+            t[P("0x5")].execute = function(e, t, i, r) {
+                this[P("0xd80")][P("0x797")](e, t, i, r)
+            }
+            ,
+            t[P("0x5")][P("0xf4")] = function() {
+                return this[P("0xd80")].destroy(),
+                destroyObject(this)
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0xd9e")] = function(t) {
+                this[P("0x13b")] = t[P("0x13b")],
+                this[P("0x10f")] = this[P("0x13b")].scene,
+                this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
+                this[P("0xef")] = this[P("0x10f")].globe[P("0xef")],
+                this.path = e.defaultValue(t[P("0xd9f")], null),
+                this.moveStep = e.defaultValue(t[P("0xda0")], 2),
+                this.rotateStep = e[P("0x102")](t[P("0xda1")], 10),
+                this.frameChange = e[P("0x102")](t[P("0xda2")], (function() {}
+                )),
+                this[P("0xda3")] = !1,
+                this[P("0xda4")] = new i(this),
+                this[P("0xda4")][P("0xda5")](this[P("0xda2")])
+            }
+            ;
+            t[P("0x5")][P("0x198")] = function() {
+                (this[P("0x7e")][P("0xda6")] = this)[P("0x10f")].logarithmicDepthBuffer = !1,
+                e[P("0x3cb")][P("0x5")][P("0xda7")] = e[P("0x3cb")][P("0x5")].update,
+                e.Camera[P("0x5")][P("0xd2")] = function(e) {
+                    this._hookUpdate(e),
+                    this[P("0xda6")] && this._hooker.raiseUpdate(this)
+                }
+            }
+            ,
+            t[P("0x5")].raiseUpdate = function(t) {
+                var i = {};
+                if (!this[P("0xda3")]) {
+                    var r = this[P("0xda4")].next();
+                    if (void 0 !== r) {
+                        i[P("0x8c")] = e[P("0x11")][P("0x6e")](r[P("0x8c")]),
+                        i[P("0xda8")] = e[P("0x13")].fromCartesian(r.position, this[P("0xef")]);
+                        var n = e[P("0x1f")][P("0xbf")](r[P("0x8c")], this[P("0xef")], o)
+                          , x = r.direction
+                          , l = new (e[P("0x11")])(n[8],n[9],n[10])
+                          , c = e[P("0x11")][P("0x99")](x, l, a);
+                        e[P("0x11")][P("0x8d")](c, c),
+                        l = e[P("0x11")][P("0x99")](c, x, s),
+                        e[P("0x11")][P("0x8d")](l, l),
+                        i.direction = e[P("0x11")][P("0x6e")](x),
+                        i.up = e[P("0x11")][P("0x6e")](l),
+                        i[P("0x9b")] = e[P("0x11")][P("0x6e")](c),
+                        this._lockCamera = !0,
+                        t[P("0x9c")]({
+                            destination: i[P("0x8c")],
+                            orientation: {
+                                direction: i[P("0x93")],
+                                up: i.up
                             }
                         }),
-                        n[P("0x5")][P("0xce2")] = function (e, t) {
-                            this._actived && this._visibly && (t && this[P("0xc67")] === t ? (t[P("0xce4")] && (this[P("0xcc0")] = t[P("0xce4")]()),
-                                this[P("0xd2")](e),
-                                this[P("0xcc0")] = null) : this[P("0x9fc")][P("0x896")](P("0xce3")))
-                        }
-                        ,
-                        n.prototype[P("0xd2")] = function (e) {
-                            this[P("0x6ce")] ? e ? e[P("0x5ca")][P("0x17c")](this._drawCommand) : this[P("0x9fc")].raiseEvent(P("0xce5")) : this[P("0x9fc")][P("0x896")]("update!")
-                        }
-                        ,
-                        n.prototype[P("0xce6")] = function (e) {
-                            e && (this._position = e[P("0x6e")](),
-                                this._isNeedRecreate = !0,
-                                this[P("0xce7")]())
-                        }
-                        ,
-                        n[P("0x5")][P("0xce8")] = function (e) {
-                            e && (this[P("0xce9")] = e,
-                                this._tryCreate())
-                        }
-                        ,
-                        n.prototype[P("0xcea")] = function (e) {
-                            e && (this.fovY = e,
-                                this[P("0xce7")]())
-                        }
-                        ,
-                        n[P("0x5")]._updateFovDistance = function (e) {
-                            e && (this[P("0xc9b")] = e,
-                                this._tryCreate())
-                        }
-                        ,
-                        n[P("0x5")]._updateHeading = function (e) {
-                            e && (this[P("0x7f")] = e,
-                                this._tryCreate())
-                        }
-                        ,
-                        n[P("0x5")][P("0xceb")] = function (e) {
-                            e && (this[P("0x80")] = e,
-                                this[P("0xce7")]())
-                        }
-                        ,
-                        n[P("0x5")][P("0xcec")] = function (e) {
-                            e && (this[P("0x81")] = e,
-                                this[P("0xce7")]())
-                        }
-                        ,
-                        n.prototype[P("0xced")] = function (e, t, i, r, n, o) {
-                            e && (this[P("0xce9")] = e),
-                                t && (this[P("0xcee")] = t),
-                                i && (this.fovDistance = i),
-                                r && (this.heading = r),
-                                n && (this[P("0x80")] = n),
-                                o && (this[P("0x81")] = o),
-                                this[P("0xce7")]()
-                        }
-                        ,
-                        n[P("0x5")][P("0xc91")] = function () {
-                            var e = this;
-                            return {
-                                uDiffuseColor: function () {
-                                    return e[P("0x169")]
-                                }
-                            }
-                        }
-                        ,
-                        n[P("0x5")]._computeTransform = function () {
-                            if (!this[P("0x8c")])
-                                return this[P("0x9fc")][P("0x896")]("_computeTransform!"),
-                                    null;
-                            var t = null;
-                            (t = this[P("0xcc0")] ? e[P("0x3cb")].clone(this._videoProjectionCamera, null) : e[P("0x3cb")].clone(this[P("0x42")][P("0x7e")], null))[P("0xe8")].aspectRatio = this[P("0xce9")] / this[P("0xcee")],
-                                t[P("0xe8")].fov = this[P("0xce9")] * e[P("0x23")][P("0xa2c")],
-                                t[P("0xe8")][P("0xb3e")] = .1,
-                                t[P("0xe8")][P("0xc13")] = this.fovDistance,
-                                t.setView({
-                                    destination: this[P("0x8c")],
-                                    orientation: {
-                                        heading: this[P("0x7f")] * e.Math[P("0xa2c")],
-                                        pitch: this.pitch * e[P("0x23")][P("0xa2c")],
-                                        roll: this.roll * e[P("0x23")].RADIANS_PER_DEGREE
-                                    }
-                                });
-                            var i = new (e[P("0x1b")]);
-                            return i[0] = t[P("0x9b")].x,
-                                i[1] = t[P("0x9b")].y,
-                                i[2] = t[P("0x9b")].z,
-                                i[3] = 0,
-                                i[4] = t.direction.x,
-                                i[5] = t[P("0x93")].y,
-                                i[6] = t[P("0x93")].z,
-                                i[7] = 0,
-                                i[8] = t.up.x,
-                                i[9] = t.up.y,
-                                i[10] = t.up.z,
-                                i[11] = 0,
-                                i[12] = t[P("0x8c")].x,
-                                i[13] = t[P("0x8c")].y,
-                                i[14] = t[P("0x8c")].z,
-                                i[15] = 1,
-                                i
-                        }
-                        ,
-                        n[P("0x5")][P("0xcef")] = function () {
-                            if (!this[P("0x8c")])
-                                return this[P("0x9fc")][P("0x896")](P("0xcf0")),
-                                    null;
-                            var t = null;
-                            return (t = this[P("0xcc0")] ? e[P("0x3cb")].clone(this[P("0xcc0")], null) : e[P("0x3cb")][P("0x6e")](this[P("0x42")][P("0x7e")], null))[P("0xe8")][P("0xaef")] = this[P("0xce9")] / this[P("0xcee")],
-                                t[P("0xe8")].fov = this[P("0xce9")] * e.Math[P("0xa2c")],
-                                t.frustum[P("0xb3e")] = 1,
-                                t[P("0xe8")].far = this[P("0xc9b")],
-                                t[P("0x9c")]({
-                                    destination: this.position,
-                                    orientation: {
-                                        heading: this.heading * e.Math[P("0xa2c")],
-                                        pitch: this[P("0x80")] * e[P("0x23")][P("0xa2c")],
-                                        roll: this[P("0x81")] * e[P("0x23")].RADIANS_PER_DEGREE
-                                    }
-                                }),
-                                t.inverseViewMatrix[P("0x6e")]()
-                        }
-                        ,
-                        n.prototype[P("0xcf1")] = function () {
-                            return "attribute vec4 aPosition;\n" + P("0xcf2") + P("0xcf3") + P("0xcf4") + P("0xcf5") + P("0xcf6") + P("0xcf7") + "{\n" + P("0xcf8") + "    clipPos.z = min(clipPos.z, clipPos.w);\n" + P("0xcf9") + "}\n" + P("0x708") + "{\n" + P("0xcfa") + P("0xcfb") + "    clip_vertex = czm_modelView * vec4(aPosition.xyz, 1.0);\n" + P("0xcfc") + P("0xcfd") + "}"
-                        }
-                        ,
-                        n[P("0x5")]._createFS = function () {
-                            return P("0xcfe") + P("0xcff") + "varying vec4 vColor;\nvarying float fWindowZ;\n" + P("0xcf6") + "vec4 LIGHT_COLOR = vec4(0.8, 0.8, 0.8, 1.0);\nvoid main()\n{\n" + P("0xd00") + P("0xd01") + P("0xd02") + "    vec4 eyePosition = czm_modelView * vec4(normal_vertex.xyz, 1.0);\n" + P("0xd03") + "    float nDotL = max(dot(lightDirection, normal), 0.0);\n" + P("0xd04") + P("0xd05") + P("0xd06") + "}"
-                        }
-                        ,
-                        n[P("0x5")][P("0xd07")] = function () {
-                            var t = this._scene[P("0x3cc")];
-                            if (!t)
-                                return this[P("0x9fc")][P("0x896")]("_createVA!"),
-                                    null;
-                            var i = this[P("0xcc2")]
-                                , r = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 15)
-                                , n = 3
-                                , o = this[P("0xd08")] * e[P("0x23")].RADIANS_PER_DEGREE
-                                , a = this[P("0xcc1")] * e[P("0x23")][P("0xa2c")];
-                            if (Math[P("0x2ae")](Math[P("0x9a")](.5 * o), 2) < .001)
-                                return null;
-                            var s = i / Math[P("0x9a")](.5 * o)
-                                , x = i * Math[P("0x992")](.5 * a);
-                            i = Math[P("0xca")](s * s + x * x);
-                            for (var l = e[P("0x23")].PI_OVER_TWO + .5 * o, c = .5 * a, u = 0, h = 0, f = o / 1, d = a / 1, g = 0; g < 2; g++) {
-                                u = l - g * f;
-                                for (var p = 0; p < 2; p++)
-                                    h = c - p * d,
-                                        r[n++] = i * Math[P("0x9a")](h) * Math[P("0x9a")](u),
-                                        r[n++] = i * Math[P("0x9a")](h) * Math.sin(u),
-                                        r[n++] = i * Math.sin(h)
-                            }
-                            var m = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")].UNSIGNED_SHORT, 16)
-                                , b = 0;
-                            for (m[b++] = 0,
-                                m[b++] = 1,
-                                m[b++] = 0,
-                                m[b++] = 2,
-                                m[b++] = 0,
-                                m[b++] = 3,
-                                m[b++] = 0,
-                                m[b++] = 4,
-                                g = 0; g < 2; g++)
-                                for (p = 0; p < 1; p++)
-                                    m[b++] = 1 + p + 2 * g,
-                                        m[b++] = 1 + (p + 1) + 2 * g;
-                            for (g = 0; g < 2; g++)
-                                for (p = 0; p < 1; p++)
-                                    m[b++] = 1 + 2 * p + g,
-                                        m[b++] = 1 + 2 * (p + 1) + g;
-                            var v = e[P("0x5ea")][P("0x5eb")]({
-                                context: t,
-                                typedArray: r,
-                                usage: e[P("0x4d5")].STATIC_DRAW
+                        this._lockCamera = !1
+                    } else
+                        this[P("0xda3")] = !1
+                }
+            }
+            ,
+            t.prototype[P("0xda9")] = function() {
+                e[P("0x3cb")][P("0x5")][P("0xda7")] && (e[P("0x3cb")].prototype.update = e.Camera[P("0x5")][P("0xda7")]),
+                delete this[P("0x7e")][P("0xda6")] && delete this.camera[P("0xc")][P("0xda7")]
+            }
+            ,
+            t[P("0x5")][P("0xf4")] = function() {
+                e[P("0x3cb")][P("0x5")][P("0xd2")] = e[P("0x3cb")].prototype[P("0xda7")],
+                delete this.camera[P("0xda6")] && delete this[P("0x7e")][P("0xc")]._hookUpdate,
+                this.scene.logarithmicDepthBuffer = !0
+            }
+            ;
+            var i = function(t) {
+                this[P("0xdaa")] = t,
+                this._begin = 0,
+                this._isDone = !1,
+                this[P("0xdab")] = !1,
+                this[P("0xdac")] = new (e[P("0x766")])
+            };
+            function r(e, t, i) {
+                return void 0 === e || void 0 === e.x || void 0 === t || void 0 === t.x || !!n(e.x, t.x, i) && !!n(e.y, t.y, i) && !!n(e.z, t.z, i)
+            }
+            function n(e, t, i) {
+                return void 0 === i && (i = 1e-7),
+                Math[P("0x78")](e - t) < i
+            }
+            i[P("0x5")].addChangeEventListener = function(e) {
+                this[P("0xdac")].addEventListener(e)
+            }
+            ,
+            i[P("0x5")][P("0xdad")] = function(e) {
+                this[P("0xdac")].raiseEvent(e)
+            }
+            ,
+            i[P("0x5")][P("0xdae")] = function() {
+                return this[P("0xdaf")]
+            }
+            ,
+            i[P("0x5")][P("0xdb0")] = function() {
+                return this._isPause
+            }
+            ,
+            i[P("0x5")][P("0xe2")] = function(e) {
+                this[P("0xdb1")] = null == e ? 0 : e,
+                this._isDone = !1,
+                this._isPause = !1
+            }
+            ,
+            i[P("0x5")][P("0xe4")] = function() {
+                this[P("0xdb2")]()
+            }
+            ,
+            i[P("0x5")][P("0xdb2")] = function() {
+                this._isDone = !0,
+                this[P("0xdab")] = !1,
+                this[P("0xdb1")] = 0,
+                this[P("0xdb3")] = void 0,
+                this[P("0xdb4")] = void 0,
+                this[P("0xdb5")] = void 0
+            }
+            ,
+            i.prototype[P("0x546")] = function() {
+                this._isPause = !0
+            }
+            ,
+            i[P("0x5")][P("0xdb6")] = function() {
+                this[P("0xdab")] = !1
+            }
+            ,
+            i[P("0xdb7")] = function(e, t) {
+                var i = t
+                  , r = i[P("0xdb8")]() - e[P("0xdb8")]();
+                return r += 1e3 * (i[P("0xdb9")]() - e[P("0xdb9")]()),
+                (r += 60 * (i[P("0xdba")]() - e[P("0xdba")]()) * 1e3) + 60 * (i.getHours() - e[P("0x982")]()) * 60 * 1e3
+            }
+            ,
+            i[P("0x5")][P("0x7e3")] = function() {
+                if (!this[P("0xdaf")]) {
+                    if (void 0 === this[P("0xdb3")])
+                        return this[P("0xdb3")] = this[P("0xdbb")](),
+                        void 0 === this.state || (this[P("0xdb3")].date = new Date),
+                        this.state;
+                    if (this[P("0xdab")])
+                        return this[P("0xdb3")][P("0xdbc")] = new Date,
+                        this[P("0xdb3")];
+                    var t = this[P("0xdb3")];
+                    if (r(t[P("0x8c")], t[P("0x64")]) && r(t[P("0x93")], t.endDirection))
+                        return void 0 !== t[P("0x7e3")] ? (this[P("0xdb3")] = t[P("0x7e3")],
+                        this.state[P("0xdbc")] = new Date,
+                        this[P("0xdb3")]) : (this[P("0xdb1")]++,
+                        this[P("0xdb1")] >= this[P("0xdaa")][P("0xd9f")].length ? (this[P("0xdad")](this[P("0xdb1")]),
+                        void this._toStop()) : (this.state = this._createState(),
+                        void 0 === this[P("0xdb3")] ? this.state : (this[P("0xdb3")][P("0xdbc")] = new Date,
+                        this[P("0xdb3")])));
+                    if (r(t[P("0x93")], t[P("0xdbd")])) {
+                        var n = e[P("0x11")][P("0x8e")](t[P("0x64")], t[P("0x8c")])
+                          , o = this._walkAnimation[P("0xda0")] + t[P("0xdbe")];
+                        return x = new Date,
+                        l = i.ComputeTimeDelta(t[P("0xdbc")], x),
+                        t.date = x,
+                        n <= (o *= l / 1e3) ? (t[P("0x8c")] = e[P("0x11")][P("0x6e")](t.endPosition, new e.Cartesian3),
+                        t) : (a = e[P("0x11")][P("0x95")](t[P("0x64")], t[P("0x8c")], new (e[P("0x11")])),
+                        e[P("0x11")][P("0x8d")](a, a),
+                        e[P("0x11")][P("0x6c")](a, o, a),
+                        t[P("0x8c")] = e[P("0x11")][P("0x6d")](t.position, a, new (e[P("0x11")])),
+                        t)
+                    }
+                    var a = e[P("0x11")][P("0x99")](t.direction, t[P("0xdbd")], new e.Cartesian3);
+                    e[P("0x11")][P("0x8d")](a, a);
+                    var s = e[P("0x23")][P("0x119")](this[P("0xdaa")][P("0xda1")] + t.rotateSpeed)
+                      , x = new Date
+                      , l = i.ComputeTimeDelta(t[P("0xdbc")], x);
+                    if (t[P("0xdbc")] = x,
+                    (s *= l / 1e3) < e.Cartesian3[P("0xcb")](t.direction, t[P("0xdbd")])) {
+                        var c = e[P("0x1d")][P("0xcc")](a, s, new e.Quaternion)
+                          , u = e[P("0x1a")][P("0xcd")](c, new (e[P("0x1a")]))
+                          , h = e[P("0x1b")][P("0x738")](u, new (e[P("0x11")])(0,0,0), new (e[P("0x1b")]))
+                          , f = e[P("0x1b")].multiplyByPointAsVector(h, t[P("0x93")], new (e[P("0x11")]));
+                        return t[P("0x93")] = e[P("0x11")][P("0x8d")](f, new (e[P("0x11")])),
+                        t
+                    }
+                    return t[P("0x93")] = e[P("0x11")].clone(t.endDirection, new (e[P("0x11")])),
+                    t
+                }
+            }
+            ,
+            i[P("0x5")][P("0xdbb")] = function() {
+                this[P("0xdad")](this[P("0xdb1")]);
+                var t = this[P("0xdb1")]
+                  , i = t + 1
+                  , r = this[P("0xdaa")][P("0xd9f")];
+                if (i >= r[P("0x0")])
+                    return this.raiseChangeEvent(i),
+                    void this[P("0xdb2")]();
+                var n = {}
+                  , o = r[t]
+                  , a = r[i];
+                return n[P("0x8c")] = e.Cartesian3[P("0x1a1")](o[P("0xda8")].longitude, o.geoposition[P("0x114")], o[P("0xda8")][P("0x8b")], this[P("0xdaa")][P("0xef")], new (e[P("0x11")])),
+                n[P("0x93")] = e[P("0x11")].clone(o[P("0x93")], new (e[P("0x11")])),
+                n[P("0xdbe")] = o[P("0xdbe")],
+                n[P("0xdbf")] = o.rotateSpeed,
+                n.endPosition = e[P("0x11")][P("0x1a1")](a.geoposition[P("0x112")], a[P("0xda8")].latitude, a.geoposition.height, this[P("0xdaa")][P("0xef")], new (e[P("0x11")])),
+                n[P("0xdbd")] = e[P("0x11")][P("0x6e")](a[P("0x93")], new e.Cartesian3),
+                n
+            }
+            ;
+            var o = new e.Matrix4
+              , a = (new (e[P("0x11")]),
+            new (e[P("0x11")]))
+              , s = new e.Cartesian3
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e.GeoWalkerCamera = function(i) {
+                this.viewer = i[P("0x13b")],
+                this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
+                this[P("0x7e")] = this[P("0x13b")].camera,
+                this[P("0x94e")] = e[P("0x102")](i[P("0x94e")], 1),
+                this[P("0xdc0")] = e[P("0x102")](i[P("0xdc0")], 5),
+                this[P("0xdc1")] = e[P("0x102")](i.manHeight, 1.6),
+                this[P("0xdc2")] = e.defaultValue(i[P("0xdc2")], .8),
+                this[P("0xdb3")] = t[P("0xdc3")][P("0xdc4")],
+                this._lockCamera = !1,
+                this[P("0xdc5")] = !1,
+                this[P("0x44")] = this.scene[P("0xa3")][P("0xef")],
+                this[P("0xdc6")] = new l,
+                this[P("0xdc7")] = !1,
+                this[P("0xd81")] = e.defaultValue(i.filterFar, null),
+                this[P("0xdc8")] = e[P("0x102")](i[P("0xdc9")], !0),
+                i[P("0xdca")] && this[P("0x13b")] && viewer[P("0x10f")][P("0x77c")].add(new (e[P("0xd7f")])({
+                    scene: viewer[P("0x10f")]
+                }))
+            }
+            ;
+            t[P("0x5")].setState = function(t) {
+                0 < Object[P("0xdcb")](e[P("0xdcc")].stateType).filter((function(i) {
+                    return e[P("0xdcc")][P("0xdc3")][i] === t
+                }
+                ))[P("0x0")] && (this[P("0xdb3")] = t)
+            }
+            ,
+            t[P("0x5")].activate = function() {
+                this[P("0xd81")] && (this[P("0x7e")].filterFar = this[P("0xd81")]),
+                (this[P("0x7e")][P("0xda6")] = this)[P("0x10f")][P("0xdcd")] = !1,
+                e[P("0x3cb")][P("0x5")][P("0xda7")] = e[P("0x3cb")][P("0x5")][P("0xd2")],
+                e[P("0x3cb")].prototype[P("0xd2")] = function(e) {
+                    this._hookUpdate(e),
+                    this[P("0xda6")] && this[P("0xda6")][P("0xdce")](this)
+                }
+            }
+            ,
+            t[P("0x5")].unactivate = function() {
+                this[P("0x7e")] && this[P("0x7e")][P("0xd81")] && delete this.camera[P("0xd81")],
+                e[P("0x3cb")][P("0x5")]._hookUpdate && (e[P("0x3cb")][P("0x5")].update = e[P("0x3cb")].prototype[P("0xda7")]),
+                delete this[P("0x7e")]._hooker && delete this[P("0x7e")][P("0xc")][P("0xda7")]
+            }
+            ,
+            t[P("0x5")][P("0xdce")] = function(e) {
+                if (!(!this[P("0xdc5")] || this._lockCamera || this[P("0xdb3")] < 1))
+                    switch (this[P("0xdb3")]) {
+                    case t[P("0xdc3")][P("0xdcf")]:
+                        this.computeForeward(e);
+                        break;
+                    case t[P("0xdc3")].BACKWARD:
+                        this.computeBackward(e);
+                        break;
+                    case t[P("0xdc3")][P("0xdd0")]:
+                        this[P("0xdd1")](e);
+                        break;
+                    case t.stateType.RIGHTWARD:
+                        this.computeRightward(e);
+                        break;
+                    case t[P("0xdc3")][P("0xdd2")]:
+                        this[P("0xdd3")](e);
+                        break;
+                    case t.stateType[P("0xdd4")]:
+                        this[P("0xdd5")](e);
+                        break;
+                    case t.stateType[P("0x138")]:
+                        this.computeTrunLeft(e);
+                        break;
+                    case t[P("0xdc3")][P("0x139")]:
+                        this[P("0xdd6")](e);
+                        break;
+                    case t[P("0xdc3")][P("0xdc4")]:
+                        return
+                    }
+            }
+            ,
+            t[P("0x5")].setView = function(e) {
+                this[P("0xda3")] = !0,
+                this.camera[P("0x9c")](e),
+                this[P("0xda3")] = !1,
+                this[P("0xdc5")] = !0
+            }
+            ,
+            t[P("0x5")][P("0xdd7")] = function(e) {
+                this[P("0xda3")] = !0,
+                this[P("0x7e")][P("0xb2a")](e || 100),
+                this[P("0xda3")] = !1
+            }
+            ,
+            t[P("0x5")][P("0xdd8")] = function(t) {
+                this[P("0x10f")][P("0xa4")](t);
+                var i = this[P("0x10f")][P("0x174")](t)
+                  , r = e[P("0x13")].fromCartesian(i, this[P("0x44")]);
+                if (0 < r[P("0x8b")])
+                    r[P("0x8b")] += this[P("0xdc1")];
+                else {
+                    var n = this[P("0x10f")][P("0xa3")][P("0xed")](r);
+                    r[P("0x8b")] = 0 < n ? n + this.manHeight : 1e3
+                }
+                var o = e[P("0x11")].fromRadians(r[P("0x112")], r.latitude, r[P("0x8b")], this[P("0x44")]);
+                this._lockCamera = !0,
+                this.camera[P("0x9c")]({
+                    destination: o,
+                    orientation: {
+                        heading: this[P("0x7e")][P("0x7f")],
+                        pitch: 0,
+                        up: 0
+                    }
+                }),
+                this[P("0xda3")] = !1,
+                this[P("0xdc5")] = !0,
+                this[P("0x7e")] && this[P("0xd81")] && (this[P("0xd9c")](!0),
+                this[P("0x7e")].enableFilter = !0)
+            }
+            ,
+            t[P("0x5")][P("0xdd9")] = function(t) {
+                var i = new e.Cartesian3
+                  , n = t[P("0x8c")]
+                  , l = (t[P("0xa5")],
+                t[P("0xa6")].clone())
+                  , c = this.getTangentNormal()
+                  , u = e[P("0x11")][P("0x99")](l, c, a);
+                if (e[P("0x11")][P("0x8d")](u, u),
+                l = e.Cartesian3.cross(c, u, o),
+                e[P("0x11")][P("0x8d")](l, l),
+                this[P("0xdc8")]) {
+                    var h = this[P("0xdda")](n, l, c, 1 / r * this[P("0x94e")]);
+                    e[P("0x11")].multiplyByScalar(l, h, i),
+                    e[P("0x11")][P("0x6d")](n, i, n);
+                    var f = x;
+                    f[P("0x87")] = n,
+                    f[P("0x93")] = e[P("0x11")][P("0xc8")](c, s);
+                    var d = e[P("0x13")].fromCartesian(f[P("0x87")], this[P("0x44")])
+                      , g = e[P("0xbe0")][P("0xa4")](this[P("0x10f")], f, l, !0);
+                    if (g && g[P("0x8c")] && g[P("0x7")])
+                        (m = e[P("0x13")][P("0x175")](g[P("0x8c")], this[P("0x44")])).height += this[P("0xdc1")],
+                        (p = d.height - m.height) < 3 && -1 < p ? (this[P("0x133")](P("0xddb") + p),
+                        n = e[P("0x11")][P("0x3d0")](m[P("0x112")], m[P("0x114")], m.height, this._ellipsoid)) : this[P("0x133")]("Forward : height = 0");
+                    else {
+                        var p, m = e[P("0x13")][P("0x175")](n, this[P("0x44")]), b = this[P("0x10f")][P("0xa3")][P("0xed")](m);
+                        m[P("0x8b")] = 0 < b ? b + this[P("0xdc1")] : m[P("0x8b")],
+                        (p = d.height - m[P("0x8b")]) < 3 && -1 < p ? (this[P("0x133")](P("0xddc") + p),
+                        n = e[P("0x11")][P("0x3d0")](m[P("0x112")], m[P("0x114")], m[P("0x8b")], this[P("0x44")])) : this[P("0x133")](P("0xddc") + 0)
+                    }
+                } else
+                    e[P("0x11")].multiplyByScalar(l, 1 / r * this[P("0x94e")], i),
+                    e[P("0x11")][P("0x6d")](n, i, n);
+                this[P("0xda3")] = !0,
+                t[P("0x9c")]({
+                    destination: n,
+                    orientation: {
+                        heading: t.heading,
+                        pitch: t[P("0x80")],
+                        up: t.up
+                    }
+                }),
+                this[P("0xda3")] = !1
+            }
+            ,
+            t[P("0x5")][P("0xddd")] = function(t) {
+                var i = new (e[P("0x11")])
+                  , n = t[P("0x8c")]
+                  , l = (t[P("0xa5")],
+                t[P("0xa6")][P("0x6e")]())
+                  , c = this[P("0xdde")]()
+                  , u = e[P("0x11")][P("0x99")](l, c, a);
+                if (e[P("0x11")][P("0x8d")](u, u),
+                l = e[P("0x11")][P("0x99")](c, u, o),
+                e[P("0x11")].normalize(l, l),
+                l = e[P("0x11")][P("0xc8")](l, o),
+                this._collideActived) {
+                    var h = this._computeCollideDistance(n, l, c, 1 / r * this[P("0x94e")]);
+                    e[P("0x11")][P("0x6c")](l, h, i),
+                    e[P("0x11")].add(n, i, n);
+                    var f = x;
+                    f[P("0x87")] = n,
+                    f[P("0x93")] = e[P("0x11")][P("0xc8")](c, s);
+                    var d = e.Cartographic.fromCartesian(f[P("0x87")], this._ellipsoid)
+                      , g = e[P("0x11")][P("0xc8")](l, new (e[P("0x11")]))
+                      , p = e.GeoRayPick[P("0xa4")](this[P("0x10f")], f, g, !0);
+                    if (p && p[P("0x8c")] && p[P("0x7")])
+                        (b = e[P("0x13")].fromCartesian(p[P("0x8c")], this[P("0x44")]))[P("0x8b")] += this[P("0xdc1")],
+                        (m = d[P("0x8b")] - b[P("0x8b")]) < 3 && -1 < m ? (this[P("0x133")]("Backward : height = " + m),
+                        n = e.Cartesian3[P("0x3d0")](b[P("0x112")], b.latitude, b[P("0x8b")], this[P("0x44")])) : this.log(P("0xddf") + 0);
+                    else {
+                        var m, b = e[P("0x13")][P("0x175")](n, this[P("0x44")]), v = this[P("0x10f")][P("0xa3")][P("0xed")](b);
+                        b[P("0x8b")] = 0 < v ? v + this[P("0xdc1")] : b.height,
+                        (m = d[P("0x8b")] - b[P("0x8b")]) < 3 && -1 < m ? (this.log(P("0xde0") + m),
+                        n = e[P("0x11")][P("0x3d0")](b[P("0x112")], b[P("0x114")], b[P("0x8b")], this[P("0x44")])) : this[P("0x133")](P("0xde0") + 0)
+                    }
+                } else
+                    e.Cartesian3[P("0x6c")](l, 1 / r * this.stepSize, i),
+                    e[P("0x11")][P("0x6d")](n, i, n);
+                this[P("0xda3")] = !0,
+                t[P("0x9c")]({
+                    destination: n,
+                    orientation: {
+                        heading: t[P("0x7f")],
+                        pitch: t.pitch,
+                        up: t.up
+                    }
+                }),
+                this[P("0xda3")] = !1
+            }
+            ,
+            t[P("0x5")][P("0xdda")] = function(t, i, r, n) {
+                var o = x;
+                o.origin = t,
+                o[P("0x93")] = i;
+                var a = e[P("0xbe0")][P("0xa4")](this.scene, o, r, !1);
+                if (a && a[P("0x8c")]) {
+                    var s = e[P("0x11")][P("0x8e")](t, a.position);
+                    return s <= this[P("0xdc2")] ? s = 0 : s -= this[P("0xdc2")],
+                    this[P("0x133")](P("0xde1") + s + P("0xde2") + n),
+                    Math.min(s, n)
+                }
+                return this[P("0x133")](P("0xde3")),
+                n
+            }
+            ,
+            t.prototype[P("0x133")] = function(e) {
+                this[P("0xdc7")] && console.log(e)
+            }
+            ,
+            t.prototype[P("0xdd1")] = function(t) {
+                var i = new (e[P("0x11")])
+                  , n = t[P("0x8c")]
+                  , o = t[P("0xa6")]
+                  , a = this[P("0xdde")]();
+                if (o = e[P("0x11")][P("0x99")](a, o, new (e[P("0x11")])),
+                e[P("0x11")].normalize(o, o),
+                this[P("0xdc8")]) {
+                    var l = this[P("0xdda")](n, o, a, .3 / r * this[P("0x94e")]);
+                    e[P("0x11")][P("0x6c")](o, l, i),
+                    e.Cartesian3[P("0x6d")](n, i, n);
+                    var c = x;
+                    c[P("0x87")] = n,
+                    c[P("0x93")] = e[P("0x11")][P("0xc8")](a, s);
+                    var u = e[P("0x13")][P("0x175")](c[P("0x87")], this[P("0x44")])
+                      , h = e[P("0x11")].negate(o, new (e[P("0x11")]))
+                      , f = e.GeoRayPick[P("0xa4")](this[P("0x10f")], c, h, !0);
+                    if (f && f.position && f[P("0x7")])
+                        (g = e.Cartographic[P("0x175")](f[P("0x8c")], this[P("0x44")]))[P("0x8b")] += this[P("0xdc1")],
+                        (d = u[P("0x8b")] - g[P("0x8b")]) < 3 && -1 < d && (n = e[P("0x11")][P("0x3d0")](g[P("0x112")], g[P("0x114")], g.height, this[P("0x44")]));
+                    else {
+                        var d, g = e[P("0x13")][P("0x175")](n, this[P("0x44")]), p = this[P("0x10f")][P("0xa3")][P("0xed")](g);
+                        g[P("0x8b")] = 0 < p ? p + this[P("0xdc1")] : g[P("0x8b")],
+                        (d = u[P("0x8b")] - g.height) < 3 && -1 < d && (n = e[P("0x11")].fromRadians(g[P("0x112")], g[P("0x114")], g[P("0x8b")], this[P("0x44")]))
+                    }
+                } else
+                    e[P("0x11")][P("0x6c")](o, .3 / r * this.stepSize, i),
+                    e[P("0x11")][P("0x6d")](n, i, n);
+                this[P("0xda3")] = !0,
+                t.setView({
+                    destination: n,
+                    orientation: {
+                        heading: t[P("0x7f")],
+                        pitch: t[P("0x80")],
+                        up: t.up
+                    }
+                }),
+                this[P("0xda3")] = !1
+            }
+            ,
+            t[P("0x5")].computeRightward = function(t) {
+                var i = new e.Cartesian3
+                  , n = t[P("0x8c")]
+                  , o = t.directionWC
+                  , a = this[P("0xdde")]();
+                if (o = e[P("0x11")][P("0x99")](o, a, new e.Cartesian3),
+                e[P("0x11")][P("0x8d")](o, o),
+                this[P("0xdc8")]) {
+                    var l = this._computeCollideDistance(n, o, a, .3 / r * this[P("0x94e")]);
+                    e.Cartesian3[P("0x6c")](o, l, i),
+                    e[P("0x11")][P("0x6d")](n, i, n);
+                    var c = x;
+                    c.origin = n,
+                    c[P("0x93")] = e.Cartesian3.negate(a, s);
+                    var u = e.Cartographic[P("0x175")](c[P("0x87")], this._ellipsoid)
+                      , h = e[P("0x11")].negate(o, new (e[P("0x11")]))
+                      , f = e[P("0xbe0")].pick(this[P("0x10f")], c, h, !0);
+                    if (f && f[P("0x8c")] && f.object)
+                        (g = e.Cartographic[P("0x175")](f.position, this[P("0x44")]))[P("0x8b")] += this.manHeight,
+                        (d = u.height - g[P("0x8b")]) < 3 && -1 < d && (n = e[P("0x11")][P("0x3d0")](g[P("0x112")], g.latitude, g[P("0x8b")], this[P("0x44")]));
+                    else {
+                        var d, g = e.Cartographic.fromCartesian(n, this[P("0x44")]), p = this.scene[P("0xa3")].getHeight(g);
+                        g[P("0x8b")] = 0 < p ? p + this.manHeight : g[P("0x8b")],
+                        (d = u[P("0x8b")] - g[P("0x8b")]) < 3 && -1 < d && (n = e.Cartesian3[P("0x3d0")](g[P("0x112")], g.latitude, g[P("0x8b")], this[P("0x44")]))
+                    }
+                } else
+                    e.Cartesian3.multiplyByScalar(o, .3 / r * this.stepSize, i),
+                    e[P("0x11")][P("0x6d")](n, i, n);
+                this[P("0xda3")] = !0,
+                t[P("0x9c")]({
+                    destination: n,
+                    orientation: {
+                        heading: t[P("0x7f")],
+                        pitch: t[P("0x80")],
+                        up: t.up
+                    }
+                }),
+                this[P("0xda3")] = !1
+            }
+            ,
+            t.prototype[P("0xde4")] = function(t) {
+                t[P("0xe7")](this.getTangentNormal(), -e[P("0x23")][P("0x119")](e[P("0x102")](this[P("0xdc0")], 5)) / r)
+            }
+            ,
+            t[P("0x5")][P("0xdd6")] = function(t) {
+                t.look(this[P("0xdde")](), e.Math.toRadians(e[P("0x102")](this.rotateSize, 5)) / r)
+            }
+            ,
+            t[P("0x5")][P("0xdd3")] = function(t) {
+                t[P("0xe7")](e[P("0x11")][P("0x99")](t[P("0xa6")].clone(), this[P("0xdde")](), a), -e[P("0x23")][P("0x119")](e[P("0x102")](this[P("0xdc0")], 5)) / r)
+            }
+            ,
+            t[P("0x5")][P("0xdd5")] = function(t) {
+                t.look(e[P("0x11")][P("0x99")](t[P("0xa6")][P("0x6e")](), this[P("0xdde")](), a), e[P("0x23")][P("0x119")](e.defaultValue(this.rotateSize, 5)) / r)
+            }
+            ,
+            t[P("0x5")][P("0xdde")] = function() {
+                var t = e.Transforms.eastNorthUpToFixedFrame(this.camera[P("0xa5")], this._ellipsoid, n);
+                return new (e[P("0x11")])(t[8],t[9],t[10])
+            }
+            ,
+            t[P("0x5")].destroy = function() {
+                e[P("0x3cb")].prototype.update = e[P("0x3cb")].prototype._hookUpdate,
+                delete this[P("0x7e")][P("0xda6")] && delete this[P("0x7e")][P("0xc")]._hookUpdate,
+                this[P("0x10f")][P("0xdcd")] = !0
+            }
+            ;
+            var i = new (e[P("0x10")]);
+            t[P("0x5")][P("0xde5")] = function(t) {
+                if (t[P("0x63")] && t.endPosition) {
+                    var n = e[P("0x10")].subtract(t.endPosition, t[P("0x63")], i);
+                    if (0 != n.x) {
+                        var o = e[P("0x102")](this[P("0xdc0")], 5) * n.x / 5;
+                        this[P("0x7e")][P("0xe7")](this[P("0xdde")](), e[P("0x23")][P("0x119")](o) / r)
+                    }
+                    0 != n.y && (o = e[P("0x102")](this[P("0xdc0")], 5) * n.y / 5,
+                    this[P("0x7e")][P("0xe7")](e[P("0x11")].cross(this.camera.directionWC[P("0x6e")](), this.getTangentNormal(), a), e[P("0x23")][P("0x119")](o) / r))
+                }
+            }
+            ,
+            t.prototype.enableFilter = function(t) {
+                t = t || !1,
+                this[P("0x7e")] && this[P("0xd81")] && 1.58 <= e[P("0x373")] && ((this[P("0x7e")][P("0xd9c")] = t) ? e[P("0x2e1")][P("0x5")][P("0xde6")] = function(t, i) {
+                    var r = i[P("0x7e")];
+                    if (r[P("0xd81")] && r[P("0xd9c")]) {
+                        var n = r[P("0xd81")]
+                          , o = t[P("0x55b")][P("0x181")]
+                          , a = e[P("0x11")][P("0x8e")](t.boundingSphere[P("0x11a")], r[P("0xaea")]);
+                        if (n < (a -= o))
+                            return !0
+                    }
+                    return !1
+                }
+                : e[P("0x2e1")].prototype[P("0xde6")] && delete e.Cesium3DTileset[P("0xc")][P("0xde6")])
+            }
+            ,
+            t.prototype[P("0xdc9")] = function(e) {
+                this._collideActived = e || !1
+            }
+            ,
+            t.stateType = {
+                UNKNOWN: 0,
+                FORWARD: 1,
+                BACKWARD: 2,
+                LEFTWARD: 3,
+                RIGHTWARD: 4,
+                UPWARD: 5,
+                DOWNWARD: 6,
+                LEFT: 7,
+                RIGHT: 8
+            };
+            var r = 40
+              , n = new e.Matrix4
+              , o = new (e[P("0x11")])
+              , a = new (e[P("0x11")])
+              , s = new (e[P("0x11")])
+              , x = new (e[P("0x1e")]);
+            function l() {
+                var e = []
+                  , t = 0;
+                this[P("0x17c")] = function(t) {
+                    return 10 <= this[P("0x3cd")]() && this[P("0x25c")](),
+                    e.push(t),
+                    !0
+                }
+                ,
+                this[P("0x25c")] = function() {
+                    return e[P("0x513")]()
+                }
+                ,
+                this[P("0xde7")] = function() {
+                    return e[0]
+                }
+                ,
+                this[P("0xde8")] = function() {
+                    return e[e.length - 1]
+                }
+                ,
+                this[P("0x192")] = function() {
+                    e = []
+                }
+                ,
+                this[P("0x3cd")] = function() {
+                    return e[P("0x0")]
+                }
+                ,
+                this[P("0xde9")] = function() {
+                    for (var t = 0, i = e[P("0x0")], r = 0; r < i; r++)
+                        t += e[r].height;
+                    return t / i
+                }
+                ,
+                this.getLatelyHeight = function() {
+                    return 0 < e[P("0x0")] ? e[e.length - 1].height : null
+                }
+                ,
+                this[P("0xdea")] = function(t) {
+                    return 0 < e.length && 4.5 < Math[P("0x78")](this.getLatelyHeight() - t[P("0x8b")])
+                }
+                ,
+                this[P("0xdeb")] = function(e) {
+                    this[P("0xdea")](e) && (20 < t ? t = 0 : (e[P("0x8b")] = 3 < t ? this[P("0xde9")]() : this[P("0xdec")](),
+                    t++),
+                    e[P("0x8b")] = this[P("0xdec")]()),
+                    this[P("0x17c")](e)
+                }
+            }
+        }(window.Cesium),
+        function(e) {
+            var t = e[P("0x102")]
+              , i = e[P("0xded")] = function(i) {
+                var r = (i = t(i, t.EMPTY_OBJECT))[P("0x6af")];
+                this[P("0x13c")] = i[P("0x13b")],
+                this[P("0x42")] = this[P("0x13c")].scene,
+                this[P("0xdee")] = [],
+                this[P("0xdef")] = new (e[P("0x16a")])(.439,.564,.788,0),
+                this[P("0xdf0")] = new e.Color(0,0,0,0),
+                this._reflectColor = new e.Color(.439,.564,.788,0),
+                this[P("0xdf1")] = .2,
+                this[P("0xdf2")] = 90,
+                this[P("0xdf3")] = .7,
+                this[P("0xdf4")] = void 0,
+                this[P("0xdf5")] = 0,
+                this[P("0xdf6")] = void 0,
+                this[P("0xdf7")] = void 0,
+                this._initialized = !1,
+                this[P("0x6ce")] = void 0,
+                this[P("0xdf8")] = !0,
+                this[P("0x42")][P("0xb84")];
+                var n = this
+                  , o = new Image;
+                o[P("0x125")] = r,
+                o[P("0xad2")] = function() {
+                    n[P("0xdf4")] = new (e[P("0x6db")])({
+                        context: n[P("0x42")][P("0x3cc")],
+                        width: o[P("0x19a")],
+                        height: o[P("0x8b")],
+                        source: o,
+                        sampler: new (e[P("0x789")])({
+                            wrapS: e[P("0x78b")][P("0x55a")],
+                            wrapT: e[P("0x78b")].REPEAT
+                        })
+                    }),
+                    n._scene[P("0x17d")][P("0x6d")](n)
+                }
+            }
+            ;
+            e.defineProperties(i.prototype, {
+                waterPolygon: {
+                    get: function() {
+                        return this[P("0xdf9")]
+                    },
+                    set: function(e) {
+                        null != e && null != this[P("0xdf9")] && this.release(),
+                        this[P("0xdf9")] = e
+                    }
+                },
+                waterColor: {
+                    get: function() {
+                        return this._waterColor
+                    },
+                    set: function(e) {
+                        this[P("0xdef")] = e
+                    }
+                },
+                flowSpeed: {
+                    get: function() {
+                        return this._flowSpeed
+                    },
+                    set: function(e) {
+                        this[P("0xdf3")] = e
+                    }
+                },
+                flowDirection: {
+                    get: function() {
+                        return this[P("0xdf2")]
+                    },
+                    set: function(e) {
+                        this[P("0xdf2")] = e
+                    }
+                },
+                waveWidth: {
+                    get: function() {
+                        return this[P("0xdf1")]
+                    },
+                    set: function(e) {
+                        this[P("0xdf1")] = e
+                    }
+                },
+                isVisible: {
+                    get: function() {
+                        return this[P("0xdf8")]
+                    },
+                    set: function(e) {
+                        this[P("0xdf8")] = e
+                    }
+                }
+            }),
+            i[P("0x5")][P("0xdfa")] = function() {
+                this[P("0xdee")] = [];
+                var t = this._waterPolygon[P("0xdfb")].positions
+                  , i = e[P("0x13")].fromCartesian(t[0])
+                  , r = e[P("0x23")][P("0x113")](i[P("0x112")])
+                  , n = e.Math[P("0x113")](i[P("0x114")])
+                  , o = e[P("0x23")][P("0x113")](i.longitude)
+                  , a = e[P("0x23")].toDegrees(i[P("0x114")]);
+                this._zFactor = i[P("0x8b")];
+                for (var s = 0; s < t[P("0x0")]; s++) {
+                    var x = e[P("0x13")][P("0x175")](t[s])
+                      , l = e.Math[P("0x113")](x[P("0x112")])
+                      , c = e[P("0x23")].toDegrees(x[P("0x114")])
+                      , u = new (e[P("0x10")])(l,c);
+                    this[P("0xdee")][P("0x17c")](u),
+                    o < l && (o = l),
+                    l < r && (r = l),
+                    a < c && (a = c),
+                    c < n && (n = c)
+                }
+                this[P("0xdfc")] = r,
+                this[P("0xdfd")] = n,
+                this[P("0xdfe")] = new (e[P("0x11")][P("0x1a1")])((r + o) / 2,(n + a) / 2,this._zFactor)
+            }
+            ,
+            i[P("0x5")][P("0xdff")] = function() {
+                var t = this._scene
+                  , i = t[P("0xb84")];
+                if (e[P("0x14")](this[P("0xdf6")]) || (this[P("0xdf6")] = new e.Camera(t)),
+                !e[P("0x14")](this._reflectPassState)) {
+                    var r = new (e[P("0x78f")])({
+                        context: i,
+                        colorTextures: [new (e[P("0x6db")])({
+                            context: i,
+                            width: 512,
+                            height: 512,
+                            pixelFormat: e.PixelFormat[P("0xb85")]
+                        })],
+                        depthRenderbuffer: new e.Renderbuffer({
+                            context: i,
+                            format: e[P("0xe00")][P("0xe01")],
+                            width: 512,
+                            height: 512
+                        })
+                    });
+                    this[P("0xdf7")] = new (e[P("0xe02")])(i),
+                    this[P("0xdf7")].viewport = new (e[P("0xbe2")])(0,0,512,512),
+                    this[P("0xdf7")][P("0x796")] = r
+                }
+                this[P("0xe03")] = !0,
+                this[P("0xdfa")]()
+            }
+            ,
+            i[P("0x5")].update = function(t) {
+                if (e[P("0x14")](this[P("0xe04")])) {
+                    var i = this[P("0x42")];
+                    if (0 !== i[P("0x7e")][P("0xe05")][P("0x0")]) {
+                        this[P("0xe03")] || this[P("0xdff")]();
+                        var r = i._context;
+                        this[P("0xe06")] = 1 / (.001 * this[P("0xdf1")]);
+                        var n = new (e[P("0x11")])(this._waterCenterPos.x,this[P("0xdfe")].y,this[P("0xdfe")].z)
+                          , o = e[P("0x13")][P("0x175")](this[P("0xdfe")])
+                          , a = e[P("0x23")][P("0x113")](o[P("0x112")])
+                          , s = e[P("0x23")][P("0x113")](o[P("0x114")])
+                          , x = e[P("0x11")][P("0x1a1")](a, s, 0);
+                        e[P("0x11")][P("0x8d")](x, x);
+                        var l = new e.Cartesian3(0,1,0)
+                          , c = new e.Cartesian3(0,1,0);
+                        c = e[P("0x11")][P("0x99")](l, x, c),
+                        e[P("0x11")][P("0x8d")](c, c),
+                        l = e[P("0x11")][P("0x99")](x, c, l);
+                        var u = new (e[P("0x1a")]);
+                        e[P("0x1a")][P("0xe07")](u, 0, c, u),
+                        e[P("0x1a")][P("0xe07")](u, 1, l, u),
+                        e[P("0x1a")].setRow(u, 2, x, u);
+                        var h = new (e[P("0x11")])
+                          , f = new (e[P("0x11")])(-n.x,-n.y,-n.z);
+                        e[P("0x1a")][P("0xce")](u, f, h);
+                        var d = new (e[P("0x1b")])(u[0],u[3],u[6],h.x,u[1],u[4],u[7],h.y,u[2],u[5],u[8],h.z,0,0,0,1);
+                        this[P("0xe08")] = new (e[P("0x1b")]),
+                        e[P("0x1b")].multiply(d, t.camera[P("0x8c5")], this.invWorldViewMatrix),
+                        this[P("0x4ac")] = new (e[P("0x1b")])(1,0,0,n.x,0,1,0,n.y,0,0,1,n.z,0,0,0,1),
+                        this[P("0xe09")] = new (e[P("0x1b")]),
+                        this[P("0xe0a")] = new e.Matrix4,
+                        this.modelViewMatrix = e.Matrix4.multiply(t[P("0x7e")][P("0x5e0")], this[P("0x4ac")], this[P("0xe09")]),
+                        this[P("0xe0a")] = e.Matrix4[P("0x737")](t.camera[P("0xe05")][0][P("0xb5e")], this.modelViewMatrix, this.modeiViewProjection);
+                        var g = e[P("0x560")][P("0x561")]();
+                        0 == this[P("0xdf5")] && (this[P("0xdf5")] = g[P("0x6e5")]);
+                        var p = g.secondsOfDay;
+                        if (this[P("0xe0b")] = (p - this[P("0xdf5")]) / 1,
+                        this[P("0xe0c")] = this[P("0xe0b")] * this[P("0xdf3")],
+                        this[P("0xe0d")] = this[P("0xdf2")] * Math.PI / 180,
+                        null == this[P("0x6ce")]) {
+                            var m = e[P("0x5dc")][P("0x5d7")]({
+                                context: r,
+                                vertexShaderSource: P("0xe0e"),
+                                fragmentShaderSource: P("0xe0f")
                             })
-                                , C = e[P("0x5ea")][P("0x5ec")]({
-                                    context: t,
-                                    typedArray: m,
-                                    usage: e.BufferUsage[P("0x4d6")],
-                                    indexDatatype: e[P("0x742")][P("0x5ed")]
-                                })
-                                , y = [];
-                            return y[P("0x17c")]({
-                                index: 0,
-                                vertexBuffer: v,
-                                componentsPerAttribute: 3,
-                                componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                offsetInBytes: 0,
-                                strideInBytes: 12,
-                                normalize: !1
-                            }),
-                                this[P("0xd09")](r),
-                                new (e[P("0x5ee")])({
-                                    context: t,
-                                    attributes: y,
-                                    indexBuffer: C
-                                })
-                        }
-                        ,
-                        n.prototype[P("0xd0a")] = function () {
-                            var t = this[P("0x42")][P("0x3cc")];
-                            if (!t)
-                                return this._errorEvent.raiseEvent(P("0xd0b")),
-                                    null;
-                            var i = Math[P("0xee")](this[P("0xcc7")], this[P("0xcd6")]);
-                            i = Math.min(i, this.maxSegmentCount);
-                            for (var r = this[P("0xcc2")], n = (i + 1) * (i + 1) + 1, o = e[P("0x5e8")].createTypedArray(e.ComponentDatatype.FLOAT, 3 * n), a = 3, s = this[P("0xd08")] * e.Math[P("0xa2c")], x = this[P("0xcc1")] * e[P("0x23")].RADIANS_PER_DEGREE, l = e.Math[P("0x5b")] + .5 * s, c = .5 * x, u = 0, h = 0, f = s / i, d = x / i, g = 0; g < i + 1; g++) {
-                                u = l - g * f;
-                                for (var p = 0; p < i + 1; p++)
-                                    h = c - p * d,
-                                        o[a++] = r * Math[P("0x9a")](h) * Math[P("0x9a")](u),
-                                        o[a++] = r * Math[P("0x9a")](h) * Math[P("0x98")](u),
-                                        o[a++] = r * Math[P("0x98")](h)
-                            }
-                            var m = 4 * (2 + (i + 1) * i)
-                                , b = e[P("0x5e8")].createTypedArray(e[P("0x5e8")].UNSIGNED_SHORT, m)
-                                , v = 0;
-                            for (b[v++] = 0,
-                                b[v++] = 1,
-                                b[v++] = 0,
-                                b[v++] = i + 1,
-                                b[v++] = 0,
-                                b[v++] = i * (i + 1) + 1,
-                                b[v++] = 0,
-                                b[v++] = (i + 1) * (i + 1),
-                                g = 0; g < i + 1; g++)
-                                for (p = 0; p < i; p++)
-                                    b[v++] = 1 + p + (i + 1) * g,
-                                        b[v++] = 1 + (p + 1) + (i + 1) * g;
-                            for (g = 0; g < i + 1; g++)
-                                for (p = 0; p < i; p++)
-                                    b[v++] = 1 + (i + 1) * p + g,
-                                        b[v++] = 1 + (i + 1) * (p + 1) + g;
-                            var C = e[P("0x5ea")][P("0x5eb")]({
-                                context: t,
-                                typedArray: o,
-                                usage: e.BufferUsage[P("0x4d6")]
-                            })
-                                , y = e.Buffer.createIndexBuffer({
-                                    context: t,
-                                    typedArray: b,
-                                    usage: e[P("0x4d5")].STATIC_DRAW,
-                                    indexDatatype: e[P("0x742")][P("0x5ed")]
-                                })
-                                , _ = [];
-                            return _.push({
-                                index: 0,
-                                vertexBuffer: C,
-                                componentsPerAttribute: 3,
-                                componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                offsetInBytes: 0,
-                                strideInBytes: 12,
-                                normalize: !1
-                            }),
-                                this[P("0xd09")](o),
-                                new (e[P("0x5ee")])({
-                                    context: t,
-                                    attributes: _,
-                                    indexBuffer: y
-                                })
-                        }
-                        ,
-                        n[P("0x5")][P("0xd0c")] = function () {
-                            var t = this[P("0x42")][P("0x3cc")];
-                            if (!t)
-                                return this._errorEvent.raiseEvent(P("0xd0b")),
-                                    null;
-                            var i = Math.max(this[P("0xcc7")], this[P("0xcd6")]);
-                            i = Math[P("0x7d")](i, this[P("0xcd7")]);
-                            for (var r = this[P("0xcc2")], n = (i + 1) * (i + 1) + 1, o = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")].FLOAT, 3 * n), a = 3, s = this[P("0xd08")] * e[P("0x23")][P("0xa2c")], x = this[P("0xcc1")] * e[P("0x23")][P("0xa2c")], l = r * Math[P("0x992")](.5 * x), c = Math.PI - .5 * s, u = 0, h = 0, f = s / i, d = 0; d < i + 1; d++) {
-                                u = c + d * f;
-                                for (var g = l / (r / Math.cos(u)), p = Math[P("0x321")](g), m = -p, b = 2 * p / i, v = 0; v < i + 1; v++)
-                                    h = m + v * b,
-                                        o[a++] = r * Math.cos(h) * Math[P("0x98")](u),
-                                        o[a++] = r * Math.sin(h),
-                                        o[a++] = r * Math[P("0x9a")](h) * Math[P("0x9a")](u)
-                            }
-                            var C = 4 * (2 + (i + 1) * i)
-                                , y = e[P("0x5e8")].createTypedArray(e[P("0x5e8")].UNSIGNED_SHORT, C)
-                                , _ = 0;
-                            for (y[_++] = 0,
-                                y[_++] = 1,
-                                y[_++] = 0,
-                                y[_++] = i + 1,
-                                y[_++] = 0,
-                                y[_++] = i * (i + 1) + 1,
-                                y[_++] = 0,
-                                y[_++] = (i + 1) * (i + 1),
-                                d = 0; d < i + 1; d++)
-                                for (v = 0; v < i; v++)
-                                    y[_++] = 1 + v + (i + 1) * d,
-                                        y[_++] = 1 + (v + 1) + (i + 1) * d;
-                            for (d = 0; d < i + 1; d++)
-                                for (v = 0; v < i; v++)
-                                    y[_++] = 1 + (i + 1) * v + d,
-                                        y[_++] = 1 + (i + 1) * (v + 1) + d;
-                            var A = e.Buffer[P("0x5eb")]({
-                                context: t,
-                                typedArray: o,
-                                usage: e[P("0x4d5")][P("0x4d6")]
-                            })
-                                , I = e.Buffer[P("0x5ec")]({
-                                    context: t,
-                                    typedArray: y,
-                                    usage: e.BufferUsage[P("0x4d6")],
-                                    indexDatatype: e[P("0x742")][P("0x5ed")]
-                                })
-                                , w = [];
-                            return w[P("0x17c")]({
-                                index: 0,
-                                vertexBuffer: A,
-                                componentsPerAttribute: 3,
-                                componentDatatype: e[P("0x5e8")].FLOAT,
-                                offsetInBytes: 0,
-                                strideInBytes: 12,
-                                normalize: !1
-                            }),
-                                this[P("0xd09")](o),
-                                new (e[P("0x5ee")])({
-                                    context: t,
-                                    attributes: w,
-                                    indexBuffer: I
-                                })
-                        }
-                        ,
-                        n[P("0x5")][P("0xd0d")] = function () {
-                            return e[P("0x5d6")].fromCache({
-                                cull: {
-                                    enabled: !1
-                                },
+                              , b = e.RenderState[P("0x5d7")]({
                                 depthTest: {
                                     enabled: !0
                                 }
                             })
-                        }
-                        ,
-                        n[P("0x5")][P("0xd0e")] = function () {
-                            var e = {};
-                            return e[P("0x6ee")] = 0,
-                                e
-                        }
-                        ,
-                        n[P("0x5")][P("0xd0f")] = function () {
-                            var t = this[P("0x42")][P("0x3cc")];
-                            if (!t)
-                                return this[P("0x9fc")][P("0x896")](P("0xd10")),
-                                    null;
-                            var i = this[P("0xcf1")]()
-                                , r = this[P("0xd11")]()
-                                , n = this[P("0xd0e")]();
-                            return n ? e.ShaderProgram.fromCache({
-                                context: t,
-                                vertexShaderSource: i,
-                                fragmentShaderSource: r,
-                                attributeLocations: n
-                            }) : (this._errorEvent[P("0x896")](P("0xd10")),
-                                null)
-                        }
-                        ;
-                    var o = new (e[P("0x11")])
-                        , a = new (e[P("0x11")]);
-                    n[P("0x5")][P("0xd09")] = function (t) {
-                        if (t && t[P("0x0")] && 6 <= t[P("0x0")]) {
-                            for (var i = 3, r = t[0], n = t[1], s = t[2], x = t[0], l = t[1], c = t[2], u = 0; i < t[P("0x0")]; i += 3)
-                                u = t[i],
-                                    r = Math.min(u, r),
-                                    x = Math[P("0xee")](u, x),
-                                    u = t[i + 1],
-                                    n = Math[P("0x7d")](u, n),
-                                    l = Math[P("0xee")](u, l),
-                                    u = t[i + 2],
-                                    s = Math[P("0x7d")](u, s),
-                                    c = Math[P("0xee")](u, c);
-                            o.x = r,
-                                o.y = n,
-                                o.z = s,
-                                a.x = x,
-                                a.y = l,
-                                a.z = c,
-                                this[P("0x4a4")] = e[P("0x5f1")][P("0xd12")](o, a)
-                        } else
-                            this[P("0x4a4")] = new (e[P("0x5f1")])(e.Cartesian3[P("0x6f")], this[P("0xc9b")])
-                    }
-                        ;
-                    var s = new (e[P("0x5f1")])(e[P("0x11")][P("0x6f")], 1);
-                    function x(t, i) {
-                        this[P("0xd17")] = null,
-                            this[P("0x42")] = t,
-                            this[P("0x6d6")] = i,
-                            this[P("0x5ba")] = !1,
-                            this[P("0xd18")] = new (e[P("0x766")]),
-                            this[P("0xd19")] = new (e[P("0x766")])
-                    }
-                    function l() {
-                        this[P("0xb78")] = 0
-                    }
-                    n[P("0x5")][P("0x5ef")] = function (t) {
-                        var i = this[P("0x4a4")];
-                        return i ? (e[P("0x5f1")][P("0xaf")](i, t, s),
-                            s) : (this._errorEvent[P("0x896")](P("0xd13")),
-                                null)
-                    }
-                        ,
-                        n[P("0x5")][P("0xce7")] = function () {
-                            try {
-                                this._recreate()
-                            } catch (e) {
-                                this._drawCommand = null
-                            }
-                        }
-                        ,
-                        n[P("0x5")]._recreate = function () {
-                            if (this[P("0xcc8")]) {
-                                this[P("0xcc8")] = !1,
-                                    this._drawCommand && (this._drawCommand[P("0xcca")] && (this[P("0x6ce")][P("0xcca")][P("0xf4")](),
-                                        this._drawCommand[P("0xcca")] = null),
-                                        this[P("0x6ce")]._vertexArray && (this._drawCommand[P("0x4d8")].destroy(),
-                                            this[P("0x6ce")][P("0x4d8")] = null),
-                                        this[P("0x6ce")] = null);
-                                var t;
-                                if (t = this[P("0xcd9")] && this[P("0xcd8")] ? this[P("0xcef")]() : this[P("0xd14")]()) {
-                                    var i;
-                                    if (i = this.isSphereType ? this[P("0xcd9")] ? this[P("0xd0c")]() : this[P("0xd0a")]() : this[P("0xd07")]()) {
-                                        var r = this[P("0xd0d")]();
-                                        if (r) {
-                                            var n = this[P("0xd0f")]();
-                                            if (n) {
-                                                var o = this[P("0xc91")]()
-                                                    , a = this[P("0x5ef")](t);
-                                                a ? this._drawCommand = new e.DrawCommand({
-                                                    vertexArray: i,
-                                                    primitiveType: e.PrimitiveType[P("0xd16")],
-                                                    renderState: r,
-                                                    shaderProgram: n,
-                                                    modelMatrix: t,
-                                                    boundingVolume: a,
-                                                    uniformMap: o,
-                                                    owner: this[P("0xc67")],
-                                                    pass: e.Pass.OPAQUE
-                                                }) : this[P("0x9fc")][P("0x896")](P("0xd15"))
-                                            } else
-                                                this[P("0x9fc")].raiseEvent(P("0xd15"))
-                                        } else
-                                            this._errorEvent[P("0x896")](P("0xd15"))
-                                    } else
-                                        this._errorEvent[P("0x896")](P("0xd15"))
-                                } else
-                                    this._errorEvent[P("0x896")](P("0xd15"))
-                            }
-                        }
-                        ,
-                        e[P("0xf")](x[P("0x5")], {
-                            UpdateMatrixEvent: {
-                                get: function () {
-                                    return this._updateMatrixEvent
+                              , v = this;
+                            this[P("0xe10")] = {
+                                u_bgColor: function() {
+                                    return v[P("0xdef")]
+                                },
+                                u_texCoordOffset: function() {
+                                    return new e.Cartesian2(-v[P("0xdfc")],-v[P("0xdfd")])
+                                },
+                                u_texCoordScale: function() {
+                                    return new (e[P("0x10")])(v[P("0xe06")],v[P("0xe06")])
+                                },
+                                u_scale: function() {
+                                    return new (e[P("0x11")])(3,3,3)
+                                },
+                                u_camPos: function() {
+                                    return new (e[P("0x11")])(3,3,3)
+                                },
+                                u_modelViewProjectionMatrix: function() {
+                                    return v[P("0xe0a")]
+                                },
+                                u_modelViewMatrix: function() {
+                                    return v[P("0xe09")]
+                                },
+                                u_clampToGroud: function() {
+                                    return 0
+                                },
+                                u_invWorldViewMatrix: function() {
+                                    return v[P("0xe08")]
+                                },
+                                u_frameTime: function() {
+                                    return v[P("0xe0c")]
+                                },
+                                u_normalMap: function() {
+                                    return v._normalTexture
+                                },
+                                u_refractMap: function() {
+                                    return v[P("0xdf4")]
+                                },
+                                u_useRefractTex: function() {
+                                    return 0
+                                },
+                                u_reflectMap: function() {
+                                    return v[P("0xdf7")][P("0x796")][P("0xe11")](0)
+                                },
+                                u_reflection: function() {
+                                    return 1
+                                },
+                                u_waterColor: function() {
+                                    return v._waterColor
+                                },
+                                u_refractColor: function() {
+                                    return v[P("0xdf0")]
+                                },
+                                u_reflectColor: function() {
+                                    return v[P("0xe12")]
+                                },
+                                u_flowDir: function() {
+                                    return new (e[P("0x10")])(.5 * Math.sin(v._flowAngle) + .5,.5 * Math.cos(v[P("0xe0d")]) + .5)
                                 }
                             },
-                            UpdateEvent: {
-                                get: function () {
-                                    return this._updateEvent
-                                }
-                            }
-                        }),
-                        x[P("0x5")][P("0xc5d")] = function () {
-                            return new (e[P("0x789")])({
-                                wrapS: e.TextureWrap.CLAMP_TO_EDGE,
-                                wrapT: e[P("0x78b")][P("0x78a")],
-                                minificationFilter: e[P("0x78c")].NEAREST,
-                                magnificationFilter: e[P("0x78e")][P("0x78d")]
+                            this[P("0xe13")] = e.PolygonGeometry.createGeometry(this._waterPolygon);
+                            for (var C = this[P("0xe13")][P("0xc1e")], y = this[P("0xe13")][P("0x18f")][P("0x8c")].values, _ = 0; _ < y[P("0x0")]; _++)
+                                _ % 3 == 0 && (y[_] = y[_] - n.x),
+                                _ % 3 == 1 && (y[_] = y[_] - n.y),
+                                _ % 3 == 2 && (y[_] = y[_] - n.z);
+                            for (var A = [], I = 0; I < this[P("0xdee")][P("0x0")]; I++)
+                                A[P("0x17c")](this._pointsToCartographic[I].x, this[P("0xdee")][I].y);
+                            var w = new Float64Array(A)
+                              , G = e[P("0x5ea")][P("0x5ec")]({
+                                context: r,
+                                typedArray: new Uint32Array(C),
+                                usage: e[P("0x4d5")][P("0x4d6")],
+                                indexDatatype: e[P("0x742")][P("0xe14")]
                             })
-                        }
-                        ,
-                        x.prototype[P("0xd1a")] = function (t, i) {
-                            for (var r = new e.Texture({
-                                context: i,
-                                width: t._textureSize.x,
-                                height: t[P("0xd1b")].y,
-                                pixelFormat: e[P("0x785")].DEPTH_STENCIL,
-                                pixelDatatype: e[P("0x787")].UNSIGNED_INT_24_8,
-                                sampler: this[P("0xc5d")]()
-                            }), n = new (e[P("0x78f")])({
-                                context: i,
-                                depthStencilTexture: r,
-                                destroyAttachments: !1
-                            }), o = t[P("0xd1c")][P("0x0")], a = 0; a < o; ++a) {
-                                var s = t[P("0xd1c")][a];
-                                s[P("0x796")] = n,
-                                    s.passState[P("0x796")] = n
-                            }
-                            t[P("0xd1d")] = r,
-                                t[P("0x770")] = r
-                        }
-                        ,
-                        x[P("0x5")][P("0xd1e")] = function (e, t) {
-                            e[P("0x771")][P("0x796")] = e[P("0xd1c")][0][P("0x796")],
-                                e[P("0x771")].execute(t, e[P("0xd1f")])
-                        }
-                        ,
-                        x[P("0x5")][P("0xd20")] = function () {
-                            var t = this[P("0xd17")];
-                            if (t) {
-                                for (var i = t._passes[P("0x0")], r = 0; r < i; ++r) {
-                                    var n = t[P("0xd1c")][r]
-                                        , o = n[P("0x796")];
-                                    e[P("0x14")](o) && !o[P("0xf3")]() && o[P("0xf4")](),
-                                        n[P("0x796")] = void 0
-                                }
-                                t._depthAttachment = t[P("0x770")] && t[P("0x770")].destroy(),
-                                    t[P("0xd21")] = t._colorAttachment && t[P("0xd21")][P("0xf4")]();
-                                var a = this._scene[P("0x6d9")][P("0x3cc")];
-                                this[P("0xd1a")](t, a),
-                                    this[P("0xd1e")](t, a)
-                            }
-                        }
-                        ,
-                        x[P("0x5")][P("0xd22")] = function (t, i, r, n, o, a, s) {
-                            if (!this._shadowMap) {
-                                var x = this._scene;
-                                if (x) {
-                                    var l = this
-                                        , c = new (e[P("0x3cb")])(x);
-                                    c[P("0xe8")] = new (e[P("0xae3")]),
-                                        c[P("0xe8")].aspectRatio = i / r,
-                                        c[P("0xe8")].fov = i * e[P("0x23")][P("0xa2c")],
-                                        c.frustum[P("0xb3e")] = 1,
-                                        c[P("0xe8")][P("0xc13")] = n,
-                                        c[P("0x9c")]({
-                                            destination: t,
-                                            orientation: {
-                                                heading: o * e.Math[P("0xa2c")],
-                                                pitch: a * e[P("0x23")].RADIANS_PER_DEGREE,
-                                                roll: s * e[P("0x23")].RADIANS_PER_DEGREE
-                                            }
-                                        });
-                                    var u = this[P("0xd17")] = new (e[P("0x4f1")])({
-                                        lightCamera: c,
-                                        enable: !1,
-                                        isPointLight: !1,
-                                        isSpotLight: !0,
-                                        cascadesEnabled: !1,
-                                        context: x[P("0x3cc")],
-                                        pointLightRadius: n
-                                    });
-                                    u[P("0xd23")] = u[P("0xd2")],
-                                        u.update = function (e) {
-                                            u._updateOri(e);
-                                            var t = u[P("0xd24")]._invViewMatrix;
-                                            l[P("0xd18")][P("0x896")](t),
-                                                l[P("0xd19")][P("0x896")]()
-                                        }
-                                }
-                            }
-                        }
-                        ,
-                        x[P("0x5")][P("0xd2")] = function (t, i, r, n, o, a) {
-                            if (this[P("0xd17")]) {
-                                var s = this[P("0xd17")][P("0xd25")];
-                                s[P("0xe8")][P("0xaef")] = t / i,
-                                    s.frustum.fov = t * e.Math[P("0xa2c")],
-                                    s[P("0xe8")].near = 1,
-                                    s[P("0xe8")][P("0xc13")] = r,
-                                    s[P("0x9c")]({
-                                        destination: s[P("0x8c")],
-                                        orientation: {
-                                            heading: n * e[P("0x23")].RADIANS_PER_DEGREE,
-                                            pitch: o * e[P("0x23")][P("0xa2c")],
-                                            roll: a * e[P("0x23")][P("0xa2c")]
-                                        }
-                                    })
-                            }
-                        }
-                        ,
-                        x[P("0x5")][P("0xf4")] = function () {
-                            this.deactive(),
-                                this[P("0xd17")] && (this[P("0xd17")][P("0xf4")](),
-                                    this[P("0xd17")] = null),
-                                this[P("0x42")] = null,
-                                this[P("0x6d6")] = null,
-                                this[P("0xd18")] = null,
-                                this[P("0xd19")] = null
-                        }
-                        ,
-                        x[P("0x5")].active = function () {
-                            if (this[P("0xd17")]) {
-                                var e = this[P("0x42")][P("0x17d")];
-                                this._actived = !0;
-                                var t = this[P("0xd17")]
-                                    , i = t[P("0xa94")];
-                                i || (i = {
-                                    update: function (e) {
-                                        e[P("0xd26")] || (e[P("0xd26")] = []),
-                                            t[P("0xd2")](e),
-                                            e[P("0xd26")][P("0x2d3")](t) < 0 && e[P("0xd26")][P("0x17c")](t)
-                                    },
-                                    owner: t,
-                                    destroy: function () {
-                                        this.owner && (this[P("0x5cd")]._proxy = null,
-                                            this[P("0x5cd")] = null)
-                                    }
-                                },
-                                    t[P("0xa94")] = i),
-                                    e.contains(i) || e[P("0x6d")](i)
-                            }
-                        }
-                        ,
-                        x[P("0x5")][P("0xd27")] = function () {
-                            if (this[P("0x5ba")] && this[P("0xd17")]) {
-                                var e = this[P("0x42")] && this._scene.primitives;
-                                this._actived = !1;
-                                var t = this[P("0xd17")]
-                                    , i = t[P("0xa94")];
-                                i && (e.contains(i) && e.remove(i),
-                                    t[P("0xa94")] = null);
-                                var r = this[P("0x42")];
-                                if (r) {
-                                    var n = r[P("0x6d9")][P("0xd26")];
-                                    if (n) {
-                                        var o = n[P("0x2d3")](this._shadowMap);
-                                        0 <= o && n.splice(o, 1)
-                                    }
-                                }
-                            }
-                        }
-                        ,
-                        x.prototype.updatePosition = function (t, i, r, n) {
-                            if (t) {
-                                var o = this[P("0xd17")];
-                                if (o) {
-                                    i || 0 === i || (i = a[P("0x7f")]),
-                                        r || 0 === r || (r = a[P("0x80")]),
-                                        n || 0 === n || (n = a[P("0x81")]);
-                                    var a = o[P("0xd25")];
-                                    a[P("0x9c")]({
-                                        destination: t,
-                                        orientation: {
-                                            heading: i * e.Math[P("0xa2c")],
-                                            pitch: r * e[P("0x23")][P("0xa2c")],
-                                            roll: n * e[P("0x23")][P("0xa2c")]
-                                        }
-                                    })
-                                }
-                            }
-                        }
-                        ,
-                        x.prototype[P("0xd28")] = function (t) {
-                            if (t) {
-                                var i = this[P("0xd17")];
-                                if (i) {
-                                    var r = i[P("0xd25")]
-                                        , n = r[P("0xe8")][P("0xaf0")] / r[P("0xe8")][P("0xaef")];
-                                    r.frustum[P("0xaf0")] = t * e[P("0x23")][P("0xa2c")],
-                                        r.frustum.aspectRatio = r[P("0xe8")][P("0xaf0")] / n
-                                }
-                            }
-                        }
-                        ,
-                        x[P("0x5")][P("0xd29")] = function (t) {
-                            if (t) {
-                                var i = this[P("0xd17")];
-                                if (i) {
-                                    var r = i[P("0xd25")];
-                                    r[P("0xe8")].aspectRatio = r[P("0xe8")].fov / (t * e[P("0x23")][P("0xa2c")])
-                                }
-                            }
-                        }
-                        ,
-                        x[P("0x5")][P("0xd2a")] = function (e) {
-                            if (e) {
-                                var t = this._shadowMap;
-                                t && (t[P("0xd25")][P("0xe8")][P("0xc13")] = e)
-                            }
-                        }
-                        ,
-                        x[P("0x5")].updateHeadingPitchRoll = function (t, i, r) {
-                            var n = this._shadowMap;
-                            if (n) {
-                                t || 0 === t || (t = o[P("0x7f")]),
-                                    i || 0 === i || (i = o[P("0x80")]),
-                                    r || 0 === r || (r = o.roll);
-                                var o = n._lightCamera;
-                                o[P("0x9c")]({
-                                    destination: o[P("0x8c")],
-                                    orientation: {
-                                        heading: t * e[P("0x23")][P("0xa2c")],
-                                        pitch: i * e[P("0x23")][P("0xa2c")],
-                                        roll: r * e[P("0x23")].RADIANS_PER_DEGREE
-                                    }
-                                })
-                            }
-                        }
-                        ,
-                        x[P("0x5")]._getShadowMapTexture = function () {
-                            return this[P("0xd17")] ? this[P("0xd17")]._shadowMapTexture : null
-                        }
-                        ,
-                        x.prototype._getShadowMapMatrix = function () {
-                            return this._shadowMap ? this._shadowMap[P("0xd2b")] : null
-                        }
-                        ,
-                        x[P("0x5")]._getProjectionCamera = function () {
-                            return this[P("0xd17")] ? this[P("0xd17")][P("0xd25")] : null
-                        }
-                        ,
-                        l.prototype[P("0xd2c")] = function (e) {
-                            return e ? e = P("0xd2d") + e : (e = P("0xd2d") + this[P("0xb78")][P("0x531")](),
-                                this[P("0xb78")] += 1),
-                                e
-                        }
-                        ,
-                        l[P("0xd2e")] = new l,
-                        l[P("0xd2f")] = function () {
-                            return l._instance[P("0xd2c")]()
-                        }
-                        ;
-                    var c = e[P("0xd30")] = function (t, i, n, o, a) {
-                        if (!t || !t.scene)
-                            throw e[P("0x15")]("viewer or viewer.scene is invalid!");
-                        var s = t.scene;
-                        this._viewer = t,
-                            this._scene = s,
-                            this[P("0xd31")] = new r,
-                            this[P("0xd32")] = null,
-                            this[P("0xd33")] = null,
-                            this[P("0xd34")] = null,
-                            this[P("0xd35")] = null,
-                            this._invViewMatrix = null,
-                            this[P("0xd36")] = !0,
-                            this._name = l[P("0xd2f")](),
-                            this._actived = !1,
-                            this[P("0x6d6")] = null,
-                            this[P("0x82d")](i, n, o, a)
-                    }
-                        ;
-                    function u() {
-                        this[P("0x431")] = [],
-                            this[P("0xc6b")] = new (e[P("0x766")]),
-                            this._removeEvent = new (e[P("0x766")]),
-                            this[P("0xd50")] = new (e[P("0x766")]),
-                            this[P("0xd51")] = !1
-                    }
-                    c[P("0x5")][P("0x82d")] = function (r, o, a, s) {
-                        var l = this
-                            , c = l._scene;
-                        if (r && !(!r instanceof HTMLVideoElement)) {
-                            s && (s[P("0xccb")] && (this._videoProjectionConfig[P("0xccb")] = s[P("0xccb")]),
-                                s[P("0xccd")] && (this._videoProjectionConfig.maxFovX = s.maxFovX),
-                                s.minFovY && (this._videoProjectionConfig.minFovY = s[P("0xcdb")]),
-                                s[P("0xcce")] && (this._videoProjectionConfig[P("0xcce")] = s.maxFovY),
-                                s[P("0xccf")] && (this[P("0xd31")][P("0xccf")] = s[P("0xccf")]),
-                                s[P("0xcdd")] && (this._videoProjectionConfig.maxFovDistance = s[P("0xcdd")]),
-                                s[P("0xcd0")] && (this[P("0xd31")][P("0xcd0")] = s[P("0xcd0")]),
-                                s[P("0xcd1")] && (this._videoProjectionConfig[P("0xcd1")] = s[P("0xcd1")]),
-                                s[P("0xcd2")] && (this[P("0xd31")][P("0xcd2")] = s[P("0xcd2")]),
-                                s[P("0xcd3")] && (this[P("0xd31")].maxPitch = s[P("0xcd3")]),
-                                s[P("0xcd4")] && (this._videoProjectionConfig[P("0xcd4")] = s[P("0xcd4")]),
-                                s[P("0xcd5")] && (this[P("0xd31")][P("0xcd5")] = s.maxRoll),
-                                s[P("0xcd8")] && (this[P("0xd31")].isSphereType = s[P("0xcd8")]),
-                                s[P("0xcd9")] && (this[P("0xd31")][P("0xcd9")] = s[P("0xcd9")])),
-                                (l[P("0xd33")] = new t(r, c.context, this[P("0x13c")], this)).ErrorEvent[P("0x130")]((function (e) { }
-                                ));
-                            var u = l[P("0xd32")] = new n(c, o, this);
-                            a && a instanceof e[P("0x16a")] && (u[P("0x169")] = a),
-                                u[P("0xd37")][P("0x130")]((function (e) { }
-                                ));
-                            var h = l[P("0xd34")] = new i(c, this);
-                            h.CreationEvent[P("0x130")]((function (e) { }
-                            )),
-                                h[P("0xd38")][P("0x130")]((function (e) { }
-                                )),
-                                h[P("0xd39")][P("0x130")]((function (e) { }
-                                ));
-                            var f = this[P("0xd35")] = new x(c, this);
-                            f[P("0xd3a")][P("0x130")]((function (e) {
-                                l[P("0x77b")] = e
-                            }
-                            )),
-                                f[P("0xd3b")][P("0x130")]((function (e) {
-                                    l[P("0xd34")] && l[P("0xd34")][P("0xc8e")]()
-                                }
-                                ))
-                        }
-                    }
-                        ,
-                        c[P("0x5")][P("0xd3c")] = function () {
-                            if (this._videoProjectionPostRender) {
-                                this._videoProjectionPostRender[P("0xf4")]();
-                                var e = this[P("0xd34")] = new i(this._scene, this);
-                                e[P("0xd3d")][P("0x130")]((function (e) { }
-                                )),
-                                    e[P("0xd38")][P("0x130")]((function (e) { }
-                                    )),
-                                    e[P("0xd39")][P("0x130")]((function (e) { }
-                                    ))
-                            }
-                        }
-                        ,
-                        c[P("0x5")][P("0xce2")] = function (e) {
-                            var t = this[P("0xd33")];
-                            t && t[P("0xce2")](e);
-                            var i = this[P("0xd32")];
-                            i && i[P("0xce2")](e, this);
-                            var r = this[P("0xd34")];
-                            r && r[P("0xc9c")](e)
-                        }
-                        ,
-                        c[P("0x5")][P("0xd20")] = function () {
-                            this[P("0xd35")] && this[P("0xd35")][P("0xd20")]()
-                        }
-                        ,
-                        c[P("0x5")][P("0xc97")] = function () {
-                            return this._videoShadowMap ? this[P("0xd35")][P("0xc97")]() : null
-                        }
-                        ,
-                        c[P("0x5")][P("0xc98")] = function () {
-                            return this[P("0xd35")] ? this[P("0xd35")]._getShadowMapMatrix() : null
-                        }
-                        ,
-                        c.prototype[P("0xce4")] = function () {
-                            return this[P("0xd35")] ? this[P("0xd35")][P("0xce4")]() : null
-                        }
-                        ,
-                        c[P("0x5")][P("0xd2")] = function (e, t, i, r, n, o) {
-                            var a = this._videoProjectionConfig;
-                            e = a[P("0xd3e")](e),
-                                t = a[P("0xcbc")](t),
-                                i = a[P("0xcbd")](i),
-                                r = a[P("0xcbe")](r),
-                                n = a[P("0xcbf")](n),
-                                o = a.clampRoll(o);
-                            var s = this[P("0xd32")];
-                            s && s[P("0xced")](e, t, i, r, n, o);
-                            var x = this[P("0xd35")];
-                            x && x[P("0xd2")](e, t, i, r, n, o)
-                        }
-                        ,
-                        c[P("0x5")][P("0x69")] = function () {
-                            this[P("0x5ba")] = !0;
-                            var e = this[P("0xd32")];
-                            e && (e[P("0x5bb")] = !0);
-                            var t = this[P("0xd3f")]();
-                            t && t.active()
-                        }
-                        ,
-                        c[P("0x5")].deactive = function () {
-                            var e = this._videoProjectionFrustumPrimitive;
-                            e && (e.actived = !1);
-                            var t = this[P("0xd34")];
-                            t && t[P("0xd40")]();
-                            var i = this[P("0xd35")];
-                            i && i.deactive(),
-                                this[P("0x5ba")] = !1
-                        }
-                        ,
-                        c.prototype[P("0xd41")] = function (e) {
-                            if (e) {
-                                var t = this._videoProjectionFrustumPrimitive;
-                                t && t[P("0xce6")](e);
-                                var i = this[P("0xd35")];
-                                i && i[P("0xd41")](e, t.heading, t[P("0x80")], t[P("0x81")])
-                            }
-                        }
-                        ,
-                        c[P("0x5")][P("0xd28")] = function (e) {
-                            e = this[P("0xd31")][P("0xd3e")](e);
-                            var t = this[P("0xd32")];
-                            t && t[P("0xce8")](e);
-                            var i = this[P("0xd35")];
-                            i && i.update(t[P("0xce9")], t.fovY, t[P("0xc9b")], t[P("0x7f")], t[P("0x80")], t[P("0x81")])
-                        }
-                        ,
-                        c[P("0x5")][P("0xd29")] = function (e) {
-                            e = this[P("0xd31")][P("0xcbc")](e);
-                            var t = this[P("0xd32")];
-                            t && t[P("0xcea")](e);
-                            var i = this[P("0xd35")];
-                            i && i[P("0xd2")](t[P("0xce9")], t[P("0xcee")], t[P("0xc9b")], t[P("0x7f")], t.pitch, t.roll)
-                        }
-                        ,
-                        c[P("0x5")][P("0xd2a")] = function (e) {
-                            e = this._videoProjectionConfig[P("0xcbd")](e);
-                            var t = this[P("0xd32")];
-                            t && t[P("0xd42")](e);
-                            var i = this[P("0xd35")];
-                            i && i[P("0xd2a")](e)
-                        }
-                        ,
-                        c[P("0x5")].updateHeading = function (e) {
-                            e = this[P("0xd31")][P("0xcbe")](e);
-                            var t = this._videoProjectionFrustumPrimitive;
-                            t && t[P("0xd43")](e);
-                            var i = this[P("0xd35")];
-                            i && i[P("0xd44")](t[P("0x7f")], t[P("0x80")], t[P("0x81")])
-                        }
-                        ,
-                        c[P("0x5")][P("0xd45")] = function (e) {
-                            e = this._videoProjectionConfig[P("0xcbf")](e);
-                            var t = this[P("0xd32")];
-                            t && t[P("0xceb")](e);
-                            var i = this[P("0xd35")];
-                            i && i[P("0xd44")](t.heading, t[P("0x80")], t.roll)
-                        }
-                        ,
-                        c.prototype[P("0xd46")] = function (e) {
-                            e = this._videoProjectionConfig[P("0xd47")](e);
-                            var t = this._videoProjectionFrustumPrimitive;
-                            t && t[P("0xcec")](e);
-                            var i = this[P("0xd35")];
-                            i && i[P("0xd44")](t[P("0x7f")], t[P("0x80")], t[P("0x81")])
-                        }
-                        ,
-                        c[P("0x5")][P("0xd48")] = function (e) {
-                            if (e) {
-                                var t = this[P("0xd32")];
-                                t && (t.color = e)
-                            }
-                        }
-                        ,
-                        c[P("0x5")][P("0xd49")] = function (e) {
-                            if (e) {
-                                var t = this._videoProjectionFrustumPrimitive;
-                                t && (t[P("0xc96")] = e)
-                            }
-                        }
-                        ,
-                        c.prototype[P("0xd4a")] = function (e) {
-                            if (e) {
-                                var t = this[P("0xd32")];
-                                t && (t[P("0x197")] = e)
-                            }
-                        }
-                        ,
-                        c[P("0x5")][P("0xd4b")] = function (e) {
-                            if (e)
-                                return this[P("0x75b")] == e[P("0x75b")]
-                        }
-                        ,
-                        c[P("0x5")][P("0xd4c")] = function (e) {
-                            return this[P("0x75b")] == e
-                        }
-                        ,
-                        c.prototype._createShadowMap = function () {
-                            if (!this[P("0xd35")])
-                                return null;
-                            var e = this[P("0xd32")];
-                            if (!e)
-                                return null;
-                            var t = e[P("0x8c")]
-                                , i = e.fovX
-                                , r = e.fovY
-                                , n = e[P("0xc9b")]
-                                , o = e[P("0x7f")]
-                                , a = e[P("0x80")]
-                                , s = e[P("0x81")];
-                            return this[P("0xd35")][P("0xd22")](t, i, r, n, o, a, s),
-                                this[P("0xd35")]
-                        }
-                        ,
-                        c[P("0x5")]._getCurrentVideoTexture = function () {
-                            return this[P("0xd33")] ? this._videoTextureSource[P("0xc5c")]() : null
-                        }
-                        ,
-                        c.prototype._getViewMatrix = function () {
-                            return this[P("0xd35")] ? this[P("0x77b")] : e[P("0x1b")][P("0xae")]
-                        }
-                        ,
-                        c[P("0x5")][P("0xf4")] = function () {
-                            this[P("0xd27")](),
-                                this._videoProjectionFrustumPrimitive && (this[P("0xd32")][P("0xf4")](),
-                                    this[P("0xd32")] = null),
-                                this._videoShadowMap && (this[P("0xd35")].destroy(),
-                                    this[P("0xd35")] = null),
-                                this[P("0xd34")] && (this[P("0xd34")][P("0xf4")](),
-                                    this[P("0xd34")] = null),
-                                this._videoTextureSource && (this[P("0xd33")][P("0xf4")](),
-                                    this[P("0xd33")] = null),
-                                this[P("0x77b")] = null,
-                                this[P("0x13c")] = null,
-                                this[P("0x42")] = null,
-                                this._owner = null
-                        }
-                        ,
-                        e[P("0xf")](c[P("0x5")], {
-                            name: {
-                                get: function () {
-                                    return this[P("0x75b")]
-                                }
-                            },
-                            fillVideo: {
-                                get: function () {
-                                    return this[P("0xd36")]
-                                },
-                                set: function (e) {
-                                    this[P("0xd36")] != e && (this[P("0xd36")] = e,
-                                        this._rebuildPostRender())
-                                }
-                            },
-                            position: {
-                                get: function () {
-                                    return this[P("0xd32")][P("0x8c")]
-                                }
-                            },
-                            fovX: {
-                                get: function () {
-                                    return this[P("0xd32")].fovX
-                                },
-                                set: function (e) {
-                                    this[P("0xd28")](e)
-                                }
-                            },
-                            fovY: {
-                                get: function () {
-                                    return this[P("0xd32")][P("0xcee")]
-                                },
-                                set: function (e) {
-                                    this[P("0xd29")](e)
-                                }
-                            },
-                            fovDistance: {
-                                get: function () {
-                                    return this[P("0xd32")][P("0xc9b")]
-                                },
-                                set: function (e) {
-                                    this[P("0xd2a")](e)
-                                }
-                            },
-                            heading: {
-                                get: function () {
-                                    return this[P("0xd32")].heading
-                                },
-                                set: function (e) {
-                                    this[P("0xd4d")](e)
-                                }
-                            },
-                            pitch: {
-                                get: function () {
-                                    return this[P("0xd32")][P("0x80")]
-                                },
-                                set: function (e) {
-                                    this[P("0xd45")](e)
-                                }
-                            },
-                            roll: {
-                                get: function () {
-                                    return this[P("0xd32")][P("0x81")]
-                                },
-                                set: function (e) {
-                                    this[P("0xd46")](e)
-                                }
-                            },
-                            hitlineColor: {
-                                get: function () {
-                                    return this[P("0xd32")][P("0x169")]
-                                },
-                                set: function (e) {
-                                    this[P("0xd48")](e)
-                                }
-                            },
-                            mixFactor: {
-                                get: function () {
-                                    return this[P("0xd32")][P("0xc96")]
-                                },
-                                set: function (e) {
-                                    this.updateMixFactor(e)
-                                }
-                            },
-                            lineWidth: {
-                                get: function () {
-                                    return this[P("0xd32")][P("0x197")]
-                                },
-                                set: function (e) {
-                                    this[P("0xd4a")](e)
-                                }
-                            },
-                            hitlineType: {
-                                get: function () {
-                                    return this[P("0xd32")][P("0xd4e")]
-                                }
-                            },
-                            hitlineVisibly: {
-                                get: function () {
-                                    return this._videoProjectionFrustumPrimitive.visibly
-                                },
-                                set: function (e) {
-                                    this._videoProjectionFrustumPrimitive[P("0xd4f")] = e
-                                }
-                            },
-                            config: {
-                                get: function () {
-                                    return this._videoProjectionConfig
-                                }
-                            },
-                            isActived: {
-                                get: function () {
-                                    return this[P("0x5ba")]
-                                }
-                            }
-                        }),
-                        e[P("0xf")](u[P("0x5")], {
-                            length: {
-                                get: function () {
-                                    return this[P("0x431")][P("0x0")]
-                                }
-                            },
-                            AddEvent: {
-                                get: function () {
-                                    return this[P("0xc6b")]
-                                }
-                            },
-                            RemoveEvent: {
-                                get: function () {
-                                    return this[P("0xc6c")]
-                                }
-                            },
-                            RemoveAllEvent: {
-                                get: function () {
-                                    return this[P("0xd50")]
-                                }
-                            },
-                            projectBackFaces: {
-                                get: function () {
-                                    return this[P("0xd51")]
-                                },
-                                set: function (e) {
-                                    if (this[P("0xd51")] != e) {
-                                        for (var t = this[P("0x431")], i = t[P("0x0")], r = 0; r < i; r++)
-                                            t[r][P("0xd20")]();
-                                        this[P("0xd51")] = e
-                                    }
-                                }
-                            }
-                        }),
-                        u.prototype[P("0x6d")] = function (e) {
-                            if (e) {
-                                var t = e[P("0x176")];
-                                if (!t)
-                                    throw P("0xd52");
-                                if (this[P("0xd53")](t))
-                                    throw "exist!";
-                                this[P("0x431")][P("0x17c")](e),
-                                    this._addEvent[P("0x896")](e)
-                            }
-                        }
-                        ,
-                        u[P("0x5")][P("0xd54")] = function (e) {
-                            if (e) {
-                                var t = e[P("0x176")];
-                                if (!t)
-                                    throw P("0xd52");
-                                this[P("0xd53")](t) && this.removeByName(t),
-                                    e[P("0xf4")]()
-                            }
-                        }
-                        ,
-                        u[P("0x5")][P("0xf4")] = function () {
-                            this[P("0x192")]()
-                        }
-                        ,
-                        u[P("0x5")].getCount = function () {
-                            return this[P("0x431")][P("0x0")]
-                        }
-                        ,
-                        u[P("0x5")][P("0x192")] = function () {
-                            for (var e = this._array[P("0x0")], t = 0; t < e; t++)
-                                this[P("0x431")][t].destroy(),
-                                    this[P("0x431")][t] = null;
-                            this[P("0xf5")]()
-                        }
-                        ,
-                        u[P("0x5")][P("0xce2")] = function (e) {
-                            for (var t = this._array, i = t[P("0x0")], r = 0; r < i; r++)
-                                t[r][P("0xce2")](e)
-                        }
-                        ,
-                        u.prototype[P("0xd55")] = function (e) {
-                            var t = this._array.length;
-                            return e < 0 || t <= e ? null : this._array[e]
-                        }
-                        ,
-                        u[P("0x5")].getByName = function (e) {
-                            return this[P("0xd53")](e)
-                        }
-                        ,
-                        u.prototype[P("0xd56")] = function (e) {
-                            var t = this[P("0x431")].length;
-                            e < 0 || t <= e || (this[P("0x431")][P("0x259")](e, 1),
-                                this[P("0xc6c")][P("0x896")]())
-                        }
-                        ,
-                        u.prototype[P("0xd57")] = function (e) {
-                            for (var t = this[P("0x431")].length, i = 0; i < t; i++)
-                                if (this._array[i][P("0xd4c")](e))
-                                    return this[P("0x431")][P("0x259")](i, 1),
-                                        void this._removeEvent.raiseEvent()
-                        }
-                        ,
-                        u[P("0x5")].removeAll = function () {
-                            this._array.length = 0,
-                                this[P("0xd50")].raiseEvent()
-                        }
-                        ,
-                        u.prototype[P("0xd53")] = function (e) {
-                            if (!e)
-                                return null;
-                            for (var t = this[P("0x431")][P("0x0")], i = 0; i < t; i++) {
-                                var r = this[P("0x431")][i];
-                                if (r.isSelf(e))
-                                    return r
-                            }
-                            return null
-                        }
-                        ,
-                        u.prototype[P("0xd58")] = function () {
-                            for (var e = [], t = this[P("0x431")][P("0x0")], i = 0; i < t; i++) {
-                                var r = this[P("0x431")][i];
-                                e[P("0x17c")](r[P("0x176")])
-                            }
-                            return e
-                        }
-                        ,
-                        e[P("0xc3a")][P("0x5")].getVideoProjectionCollection = function () {
-                            return this[P("0xd59")] || (this[P("0xd59")] = new u),
-                                this[P("0xd59")]
-                        }
-                        ,
-                        e[P("0xc3a")][P("0x5")][P("0xd5a")] = function (e) {
-                            this[P("0xd59")] || (this._videoProjectionCollection = new u),
-                                this[P("0xd59")]._render(e)
-                        }
-                        ,
-                        e[P("0xc3a")].prototype[P("0xd5b")] = function () {
-                            this._videoProjectionCollection && this._videoProjectionCollection[P("0x192")]()
-                        }
-                        ,
-                        e[P("0xc3a")][P("0x5")][P("0xd5c")] = function (e) {
-                            e && this[P("0xd59")] && this._videoProjectionCollection.destoryObject(e)
-                        }
-                        ,
-                        e[P("0xc3a")][P("0x5")][P("0xd5d")] = function (t, i, r, n) {
-                            try {
-                                var o = new (e[P("0xd30")])(t, i, r, n);
-                                if (o) {
-                                    var a = this[P("0xd5e")]();
-                                    a && a[P("0x6d")](o)
-                                }
-                                return o
-                            } catch (t) {
-                                return null
-                            }
-                        }
-                        ,
-                        e[P("0xc3a")][P("0x5")][P("0xd5f")] = function (e) {
-                            if (e)
-                                for (var t = e[P("0xb87")], i = t[P("0x0")], r = 0; r < i; ++r)
-                                    t[r].commandList[P("0x0")] = 0
-                        }
-                        ,
-                        e[P("0xc3a")].prototype[P("0xd60")] = function (e, t, i, r, n) {
-                            for (var o = 0; o < t; ++o) {
-                                var a = e[P("0xb87")][o];
-                                i[P("0xc12")](a[P("0x7e")]),
-                                    e[P("0xc1b")](r, o);
-                                for (var s = a[P("0x5ca")].length, x = 0; x < s; ++x) {
-                                    var l = a[P("0x5ca")][x];
-                                    i.updatePass(l.pass),
-                                        this[P("0xd61")](l[P("0xc0d")][P("0xd62")][P("0xd63")][n], r, a[P("0x795")])
-                                }
-                            }
-                        }
-                        ,
-                        e[P("0xc3a")].prototype._executeVideoProjectionCastCommands = function () {
-                            var e = this[P("0x6d9")]
-                                , t = e[P("0xd26")];
-                            if (t) {
-                                var i = this[P("0xd59")];
-                                if (i && !i[P("0xd64")])
-                                    for (var r = t.length, n = this.context, o = n[P("0xc28")], a = 0; a < r; ++a) {
-                                        var s = t[a];
-                                        if (!s[P("0xd65")]) {
-                                            var x = s[P("0xb87")][P("0x0")];
-                                            this[P("0xd5f")](s);
-                                            var l = e.commandList;
-                                            this._insertVideoProjectionCastCommands(l, s),
-                                                this._executePassesVideoProjectionCommands(s, x, o, n, a)
-                                        }
-                                    }
-                            }
-                        }
-                        ,
-                        e.Scene[P("0x5")]._insertVideoProjectionCastCommands = function (t, i) {
-                            for (var r = i[P("0xd66")], n = i[P("0xb87")], o = t[P("0x0")], a = 0; a < o; ++a) {
-                                var s = t[a];
-                                this[P("0xd67")](s),
-                                    !s[P("0xd68")] || s.pass !== e[P("0x5e4")].GLOBE && s[P("0x5d4")] !== e[P("0x5e4")].CESIUM_3D_TILE && s[P("0x5d4")] !== e[P("0x5e4")][P("0x5e5")] && s.pass !== e[P("0x5e4")][P("0x73e")] || this[P("0xd69")](s, r) && n[0][P("0x5ca")].push(s)
-                            }
-                        }
-                        ,
-                        e.Scene.prototype[P("0xd67")] = function (t) {
-                            if (e[P("0x14")](t.derivedCommands)) {
-                                var i = this[P("0xbe9")]
-                                    , r = this[P("0xb84")]
-                                    , n = i[P("0x77d")]
-                                    , o = this[P("0xc07")]
-                                    , a = t[P("0xc0d")]
-                                    , s = e[P("0x14")](a[P("0xd6a")])
-                                    , x = !(n && o || s);
-                                if (t[P("0x48c")] = !0,
-                                    t.dirty) {
-                                    t.dirty = !1;
-                                    var l = i.videoProjectionMaps;
-                                    t.castShadows && (a[P("0xd62")] = e[P("0x4f1")][P("0xd6b")](l, t, !0, r, a[P("0xd62")])),
-                                        (s || x) && this[P("0xd6c")](t)
-                                }
-                            }
-                        }
-                        ,
-                        e[P("0xc3a")].prototype[P("0xd61")] = function (t, i, r) {
-                            var n = this[P("0xbe9")];
-                            if (!e[P("0x14")](this[P("0xd6d")]) || this[P("0xd6d")](t))
-                                if (t instanceof e[P("0x790")])
-                                    t.execute(i, r);
-                                else if (!t.debugShowBoundingVolume || !e.defined(t[P("0x4bc")])) {
-                                    n[P("0x77d")] && e[P("0x14")](t[P("0xc0d")][P("0xd6e")]) && (t = t[P("0xc0d")].logDepth.command);
-                                    var o = n[P("0xb87")];
-                                    if (!o.pick && this[P("0xc07")] && e[P("0x14")](t.derivedCommands) && e[P("0x14")](t[P("0xc0d")].hdr) && (t = t[P("0xc0d")][P("0xd6f")][P("0x4d7")]),
-                                        o[P("0xa4")] || o.depth) {
-                                        if (o[P("0xa4")] && !o[P("0x456")] && e.defined(t.derivedCommands[P("0xc0e")]))
-                                            return void (t = t.derivedCommands[P("0xc0e")].pickCommand)[P("0x797")](i, r);
-                                        if (e[P("0x14")](t[P("0xc0d")][P("0x456")]))
-                                            return void (t = t[P("0xc0d")][P("0x456")].depthOnlyCommand)[P("0x797")](i, r)
-                                    }
-                                    this[P("0xd70")] || this.debugShowFrustums || (n[P("0xd71")].lightShadowsEnabled && t[P("0xd72")] && e[P("0x14")](t[P("0xc0d")][P("0xd62")]) ? t.derivedCommands[P("0xd62")][P("0xd73")][P("0x797")](i, r) : t[P("0x797")](i, r))
-                                }
-                        }
-                        ,
-                        e[P("0xc3a")][P("0x5")][P("0xd6c")] = function (t) {
-                            var i = this._frameState
-                                , r = this[P("0xb84")]
-                                , n = this._view[P("0xd74")]
-                                , o = i[P("0xd71")][P("0xd75")]
-                                , a = i.shadowState[P("0xd76")]
-                                , s = t.derivedCommands;
-                            e[P("0x14")](t[P("0xd77")]) && (s[P("0xc0e")] = e[P("0xd78")].createPickDerivedCommand(this, t, r, s[P("0xc0e")])),
-                                t[P("0xd79")] || (s[P("0x456")] = e.DerivedCommand[P("0xd7a")](this, t, r, s[P("0x456")])),
-                                s[P("0xd6a")] = t,
-                                this._hdr && (s.hdr = e[P("0xd78")][P("0xd7b")](t, r, s[P("0xd6f")]),
-                                    s = (t = s.hdr[P("0x4d7")])[P("0xc0d")]),
-                                a && t.receiveShadows && (s[P("0xd62")] = e[P("0x4f1")][P("0xd7c")](o, t, !0, r, s[P("0xd62")])),
-                                t.pass === e[P("0x5e4")][P("0x73e")] && e.defined(n) && n[P("0xd7d")]() && (a && t[P("0xd72")] ? (s.oit = e.defined(s.oit) ? s[P("0xd74")] : {},
-                                    s[P("0xd74")][P("0xd62")] = n[P("0xd7e")](s[P("0xd62")][P("0xd73")], r, s[P("0xd74")][P("0xd62")])) : s[P("0xd74")] = n.createDerivedCommands(t, r, s.oit))
-                        }
-                }(window.Cesium),
-                function (e) {
-                    var t = e[P("0xd7f")] = function (t) {
-                        t = e[P("0x102")](t, e.defaultValue[P("0x128")]),
-                            this[P("0xd80")] = null,
-                            this.filterFar = e.defaultValue(t[P("0xd81")], 1e6),
-                            this.scene = t[P("0x10f")],
-                            this.initStage()
-                    }
-                        ;
-                    e[P("0xf")](t[P("0x5")], {
-                        name: {
-                            get: function () {
-                                return this[P("0xd80")][P("0x176")]
-                            }
-                        },
-                        inputPreviousStageTexture: {
-                            get: function () {
-                                return this._stage[P("0xd82")]
-                            }
-                        },
-                        enabled: {
-                            set: function (e) {
-                                this[P("0xd80")][P("0x364")] = e
-                            },
-                            get: function () {
-                                return this[P("0xd80")][P("0x364")]
-                            }
-                        },
-                        _textureCache: {
-                            set: function (e) {
-                                this[P("0xd80")][P("0xd83")] = e
-                            },
-                            get: function () {
-                                return this[P("0xd80")][P("0xd83")]
-                            }
-                        },
-                        outputTexture: {
-                            get: function () {
-                                return this[P("0xd80")][P("0xd84")]
-                            }
-                        },
-                        ready: {
-                            get: function () {
-                                return this[P("0xd80")][P("0xa8e")]
-                            }
-                        },
-                        _index: {
-                            set: function (e) {
-                                this[P("0xd80")]._index = e
-                            },
-                            get: function () {
-                                return this[P("0xd80")][P("0xd85")]
-                            }
-                        },
-                        uniforms: {
-                            get: function () {
-                                return this[P("0xd80")].uniforms
-                            }
-                        },
-                        _textureScale: {
-                            get: function () {
-                                return this[P("0xd80")].textureScale
-                            }
-                        },
-                        _pixelFormat: {
-                            get: function () {
-                                return this[P("0xd80")][P("0xd86")]
-                            }
-                        },
-                        _forcePowerOfTwo: {
-                            get: function () {
-                                return this[P("0xd80")][P("0xd87")]
-                            }
-                        },
-                        _pixelDatatype: {
-                            get: function () {
-                                return this[P("0xd80")][P("0xd88")]
-                            }
-                        },
-                        _clearColor: {
-                            get: function () {
-                                return this[P("0xd80")][P("0xd89")]
-                            }
-                        }
-                    }),
-                        t[P("0x5")][P("0xd8a")] = function () {
-                            var t = this
-                                , i = P("0x7a0") + P("0x7a1") + P("0x7a4") + P("0xd8b") + P("0xd8c") + "{\n" + P("0xd8d") + P("0xd8e") + P("0xd8f") + "   return posEC;\n}\n" + P("0xd90") + P("0x7b1") + "    vec3 hsb = czm_RGBToHSB(color.rgb);\n" + P("0xd91") + P("0xd92") + P("0x85f") + P("0xd93") + P("0x7b7") + "    else\n" + P("0x85f") + P("0xd94") + P("0x7b7") + "    color.rgb = czm_HSBToRGB(hsb);\n" + P("0xd95") + P("0xd96") + P("0xd97") + P("0xd98") + P("0x85f") + P("0xd99") + "    }\n" + P("0xd9a") + P("0x85f") + P("0xd9b") + P("0x7b7") + "}\n"
-                                , r = new (e[P("0x7c5")])({
-                                    fragmentShader: i,
-                                    name: e[P("0x75c")](),
-                                    inputPreviousStageTexture: !0,
-                                    uniforms: {
-                                        u_filterFar: function () {
-                                            var e = t[P("0x10f")];
-                                            if (e) {
-                                                var i = e[P("0x7e")];
-                                                if (i[P("0xd81")] && i[P("0xd9c")])
-                                                    return .6 * i[P("0xd81")]
-                                            }
-                                            return t[P("0xd81")]
-                                        }
-                                    }
-                                });
-                            (this[P("0xd80")] = r)[P("0x48b")] = !0
-                        }
-                        ,
-                        t[P("0x5")][P("0xd2")] = function (e, t) {
-                            this[P("0xd80")][P("0xd2")](e, t)
-                        }
-                        ,
-                        t[P("0x5")][P("0xd9d")] = function (e) {
-                            return this[P("0xd80")]._isSupported(e)
-                        }
-                        ,
-                        t[P("0x5")].execute = function (e, t, i, r) {
-                            this[P("0xd80")][P("0x797")](e, t, i, r)
-                        }
-                        ,
-                        t[P("0x5")][P("0xf4")] = function () {
-                            return this[P("0xd80")].destroy(),
-                                destroyObject(this)
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0xd9e")] = function (t) {
-                        this[P("0x13b")] = t[P("0x13b")],
-                            this[P("0x10f")] = this[P("0x13b")].scene,
-                            this[P("0x7e")] = this[P("0x13b")][P("0x7e")],
-                            this[P("0xef")] = this[P("0x10f")].globe[P("0xef")],
-                            this.path = e.defaultValue(t[P("0xd9f")], null),
-                            this.moveStep = e.defaultValue(t[P("0xda0")], 2),
-                            this.rotateStep = e[P("0x102")](t[P("0xda1")], 10),
-                            this.frameChange = e[P("0x102")](t[P("0xda2")], (function () { }
-                            )),
-                            this[P("0xda3")] = !1,
-                            this[P("0xda4")] = new i(this),
-                            this[P("0xda4")][P("0xda5")](this[P("0xda2")])
-                    }
-                        ;
-                    t[P("0x5")][P("0x198")] = function () {
-                        (this[P("0x7e")][P("0xda6")] = this)[P("0x10f")].logarithmicDepthBuffer = !1,
-                            e[P("0x3cb")][P("0x5")][P("0xda7")] = e[P("0x3cb")][P("0x5")].update,
-                            e.Camera[P("0x5")][P("0xd2")] = function (e) {
-                                this._hookUpdate(e),
-                                    this[P("0xda6")] && this._hooker.raiseUpdate(this)
-                            }
-                    }
-                        ,
-                        t[P("0x5")].raiseUpdate = function (t) {
-                            var i = {};
-                            if (!this[P("0xda3")]) {
-                                var r = this[P("0xda4")].next();
-                                if (void 0 !== r) {
-                                    i[P("0x8c")] = e[P("0x11")][P("0x6e")](r[P("0x8c")]),
-                                        i[P("0xda8")] = e[P("0x13")].fromCartesian(r.position, this[P("0xef")]);
-                                    var n = e[P("0x1f")][P("0xbf")](r[P("0x8c")], this[P("0xef")], o)
-                                        , x = r.direction
-                                        , l = new (e[P("0x11")])(n[8], n[9], n[10])
-                                        , c = e[P("0x11")][P("0x99")](x, l, a);
-                                    e[P("0x11")][P("0x8d")](c, c),
-                                        l = e[P("0x11")][P("0x99")](c, x, s),
-                                        e[P("0x11")][P("0x8d")](l, l),
-                                        i.direction = e[P("0x11")][P("0x6e")](x),
-                                        i.up = e[P("0x11")][P("0x6e")](l),
-                                        i[P("0x9b")] = e[P("0x11")][P("0x6e")](c),
-                                        this._lockCamera = !0,
-                                        t[P("0x9c")]({
-                                            destination: i[P("0x8c")],
-                                            orientation: {
-                                                direction: i[P("0x93")],
-                                                up: i.up
-                                            }
-                                        }),
-                                        this._lockCamera = !1
-                                } else
-                                    this[P("0xda3")] = !1
-                            }
-                        }
-                        ,
-                        t.prototype[P("0xda9")] = function () {
-                            e[P("0x3cb")][P("0x5")][P("0xda7")] && (e[P("0x3cb")].prototype.update = e.Camera[P("0x5")][P("0xda7")]),
-                                delete this[P("0x7e")][P("0xda6")] && delete this.camera[P("0xc")][P("0xda7")]
-                        }
-                        ,
-                        t[P("0x5")][P("0xf4")] = function () {
-                            e[P("0x3cb")][P("0x5")][P("0xd2")] = e[P("0x3cb")].prototype[P("0xda7")],
-                                delete this.camera[P("0xda6")] && delete this[P("0x7e")][P("0xc")]._hookUpdate,
-                                this.scene.logarithmicDepthBuffer = !0
-                        }
-                        ;
-                    var i = function (t) {
-                        this[P("0xdaa")] = t,
-                            this._begin = 0,
-                            this._isDone = !1,
-                            this[P("0xdab")] = !1,
-                            this[P("0xdac")] = new (e[P("0x766")])
-                    };
-                    function r(e, t, i) {
-                        return void 0 === e || void 0 === e.x || void 0 === t || void 0 === t.x || !!n(e.x, t.x, i) && !!n(e.y, t.y, i) && !!n(e.z, t.z, i)
-                    }
-                    function n(e, t, i) {
-                        return void 0 === i && (i = 1e-7),
-                            Math[P("0x78")](e - t) < i
-                    }
-                    i[P("0x5")].addChangeEventListener = function (e) {
-                        this[P("0xdac")].addEventListener(e)
-                    }
-                        ,
-                        i[P("0x5")][P("0xdad")] = function (e) {
-                            this[P("0xdac")].raiseEvent(e)
-                        }
-                        ,
-                        i[P("0x5")][P("0xdae")] = function () {
-                            return this[P("0xdaf")]
-                        }
-                        ,
-                        i[P("0x5")][P("0xdb0")] = function () {
-                            return this._isPause
-                        }
-                        ,
-                        i[P("0x5")][P("0xe2")] = function (e) {
-                            this[P("0xdb1")] = null == e ? 0 : e,
-                                this._isDone = !1,
-                                this._isPause = !1
-                        }
-                        ,
-                        i[P("0x5")][P("0xe4")] = function () {
-                            this[P("0xdb2")]()
-                        }
-                        ,
-                        i[P("0x5")][P("0xdb2")] = function () {
-                            this._isDone = !0,
-                                this[P("0xdab")] = !1,
-                                this[P("0xdb1")] = 0,
-                                this[P("0xdb3")] = void 0,
-                                this[P("0xdb4")] = void 0,
-                                this[P("0xdb5")] = void 0
-                        }
-                        ,
-                        i.prototype[P("0x546")] = function () {
-                            this._isPause = !0
-                        }
-                        ,
-                        i[P("0x5")][P("0xdb6")] = function () {
-                            this[P("0xdab")] = !1
-                        }
-                        ,
-                        i[P("0xdb7")] = function (e, t) {
-                            var i = t
-                                , r = i[P("0xdb8")]() - e[P("0xdb8")]();
-                            return r += 1e3 * (i[P("0xdb9")]() - e[P("0xdb9")]()),
-                                (r += 60 * (i[P("0xdba")]() - e[P("0xdba")]()) * 1e3) + 60 * (i.getHours() - e[P("0x982")]()) * 60 * 1e3
-                        }
-                        ,
-                        i[P("0x5")][P("0x7e3")] = function () {
-                            if (!this[P("0xdaf")]) {
-                                if (void 0 === this[P("0xdb3")])
-                                    return this[P("0xdb3")] = this[P("0xdbb")](),
-                                        void 0 === this.state || (this[P("0xdb3")].date = new Date),
-                                        this.state;
-                                if (this[P("0xdab")])
-                                    return this[P("0xdb3")][P("0xdbc")] = new Date,
-                                        this[P("0xdb3")];
-                                var t = this[P("0xdb3")];
-                                if (r(t[P("0x8c")], t[P("0x64")]) && r(t[P("0x93")], t.endDirection))
-                                    return void 0 !== t[P("0x7e3")] ? (this[P("0xdb3")] = t[P("0x7e3")],
-                                        this.state[P("0xdbc")] = new Date,
-                                        this[P("0xdb3")]) : (this[P("0xdb1")]++,
-                                            this[P("0xdb1")] >= this[P("0xdaa")][P("0xd9f")].length ? (this[P("0xdad")](this[P("0xdb1")]),
-                                                void this._toStop()) : (this.state = this._createState(),
-                                                    void 0 === this[P("0xdb3")] ? this.state : (this[P("0xdb3")][P("0xdbc")] = new Date,
-                                                        this[P("0xdb3")])));
-                                if (r(t[P("0x93")], t[P("0xdbd")])) {
-                                    var n = e[P("0x11")][P("0x8e")](t[P("0x64")], t[P("0x8c")])
-                                        , o = this._walkAnimation[P("0xda0")] + t[P("0xdbe")];
-                                    return x = new Date,
-                                        l = i.ComputeTimeDelta(t[P("0xdbc")], x),
-                                        t.date = x,
-                                        n <= (o *= l / 1e3) ? (t[P("0x8c")] = e[P("0x11")][P("0x6e")](t.endPosition, new e.Cartesian3),
-                                            t) : (a = e[P("0x11")][P("0x95")](t[P("0x64")], t[P("0x8c")], new (e[P("0x11")])),
-                                                e[P("0x11")][P("0x8d")](a, a),
-                                                e[P("0x11")][P("0x6c")](a, o, a),
-                                                t[P("0x8c")] = e[P("0x11")][P("0x6d")](t.position, a, new (e[P("0x11")])),
-                                                t)
-                                }
-                                var a = e[P("0x11")][P("0x99")](t.direction, t[P("0xdbd")], new e.Cartesian3);
-                                e[P("0x11")][P("0x8d")](a, a);
-                                var s = e[P("0x23")][P("0x119")](this[P("0xdaa")][P("0xda1")] + t.rotateSpeed)
-                                    , x = new Date
-                                    , l = i.ComputeTimeDelta(t[P("0xdbc")], x);
-                                if (t[P("0xdbc")] = x,
-                                    (s *= l / 1e3) < e.Cartesian3[P("0xcb")](t.direction, t[P("0xdbd")])) {
-                                    var c = e[P("0x1d")][P("0xcc")](a, s, new e.Quaternion)
-                                        , u = e[P("0x1a")][P("0xcd")](c, new (e[P("0x1a")]))
-                                        , h = e[P("0x1b")][P("0x738")](u, new (e[P("0x11")])(0, 0, 0), new (e[P("0x1b")]))
-                                        , f = e[P("0x1b")].multiplyByPointAsVector(h, t[P("0x93")], new (e[P("0x11")]));
-                                    return t[P("0x93")] = e[P("0x11")][P("0x8d")](f, new (e[P("0x11")])),
-                                        t
-                                }
-                                return t[P("0x93")] = e[P("0x11")].clone(t.endDirection, new (e[P("0x11")])),
-                                    t
-                            }
-                        }
-                        ,
-                        i[P("0x5")][P("0xdbb")] = function () {
-                            this[P("0xdad")](this[P("0xdb1")]);
-                            var t = this[P("0xdb1")]
-                                , i = t + 1
-                                , r = this[P("0xdaa")][P("0xd9f")];
-                            if (i >= r[P("0x0")])
-                                return this.raiseChangeEvent(i),
-                                    void this[P("0xdb2")]();
-                            var n = {}
-                                , o = r[t]
-                                , a = r[i];
-                            return n[P("0x8c")] = e.Cartesian3[P("0x1a1")](o[P("0xda8")].longitude, o.geoposition[P("0x114")], o[P("0xda8")][P("0x8b")], this[P("0xdaa")][P("0xef")], new (e[P("0x11")])),
-                                n[P("0x93")] = e[P("0x11")].clone(o[P("0x93")], new (e[P("0x11")])),
-                                n[P("0xdbe")] = o[P("0xdbe")],
-                                n[P("0xdbf")] = o.rotateSpeed,
-                                n.endPosition = e[P("0x11")][P("0x1a1")](a.geoposition[P("0x112")], a[P("0xda8")].latitude, a.geoposition.height, this[P("0xdaa")][P("0xef")], new (e[P("0x11")])),
-                                n[P("0xdbd")] = e[P("0x11")][P("0x6e")](a[P("0x93")], new e.Cartesian3),
-                                n
-                        }
-                        ;
-                    var o = new e.Matrix4
-                        , a = (new (e[P("0x11")]),
-                            new (e[P("0x11")]))
-                        , s = new e.Cartesian3
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e.GeoWalkerCamera = function (i) {
-                        this.viewer = i[P("0x13b")],
-                            this[P("0x10f")] = this[P("0x13b")][P("0x10f")],
-                            this[P("0x7e")] = this[P("0x13b")].camera,
-                            this[P("0x94e")] = e[P("0x102")](i[P("0x94e")], 1),
-                            this[P("0xdc0")] = e[P("0x102")](i[P("0xdc0")], 5),
-                            this[P("0xdc1")] = e[P("0x102")](i.manHeight, 1.6),
-                            this[P("0xdc2")] = e.defaultValue(i[P("0xdc2")], .8),
-                            this[P("0xdb3")] = t[P("0xdc3")][P("0xdc4")],
-                            this._lockCamera = !1,
-                            this[P("0xdc5")] = !1,
-                            this[P("0x44")] = this.scene[P("0xa3")][P("0xef")],
-                            this[P("0xdc6")] = new l,
-                            this[P("0xdc7")] = !1,
-                            this[P("0xd81")] = e.defaultValue(i.filterFar, null),
-                            this[P("0xdc8")] = e[P("0x102")](i[P("0xdc9")], !0),
-                            i[P("0xdca")] && this[P("0x13b")] && viewer[P("0x10f")][P("0x77c")].add(new (e[P("0xd7f")])({
-                                scene: viewer[P("0x10f")]
-                            }))
-                    }
-                        ;
-                    t[P("0x5")].setState = function (t) {
-                        0 < Object[P("0xdcb")](e[P("0xdcc")].stateType).filter((function (i) {
-                            return e[P("0xdcc")][P("0xdc3")][i] === t
-                        }
-                        ))[P("0x0")] && (this[P("0xdb3")] = t)
-                    }
-                        ,
-                        t[P("0x5")].activate = function () {
-                            this[P("0xd81")] && (this[P("0x7e")].filterFar = this[P("0xd81")]),
-                                (this[P("0x7e")][P("0xda6")] = this)[P("0x10f")][P("0xdcd")] = !1,
-                                e[P("0x3cb")][P("0x5")][P("0xda7")] = e[P("0x3cb")][P("0x5")][P("0xd2")],
-                                e[P("0x3cb")].prototype[P("0xd2")] = function (e) {
-                                    this._hookUpdate(e),
-                                        this[P("0xda6")] && this[P("0xda6")][P("0xdce")](this)
-                                }
-                        }
-                        ,
-                        t[P("0x5")].unactivate = function () {
-                            this[P("0x7e")] && this[P("0x7e")][P("0xd81")] && delete this.camera[P("0xd81")],
-                                e[P("0x3cb")][P("0x5")]._hookUpdate && (e[P("0x3cb")][P("0x5")].update = e[P("0x3cb")].prototype[P("0xda7")]),
-                                delete this[P("0x7e")]._hooker && delete this[P("0x7e")][P("0xc")][P("0xda7")]
-                        }
-                        ,
-                        t[P("0x5")][P("0xdce")] = function (e) {
-                            if (!(!this[P("0xdc5")] || this._lockCamera || this[P("0xdb3")] < 1))
-                                switch (this[P("0xdb3")]) {
-                                    case t[P("0xdc3")][P("0xdcf")]:
-                                        this.computeForeward(e);
-                                        break;
-                                    case t[P("0xdc3")].BACKWARD:
-                                        this.computeBackward(e);
-                                        break;
-                                    case t[P("0xdc3")][P("0xdd0")]:
-                                        this[P("0xdd1")](e);
-                                        break;
-                                    case t.stateType.RIGHTWARD:
-                                        this.computeRightward(e);
-                                        break;
-                                    case t[P("0xdc3")][P("0xdd2")]:
-                                        this[P("0xdd3")](e);
-                                        break;
-                                    case t.stateType[P("0xdd4")]:
-                                        this[P("0xdd5")](e);
-                                        break;
-                                    case t.stateType[P("0x138")]:
-                                        this.computeTrunLeft(e);
-                                        break;
-                                    case t[P("0xdc3")][P("0x139")]:
-                                        this[P("0xdd6")](e);
-                                        break;
-                                    case t[P("0xdc3")][P("0xdc4")]:
-                                        return
-                                }
-                        }
-                        ,
-                        t[P("0x5")].setView = function (e) {
-                            this[P("0xda3")] = !0,
-                                this.camera[P("0x9c")](e),
-                                this[P("0xda3")] = !1,
-                                this[P("0xdc5")] = !0
-                        }
-                        ,
-                        t[P("0x5")][P("0xdd7")] = function (e) {
-                            this[P("0xda3")] = !0,
-                                this[P("0x7e")][P("0xb2a")](e || 100),
-                                this[P("0xda3")] = !1
-                        }
-                        ,
-                        t[P("0x5")][P("0xdd8")] = function (t) {
-                            this[P("0x10f")][P("0xa4")](t);
-                            var i = this[P("0x10f")][P("0x174")](t)
-                                , r = e[P("0x13")].fromCartesian(i, this[P("0x44")]);
-                            if (0 < r[P("0x8b")])
-                                r[P("0x8b")] += this[P("0xdc1")];
-                            else {
-                                var n = this[P("0x10f")][P("0xa3")][P("0xed")](r);
-                                r[P("0x8b")] = 0 < n ? n + this.manHeight : 1e3
-                            }
-                            var o = e[P("0x11")].fromRadians(r[P("0x112")], r.latitude, r[P("0x8b")], this[P("0x44")]);
-                            this._lockCamera = !0,
-                                this.camera[P("0x9c")]({
-                                    destination: o,
-                                    orientation: {
-                                        heading: this[P("0x7e")][P("0x7f")],
-                                        pitch: 0,
-                                        up: 0
-                                    }
-                                }),
-                                this[P("0xda3")] = !1,
-                                this[P("0xdc5")] = !0,
-                                this[P("0x7e")] && this[P("0xd81")] && (this[P("0xd9c")](!0),
-                                    this[P("0x7e")].enableFilter = !0)
-                        }
-                        ,
-                        t[P("0x5")][P("0xdd9")] = function (t) {
-                            var i = new e.Cartesian3
-                                , n = t[P("0x8c")]
-                                , l = (t[P("0xa5")],
-                                    t[P("0xa6")].clone())
-                                , c = this.getTangentNormal()
-                                , u = e[P("0x11")][P("0x99")](l, c, a);
-                            if (e[P("0x11")][P("0x8d")](u, u),
-                                l = e.Cartesian3.cross(c, u, o),
-                                e[P("0x11")][P("0x8d")](l, l),
-                                this[P("0xdc8")]) {
-                                var h = this[P("0xdda")](n, l, c, 1 / r * this[P("0x94e")]);
-                                e[P("0x11")].multiplyByScalar(l, h, i),
-                                    e[P("0x11")][P("0x6d")](n, i, n);
-                                var f = x;
-                                f[P("0x87")] = n,
-                                    f[P("0x93")] = e[P("0x11")][P("0xc8")](c, s);
-                                var d = e[P("0x13")].fromCartesian(f[P("0x87")], this[P("0x44")])
-                                    , g = e[P("0xbe0")][P("0xa4")](this[P("0x10f")], f, l, !0);
-                                if (g && g[P("0x8c")] && g[P("0x7")])
-                                    (m = e[P("0x13")][P("0x175")](g[P("0x8c")], this[P("0x44")])).height += this[P("0xdc1")],
-                                        (p = d.height - m.height) < 3 && -1 < p ? (this[P("0x133")](P("0xddb") + p),
-                                            n = e[P("0x11")][P("0x3d0")](m[P("0x112")], m[P("0x114")], m.height, this._ellipsoid)) : this[P("0x133")]("Forward : height = 0");
-                                else {
-                                    var p, m = e[P("0x13")][P("0x175")](n, this[P("0x44")]), b = this[P("0x10f")][P("0xa3")][P("0xed")](m);
-                                    m[P("0x8b")] = 0 < b ? b + this[P("0xdc1")] : m[P("0x8b")],
-                                        (p = d.height - m[P("0x8b")]) < 3 && -1 < p ? (this[P("0x133")](P("0xddc") + p),
-                                            n = e[P("0x11")][P("0x3d0")](m[P("0x112")], m[P("0x114")], m[P("0x8b")], this[P("0x44")])) : this[P("0x133")](P("0xddc") + 0)
-                                }
-                            } else
-                                e[P("0x11")].multiplyByScalar(l, 1 / r * this[P("0x94e")], i),
-                                    e[P("0x11")][P("0x6d")](n, i, n);
-                            this[P("0xda3")] = !0,
-                                t[P("0x9c")]({
-                                    destination: n,
-                                    orientation: {
-                                        heading: t.heading,
-                                        pitch: t[P("0x80")],
-                                        up: t.up
-                                    }
-                                }),
-                                this[P("0xda3")] = !1
-                        }
-                        ,
-                        t[P("0x5")][P("0xddd")] = function (t) {
-                            var i = new (e[P("0x11")])
-                                , n = t[P("0x8c")]
-                                , l = (t[P("0xa5")],
-                                    t[P("0xa6")][P("0x6e")]())
-                                , c = this[P("0xdde")]()
-                                , u = e[P("0x11")][P("0x99")](l, c, a);
-                            if (e[P("0x11")][P("0x8d")](u, u),
-                                l = e[P("0x11")][P("0x99")](c, u, o),
-                                e[P("0x11")].normalize(l, l),
-                                l = e[P("0x11")][P("0xc8")](l, o),
-                                this._collideActived) {
-                                var h = this._computeCollideDistance(n, l, c, 1 / r * this[P("0x94e")]);
-                                e[P("0x11")][P("0x6c")](l, h, i),
-                                    e[P("0x11")].add(n, i, n);
-                                var f = x;
-                                f[P("0x87")] = n,
-                                    f[P("0x93")] = e[P("0x11")][P("0xc8")](c, s);
-                                var d = e.Cartographic.fromCartesian(f[P("0x87")], this._ellipsoid)
-                                    , g = e[P("0x11")][P("0xc8")](l, new (e[P("0x11")]))
-                                    , p = e.GeoRayPick[P("0xa4")](this[P("0x10f")], f, g, !0);
-                                if (p && p[P("0x8c")] && p[P("0x7")])
-                                    (b = e[P("0x13")].fromCartesian(p[P("0x8c")], this[P("0x44")]))[P("0x8b")] += this[P("0xdc1")],
-                                        (m = d[P("0x8b")] - b[P("0x8b")]) < 3 && -1 < m ? (this[P("0x133")]("Backward : height = " + m),
-                                            n = e.Cartesian3[P("0x3d0")](b[P("0x112")], b.latitude, b[P("0x8b")], this[P("0x44")])) : this.log(P("0xddf") + 0);
-                                else {
-                                    var m, b = e[P("0x13")][P("0x175")](n, this[P("0x44")]), v = this[P("0x10f")][P("0xa3")][P("0xed")](b);
-                                    b[P("0x8b")] = 0 < v ? v + this[P("0xdc1")] : b.height,
-                                        (m = d[P("0x8b")] - b[P("0x8b")]) < 3 && -1 < m ? (this.log(P("0xde0") + m),
-                                            n = e[P("0x11")][P("0x3d0")](b[P("0x112")], b[P("0x114")], b[P("0x8b")], this[P("0x44")])) : this[P("0x133")](P("0xde0") + 0)
-                                }
-                            } else
-                                e.Cartesian3[P("0x6c")](l, 1 / r * this.stepSize, i),
-                                    e[P("0x11")][P("0x6d")](n, i, n);
-                            this[P("0xda3")] = !0,
-                                t[P("0x9c")]({
-                                    destination: n,
-                                    orientation: {
-                                        heading: t[P("0x7f")],
-                                        pitch: t.pitch,
-                                        up: t.up
-                                    }
-                                }),
-                                this[P("0xda3")] = !1
-                        }
-                        ,
-                        t[P("0x5")][P("0xdda")] = function (t, i, r, n) {
-                            var o = x;
-                            o.origin = t,
-                                o[P("0x93")] = i;
-                            var a = e[P("0xbe0")][P("0xa4")](this.scene, o, r, !1);
-                            if (a && a[P("0x8c")]) {
-                                var s = e[P("0x11")][P("0x8e")](t, a.position);
-                                return s <= this[P("0xdc2")] ? s = 0 : s -= this[P("0xdc2")],
-                                    this[P("0x133")](P("0xde1") + s + P("0xde2") + n),
-                                    Math.min(s, n)
-                            }
-                            return this[P("0x133")](P("0xde3")),
-                                n
-                        }
-                        ,
-                        t.prototype[P("0x133")] = function (e) {
-                            this[P("0xdc7")] && console.log(e)
-                        }
-                        ,
-                        t.prototype[P("0xdd1")] = function (t) {
-                            var i = new (e[P("0x11")])
-                                , n = t[P("0x8c")]
-                                , o = t[P("0xa6")]
-                                , a = this[P("0xdde")]();
-                            if (o = e[P("0x11")][P("0x99")](a, o, new (e[P("0x11")])),
-                                e[P("0x11")].normalize(o, o),
-                                this[P("0xdc8")]) {
-                                var l = this[P("0xdda")](n, o, a, .3 / r * this[P("0x94e")]);
-                                e[P("0x11")][P("0x6c")](o, l, i),
-                                    e.Cartesian3[P("0x6d")](n, i, n);
-                                var c = x;
-                                c[P("0x87")] = n,
-                                    c[P("0x93")] = e[P("0x11")][P("0xc8")](a, s);
-                                var u = e[P("0x13")][P("0x175")](c[P("0x87")], this[P("0x44")])
-                                    , h = e[P("0x11")].negate(o, new (e[P("0x11")]))
-                                    , f = e.GeoRayPick[P("0xa4")](this[P("0x10f")], c, h, !0);
-                                if (f && f.position && f[P("0x7")])
-                                    (g = e.Cartographic[P("0x175")](f[P("0x8c")], this[P("0x44")]))[P("0x8b")] += this[P("0xdc1")],
-                                        (d = u[P("0x8b")] - g[P("0x8b")]) < 3 && -1 < d && (n = e[P("0x11")][P("0x3d0")](g[P("0x112")], g[P("0x114")], g.height, this[P("0x44")]));
-                                else {
-                                    var d, g = e[P("0x13")][P("0x175")](n, this[P("0x44")]), p = this[P("0x10f")][P("0xa3")][P("0xed")](g);
-                                    g[P("0x8b")] = 0 < p ? p + this[P("0xdc1")] : g[P("0x8b")],
-                                        (d = u[P("0x8b")] - g.height) < 3 && -1 < d && (n = e[P("0x11")].fromRadians(g[P("0x112")], g[P("0x114")], g[P("0x8b")], this[P("0x44")]))
-                                }
-                            } else
-                                e[P("0x11")][P("0x6c")](o, .3 / r * this.stepSize, i),
-                                    e[P("0x11")][P("0x6d")](n, i, n);
-                            this[P("0xda3")] = !0,
-                                t.setView({
-                                    destination: n,
-                                    orientation: {
-                                        heading: t[P("0x7f")],
-                                        pitch: t[P("0x80")],
-                                        up: t.up
-                                    }
-                                }),
-                                this[P("0xda3")] = !1
-                        }
-                        ,
-                        t[P("0x5")].computeRightward = function (t) {
-                            var i = new e.Cartesian3
-                                , n = t[P("0x8c")]
-                                , o = t.directionWC
-                                , a = this[P("0xdde")]();
-                            if (o = e[P("0x11")][P("0x99")](o, a, new e.Cartesian3),
-                                e[P("0x11")][P("0x8d")](o, o),
-                                this[P("0xdc8")]) {
-                                var l = this._computeCollideDistance(n, o, a, .3 / r * this[P("0x94e")]);
-                                e.Cartesian3[P("0x6c")](o, l, i),
-                                    e[P("0x11")][P("0x6d")](n, i, n);
-                                var c = x;
-                                c.origin = n,
-                                    c[P("0x93")] = e.Cartesian3.negate(a, s);
-                                var u = e.Cartographic[P("0x175")](c[P("0x87")], this._ellipsoid)
-                                    , h = e[P("0x11")].negate(o, new (e[P("0x11")]))
-                                    , f = e[P("0xbe0")].pick(this[P("0x10f")], c, h, !0);
-                                if (f && f[P("0x8c")] && f.object)
-                                    (g = e.Cartographic[P("0x175")](f.position, this[P("0x44")]))[P("0x8b")] += this.manHeight,
-                                        (d = u.height - g[P("0x8b")]) < 3 && -1 < d && (n = e[P("0x11")][P("0x3d0")](g[P("0x112")], g.latitude, g[P("0x8b")], this[P("0x44")]));
-                                else {
-                                    var d, g = e.Cartographic.fromCartesian(n, this[P("0x44")]), p = this.scene[P("0xa3")].getHeight(g);
-                                    g[P("0x8b")] = 0 < p ? p + this.manHeight : g[P("0x8b")],
-                                        (d = u[P("0x8b")] - g[P("0x8b")]) < 3 && -1 < d && (n = e.Cartesian3[P("0x3d0")](g[P("0x112")], g.latitude, g[P("0x8b")], this[P("0x44")]))
-                                }
-                            } else
-                                e.Cartesian3.multiplyByScalar(o, .3 / r * this.stepSize, i),
-                                    e[P("0x11")][P("0x6d")](n, i, n);
-                            this[P("0xda3")] = !0,
-                                t[P("0x9c")]({
-                                    destination: n,
-                                    orientation: {
-                                        heading: t[P("0x7f")],
-                                        pitch: t[P("0x80")],
-                                        up: t.up
-                                    }
-                                }),
-                                this[P("0xda3")] = !1
-                        }
-                        ,
-                        t.prototype[P("0xde4")] = function (t) {
-                            t[P("0xe7")](this.getTangentNormal(), -e[P("0x23")][P("0x119")](e[P("0x102")](this[P("0xdc0")], 5)) / r)
-                        }
-                        ,
-                        t[P("0x5")][P("0xdd6")] = function (t) {
-                            t.look(this[P("0xdde")](), e.Math.toRadians(e[P("0x102")](this.rotateSize, 5)) / r)
-                        }
-                        ,
-                        t[P("0x5")][P("0xdd3")] = function (t) {
-                            t[P("0xe7")](e[P("0x11")][P("0x99")](t[P("0xa6")].clone(), this[P("0xdde")](), a), -e[P("0x23")][P("0x119")](e[P("0x102")](this[P("0xdc0")], 5)) / r)
-                        }
-                        ,
-                        t[P("0x5")][P("0xdd5")] = function (t) {
-                            t.look(e[P("0x11")][P("0x99")](t[P("0xa6")][P("0x6e")](), this[P("0xdde")](), a), e[P("0x23")][P("0x119")](e.defaultValue(this.rotateSize, 5)) / r)
-                        }
-                        ,
-                        t[P("0x5")][P("0xdde")] = function () {
-                            var t = e.Transforms.eastNorthUpToFixedFrame(this.camera[P("0xa5")], this._ellipsoid, n);
-                            return new (e[P("0x11")])(t[8], t[9], t[10])
-                        }
-                        ,
-                        t[P("0x5")].destroy = function () {
-                            e[P("0x3cb")].prototype.update = e[P("0x3cb")].prototype._hookUpdate,
-                                delete this[P("0x7e")][P("0xda6")] && delete this[P("0x7e")][P("0xc")]._hookUpdate,
-                                this[P("0x10f")][P("0xdcd")] = !0
-                        }
-                        ;
-                    var i = new (e[P("0x10")]);
-                    t[P("0x5")][P("0xde5")] = function (t) {
-                        if (t[P("0x63")] && t.endPosition) {
-                            var n = e[P("0x10")].subtract(t.endPosition, t[P("0x63")], i);
-                            if (0 != n.x) {
-                                var o = e[P("0x102")](this[P("0xdc0")], 5) * n.x / 5;
-                                this[P("0x7e")][P("0xe7")](this[P("0xdde")](), e[P("0x23")][P("0x119")](o) / r)
-                            }
-                            0 != n.y && (o = e[P("0x102")](this[P("0xdc0")], 5) * n.y / 5,
-                                this[P("0x7e")][P("0xe7")](e[P("0x11")].cross(this.camera.directionWC[P("0x6e")](), this.getTangentNormal(), a), e[P("0x23")][P("0x119")](o) / r))
-                        }
-                    }
-                        ,
-                        t.prototype.enableFilter = function (t) {
-                            t = t || !1,
-                                this[P("0x7e")] && this[P("0xd81")] && 1.58 <= e[P("0x373")] && ((this[P("0x7e")][P("0xd9c")] = t) ? e[P("0x2e1")][P("0x5")][P("0xde6")] = function (t, i) {
-                                    var r = i[P("0x7e")];
-                                    if (r[P("0xd81")] && r[P("0xd9c")]) {
-                                        var n = r[P("0xd81")]
-                                            , o = t[P("0x55b")][P("0x181")]
-                                            , a = e[P("0x11")][P("0x8e")](t.boundingSphere[P("0x11a")], r[P("0xaea")]);
-                                        if (n < (a -= o))
-                                            return !0
-                                    }
-                                    return !1
-                                }
-                                    : e[P("0x2e1")].prototype[P("0xde6")] && delete e.Cesium3DTileset[P("0xc")][P("0xde6")])
-                        }
-                        ,
-                        t.prototype[P("0xdc9")] = function (e) {
-                            this._collideActived = e || !1
-                        }
-                        ,
-                        t.stateType = {
-                            UNKNOWN: 0,
-                            FORWARD: 1,
-                            BACKWARD: 2,
-                            LEFTWARD: 3,
-                            RIGHTWARD: 4,
-                            UPWARD: 5,
-                            DOWNWARD: 6,
-                            LEFT: 7,
-                            RIGHT: 8
-                        };
-                    var r = 40
-                        , n = new e.Matrix4
-                        , o = new (e[P("0x11")])
-                        , a = new (e[P("0x11")])
-                        , s = new (e[P("0x11")])
-                        , x = new (e[P("0x1e")]);
-                    function l() {
-                        var e = []
-                            , t = 0;
-                        this[P("0x17c")] = function (t) {
-                            return 10 <= this[P("0x3cd")]() && this[P("0x25c")](),
-                                e.push(t),
-                                !0
-                        }
-                            ,
-                            this[P("0x25c")] = function () {
-                                return e[P("0x513")]()
-                            }
-                            ,
-                            this[P("0xde7")] = function () {
-                                return e[0]
-                            }
-                            ,
-                            this[P("0xde8")] = function () {
-                                return e[e.length - 1]
-                            }
-                            ,
-                            this[P("0x192")] = function () {
-                                e = []
-                            }
-                            ,
-                            this[P("0x3cd")] = function () {
-                                return e[P("0x0")]
-                            }
-                            ,
-                            this[P("0xde9")] = function () {
-                                for (var t = 0, i = e[P("0x0")], r = 0; r < i; r++)
-                                    t += e[r].height;
-                                return t / i
-                            }
-                            ,
-                            this.getLatelyHeight = function () {
-                                return 0 < e[P("0x0")] ? e[e.length - 1].height : null
-                            }
-                            ,
-                            this[P("0xdea")] = function (t) {
-                                return 0 < e.length && 4.5 < Math[P("0x78")](this.getLatelyHeight() - t[P("0x8b")])
-                            }
-                            ,
-                            this[P("0xdeb")] = function (e) {
-                                this[P("0xdea")](e) && (20 < t ? t = 0 : (e[P("0x8b")] = 3 < t ? this[P("0xde9")]() : this[P("0xdec")](),
-                                    t++),
-                                    e[P("0x8b")] = this[P("0xdec")]()),
-                                    this[P("0x17c")](e)
-                            }
-                    }
-                }(window.Cesium),
-                function (e) {
-                    var t = e[P("0x102")]
-                        , i = e[P("0xded")] = function (i) {
-                            var r = (i = t(i, t.EMPTY_OBJECT))[P("0x6af")];
-                            this[P("0x13c")] = i[P("0x13b")],
-                                this[P("0x42")] = this[P("0x13c")].scene,
-                                this[P("0xdee")] = [],
-                                this[P("0xdef")] = new (e[P("0x16a")])(.439, .564, .788, 0),
-                                this[P("0xdf0")] = new e.Color(0, 0, 0, 0),
-                                this._reflectColor = new e.Color(.439, .564, .788, 0),
-                                this[P("0xdf1")] = .2,
-                                this[P("0xdf2")] = 90,
-                                this[P("0xdf3")] = .7,
-                                this[P("0xdf4")] = void 0,
-                                this[P("0xdf5")] = 0,
-                                this[P("0xdf6")] = void 0,
-                                this[P("0xdf7")] = void 0,
-                                this._initialized = !1,
-                                this[P("0x6ce")] = void 0,
-                                this[P("0xdf8")] = !0,
-                                this[P("0x42")][P("0xb84")];
-                            var n = this
-                                , o = new Image;
-                            o[P("0x125")] = r,
-                                o[P("0xad2")] = function () {
-                                    n[P("0xdf4")] = new (e[P("0x6db")])({
-                                        context: n[P("0x42")][P("0x3cc")],
-                                        width: o[P("0x19a")],
-                                        height: o[P("0x8b")],
-                                        source: o,
-                                        sampler: new (e[P("0x789")])({
-                                            wrapS: e[P("0x78b")][P("0x55a")],
-                                            wrapT: e[P("0x78b")].REPEAT
-                                        })
-                                    }),
-                                        n._scene[P("0x17d")][P("0x6d")](n)
-                                }
-                        }
-                        ;
-                    e.defineProperties(i.prototype, {
-                        waterPolygon: {
-                            get: function () {
-                                return this[P("0xdf9")]
-                            },
-                            set: function (e) {
-                                null != e && null != this[P("0xdf9")] && this.release(),
-                                    this[P("0xdf9")] = e
-                            }
-                        },
-                        waterColor: {
-                            get: function () {
-                                return this._waterColor
-                            },
-                            set: function (e) {
-                                this[P("0xdef")] = e
-                            }
-                        },
-                        flowSpeed: {
-                            get: function () {
-                                return this._flowSpeed
-                            },
-                            set: function (e) {
-                                this[P("0xdf3")] = e
-                            }
-                        },
-                        flowDirection: {
-                            get: function () {
-                                return this[P("0xdf2")]
-                            },
-                            set: function (e) {
-                                this[P("0xdf2")] = e
-                            }
-                        },
-                        waveWidth: {
-                            get: function () {
-                                return this[P("0xdf1")]
-                            },
-                            set: function (e) {
-                                this[P("0xdf1")] = e
-                            }
-                        },
-                        isVisible: {
-                            get: function () {
-                                return this[P("0xdf8")]
-                            },
-                            set: function (e) {
-                                this[P("0xdf8")] = e
-                            }
-                        }
-                    }),
-                        i[P("0x5")][P("0xdfa")] = function () {
-                            this[P("0xdee")] = [];
-                            var t = this._waterPolygon[P("0xdfb")].positions
-                                , i = e[P("0x13")].fromCartesian(t[0])
-                                , r = e[P("0x23")][P("0x113")](i[P("0x112")])
-                                , n = e.Math[P("0x113")](i[P("0x114")])
-                                , o = e[P("0x23")][P("0x113")](i.longitude)
-                                , a = e[P("0x23")].toDegrees(i[P("0x114")]);
-                            this._zFactor = i[P("0x8b")];
-                            for (var s = 0; s < t[P("0x0")]; s++) {
-                                var x = e[P("0x13")][P("0x175")](t[s])
-                                    , l = e.Math[P("0x113")](x[P("0x112")])
-                                    , c = e[P("0x23")].toDegrees(x[P("0x114")])
-                                    , u = new (e[P("0x10")])(l, c);
-                                this[P("0xdee")][P("0x17c")](u),
-                                    o < l && (o = l),
-                                    l < r && (r = l),
-                                    a < c && (a = c),
-                                    c < n && (n = c)
-                            }
-                            this[P("0xdfc")] = r,
-                                this[P("0xdfd")] = n,
-                                this[P("0xdfe")] = new (e[P("0x11")][P("0x1a1")])((r + o) / 2, (n + a) / 2, this._zFactor)
-                        }
-                        ,
-                        i[P("0x5")][P("0xdff")] = function () {
-                            var t = this._scene
-                                , i = t[P("0xb84")];
-                            if (e[P("0x14")](this[P("0xdf6")]) || (this[P("0xdf6")] = new e.Camera(t)),
-                                !e[P("0x14")](this._reflectPassState)) {
-                                var r = new (e[P("0x78f")])({
-                                    context: i,
-                                    colorTextures: [new (e[P("0x6db")])({
-                                        context: i,
-                                        width: 512,
-                                        height: 512,
-                                        pixelFormat: e.PixelFormat[P("0xb85")]
-                                    })],
-                                    depthRenderbuffer: new e.Renderbuffer({
-                                        context: i,
-                                        format: e[P("0xe00")][P("0xe01")],
-                                        width: 512,
-                                        height: 512
-                                    })
-                                });
-                                this[P("0xdf7")] = new (e[P("0xe02")])(i),
-                                    this[P("0xdf7")].viewport = new (e[P("0xbe2")])(0, 0, 512, 512),
-                                    this[P("0xdf7")][P("0x796")] = r
-                            }
-                            this[P("0xe03")] = !0,
-                                this[P("0xdfa")]()
-                        }
-                        ,
-                        i[P("0x5")].update = function (t) {
-                            if (e[P("0x14")](this[P("0xe04")])) {
-                                var i = this[P("0x42")];
-                                if (0 !== i[P("0x7e")][P("0xe05")][P("0x0")]) {
-                                    this[P("0xe03")] || this[P("0xdff")]();
-                                    var r = i._context;
-                                    this[P("0xe06")] = 1 / (.001 * this[P("0xdf1")]);
-                                    var n = new (e[P("0x11")])(this._waterCenterPos.x, this[P("0xdfe")].y, this[P("0xdfe")].z)
-                                        , o = e[P("0x13")][P("0x175")](this[P("0xdfe")])
-                                        , a = e[P("0x23")][P("0x113")](o[P("0x112")])
-                                        , s = e[P("0x23")][P("0x113")](o[P("0x114")])
-                                        , x = e[P("0x11")][P("0x1a1")](a, s, 0);
-                                    e[P("0x11")][P("0x8d")](x, x);
-                                    var l = new e.Cartesian3(0, 1, 0)
-                                        , c = new e.Cartesian3(0, 1, 0);
-                                    c = e[P("0x11")][P("0x99")](l, x, c),
-                                        e[P("0x11")][P("0x8d")](c, c),
-                                        l = e[P("0x11")][P("0x99")](x, c, l);
-                                    var u = new (e[P("0x1a")]);
-                                    e[P("0x1a")][P("0xe07")](u, 0, c, u),
-                                        e[P("0x1a")][P("0xe07")](u, 1, l, u),
-                                        e[P("0x1a")].setRow(u, 2, x, u);
-                                    var h = new (e[P("0x11")])
-                                        , f = new (e[P("0x11")])(-n.x, -n.y, -n.z);
-                                    e[P("0x1a")][P("0xce")](u, f, h);
-                                    var d = new (e[P("0x1b")])(u[0], u[3], u[6], h.x, u[1], u[4], u[7], h.y, u[2], u[5], u[8], h.z, 0, 0, 0, 1);
-                                    this[P("0xe08")] = new (e[P("0x1b")]),
-                                        e[P("0x1b")].multiply(d, t.camera[P("0x8c5")], this.invWorldViewMatrix),
-                                        this[P("0x4ac")] = new (e[P("0x1b")])(1, 0, 0, n.x, 0, 1, 0, n.y, 0, 0, 1, n.z, 0, 0, 0, 1),
-                                        this[P("0xe09")] = new (e[P("0x1b")]),
-                                        this[P("0xe0a")] = new e.Matrix4,
-                                        this.modelViewMatrix = e.Matrix4.multiply(t[P("0x7e")][P("0x5e0")], this[P("0x4ac")], this[P("0xe09")]),
-                                        this[P("0xe0a")] = e.Matrix4[P("0x737")](t.camera[P("0xe05")][0][P("0xb5e")], this.modelViewMatrix, this.modeiViewProjection);
-                                    var g = e[P("0x560")][P("0x561")]();
-                                    0 == this[P("0xdf5")] && (this[P("0xdf5")] = g[P("0x6e5")]);
-                                    var p = g.secondsOfDay;
-                                    if (this[P("0xe0b")] = (p - this[P("0xdf5")]) / 1,
-                                        this[P("0xe0c")] = this[P("0xe0b")] * this[P("0xdf3")],
-                                        this[P("0xe0d")] = this[P("0xdf2")] * Math.PI / 180,
-                                        null == this[P("0x6ce")]) {
-                                        var m = e[P("0x5dc")][P("0x5d7")]({
-                                            context: r,
-                                            vertexShaderSource: P("0xe0e"),
-                                            fragmentShaderSource: P("0xe0f")
-                                        })
-                                            , b = e.RenderState[P("0x5d7")]({
-                                                depthTest: {
-                                                    enabled: !0
-                                                }
-                                            })
-                                            , v = this;
-                                        this[P("0xe10")] = {
-                                            u_bgColor: function () {
-                                                return v[P("0xdef")]
-                                            },
-                                            u_texCoordOffset: function () {
-                                                return new e.Cartesian2(-v[P("0xdfc")], -v[P("0xdfd")])
-                                            },
-                                            u_texCoordScale: function () {
-                                                return new (e[P("0x10")])(v[P("0xe06")], v[P("0xe06")])
-                                            },
-                                            u_scale: function () {
-                                                return new (e[P("0x11")])(3, 3, 3)
-                                            },
-                                            u_camPos: function () {
-                                                return new (e[P("0x11")])(3, 3, 3)
-                                            },
-                                            u_modelViewProjectionMatrix: function () {
-                                                return v[P("0xe0a")]
-                                            },
-                                            u_modelViewMatrix: function () {
-                                                return v[P("0xe09")]
-                                            },
-                                            u_clampToGroud: function () {
-                                                return 0
-                                            },
-                                            u_invWorldViewMatrix: function () {
-                                                return v[P("0xe08")]
-                                            },
-                                            u_frameTime: function () {
-                                                return v[P("0xe0c")]
-                                            },
-                                            u_normalMap: function () {
-                                                return v._normalTexture
-                                            },
-                                            u_refractMap: function () {
-                                                return v[P("0xdf4")]
-                                            },
-                                            u_useRefractTex: function () {
-                                                return 0
-                                            },
-                                            u_reflectMap: function () {
-                                                return v[P("0xdf7")][P("0x796")][P("0xe11")](0)
-                                            },
-                                            u_reflection: function () {
-                                                return 1
-                                            },
-                                            u_waterColor: function () {
-                                                return v._waterColor
-                                            },
-                                            u_refractColor: function () {
-                                                return v[P("0xdf0")]
-                                            },
-                                            u_reflectColor: function () {
-                                                return v[P("0xe12")]
-                                            },
-                                            u_flowDir: function () {
-                                                return new (e[P("0x10")])(.5 * Math.sin(v._flowAngle) + .5, .5 * Math.cos(v[P("0xe0d")]) + .5)
-                                            }
-                                        },
-                                            this[P("0xe13")] = e.PolygonGeometry.createGeometry(this._waterPolygon);
-                                        for (var C = this[P("0xe13")][P("0xc1e")], y = this[P("0xe13")][P("0x18f")][P("0x8c")].values, _ = 0; _ < y[P("0x0")]; _++)
-                                            _ % 3 == 0 && (y[_] = y[_] - n.x),
-                                                _ % 3 == 1 && (y[_] = y[_] - n.y),
-                                                _ % 3 == 2 && (y[_] = y[_] - n.z);
-                                        for (var A = [], I = 0; I < this[P("0xdee")][P("0x0")]; I++)
-                                            A[P("0x17c")](this._pointsToCartographic[I].x, this[P("0xdee")][I].y);
-                                        var w = new Float64Array(A)
-                                            , G = e[P("0x5ea")][P("0x5ec")]({
-                                                context: r,
-                                                typedArray: new Uint32Array(C),
-                                                usage: e[P("0x4d5")][P("0x4d6")],
-                                                indexDatatype: e[P("0x742")][P("0xe14")]
-                                            })
-                                            , E = e[P("0x5ea")].createVertexBuffer({
-                                                context: r,
-                                                typedArray: e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")].FLOAT, y),
-                                                usage: e[P("0x4d5")][P("0x4d6")]
-                                            })
-                                            , S = e.Buffer.createVertexBuffer({
-                                                context: r,
-                                                typedArray: e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")][P("0x5e9")], w),
-                                                usage: e[P("0x4d5")][P("0x4d6")]
-                                            })
-                                            , T = [];
-                                        T[P("0x17c")]({
-                                            index: 0,
-                                            vertexBuffer: E,
-                                            componentDatatype: e[P("0x5e8")][P("0x5e9")],
-                                            componentsPerAttribute: 3,
-                                            normalize: !1
-                                        }),
-                                            T[P("0x17c")]({
-                                                index: 1,
-                                                vertexBuffer: S,
-                                                componentDatatype: e[P("0x5e8")].FLOAT,
-                                                componentsPerAttribute: 2,
-                                                normalize: !1
-                                            });
-                                        var M = new (e[P("0x5ee")])({
-                                            context: r,
-                                            attributes: T,
-                                            indexBuffer: G
-                                        });
-                                        this[P("0x6ce")] = new (e[P("0x5d3")])({
-                                            boundingVolume: this[P("0xe13")].boundingSphere,
-                                            primitiveType: e.PrimitiveType.TRIANGLES,
-                                            vertexArray: M,
-                                            shaderProgram: m,
-                                            castShadows: !1,
-                                            receiveShadows: !1,
-                                            uniformMap: this[P("0xe10")],
-                                            renderState: b,
-                                            pass: e[P("0x5e4")][P("0x5e5")]
-                                        }),
-                                            this._drawCommand[P("0xe15")] = P("0xe15")
-                                    }
-                                    null !== this[P("0xdf4")] && 1 == this[P("0xdf8")] && t[P("0x5ca")][P("0x17c")](this[P("0x6ce")])
-                                }
-                            }
-                        }
-                        ,
-                        i[P("0x5")][P("0xe16")] = function (t) {
-                            if (this[P("0xe03")]) {
-                                this.modelViewMatrix = e.Matrix4.multiply(t[P("0x7e")][P("0x5e0")], this[P("0x4ac")], this[P("0xe09")]),
-                                    this.modeiViewProjection = e[P("0x1b")].multiply(t[P("0x7e")][P("0xe05")][0][P("0xb5e")], this[P("0xe09")], this.modeiViewProjection);
-                                var i = new (e[P("0x11")])(this[P("0xdfe")].x, this[P("0xdfe")].y, this[P("0xdfe")].z)
-                                    , r = new (e[P("0x11")])(i.x, i.y, i.z);
-                                e[P("0x11")][P("0x8d")](r, r);
-                                var n = e[P("0x1c")][P("0xb9")](i, r)
-                                    , o = new (e[P("0x11")])(r.x, r.y, r.z)
-                                    , a = -e[P("0x11")][P("0x92")](r, i)
-                                    , s = new (e[P("0x1b")])(-2 * o.x * o.x + 1, -2 * o.x * o.y, -2 * o.x * o.z, -2 * o.x * a, -2 * o.y * o.x, -2 * o.y * o.y + 1, -2 * o.y * o.z, -2 * o.y * a, -2 * o.z * o.x, -2 * o.z * o.y, -2 * o.z * o.z + 1, -2 * o.z * a, 0, 0, 0, 1)
-                                    , x = new (e[P("0x11")]);
-                                e[P("0x11")].clone(t.camera[P("0x93")], x);
-                                var l = new (e[P("0x11")])
-                                    , c = new e.Cartesian3;
-                                e[P("0x11")][P("0x6c")](o, 2 * e[P("0x11")].dot(x, o), c),
-                                    e[P("0x11")][P("0x95")](x, c, l),
-                                    e[P("0x11")][P("0x8d")](l, l);
-                                var u = new (e[P("0x11")]);
-                                e[P("0x11")][P("0x6e")](t[P("0x7e")].up, u);
-                                var h = new e.Cartesian3
-                                    , f = new e.Cartesian3
-                                    , d = e[P("0x11")].dot(u, o);
-                                e[P("0x11")][P("0x6c")](o, 2 * d, f),
-                                    e[P("0x11")][P("0x6d")](u, f, h),
-                                    e[P("0x11")][P("0x8d")](h, h);
-                                var g = new e.Cartesian3(-h.x, -h.y, -h.z)
-                                    , p = new (e[P("0x11")])
-                                    , m = (e[P("0x11")][P("0x6e")](t[P("0x7e")].position, p),
-                                        new (e[P("0x11")])(s[0] * p.x + s[4] * p.y + s[8] * p.z + s[12], s[1] * p.x + s[5] * p.y + s[9] * p.z + s[13], s[2] * p.x + s[6] * p.y + s[10] * p.z + s[14]))
-                                    , b = new (e[P("0x1b")]);
-                                t[P("0x7e")][P("0xe8")][P("0xc13")] = 1e8,
-                                    e[P("0x1b")][P("0x6e")](t.camera[P("0xe8")][P("0xb5e")], b),
-                                    this[P("0xdf6")][P("0x93")] = l,
-                                    d < .5 && (this[P("0xdf6")].up = g),
-                                    .5 <= d && (this[P("0xdf6")].up = h),
-                                    this[P("0xdf6")][P("0x8c")] = m;
-                                var v = new (e[P("0x1b")]);
-                                e[P("0x1b")][P("0x4e2")](this._reflectCamera.viewMatrix, v),
-                                    e[P("0x1b")][P("0x5e3")](v, v);
-                                var C = new (e[P("0x12")])(n[P("0x4d0")].x, n.normal.y, n[P("0x4d0")].z, -e[P("0x11")][P("0x92")](r, i));
-                                e[P("0x1b")][P("0xce")](v, C, C);
-                                var y = C.w / Math[P("0xca")](C.x * C.x + C.y * C.y + C.z * C.z)
-                                    , _ = new e.Cartesian3(C.x, C.y, C.z);
-                                e[P("0x11")][P("0x8d")](_, _);
-                                var A = new e.Cartesian3(_.x, _.y, _.z)
-                                    , I = new (e[P("0x12")]);
-                                I.x = (Math[P("0x97")](A.x) + b[8]) / b[0],
-                                    I.y = (Math[P("0x97")](A.y) + b[9]) / b[5],
-                                    I.z = -1,
-                                    I.w = (1 + b[10]) / b[14];
-                                var w = new (e[P("0x12")])(A.x, A.y, A.z, y)
-                                    , G = new (e[P("0x12")]);
-                                e.Cartesian4[P("0x6c")](w, 2 / e.Cartesian4[P("0x92")](w, I), G),
-                                    b[2] = G.x,
-                                    b[6] = G.y,
-                                    b[10] = G.z + 1,
-                                    b[14] = G.w,
-                                    e[P("0x1b")][P("0x6e")](b, this[P("0xdf6")][P("0xe8")][P("0xb5e")]);
-                                var E = this[P("0x42")][P("0x6d9")]
-                                    , S = this[P("0x42")][P("0x3cc")]
-                                    , T = S[P("0xc28")];
-                                new (e[P("0x790")])({
-                                    color: e[P("0x16a")][P("0xac5")](14, 33, 60, 255),
-                                    depth: 1,
-                                    framebuffer: this._reflectPassState.framebuffer
-                                })[P("0x797")](S, this._reflectPassState);
-                                var M = this[P("0xdf6")];
-                                T[P("0xc12")](M);
-                                for (var N = M[P("0xe8")][P("0xbf0")](M[P("0xa5")], M[P("0xa6")], M.upWC), L = E.commandList, R = 0; R < L[P("0x0")]; R++) {
-                                    var O = L[R];
-                                    O instanceof e[P("0xe17")] || "water" != O[P("0xe15")] && O[P("0x5d4")] !== e[P("0x5e4")][P("0xc1d")] && t[P("0xd69")](O, N) && (T[P("0xc1b")](O[P("0x5d4")]),
-                                        O.execute(S, this[P("0xdf7")]))
-                                }
-                                T[P("0xc12")](t[P("0x7e")]),
-                                    T[P("0xc14")](t[P("0x7e")][P("0xe05")][0])
-                            }
-                        }
-                        ,
-                        i.prototype[P("0x985")] = function () {
-                            this[P("0xe03")] = !1,
-                                this[P("0xdf9")] = void 0,
-                                this[P("0x6ce")] = void 0
-                        }
-                        ,
-                        i[P("0x5")][P("0xf4")] = function () {
-                            this[P("0x42")][P("0x17d")][P("0x17f")](this),
-                                e[P("0x22b")](this)
-                        }
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e[P("0x102")];
-                    function i(i) {
-                        i = t(i, t.EMPTY_OBJECT),
-                            this[P("0xe18")] = i.proxy,
-                            this[P("0x13b")] = i[P("0x13b")],
-                            this.url = i[P("0x6af")],
-                            this[P("0xe19")] = i.metadata,
-                            this[P("0xe1a")] = i.roadMetadata,
-                            this[P("0xe1b")] = i[P("0xe1b")],
-                            this[P("0xe1c")] = i.labelGraphics ? i.labelGraphics : {},
-                            this[P("0xe1d")] = i[P("0xe1d")] ? i.billboardGraphics : {},
-                            this[P("0xe1e")] = !!i.aotuCollide,
-                            this.collisionPadding = i[P("0xe1f")] ? i[P("0xe1f")] : [3, 5, 3, 5],
-                            this[P("0xe20")] = !!i[P("0xe20")],
-                            this[P("0xa4e")] = i.subdomains,
-                            Array.isArray(this[P("0xa4e")]) ? this[P("0xa4e")] = this[P("0xa4e")].slice() : e[P("0x14")](this[P("0xa4e")]) && 0 < this[P("0xa4e")][P("0x0")] ? this[P("0xa4e")] = this[P("0xa4e")][P("0x7f2")]("") : this[P("0xa4e")] = ["a", "b", "c"],
-                            this[P("0xe21")] = [],
-                            this[P("0xe22")] = [],
-                            this[P("0xe23")] = !1,
-                            this[P("0xe24")] = [],
-                            this._latelyRefreshStamp = 0,
-                            this._latelyCollisionStamp = 0;
-                        var r = e[P("0x75c")]();
-                        this[P("0xe25")] = P("0xe26") + r,
-                            this[P("0xe27")] = "GEO_WTFS_LABEL_ROAD_" + r,
-                            this[P("0x13b")][P("0x7e")].percentageChanged = .18,
-                            this.bindEvent()
-                    }
-                    function r(e, t) {
-                        return t[P("0xe77")] >= e[P("0xe77")] && t.minX <= e.maxX && t[P("0x4d2")] >= e[P("0x4d2")] && t[P("0x4d2")] <= e.maxY || t[P("0xe78")] >= e[P("0xe77")] && t.maxX <= e[P("0xe78")] && t[P("0xe79")] >= e[P("0x4d2")] && t[P("0xe79")] <= e.maxY || t[P("0xe77")] >= e[P("0xe77")] && t[P("0xe77")] <= e[P("0xe78")] && t[P("0xe79")] >= e[P("0x4d2")] && t.maxY <= e[P("0xe79")] || t[P("0xe78")] >= e[P("0xe77")] && t.maxX <= e.maxX && t[P("0x4d2")] >= e[P("0x4d2")] && t[P("0x4d2")] <= e.maxY
-                    }
-                    function n(e, t) {
-                        var i = e.x
-                            , r = e.y
-                            , n = e.width
-                            , o = e.height
-                            , a = t.x
-                            , s = t.y
-                            , x = t[P("0x19a")]
-                            , l = t[P("0x8b")];
-                        return !(a <= i && a + x <= i || i <= a && i + n <= a || s <= r && s + l <= r || r <= s && r + o <= s)
-                    }
-                    e[P("0x14")],
-                        e.defineProperties(i[P("0x5")], {}),
-                        i.prototype[P("0xe28")] = function (e, t, i, r) {
-                            for (var n = 0; n < this[P("0xe21")].length; n++)
-                                if (this[P("0xe21")][n].x === e && this[P("0xe21")][n].y === t && this[P("0xe21")][n].z === i && this[P("0xe21")][n].t === r)
-                                    return this[P("0xe21")][n];
-                            return null
-                        }
-                        ,
-                        i[P("0x5")].addCacheTile = function (e) {
-                            999 < this[P("0xe21")][P("0x0")] && this[P("0xe21")][P("0x259")](0, 500),
-                                this[P("0xe29")](e.x, e.y, e.z, e.t),
-                                this[P("0xe21")][P("0x17c")](e)
-                        }
-                        ,
-                        i[P("0x5")][P("0xe29")] = function (e, t, i, r) {
-                            for (var n = 0; n < this.tileCache[P("0x0")]; n++)
-                                if (this[P("0xe21")][n].x === e && this[P("0xe21")][n].y === t && this[P("0xe21")][n].z === i && this[P("0xe21")][n].t === r) {
-                                    this[P("0xe21")][P("0x259")](n, 1);
-                                    break
-                                }
-                        }
-                        ,
-                        i.prototype[P("0xe2a")] = function (e) {
-                            for (var t = 0; t < this.labelCache[P("0x0")]; t++)
-                                if (this.labelCache[t][P("0x176")] === this[P("0xe25")] && this[P("0xe22")][t][P("0xe2b")] === e)
-                                    return this.labelCache[t];
-                            return null
-                        }
-                        ,
-                        i[P("0x5")][P("0xe2c")] = function (e) {
-                            999 < this[P("0xe22")].length && this[P("0xe22")].splice(0, 250),
-                                this[P("0xe2d")](e[P("0xe2b")]),
-                                e[P("0xe2e")] = (new Date).getTime(),
-                                this[P("0xe22")][P("0x17c")](e)
-                        }
-                        ,
-                        i[P("0x5")][P("0xe2d")] = function (e) {
-                            for (var t = 0; t < this[P("0xe22")].length; t++)
-                                if (this[P("0xe22")][t][P("0x176")] === this._UUID && this.labelCache[t][P("0xe2b")] === e) {
-                                    this[P("0xe22")][P("0x259")](t, 1);
-                                    break
-                                }
-                        }
-                        ,
-                        i[P("0x5")][P("0xe2f")] = function () {
-                            return (this[P("0xe18")] ? this.proxy.proxy : "") + this.url + P("0xe30")
-                        }
-                        ,
-                        i.prototype[P("0xe31")] = function () {
-                            return (this[P("0xe18")] ? this.proxy[P("0xe18")] : "") + this.url + P("0xe32")
-                        }
-                        ,
-                        i[P("0x5")][P("0xe33")] = function () {
-                            return (this[P("0xe18")] ? this[P("0xe18")][P("0xe18")] : "") + this[P("0xe1b")]
-                        }
-                        ,
-                        i.prototype[P("0xaf6")] = function () {
-                            var e = this;
-                            clearTimeout(this[P("0xe34")]);
-                            var t = this[P("0x13b")].scene[P("0xa3")][P("0xa2e")];
-                            if (t[P("0xe35")][P("0x0")] < 2 || 0 < t._tileLoadQueueHigh.length)
-                                this[P("0xe34")] = setTimeout((function () {
-                                    e[P("0xaf6")]()
-                                }
-                                ), 100);
-                            else {
-                                var i = this[P("0xe36")]();
-                                if (this[P("0xe37")](i, this._latelyGrid))
-                                    return;
-                                this[P("0xe38")](i),
-                                    e.delaySynchronous()
-                            }
-                        }
-                        ,
-                        i[P("0x5")][P("0xaf7")] = function () {
-                            var e = (new Date).getTime()
-                                , t = e - this[P("0xe39")]
-                                , i = e - this[P("0xe3a")];
-                            300 < t && this[P("0xaf6")](),
-                                150 < i && this[P("0xe3b")]()
-                        }
-                        ,
-                        i[P("0x5")]._queueCall = function (e) {
-                            var t = this;
-                            t[P("0xe24")] = e,
-                                t[P("0xe39")] = (new Date)[P("0x68")](),
-                                e[P("0x1e4")]((function (e, i, n) {
-                                    if (t[P("0xe19")] && r(t.metadata[P("0xe3c")], e.boundBox)) {
-                                        if (t.metadata[P("0xe3d")] > e[P("0x968")] + 1 || t[P("0xe19")][P("0x109")] < e[P("0x968")] + 1)
-                                            return;
-                                        var o = t[P("0xe28")](e.x, e.y, e.level + 1, 0);
-                                        if (o)
-                                            t.addLabelAndIco(o);
-                                        else {
-                                            var s = t[P("0xe2f")]().replace(P("0xe3e"), e.level + 1)[P("0xa1c")]("{y}", e.y).replace(P("0xe3f"), e.x).replace(P("0xa04"), t[P("0xa4e")][(e.x + e.y + e[P("0x968")]) % t[P("0xa4e")][P("0x0")]])
-                                                , x = new XMLHttpRequest;
-                                            x[P("0xaa0")](P("0xa9f"), s, !0),
-                                                x[P("0xaa1")] = P("0xaa2"),
-                                                x[P("0xad2")] = function () {
-                                                    if (!(x.status < 200 || 300 <= x[P("0xaa7")])) {
-                                                        var e = t[P("0xe40")](x[P("0xaa8")]);
-                                                        if (e)
-                                                            (i = a(e)).x = this.tile.x,
-                                                                i.y = this[P("0xe41")].y,
-                                                                i.z = this.tile.z,
-                                                                i.t = 0,
-                                                                t[P("0xe42")](i),
-                                                                t[P("0xe43")](i);
-                                                        else {
-                                                            var i = {
-                                                                x: this[P("0xe41")].x,
-                                                                y: this[P("0xe41")].y,
-                                                                z: this[P("0xe41")].z,
-                                                                t: 0
-                                                            };
-                                                            t[P("0xe42")](i),
-                                                                t[P("0xe44")]()
-                                                        }
-                                                    }
-                                                }
-                                                ,
-                                                x[P("0xad0")] = function (e) {
-                                                    console[P("0x391")](e)
-                                                }
-                                                ,
-                                                x[P("0xe45")](),
-                                                x.tile = {
-                                                    x: e.x,
-                                                    y: e.y,
-                                                    z: e[P("0x968")] + 1
-                                                }
-                                        }
-                                    }
-                                    if (t[P("0xe1a")] && r(t[P("0xe1a")][P("0xe3c")], e.boundBox)) {
-                                        if (t[P("0xe1a")][P("0xe3d")] > e[P("0x968")] + 1 || t[P("0xe1a")][P("0x109")] < e[P("0x968")] + 1)
-                                            return;
-                                        if (o = t[P("0xe28")](e.x, e.y, e[P("0x968")] + 1, 1))
-                                            t[P("0xe43")](o);
-                                        else {
-                                            var l = t[P("0xe33")]()[P("0xa1c")](P("0xe3e"), e[P("0x968")] + 1).replace("{y}", e.y)[P("0xa1c")]("{x}", e.x)
-                                                , c = new XMLHttpRequest;
-                                            c[P("0xaa0")](P("0xa9f"), l, !0),
-                                                c[P("0xaa1")] = P("0xe46"),
-                                                c[P("0xad2")] = function () {
-                                                    if (!(c[P("0xaa7")] < 200 || 300 <= c[P("0xaa7")])) {
-                                                        var e = c[P("0xaa8")];
-                                                        if (e) {
-                                                            var i = {
-                                                                pois: e[P("0x815")]((function (e, t, i) {
-                                                                    return {
-                                                                        oid: e.LabelPoint.X + "_" + e[P("0xe47")].Y,
-                                                                        name: e[P("0x344")][P("0x33d")][P("0xe48")],
-                                                                        coordinate: [e.LabelPoint.X, e.LabelPoint.Y, e.LabelPoint.Z ? e[P("0xe47")].Z : 0]
-                                                                    }
-                                                                }
-                                                                )),
-                                                                x: this[P("0xe41")].x,
-                                                                y: this[P("0xe41")].y,
-                                                                z: this.tile.z,
-                                                                t: 1
-                                                            };
-                                                            t[P("0xe42")](i),
-                                                                t[P("0xe43")](i)
-                                                        } else
-                                                            i = {
-                                                                x: this.tile.x,
-                                                                y: this[P("0xe41")].y,
-                                                                z: this.tile.z,
-                                                                t: 1
-                                                            },
-                                                                t[P("0xe42")](i),
-                                                                t[P("0xe44")]()
-                                                    }
-                                                }
-                                                ,
-                                                c.onerror = function (e) {
-                                                    console.error(e)
-                                                }
-                                                ,
-                                                c[P("0xe45")](),
-                                                c[P("0xe41")] = {
-                                                    x: e.x,
-                                                    y: e.y,
-                                                    z: e[P("0x968")] + 1
-                                                }
-                                        }
-                                    }
-                                }
-                                ))
-                        }
-                        ,
-                        i[P("0x5")][P("0xe49")] = function (e) {
-                            var t = 0
-                                , i = this;
-                            i[P("0xe23")] = !0,
-                                i[P("0xe38")](e);
-                            var r = setInterval((function () {
-                                3 < t && (i[P("0xe23")] = !1,
-                                    clearInterval(r)),
-                                    t % 2 == 0 && i[P("0xe1e")] && i[P("0xe3b")](),
-                                    t++
-                            }
-                            ), 600);
-                            return i
-                        }
-                        ,
-                        i[P("0x5")][P("0xe36")] = function () {
-                            for (var t = this[P("0x13b")][P("0x10f")][P("0xa3")][P("0xa2e")]._tilesToRender.map((function (t, i, r) {
-                                return {
-                                    x: t.x,
-                                    y: t.y,
-                                    level: t.level,
-                                    boundBox: {
-                                        minX: e[P("0x23")][P("0x113")](t[P("0x969")].west),
-                                        minY: e[P("0x23")][P("0x113")](t[P("0x969")].south),
-                                        maxX: e[P("0x23")][P("0x113")](t[P("0x969")][P("0x2aa")]),
-                                        maxY: e.Math[P("0x113")](t[P("0x969")][P("0x2ac")])
-                                    }
-                                }
-                            }
-                            )).sort((function (e, t) {
-                                return t[P("0x968")] - e.level
-                            }
-                            )), i = [t[0][P("0x968")]], r = 0; r < t[P("0x0")]; r++)
-                                t[r][P("0x968")] != i[i.length - 1] && i[P("0x17c")](t[r][P("0x968")]),
-                                    4 < i[P("0x0")] && (t[P("0x259")](r),
-                                        r--);
-                            return t
-                        }
-                        ,
-                        i.prototype.addLabelAndIco = function (e) {
-                            if (e.pois)
-                                for (var t = 0; t < e[P("0xe4a")][P("0x0")]; t++) {
-                                    var i = this[P("0xe2a")](e[P("0xe4a")][t][P("0xe2b")]);
-                                    i = i || this[P("0xe4b")](e[P("0xe4a")][t], e),
-                                        this[P("0xe2c")](i)
-                                }
-                            this[P("0xe44")]()
-                        }
-                        ,
-                        i[P("0x5")].delaySynchronous = function () {
-                            var e = this;
-                            clearTimeout(e._timer2),
-                                e[P("0xe4c")] = setTimeout((function () {
-                                    e.synchronousLabel()
-                                }
-                                ), 100)
-                        }
-                        ,
-                        i[P("0x5")].synchronousLabel = function () {
-                            for (var e = 0; e < this.labelCache[P("0x0")]; e++)
-                                this[P("0xe22")][e].timestamp >= this[P("0xe39")] && !this.viewer[P("0x194")].contains(this.labelCache[e]) && (this._isInitial && this[P("0xe1e")] && (this[P("0xe22")][e][P("0x221")] = !1),
-                                    this[P("0x13b")][P("0x194")][P("0x6d")](this.labelCache[e]));
-                            if (!this[P("0xe23")]) {
-                                for (e = 0; e < this.viewer.entities[P("0x190")][P("0x0")]; e++)
-                                    !this[P("0x13b")][P("0x194")][P("0x190")][e][P("0x176")] || this[P("0x13b")][P("0x194")][P("0x190")][e][P("0x176")] !== this[P("0xe25")] && this.viewer[P("0x194")][P("0x190")][e].name !== this[P("0xe27")] || this[P("0x13b")][P("0x194")][P("0x190")][e].timestamp < this._latelyRefreshStamp && (this[P("0x13b")][P("0x194")].remove(this[P("0x13b")][P("0x194")][P("0x190")][e]),
-                                        e--);
-                                this[P("0xe1e")] && this[P("0xe3b")]()
-                            }
-                        }
-                        ,
-                        i.prototype[P("0xe4b")] = function (t, i) {
-                            if (t) {
-                                var r, n, o = {
-                                    show: !0,
-                                    position: e[P("0x11")].fromDegrees(t[P("0xe4d")][0], t[P("0xe4d")][1], t[P("0xe4d")][2]),
-                                    label: {
-                                        text: t.name
-                                    }
-                                };
-                                this.serverFirstStyle && void 0 !== t.fontSize ? (o.label[P("0xe4e")] = t.fontSize + P("0xe4f"),
-                                    void 0 !== t.fontNameIndex && i[P("0xe50")] && i[P("0xe50")][t.fontNameIndex] ? o[P("0xe51")][P("0xe4e")] += i[P("0xe50")][t.fontNameIndex] : o[P("0xe51")].font += P("0xe52"),
-                                    !this[P("0xe1c")][P("0x3fa")] && 1 !== t[P("0xe53")] && 3 !== t[P("0xe53")] || (r = !0),
-                                    2 !== t[P("0xe53")] && 3 !== t.fontStyle || (n = !0),
-                                    r && (o[P("0xe51")][P("0xe4e")] = P("0xe54") + o[P("0xe51")].font),
-                                    n && (o[P("0xe51")][P("0xe4e")] = P("0xe55") + o[P("0xe51")][P("0xe4e")])) : this[P("0xe1c")][P("0xe4e")] && (o[P("0xe51")].font = this[P("0xe1c")][P("0xe4e")]),
-                                    this[P("0xe20")] && void 0 !== t[P("0xe56")] ? o[P("0xe51")].fillColor = e[P("0x16a")].fromCssColorString(this.HexadecimalConversion(t[P("0xe56")])) : this.labelGraphics.fillColor && (o.label[P("0x3dd")] = this[P("0xe1c")][P("0x3dd")]),
-                                    this[P("0xe20")] && void 0 !== t[P("0xe57")] ? o[P("0xe51")].outlineColor = e.Color[P("0x27e")](this.HexadecimalConversion(t[P("0xe57")])) : this[P("0xe1c")][P("0x3df")] && (o[P("0xe51")][P("0x3df")] = this[P("0xe1c")][P("0x3df")]),
-                                    this[P("0xe20")] && w()(t.shiningSize) === P("0x49f") ? o.label[P("0x3de")] = t[P("0xe58")] : void 0 !== this[P("0xe1c")].outlineWidth && (o[P("0xe51")][P("0x3de")] = this[P("0xe1c")][P("0x3de")]),
-                                    this.serverFirstStyle && void 0 !== t[P("0x3d8")] ? o[P("0xe51")][P("0x3d8")] = t[P("0x3d8")] : void 0 !== this[P("0xe1c")].showBackground && (o[P("0xe51")][P("0x3d8")] = this[P("0xe1c")].showBackground),
-                                    this.serverFirstStyle && void 0 !== t.backgroundColor ? o[P("0xe51")][P("0x3d9")] = t[P("0x3d9")] : void 0 !== this[P("0xe1c")][P("0x3d9")] && (o[P("0xe51")][P("0x3d9")] = this[P("0xe1c")][P("0x3d9")]),
-                                    this.serverFirstStyle && void 0 !== t[P("0xe59")] ? o[P("0xe51")].backgroundPadding = t.backgroundPadding : void 0 !== this[P("0xe1c")][P("0xe59")] && (o[P("0xe51")][P("0xe59")] = this[P("0xe1c")][P("0xe59")]),
-                                    i.t ? (o[P("0xe51")].verticalOrigin = e[P("0x24d")][P("0x24c")],
-                                        o[P("0xe51")][P("0x3da")] = e[P("0x24b")][P("0x24c")]) : (this[P("0xe20")] && void 0 !== t[P("0x3db")] ? o[P("0xe51")][P("0x3db")] = t[P("0x3db")] : void 0 !== this[P("0xe1c")].verticalOrigin && (o[P("0xe51")][P("0x3db")] = this[P("0xe1c")][P("0x3db")]),
-                                            this[P("0xe20")] && void 0 !== t[P("0x3da")] ? o.label[P("0x3da")] = t[P("0x3da")] : void 0 !== this[P("0xe1c")].horizontalOrigin && (o[P("0xe51")].horizontalOrigin = this[P("0xe1c")].horizontalOrigin)),
-                                    this[P("0xe20")] && void 0 !== t.eyeOffset ? o[P("0xe51")][P("0xe5a")] = t[P("0xe5a")] : void 0 !== this[P("0xe1c")][P("0xe5a")] && (o.label[P("0xe5a")] = this[P("0xe1c")][P("0xe5a")]),
-                                    this[P("0xe20")] && void 0 !== t[P("0x3dc")] ? o[P("0xe51")][P("0x3dc")] = t.pixelOffset : void 0 !== this[P("0xe1c")].pixelOffset && (o[P("0xe51")].pixelOffset = this.labelGraphics[P("0x3dc")]),
-                                    this[P("0xe20")] && void 0 !== t[P("0x150")] ? o.label[P("0x150")] = t[P("0x150")] : void 0 !== this[P("0xe1c")][P("0x150")] && (o[P("0xe51")].style = this.labelGraphics[P("0x150")]),
-                                    this[P("0xe20")] && void 0 !== t[P("0xfc")] ? o.label.scale = t.scale : void 0 !== this[P("0xe1c")].scale && (o.label[P("0xfc")] = this[P("0xe1c")][P("0xfc")]),
-                                    o[P("0xe51")][P("0xe5b")] = this.labelGraphics[P("0xe5b")],
-                                    o.label[P("0xe5c")] = this[P("0xe1c")][P("0xe5c")] ? this.labelGraphics.heightReference : e.HeightReference[P("0xe5d")],
-                                    void 0 !== t.symbolID && -1 < t[P("0xe5e")] && (o[P("0xe5f")] = {
-                                        image: this[P("0xe31")]()[P("0xa1c")](P("0xe60"), t[P("0xe5e")])[P("0xa1c")](P("0xa04"), this.subdomains[(i.x + i.y + i.z) % this[P("0xa4e")][P("0x0")]])
-                                    },
-                                        this[P("0xe20")] && void 0 !== t[P("0xe61")] ? (o.billboard.width = t.displayHeight,
-                                            o[P("0xe5f")].height = t[P("0xe61")]) : void 0 === this.billboardGraphics[P("0x19a")] && void 0 === this[P("0xe1d")][P("0x8b")] || (o[P("0xe5f")].width = this[P("0xe1d")].width,
-                                                o.billboard[P("0x8b")] = this.billboardGraphics[P("0x8b")]),
-                                        i.t ? (o.label[P("0x3db")] = e[P("0x24d")][P("0x3c7")],
-                                            o[P("0xe51")][P("0x3da")] = e[P("0x24b")][P("0x24c")]) : (this[P("0xe20")] && void 0 !== t[P("0x3db")] ? o[P("0xe5f")].verticalOrigin = t.verticalOrigin : void 0 !== this.billboardGraphics.verticalOrigin && (o[P("0xe5f")][P("0x3db")] = this[P("0xe1d")][P("0x3db")]),
-                                                this[P("0xe20")] && void 0 !== t[P("0x3da")] ? o[P("0xe5f")].horizontalOrigin = t.horizontalOrigin : void 0 !== this.billboardGraphics[P("0x3da")] && (o[P("0xe5f")][P("0x3da")] = this[P("0xe1d")][P("0x3da")])),
-                                        this[P("0xe20")] && void 0 !== t[P("0xe5a")] ? o[P("0xe5f")][P("0xe5a")] = t[P("0xe5a")] : void 0 !== this[P("0xe1d")].eyeOffset && (o[P("0xe5f")][P("0xe5a")] = this[P("0xe1d")][P("0xe5a")]),
-                                        this[P("0xe20")] && void 0 !== t.pixelOffset ? o.billboard[P("0x3dc")] = t[P("0x3dc")] : void 0 !== this.billboardGraphics[P("0x3dc")] && (o[P("0xe5f")].pixelOffset = this[P("0xe1d")][P("0x3dc")]),
-                                        this[P("0xe20")] && void 0 !== t[P("0xfb")] ? o[P("0xe5f")][P("0xfb")] = t[P("0xfb")] : void 0 !== this.billboardGraphics.rotation && (o.billboard[P("0xfb")] = this.billboardGraphics[P("0xfb")]),
-                                        this[P("0xe20")] && void 0 !== t.alignedAxis ? o[P("0xe5f")][P("0xe62")] = t[P("0xe62")] : void 0 !== this.billboardGraphics[P("0xe62")] && (o[P("0xe5f")].alignedAxis = this.billboardGraphics[P("0xe62")]),
-                                        this[P("0xe20")] && void 0 !== t[P("0x169")] ? o[P("0xe5f")].color = t[P("0x169")] : void 0 !== this[P("0xe1d")].color && (o[P("0xe5f")][P("0x169")] = this[P("0xe1d")].color),
-                                        this.serverFirstStyle && void 0 !== t[P("0xfc")] ? o[P("0xe5f")][P("0xfc")] = t.scale : void 0 !== this[P("0xe1d")].scale && (o[P("0xe5f")].scale = this[P("0xe1d")][P("0xfc")]),
-                                        o.billboard[P("0xe5b")] = this[P("0xe1d")][P("0xe5b")],
-                                        o.billboard[P("0xe5c")] = this[P("0xe1d")][P("0xe5c")] ? this[P("0xe1d")][P("0xe5c")] : e[P("0xe63")].NONE);
-                                var a = new (e[P("0x18e")])(o);
-                                return a[P("0x176")] = i.t ? this[P("0xe27")] : this[P("0xe25")],
-                                    a[P("0xe2b")] = t.oid,
-                                    a[P("0xe64")] = t[P("0xe64")] ? t[P("0xe64")] : 0,
-                                    a[P("0xe65")] = i.x + "_" + i.y + "_" + (i.z - 1),
-                                    a
-                            }
-                        }
-                        ,
-                        i[P("0x5")].getPropertyValue = function (e, t, i, r) {
-                            return void 0 !== t[e] ? t[e] : void 0 !== i[e] ? i[e] : r
-                        }
-                        ,
-                        i.prototype[P("0xe3b")] = function () {
-                            if (this[P("0xe66")])
-                                for (var t = document[P("0xe67")](P("0xe66")), i = 0; i < t[P("0x0")]; i++)
-                                    this[P("0x13b")][P("0x131")][P("0x41b")](t[i]),
-                                        i--;
-                            var r = []
-                                , o = this.viewer[P("0x194")][P("0x190")];
-                            for (i = 0; i < o[P("0x0")]; i++)
-                                if (o[i][P("0x176")] && (o[i][P("0x176")] === this[P("0xe25")] || o[i][P("0x176")] === this[P("0xe27")])) {
-                                    var a, s;
-                                    a = e[P("0xe68")].wgs84ToDrawingBufferCoordinates(this[P("0x13b")][P("0x10f")], o[i].position[P("0x512")](0)),
-                                        o[i][P("0x221")] = !0,
-                                        s = this[P("0xe69")]({
-                                            point: a,
-                                            entity: o[i]
-                                        }),
-                                        o[i].collisionBox = s;
-                                    for (var x = null, l = 0; l < r.length; l++)
-                                        if (r[l][P("0xe65")] === o[i].xyz) {
-                                            x = r[l];
-                                            break
-                                        }
-                                    if (x || (x = {
-                                        xyz: o[i][P("0xe65")],
-                                        entities: []
-                                    },
-                                        r.push(x)),
-                                        x[P("0x194")][P("0x17c")](o[i]),
-                                        this[P("0xe66")]) {
-                                        var c = document[P("0x15c")](P("0x15d"));
-                                        c[P("0x21b")](P("0xe6a"), P("0xe66")),
-                                            c[P("0x150")][P("0xe6b")] = P("0xe6c") + s.y + P("0xe6d") + s.x + P("0xe6e") + s.width + P("0xe6f") + s[P("0x8b")] + "px; border: solid 1px red; color: rgba(0,0,0,0);",
-                                            c[P("0x40a")] = o[i][P("0xe51")][P("0x31b")].getValue(0),
-                                            this[P("0x13b")].container.appendChild(c)
-                                    }
-                                }
-                            for (var u = 0; u < r[P("0x0")]; u++)
-                                for (r[u].entities[P("0x3d2")]((function (e, t) {
-                                    return e[P("0xe64")] - t[P("0xe64")]
-                                }
-                                )),
-                                    i = 0; i < r[u][P("0x194")][P("0x0")]; i++)
-                                    if (r[u][P("0x194")][i].show)
-                                        for (l = i + 1; l < r[u].entities[P("0x0")]; l++)
-                                            r[u].entities[l][P("0x221")] && n(r[u][P("0x194")][i][P("0xe70")], r[u][P("0x194")][l][P("0xe70")]) && (r[u][P("0x194")][l][P("0x221")] = !1);
-                            var h = [];
-                            for (u = 0; u < r.length; u++)
-                                for (i = 0; i < r[u][P("0x194")][P("0x0")]; i++)
-                                    r[u][P("0x194")][i][P("0x221")] && h[P("0x17c")](r[u][P("0x194")][i]);
-                            for (i = 0; i < h[P("0x0")]; i++)
-                                if (h[i][P("0x221")])
-                                    for (h[P("0x3d2")]((function (e, t) {
-                                        return e.priority - t[P("0xe64")]
-                                    }
-                                    )),
-                                        l = i + 1; l < h[P("0x0")]; l++)
-                                        h[l].show && n(h[i][P("0xe70")], h[l][P("0xe70")]) && (h[l].show = !1)
-                        }
-                        ,
-                        i[P("0x5")][P("0xe71")] = function () {
-                            this[P("0x13b")].scene[P("0x7e")][P("0xe72")][P("0x130")](this[P("0xaf6")], this),
-                                this.viewer.scene.camera[P("0xe73")][P("0x130")](this[P("0xaf7")], this)
-                        }
-                        ,
-                        i[P("0x5")][P("0xe74")] = function () {
-                            this[P("0x13b")][P("0x10f")][P("0x7e")][P("0xe72")][P("0x548")](this[P("0xaf6")], this),
-                                this[P("0x13b")][P("0x10f")].camera[P("0xe73")][P("0x548")](this[P("0xaf7")], this)
-                        }
-                        ,
-                        i.prototype[P("0x198")] = function () {
-                            this[P("0xe24")] = [],
-                                this[P("0xaf6")]()
-                        }
-                        ,
-                        i[P("0x5")][P("0xf4")] = function () {
-                            for (var e = 0; e < this[P("0x13b")][P("0x194")][P("0x190")][P("0x0")]; e++)
-                                !this.viewer[P("0x194")][P("0x190")][e].name || this.viewer.entities[P("0x190")][e][P("0x176")] !== this._UUID && this.viewer.entities.values[e].name !== this[P("0xe27")] || (this[P("0x13b")][P("0x194")].remove(this[P("0x13b")].entities[P("0x190")][e]),
-                                    e--);
-                            this[P("0x13b")][P("0x7e")].percentageChanged = .5,
-                                this[P("0xe74")](),
-                                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")].destroy(),
-                                this[P("0xe18")] = void 0,
-                                this[P("0x13b")] = void 0,
-                                this[P("0x6af")] = void 0,
-                                this[P("0xe1c")] = void 0,
-                                this[P("0xe1d")] = void 0,
-                                this[P("0xe1e")] = void 0,
-                                this.collisionPadding = void 0,
-                                this.tileCache = void 0,
-                                this.labelCache = void 0,
-                                this[P("0xe24")] = void 0,
-                                this[P("0xe39")] = void 0,
-                                this[P("0xe75")] = void 0
-                        }
-                        ,
-                        i[P("0x5")][P("0xe37")] = function (e, t) {
-                            for (var i = !1, r = 0; r < e[P("0x0")]; r++) {
-                                for (var n = !1, o = 0; o < t.length; o++)
-                                    if (e[r].x === t[o].x && e[r].y === t[o].y && e[r].level === t[o][P("0x968")]) {
-                                        n = !0;
-                                        break
-                                    }
-                                if (!n) {
-                                    i = !0;
-                                    break
-                                }
-                            }
-                            return !i
-                        }
-                        ,
-                        i.prototype[P("0xe69")] = function (e) {
-                            var t = p()(e[P("0xe76")].label[P("0xe4e")]);
-                            t = 0 < t ? t : 15;
-                            for (var i = e[P("0xe76")].label[P("0x31b")][P("0x512")](0)[P("0x7f2")]("\n"), r = 0, n = i[P("0x0")], a = 0; a < i[P("0x0")]; a++) {
-                                var s = o(i[a]) / 2;
-                                r < s && (r = s)
-                            }
-                            var x = e[P("0xe76")][P("0xe5f")] ? e[P("0xe76")][P("0xe5f")][P("0x19a")][P("0x512")](0) * e[P("0xe76")][P("0xe5f")].scale[P("0x512")](0) : 1
-                                , l = e.entity[P("0xe5f")] ? e[P("0xe76")].billboard.height.getValue(0) * e.entity[P("0xe5f")][P("0xfc")][P("0x512")](0) : 1;
-                            return {
-                                x: (e[P("0x2ec")] ? e[P("0x2ec")].x : -999) - x / 2 - this[P("0xe1f")][3],
-                                y: (e[P("0x2ec")] ? e.point.y : -999) - l / 2 - this[P("0xe1f")][0],
-                                width: t * e[P("0xe76")][P("0xe51")][P("0xfc")][P("0x512")](0) * r + e[P("0xe76")][P("0xe51")][P("0x3dc")][P("0x512")](0).x + x + this[P("0xe1f")][1],
-                                height: t * e[P("0xe76")][P("0xe51")].scale.getValue(0) * (n + .5 * (n - 1)) + e[P("0xe76")][P("0xe51")][P("0x3dc")][P("0x512")](0).y + l / 2 + this[P("0xe1f")][2]
-                            }
-                        }
-                        ,
-                        i[P("0x5")].CutString = function (e) {
-                            if (!e)
-                                return "";
-                            var t = e[P("0xaa9")];
-                            return t <= 28 ? "" : e[P("0x1d5")](19, t - 9)
-                        }
-                        ,
-                        i[P("0x5")].HexadecimalConversion = function (e) {
-                            if (4278190080 === e)
-                                return "#000000";
-                            var t = 4278190080 | p()(-Number(e));
-                            if (e = "",
-                                (t = t[P("0x531")](16)[P("0x987")](1))[P("0x0")] < 6)
-                                for (var i = 6 - t[P("0x0")], r = 0; r < i; r++)
-                                    e += "0";
-                            return "#" + e + t
-                        }
-                        ,
-                        i[P("0x5")].getLabelVisibility = function (e) {
-                            if (!e)
-                                return !1;
-                            var t = this[P("0x13b")][P("0x48")].getBoundingClientRect();
-                            return !(e.x < -10 || e.x > t[P("0x9b")] + 10 || e.y < -10 || e.y > t[P("0x9aa")] + 10)
-                        }
-                        ;
-                    var o = function (e) {
-                        for (var t = 0, i = 0; i < e[P("0x0")]; i++)
-                            null != e.charAt(i)[P("0x126")](/[^\x00-\xff]/gi) ? t += 2 : t += 1;
-                        return t
-                    }
-                        , a = function (e) {
-                            var t = {
-                                stringTable: [],
-                                pois: [],
-                                enumGeometryType: [{
-                                    ePoint: 0
-                                }, {
-                                    eMultiLineString: 1
-                                }, {
-                                    ePolygon: 2
-                                }],
-                                enumZCoordType: [{
-                                    eCloseGround: 0
-                                }, {
-                                    eCloseSeaSurface: 1
-                                }, {
-                                    eRelativelyGround: 2
-                                }, {
-                                    eAbsolute: 3
-                                }]
-                            }
-                                , i = function () {
-                                    var e = P("0xe7a") + P("0xe7b") + P("0xe7c") + P("0xe7d") + P("0xe7e") + P("0xe7f") + P("0xe80") + P("0xe81") + P("0xe82") + P("0xe83") + P("0xe84") + P("0xe85") + P("0xe86") + P("0xe87") + P("0xe88") + P("0xe89") + P("0xe8a") + P("0xe8b") + P("0xe8c") + "};message StringTable {" + P("0xe8d") + "}" + P("0xe8e") + P("0xe8f") + "required int64 TileKey = 2;" + P("0xe90") + P("0xe91") + "};";
-                                    if ("undefined" == typeof dcodeIO || !dcodeIO[P("0xe92")])
-                                        throw new Error(P("0xe93"));
-                                    return dcodeIO[P("0xe92")][P("0xe94")](e, "GEOPOI", P("0xe95"))[P("0xd22")](P("0xe96"))[P("0xe97")]
-                                }()
-                                , r = function () {
-                                    var e = P("0xe7a") + P("0xe7b") + P("0xe7c") + P("0xe7d") + P("0xe7e") + P("0xe7f") + "};" + P("0xe98") + P("0xe81") + P("0xe82") + P("0xe83") + P("0xe84") + P("0xe85") + P("0xe86") + "optional int32 SymbolID = 10  [default = 0];" + P("0xe88") + P("0xe89") + "optional uint32\tFontNameIndex=13 [default =0];" + P("0xe8b") + P("0xe8c") + P("0xe99") + "};" + P("0xe9a") + "repeated string s = 1;}" + P("0xe8e") + "required int64 Version = 1;" + P("0xe9b") + P("0xe90") + "repeated PBPOI POIS = 4;};";
-                                    if ("undefined" == typeof dcodeIO || !dcodeIO[P("0xe92")])
-                                        throw new Error("ProtoBuf.js is not present. Please see www/index.html for manual setup instructions.");
-                                    return dcodeIO[P("0xe92")][P("0xe94")](e, P("0xe96"), P("0xe9c")).build(P("0xe96")).PBPOITile
-                                }()
-                                , n = function () {
-                                    var e = "option optimize_for = LITE_RUNTIME;" + P("0xe7b") + P("0xe7c") + "ePoint = 0;" + P("0xe7e") + P("0xe7f") + "};enum enumZCoordType {eCloseGround = 0;eCloseSeaSurface = 1;eRelativelyGround = 2;eAbsolute = 3;};message PBPOI{" + P("0xe82") + P("0xe83") + "repeated double Coordinates =3 [packed=true];" + P("0xe85") + P("0xe9d") + P("0xe9e") + P("0xe87") + P("0xe88") + P("0xe89") + P("0xe8a") + P("0xe8b") + P("0xe8c") + P("0xe99") + P("0xe9f") + P("0xea0") + "};" + P("0xe9a") + P("0xe8d") + "}message PBPOITile{" + P("0xe8f") + "required int64 TileKey = 2;" + P("0xe90") + P("0xe91") + "};";
-                                    if (("undefined" == typeof dcodeIO ? "undefined" : w()(dcodeIO)) === P("0x2b6") || !dcodeIO[P("0xe92")])
-                                        throw new Error(P("0xe93"));
-                                    return dcodeIO[P("0xe92")][P("0xe94")](e, P("0xe96"), P("0xea1"))[P("0xd22")](P("0xe96"))[P("0xe97")]
-                                }();
-                            t[P("0xe4a")][P("0x0")] = 0;
-                            var o, a = e;
-                            try {
-                                o = n.decode(a)
-                            } catch (e) {
-                                console[P("0x133")](e[P("0xa63")])
-                            }
-                            if (!o)
-                                try {
-                                    o = r[P("0xea2")](a)
-                                } catch (e) {
-                                    console.log(e[P("0xa63")]),
-                                        o = i[P("0xea2")](a)
-                                }
-                            t[P("0xea3")] = p()(o[P("0xea4")][P("0x531")]()),
-                                t[P("0xea5")] = p()(o[P("0xea6")][P("0x531")]()),
-                                t.stringTable = [];
-                            for (var s = o.StringTable.s.length, x = 0; x < s; x++)
-                                t[P("0xe50")][P("0x17c")](o[P("0xea7")].s[x].toString());
-                            return o[P("0xea8")][P("0x1e4")]((function (e) {
-                                var i = {};
-                                i[P("0xe2b")] = p()(e[P("0xea9")][P("0x531")]()) + "_" + t[P("0xea5")],
-                                    i.name = e[P("0xe48")][P("0x531")](),
-                                    i[P("0xe5e")] = p()(e[P("0xeaa")].toString()),
-                                    i[P("0xe61")] = e[P("0xeab")],
-                                    i[P("0xe57")] = e[P("0xeac")],
-                                    i[P("0xead")] = e[P("0xeae")],
-                                    i[P("0xeaf")] = e[P("0xeb0")],
-                                    i[P("0xe56")] = e.FontColor,
-                                    e[P("0xeb1")] && (i[P("0xeb2")] = e[P("0xeb1")]),
-                                    i[P("0xeb3")] = e.GeometryType,
-                                    i[P("0xe4d")] = e[P("0xeb4")],
-                                    i[P("0xe64")] = w()(e.Priority) === P("0x2b6") ? null : e.Priority,
-                                    i[P("0xeb5")] = w()(e[P("0xeb6")]) === P("0x2b6") ? null : e[P("0xeb6")],
-                                    i[P("0xe53")] = w()(e.FontStyle) === P("0x2b6") ? null : e[P("0xeb7")],
-                                    i.shiningSize = w()(e.ShiningSize) === P("0x2b6") ? null : e[P("0xeb8")],
-                                    t[P("0xe4a")][P("0x17c")](i)
-                            }
-                            )),
-                                t
-                        };
-                    e[P("0xeb9")] = i
-                }(window[P("0xfd")]),
-                function (e) {
-                    var t = e.Measure = function (e) {
-                        this[P("0x13b")] = e[P("0x13b")],
-                            this[P("0x17d")] = this.viewer[P("0x10f")][P("0x17d")]
-                    }
-                        ;
-                    t[P("0x5")][P("0x8e")] = function (t, i) {
-                        if (t[P("0x2eb")]) {
-                            var r = t[P("0x2eb")][P("0x19f")].getValue();
-                            if (!(r[P("0x0")] <= 1)) {
-                                for (var n, o = 0, a = 0, s = new (e[P("0x282")]), x = 1; x < r[P("0x0")]; x++) {
-                                    var l = e[P("0x13")].fromCartesian(r[x - 1])
-                                        , c = e[P("0x13")][P("0x175")](r[x]);
-                                    s.setEndPoints(l, c),
-                                        o += Math[P("0x5f0")](s.surfaceDistance);
-                                    var u = e.Cartographic.fromCartesian(r[x - 1])
-                                        , h = e.Math[P("0x113")](u.longitude)
-                                        , f = e[P("0x23")][P("0x113")](u[P("0x114")])
-                                        , d = e[P("0x13")][P("0x175")](r[x])
-                                        , g = e[P("0x23")][P("0x113")](d[P("0x112")])
-                                        , p = e[P("0x23")][P("0x113")](d[P("0x114")])
-                                        , m = turf.point([h, f])
-                                        , b = turf[P("0x2ec")]([g, p]);
-                                    a += turf[P("0x8e")](m, b)
-                                }
-                                return 2 == i ? n = o < 1e3 ? o[P("0x2af")](2) + "m" : (o / 1e3).toFixed(2) + "km" : 1 == i && (n = a < 1 ? (1e3 * a)[P("0x2af")](2) + "m" : a[P("0x2af")](2) + "km"),
-                                    n
-                            }
-                        }
-                    }
-                        ,
-                        t[P("0x5")][P("0x2d9")] = function (t) {
-                            if (t[P("0x2d4")]) {
-                                var i = t[P("0x2d4")][P("0xeba")].getValue().positions;
-                                if (!(i.length <= 2)) {
-                                    for (var r = [], n = 0; n < i[P("0x0")]; n++) {
-                                        var o = e[P("0x13")][P("0x175")](i[n])
-                                            , a = e[P("0x23")][P("0x113")](o.longitude)
-                                            , s = e.Math.toDegrees(o[P("0x114")]);
-                                        r[P("0x17c")]([a, s])
-                                    }
-                                    r[P("0x17c")](r[0]);
-                                    var x = turf[P("0x2d4")]([r])
-                                        , l = turf[P("0x2d9")](x);
-                                    return l < 1e6 ? l.toFixed(2) + "m虏" : (l / 1e6).toFixed(2) + P("0x2da")
-                                }
-                            }
-                        }
-                        ,
-                        t[P("0x5")].height = function (t) {
-                            if (t[P("0x2eb")]) {
-                                var i = t[P("0x2eb")][P("0x19f")][P("0x512")]();
-                                if (2 == (i = [i[0], i[1]]).length) {
-                                    for (var r = [], n = 0; n < i[P("0x0")]; n++) {
-                                        var o = e[P("0x13")].fromCartesian(i[n])
-                                            , a = e[P("0x23")][P("0x113")](o.longitude)
-                                            , s = e[P("0x23")].toDegrees(o.latitude)
-                                            , x = o.height;
-                                        r[P("0x17c")](a),
-                                            r.push(s),
-                                            r.push(x)
-                                    }
-                                    r[2] >= r[5] ? (r.push(r[0]),
-                                        r[P("0x17c")](r[1]),
-                                        r[P("0x17c")](r[5])) : (r[P("0x17c")](r[3]),
-                                            r[P("0x17c")](r[4]),
-                                            r[P("0x17c")](r[2]));
-                                    var l = {
-                                        horizontalDistance: null,
-                                        verticalHeight: null,
-                                        spaceDistance: null
-                                    }
-                                        , c = 1e3 * turf[P("0x8e")](turf.point([r[0], r[1]]), turf[P("0x2ec")]([r[3], r[4]]));
-                                    (h = [])[P("0x17c")]((r[0] + r[3]) / 2),
-                                        h[P("0x17c")]((r[1] + r[4]) / 2),
-                                        r[2] >= r[5] ? h.push(r[5]) : h[P("0x17c")](r[2]),
-                                        c < 1e3 ? l.horizontalDistance = P("0x311") + c[P("0x2af")](2) + "m" : l[P("0xebb")] = P("0x311") + (c / 1e3)[P("0x2af")](2) + "km";
-                                    var u = Math[P("0x78")](r[2] - r[5])
-                                        , h = [];
-                                    r[2] >= r[5] ? (h[P("0x17c")](r[0]),
-                                        h.push(r[1])) : (h[P("0x17c")](r[3]),
-                                            h[P("0x17c")](r[4])),
-                                        h.push((r[2] + r[5]) / 2),
-                                        l[P("0xebc")] = u < 1e3 ? P("0x312") + u[P("0x2af")](2) + "m" : "鍨傜洿楂樺害锛�" + (u / 1e3)[P("0x2af")](2) + "km";
-                                    var f = Math[P("0xca")](Math[P("0x2ae")](c, 2) + Math[P("0x2ae")](u, 2));
-                                    return (h = [])[P("0x17c")]((r[0] + r[3]) / 2),
-                                        h[P("0x17c")]((r[1] + r[4]) / 2),
-                                        h.push((r[2] + r[5]) / 2),
-                                        f < 1e3 ? l.spaceDistance = P("0x313") + f.toFixed(2) + "m" : l[P("0xebd")] = P("0x313") + (f / 1e3)[P("0x2af")](2) + "km",
-                                        l
-                                }
-                            }
-                        }
-                        ,
-                        t[P("0x5")].elevation = function (t) {
-                            if (t[P("0x2ec")]) {
-                                var i = [t.position._value];
-                                if (1 == i[P("0x0")]) {
-                                    var r = e[P("0x13")][P("0x175")](i[0])[P("0x8b")];
-                                    P("0x30a"),
-                                        r.toFixed(2),
-                                        createResultLabel2(this.options, this.primitives, i)
-                                }
-                            }
-                        }
-                }(window.Cesium),
-                k = (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && "symbol" == w()(Symbol[P("0x1f3")]) ? function (e) {
-                    return w()(e)
-                }
-                    : function (e) {
-                        return e && (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && e[P("0x2b7")] === A.a && e !== Symbol[P("0x5")] ? P("0x1f4") : w()(e)
-                    }
-                ,
-                function (e) {
-                    var t = e[P("0xebe")] = function (t) {
-                        t = e[P("0x102")](t, e[P("0x102")][P("0x128")]),
-                            this[P("0x13c")] = t[P("0x13b")],
-                            this[P("0x68a")] = e[P("0x14")](t[P("0xa22")]) ? t[P("0xa22")] : new e.WebMercatorTilingScheme({
-                                ellipsoid: t[P("0xef")]
+                              , E = e[P("0x5ea")].createVertexBuffer({
+                                context: r,
+                                typedArray: e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")].FLOAT, y),
+                                usage: e[P("0x4d5")][P("0x4d6")]
+                            })
+                              , S = e.Buffer.createVertexBuffer({
+                                context: r,
+                                typedArray: e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")][P("0x5e9")], w),
+                                usage: e[P("0x4d5")][P("0x4d6")]
+                            })
+                              , T = [];
+                            T[P("0x17c")]({
+                                index: 0,
+                                vertexBuffer: E,
+                                componentDatatype: e[P("0x5e8")][P("0x5e9")],
+                                componentsPerAttribute: 3,
+                                normalize: !1
                             }),
-                            this[P("0xebf")] = e[P("0x102")](t[P("0xec0")], 512),
-                            this[P("0xec1")] = e[P("0x102")](t.tileHeight, 512),
-                            this._readyPromise = e[P("0x9ee")].resolve(!0),
-                            this[P("0xec2")] = new GeoOLMS.MVT,
-                            this[P("0xa94")] = t[P("0xe18")],
-                            this[P("0x6a8")] = t[P("0xa39")],
-                            this._styleName = t[P("0xec3")],
-                            this[P("0xec4")] = t.tileMatrixSetID,
-                            this[P("0xec5")] = t.tileMatrixLabels,
-                            this[P("0xa0f")] = P("0xec6"),
-                            this._maximumLevel = t[P("0xec7")],
-                            this._rectangle = e[P("0x102")](t[P("0x969")], this._tilingScheme[P("0x969")]),
-                            this[P("0xec8")] = e[P("0x102")](t[P("0xec9")], 22),
-                            this[P("0xeca")] = e[P("0x102")](t.symbolVisibility, P("0x2b4")),
-                            this[P("0xecb")] = e[P("0x102")](t[P("0xecb")], !0),
-                            this[P("0xecc")] = new (e[P("0x766")]),
-                            this[P("0xecd")] = e[P("0x102")](t[P("0x4")], ""),
-                            this._url = e[P("0x102")](t[P("0x6af")], P("0xece"));
-                        var i = null;
-                        this[P("0x68a")] instanceof e.WebMercatorTilingScheme ? i = [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244] : this[P("0x68a")] instanceof e[P("0x9d7")] && (i = [-180, -270, 180, 90]),
-                            this._resolutions = GeoOLMS[P("0xecf")](i, 22, this._tileWidth)[P("0xed0")](),
-                            this[P("0xed1")] = 1,
-                            this[P("0xae5")] = [.125, 0, 0, .125, 0, 0],
-                            this._replays = [P("0xed2"), P("0x5a5"), "Polygon", P("0x9e3"), P("0xed3")],
-                            this._tileQueueForCanvas = new e.TileReplacementQueue,
-                            this[P("0xed4")] = new (e[P("0xed5")]),
-                            this[P("0xed6")] = 1e3,
-                            this._styles = void 0,
-                            this[P("0xb7f")] = this[P("0xed7")](),
-                            this[P("0xed8")] = void 0,
-                            this[P("0xed9")] = {},
-                            this[P("0xeda")] = {},
-                            this[P("0xedb")] = document.createElement(P("0x48")),
-                            this[P("0xedb")].width = 512,
-                            this[P("0xedb")][P("0x8b")] = 512,
-                            P("0xedc") in window ? this[P("0xedd")] = !e.defined(t[P("0xede")]) || t.useWebWorker : (e[P("0x14")](t[P("0xede")]) && !0 === t.useWebWorker && console.warn(P("0xedf")),
-                                this[P("0xedd")] = !1),
-                            1 == this._useWebWorker && (this[P("0xeca")] = P("0x2b4")),
-                            this[P("0xee0")] = function () {
-                                return []
-                            }
-                            ;
-                        var n = this
-                            , o = this[P("0xee1")]();
-                        if (r(o = this[P("0xa94")] ? this[P("0xa94")].getURL(o) : o, !1, (function (i) {
-                            if (i) {
-                                if (!i[P("0xee2")]) {
-                                    for (var r = "mysourceid", o = 0; o < i[P("0xee3")][P("0x0")]; o++)
-                                        i[P("0xee3")][o][P("0xac2")] = r;
-                                    i[P("0xee2")] = {},
-                                        i[P("0xee2")][r] = {
-                                            type: P("0xee4"),
-                                            url: t[P("0x6af")]
-                                        }
-                                }
-                                if ((n[P("0xee5")] = i)[P("0xee6")] && (n._spriteUrl = n[P("0xa94")] ? n[P("0xa94")][P("0xa95")](i[P("0xee6")]) : i[P("0xee6")]),
-                                    "none" === n[P("0xeca")]) {
-                                    var a = [];
-                                    for (o = 0; o < n[P("0xee5")][P("0xee3")][P("0x0")]; o++)
-                                        n[P("0xee5")][P("0xee3")][o][P("0x165")] !== P("0x1f4") && a.push(n[P("0xee5")][P("0xee3")][o]);
-                                    n._styles[P("0xee3")] = a,
-                                        n[P("0xed8")] = void 0
-                                }
-                                !1 === n[P("0xedd")] && (n[P("0xed8")] ? (Number(e.VERSION) < 1.42 ? e[P("0xee7")](n[P("0xed8")] + P("0xee8")) : e[P("0x6da")][P("0xee9")](n[P("0xed8")] + ".json")).then((function (e) {
-                                    n.spriteData = e,
-                                        n[P("0xee0")] = GeoOLMS[P("0xeea")](i, Object[P("0xdcb")](i.sources), n[P("0x9c9")], e, n[P("0xed8")] + P("0xeeb"))
-                                }
-                                )) : (n[P("0xeec")] = void 0,
-                                    n.styleFunc = GeoOLMS[P("0xeea")](i, Object[P("0xdcb")](i[P("0xee2")]), n[P("0x9c9")])))
-                            }
+                            T[P("0x17c")]({
+                                index: 1,
+                                vertexBuffer: S,
+                                componentDatatype: e[P("0x5e8")].FLOAT,
+                                componentsPerAttribute: 2,
+                                normalize: !1
+                            });
+                            var M = new (e[P("0x5ee")])({
+                                context: r,
+                                attributes: T,
+                                indexBuffer: G
+                            });
+                            this[P("0x6ce")] = new (e[P("0x5d3")])({
+                                boundingVolume: this[P("0xe13")].boundingSphere,
+                                primitiveType: e.PrimitiveType.TRIANGLES,
+                                vertexArray: M,
+                                shaderProgram: m,
+                                castShadows: !1,
+                                receiveShadows: !1,
+                                uniformMap: this[P("0xe10")],
+                                renderState: b,
+                                pass: e[P("0x5e4")][P("0x5e5")]
+                            }),
+                            this._drawCommand[P("0xe15")] = P("0xe15")
                         }
-                        )),
-                            !0 === n._useWebWorker) {
-                            var a = function () {
-                                for (var e = P("0xf44"), t = "", i = new RegExp(P("0x121") + e + P("0x122")), r = document[P("0x123")](P("0x124")), n = 0, o = r[P("0x0")]; n < o; n++) {
-                                    var a = r[n][P("0x21c")](P("0x125"));
-                                    if (a) {
-                                        var s = a[P("0x126")](i);
-                                        if (s) {
-                                            t = s[0];
-                                            break
-                                        }
-                                    }
-                                }
-                                return t
-                            }();
-                            this._olmsUrl = e.buildModuleUrl(a),
-                                this._count = 0,
-                                this[P("0x9fc")] = new (e[P("0x766")]),
-                                this[P("0x9fc")][P("0x130")]((function (e) {
-                                    2 < n[P("0x13c")][P("0x10f")][P("0xa3")][P("0xa2e")]._tilesToRender[P("0x0")] && (e[P("0xeed")] = !0)
-                                }
-                                )),
-                                this.bindEvent(),
-                                this[P("0xeee")]()
-                        }
+                        null !== this[P("0xdf4")] && 1 == this[P("0xdf8")] && t[P("0x5ca")][P("0x17c")](this[P("0x6ce")])
                     }
-                        ;
-                    function i() {
-                        o(this[P("0xeef")], 0),
-                            this[P("0x13c")][P("0x10f")][P("0xa3")][P("0xa2e")][P("0xef0")]((function (t) {
-                                for (var i = t[P("0x440")][P("0xef1")], r = 0; r < i[P("0x0")]; r++) {
-                                    var n = i[r];
-                                    (e.defined(n[P("0xef2")]) ? n[P("0xef2")] : n.readyImagery)[P("0xef3")]._imageryProvider instanceof e[P("0xebe")] && (t.state = e[P("0xef4")][P("0xef5")],
-                                        e[P("0x14")](n.loadingImagery) || (n[P("0xef2")] = n[P("0xef6")],
-                                            n[P("0xef2")][P("0xef7")]()),
-                                        n.loadingImagery[P("0xdb3")] = e[P("0xef8")].UNLOADED)
-                                }
-                            }
-                            ))
+                }
+            }
+            ,
+            i[P("0x5")][P("0xe16")] = function(t) {
+                if (this[P("0xe03")]) {
+                    this.modelViewMatrix = e.Matrix4.multiply(t[P("0x7e")][P("0x5e0")], this[P("0x4ac")], this[P("0xe09")]),
+                    this.modeiViewProjection = e[P("0x1b")].multiply(t[P("0x7e")][P("0xe05")][0][P("0xb5e")], this[P("0xe09")], this.modeiViewProjection);
+                    var i = new (e[P("0x11")])(this[P("0xdfe")].x,this[P("0xdfe")].y,this[P("0xdfe")].z)
+                      , r = new (e[P("0x11")])(i.x,i.y,i.z);
+                    e[P("0x11")][P("0x8d")](r, r);
+                    var n = e[P("0x1c")][P("0xb9")](i, r)
+                      , o = new (e[P("0x11")])(r.x,r.y,r.z)
+                      , a = -e[P("0x11")][P("0x92")](r, i)
+                      , s = new (e[P("0x1b")])(-2 * o.x * o.x + 1,-2 * o.x * o.y,-2 * o.x * o.z,-2 * o.x * a,-2 * o.y * o.x,-2 * o.y * o.y + 1,-2 * o.y * o.z,-2 * o.y * a,-2 * o.z * o.x,-2 * o.z * o.y,-2 * o.z * o.z + 1,-2 * o.z * a,0,0,0,1)
+                      , x = new (e[P("0x11")]);
+                    e[P("0x11")].clone(t.camera[P("0x93")], x);
+                    var l = new (e[P("0x11")])
+                      , c = new e.Cartesian3;
+                    e[P("0x11")][P("0x6c")](o, 2 * e[P("0x11")].dot(x, o), c),
+                    e[P("0x11")][P("0x95")](x, c, l),
+                    e[P("0x11")][P("0x8d")](l, l);
+                    var u = new (e[P("0x11")]);
+                    e[P("0x11")][P("0x6e")](t[P("0x7e")].up, u);
+                    var h = new e.Cartesian3
+                      , f = new e.Cartesian3
+                      , d = e[P("0x11")].dot(u, o);
+                    e[P("0x11")][P("0x6c")](o, 2 * d, f),
+                    e[P("0x11")][P("0x6d")](u, f, h),
+                    e[P("0x11")][P("0x8d")](h, h);
+                    var g = new e.Cartesian3(-h.x,-h.y,-h.z)
+                      , p = new (e[P("0x11")])
+                      , m = (e[P("0x11")][P("0x6e")](t[P("0x7e")].position, p),
+                    new (e[P("0x11")])(s[0] * p.x + s[4] * p.y + s[8] * p.z + s[12],s[1] * p.x + s[5] * p.y + s[9] * p.z + s[13],s[2] * p.x + s[6] * p.y + s[10] * p.z + s[14]))
+                      , b = new (e[P("0x1b")]);
+                    t[P("0x7e")][P("0xe8")][P("0xc13")] = 1e8,
+                    e[P("0x1b")][P("0x6e")](t.camera[P("0xe8")][P("0xb5e")], b),
+                    this[P("0xdf6")][P("0x93")] = l,
+                    d < .5 && (this[P("0xdf6")].up = g),
+                    .5 <= d && (this[P("0xdf6")].up = h),
+                    this[P("0xdf6")][P("0x8c")] = m;
+                    var v = new (e[P("0x1b")]);
+                    e[P("0x1b")][P("0x4e2")](this._reflectCamera.viewMatrix, v),
+                    e[P("0x1b")][P("0x5e3")](v, v);
+                    var C = new (e[P("0x12")])(n[P("0x4d0")].x,n.normal.y,n[P("0x4d0")].z,-e[P("0x11")][P("0x92")](r, i));
+                    e[P("0x1b")][P("0xce")](v, C, C);
+                    var y = C.w / Math[P("0xca")](C.x * C.x + C.y * C.y + C.z * C.z)
+                      , _ = new e.Cartesian3(C.x,C.y,C.z);
+                    e[P("0x11")][P("0x8d")](_, _);
+                    var A = new e.Cartesian3(_.x,_.y,_.z)
+                      , I = new (e[P("0x12")]);
+                    I.x = (Math[P("0x97")](A.x) + b[8]) / b[0],
+                    I.y = (Math[P("0x97")](A.y) + b[9]) / b[5],
+                    I.z = -1,
+                    I.w = (1 + b[10]) / b[14];
+                    var w = new (e[P("0x12")])(A.x,A.y,A.z,y)
+                      , G = new (e[P("0x12")]);
+                    e.Cartesian4[P("0x6c")](w, 2 / e.Cartesian4[P("0x92")](w, I), G),
+                    b[2] = G.x,
+                    b[6] = G.y,
+                    b[10] = G.z + 1,
+                    b[14] = G.w,
+                    e[P("0x1b")][P("0x6e")](b, this[P("0xdf6")][P("0xe8")][P("0xb5e")]);
+                    var E = this[P("0x42")][P("0x6d9")]
+                      , S = this[P("0x42")][P("0x3cc")]
+                      , T = S[P("0xc28")];
+                    new (e[P("0x790")])({
+                        color: e[P("0x16a")][P("0xac5")](14, 33, 60, 255),
+                        depth: 1,
+                        framebuffer: this._reflectPassState.framebuffer
+                    })[P("0x797")](S, this._reflectPassState);
+                    var M = this[P("0xdf6")];
+                    T[P("0xc12")](M);
+                    for (var N = M[P("0xe8")][P("0xbf0")](M[P("0xa5")], M[P("0xa6")], M.upWC), L = E.commandList, R = 0; R < L[P("0x0")]; R++) {
+                        var O = L[R];
+                        O instanceof e[P("0xe17")] || "water" != O[P("0xe15")] && O[P("0x5d4")] !== e[P("0x5e4")][P("0xc1d")] && t[P("0xd69")](O, N) && (T[P("0xc1b")](O[P("0x5d4")]),
+                        O.execute(S, this[P("0xdf7")]))
                     }
-                    function r(e, t, i) {
-                        var r = new XMLHttpRequest;
-                        r[P("0xaa0")]("GET", e, t),
-                            r[P("0xef9")]("Accept", "application/json"),
-                            r[P("0xad0")] = function () {
-                                i(null)
-                            }
-                            ,
-                            r[P("0xad2")] = function () {
-                                if (200 <= r[P("0xaa7")] && r.status < 300 && r.response) {
-                                    var e;
-                                    try {
-                                        e = JSON[P("0x946")](r[P("0xaa8")])
-                                    } catch (e) { }
-                                    i(e)
-                                } else
-                                    i(null)
-                            }
-                            ,
-                            r[P("0xe45")]()
+                    T[P("0xc12")](t[P("0x7e")]),
+                    T[P("0xc14")](t[P("0x7e")][P("0xe05")][0])
+                }
+            }
+            ,
+            i.prototype[P("0x985")] = function() {
+                this[P("0xe03")] = !1,
+                this[P("0xdf9")] = void 0,
+                this[P("0x6ce")] = void 0
+            }
+            ,
+            i[P("0x5")][P("0xf4")] = function() {
+                this[P("0x42")][P("0x17d")][P("0x17f")](this),
+                e[P("0x22b")](this)
+            }
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e[P("0x102")];
+            function i(i) {
+                i = t(i, t.EMPTY_OBJECT),
+                this[P("0xe18")] = i.proxy,
+                this[P("0x13b")] = i[P("0x13b")],
+                this.url = i[P("0x6af")],
+                this[P("0xe19")] = i.metadata,
+                this[P("0xe1a")] = i.roadMetadata,
+                this[P("0xe1b")] = i[P("0xe1b")],
+                this[P("0xe1c")] = i.labelGraphics ? i.labelGraphics : {},
+                this[P("0xe1d")] = i[P("0xe1d")] ? i.billboardGraphics : {},
+                this[P("0xe1e")] = !!i.aotuCollide,
+                this.collisionPadding = i[P("0xe1f")] ? i[P("0xe1f")] : [3, 5, 3, 5],
+                this[P("0xe20")] = !!i[P("0xe20")],
+                this[P("0xa4e")] = i.subdomains,
+                Array.isArray(this[P("0xa4e")]) ? this[P("0xa4e")] = this[P("0xa4e")].slice() : e[P("0x14")](this[P("0xa4e")]) && 0 < this[P("0xa4e")][P("0x0")] ? this[P("0xa4e")] = this[P("0xa4e")][P("0x7f2")]("") : this[P("0xa4e")] = ["a", "b", "c"],
+                this[P("0xe21")] = [],
+                this[P("0xe22")] = [],
+                this[P("0xe23")] = !1,
+                this[P("0xe24")] = [],
+                this._latelyRefreshStamp = 0,
+                this._latelyCollisionStamp = 0;
+                var r = e[P("0x75c")]();
+                this[P("0xe25")] = P("0xe26") + r,
+                this[P("0xe27")] = "GEO_WTFS_LABEL_ROAD_" + r,
+                this[P("0x13b")][P("0x7e")].percentageChanged = .18,
+                this.bindEvent()
+            }
+            function r(e, t) {
+                return t[P("0xe77")] >= e[P("0xe77")] && t.minX <= e.maxX && t[P("0x4d2")] >= e[P("0x4d2")] && t[P("0x4d2")] <= e.maxY || t[P("0xe78")] >= e[P("0xe77")] && t.maxX <= e[P("0xe78")] && t[P("0xe79")] >= e[P("0x4d2")] && t[P("0xe79")] <= e.maxY || t[P("0xe77")] >= e[P("0xe77")] && t[P("0xe77")] <= e[P("0xe78")] && t[P("0xe79")] >= e[P("0x4d2")] && t.maxY <= e[P("0xe79")] || t[P("0xe78")] >= e[P("0xe77")] && t.maxX <= e.maxX && t[P("0x4d2")] >= e[P("0x4d2")] && t[P("0x4d2")] <= e.maxY
+            }
+            function n(e, t) {
+                var i = e.x
+                  , r = e.y
+                  , n = e.width
+                  , o = e.height
+                  , a = t.x
+                  , s = t.y
+                  , x = t[P("0x19a")]
+                  , l = t[P("0x8b")];
+                return !(a <= i && a + x <= i || i <= a && i + n <= a || s <= r && s + l <= r || r <= s && r + o <= s)
+            }
+            e[P("0x14")],
+            e.defineProperties(i[P("0x5")], {}),
+            i.prototype[P("0xe28")] = function(e, t, i, r) {
+                for (var n = 0; n < this[P("0xe21")].length; n++)
+                    if (this[P("0xe21")][n].x === e && this[P("0xe21")][n].y === t && this[P("0xe21")][n].z === i && this[P("0xe21")][n].t === r)
+                        return this[P("0xe21")][n];
+                return null
+            }
+            ,
+            i[P("0x5")].addCacheTile = function(e) {
+                999 < this[P("0xe21")][P("0x0")] && this[P("0xe21")][P("0x259")](0, 500),
+                this[P("0xe29")](e.x, e.y, e.z, e.t),
+                this[P("0xe21")][P("0x17c")](e)
+            }
+            ,
+            i[P("0x5")][P("0xe29")] = function(e, t, i, r) {
+                for (var n = 0; n < this.tileCache[P("0x0")]; n++)
+                    if (this[P("0xe21")][n].x === e && this[P("0xe21")][n].y === t && this[P("0xe21")][n].z === i && this[P("0xe21")][n].t === r) {
+                        this[P("0xe21")][P("0x259")](n, 1);
+                        break
                     }
-                    function n(e, t, i, r) {
-                        for (var n = r[P("0xefb")]; null != n && (n.xMvt != e || n[P("0xefc")] != t || n[P("0xefd")] != i);)
-                            n = n[P("0xefe")];
-                        return n
+            }
+            ,
+            i.prototype[P("0xe2a")] = function(e) {
+                for (var t = 0; t < this.labelCache[P("0x0")]; t++)
+                    if (this.labelCache[t][P("0x176")] === this[P("0xe25")] && this[P("0xe22")][t][P("0xe2b")] === e)
+                        return this.labelCache[t];
+                return null
+            }
+            ,
+            i[P("0x5")][P("0xe2c")] = function(e) {
+                999 < this[P("0xe22")].length && this[P("0xe22")].splice(0, 250),
+                this[P("0xe2d")](e[P("0xe2b")]),
+                e[P("0xe2e")] = (new Date).getTime(),
+                this[P("0xe22")][P("0x17c")](e)
+            }
+            ,
+            i[P("0x5")][P("0xe2d")] = function(e) {
+                for (var t = 0; t < this[P("0xe22")].length; t++)
+                    if (this[P("0xe22")][t][P("0x176")] === this._UUID && this.labelCache[t][P("0xe2b")] === e) {
+                        this[P("0xe22")][P("0x259")](t, 1);
+                        break
                     }
-                    function o(t, i) {
-                        for (var r, n, o, a, s = t[P("0xf01")]; t[P("0x1a9")] > i && e[P("0x14")](s);) {
-                            var x = s[P("0xf00")];
-                            r = t,
-                                a = o = void 0,
-                                o = (n = s).replacementPrevious,
-                                a = n[P("0xefe")],
-                                n === r[P("0xeff")] && (r._lastBeforeStartOfFrame = a),
-                                n === r.head ? r[P("0xefb")] = a : o.replacementNext = a,
-                                n === r.tail ? r.tail = o : a[P("0xf00")] = o,
-                                n[P("0xf00")] = void 0,
-                                n[P("0xefe")] = void 0,
-                                --r.count,
-                                s = null,
-                                s = x
-                        }
+            }
+            ,
+            i[P("0x5")][P("0xe2f")] = function() {
+                return (this[P("0xe18")] ? this.proxy.proxy : "") + this.url + P("0xe30")
+            }
+            ,
+            i.prototype[P("0xe31")] = function() {
+                return (this[P("0xe18")] ? this.proxy[P("0xe18")] : "") + this.url + P("0xe32")
+            }
+            ,
+            i[P("0x5")][P("0xe33")] = function() {
+                return (this[P("0xe18")] ? this[P("0xe18")][P("0xe18")] : "") + this[P("0xe1b")]
+            }
+            ,
+            i.prototype[P("0xaf6")] = function() {
+                var e = this;
+                clearTimeout(this[P("0xe34")]);
+                var t = this[P("0x13b")].scene[P("0xa3")][P("0xa2e")];
+                if (t[P("0xe35")][P("0x0")] < 2 || 0 < t._tileLoadQueueHigh.length)
+                    this[P("0xe34")] = setTimeout((function() {
+                        e[P("0xaf6")]()
                     }
-                    e[P("0xf")](t[P("0x5")], {
-                        url: {
-                            get: function () {
-                                return this._url
-                            }
-                        },
-                        proxy: {
-                            get: function () {
-                                return this[P("0xa94")]
-                            }
-                        },
-                        tileWidth: {
-                            get: function () {
-                                return this[P("0xebf")]
-                            }
-                        },
-                        tileHeight: {
-                            get: function () {
-                                return this._tileHeight
-                            }
-                        },
-                        maximumLevel: {
-                            get: function () {
-                                return this._maximumLevel
-                            }
-                        },
-                        minimumLevel: {
-                            get: function () {
-                                return 0
-                            }
-                        },
-                        sourceMaxzoom: {
-                            get: function () {
-                                return this[P("0xec8")]
-                            }
-                        },
-                        tilingScheme: {
-                            get: function () {
-                                return this._tilingScheme
-                            }
-                        },
-                        rectangle: {
-                            get: function () {
-                                return this[P("0x689")]
-                            }
-                        },
-                        tileDiscardPolicy: {
-                            get: function () { }
-                        },
-                        errorEvent: {
-                            get: function () {
-                                return this._errorEvent
-                            }
-                        },
-                        ready: {
-                            get: function () {
-                                return !0
-                            }
-                        },
-                        readyPromise: {
-                            get: function () {
-                                return this[P("0xa82")]
-                            }
-                        },
-                        credit: {
-                            get: function () { }
-                        },
-                        hasAlphaChannel: {
-                            get: function () {
-                                return !0
-                            }
-                        },
-                        styles: {
-                            get: function () {
-                                return this._styles
-                            }
-                        },
-                        pickedEvent: {
-                            get: function () {
-                                return this[P("0xecc")]
-                            }
-                        },
-                        useWebWorker: {
-                            get: function () {
-                                return this[P("0xedd")]
-                            }
-                        },
-                        symbolVisibility: {
-                            get: function () {
-                                return this._symbolVisibility
-                            }
-                        }
-                    }),
-                        t[P("0x5")][P("0xefa")] = function (e, t, i) { }
-                        ,
-                        t[P("0x5")][P("0xeee")] = function () {
-                            var e = P("0xf02") + this[P("0xec8")] + P("0xf03") + this[P("0x9c9")] + P("0xf04") + this[P("0xf05")] + P("0xf06") + this[P("0xebf")] + P("0xf07") + this._tileHeight + P("0xf08")
-                                , t = new Blob([e], {
-                                    type: P("0xf09")
-                                })
-                                , i = URL[P("0xf0a")](t);
-                            this[P("0xf0b")] = [];
-                            for (var r = this.currentActor = 0; r < 4; r++) {
-                                var n = new Worker(i)
-                                    , o = new a(n, this, 1);
-                                o[P("0x176")] = P("0xf0c") + r,
-                                    this[P("0xf0b")].push(o)
-                            }
-                            var s = {
-                                style: JSON[P("0xf0d")](this[P("0xee5")]),
-                                spriteUrl: this._spriteUrl
-                            };
-                            for (r = 0; r < this[P("0xf0b")].length; r++)
-                                this[P("0xf0b")][r][P("0xe45")](P("0xf0e"), s);
-                            URL[P("0xf0f")](i)
-                        }
-                        ;
-                    var a = function (e, t, i) {
-                        var r, n;
-                        this[P("0xf11")] = e,
-                            this[P("0xf12")] = t,
-                            this[P("0xf13")] = i,
-                            this.callbacks = {},
-                            this[P("0xf14")] = 0,
-                            r = [P("0xf15")],
-                            n = this,
-                            r[P("0x1e4")]((function (e) {
-                                n[e] && (n[e] = n[e][P("0xf10")](n))
-                            }
-                            )),
-                            this[P("0xf11")].addEventListener(P("0xa63"), this.receive, !1)
-                    };
-                    function s(e, r) {
-                        if (e[P("0x165")] === P("0xf17")) {
-                            var a = (d = JSON[P("0x946")](e[P("0x4")]))[0]
-                                , x = d[1]
-                                , c = d[2];
-                            if (e[P("0xf20")])
-                                (u = document.createElement("canvas")).width = 512,
-                                    u[P("0x8b")] = 512,
-                                    u[P("0x476")](P("0xf21"))[P("0xf22")](e[P("0xf20")]),
-                                    this[P("0xed9")][e[P("0x4")]].resolve(u),
-                                    e[P("0x33a")] && (this[P("0xed4")].count > this[P("0xed6")] && o(this[P("0xed4")], this[P("0xed6")] / 4),
-                                        (g = e[P("0x33a")]).xMvt = a,
-                                        g[P("0xefc")] = x,
-                                        g[P("0xefd")] = c,
-                                        this[P("0xed4")].markTileRendered(g));
-                            else {
-                                var u = new String("bad request");
-                                this[P("0xed9")][e.key].resolve(this.blankCanvas)
-                            }
-                            for (var h in this[P("0xeef")][P("0x1a9")] > this[P("0xed6")] && o(this[P("0xeef")], this[P("0xed6")] / 4),
-                                u.xMvt = a,
-                                u[P("0xefc")] = x,
-                                u.zMvt = c,
-                                this[P("0xeef")].markTileRendered(u),
-                                this[P("0xed9")][e[P("0x4")]].state = t[P("0xf19")][P("0xf23")],
-                                delete this.deferCache[e[P("0x4")]],
-                                this[P("0xeda")]) {
-                                var f = this[P("0xed9")][h];
-                                if (f && (f[P("0xdb3")] === t[P("0xf19")][P("0xf1d")] || f.state === t[P("0xf19")].RELOADED)) {
-                                    var d, g;
-                                    e = (g = n(a = (d = JSON[P("0x946")](h))[0], x = d[1], c = d[2], this[P("0xed4")])) ? {
-                                        key: h,
-                                        data: g
-                                    } : {
-                                        key: h,
-                                        data: l[P("0xfa")](this, a, x, c)[P("0x33a")]
-                                    },
-                                        r[P("0xe45")](P("0xf17"), e, s[P("0xf10")](this)),
-                                        delete this.messageCache[h],
-                                        f.state = t[P("0xf19")][P("0xef5")];
-                                    break
-                                }
-                            }
-                        } else if (e.type === P("0xf24") || e[P("0x165")] === P("0x9c2") || "setStyle" === e.type) {
-                            var p = this;
-                            this[P("0x6c9")]++,
-                                4 === this[P("0x6c9")] && (this[P("0x6c9")] = 0,
-                                    i[P("0xfa")](this),
-                                    setTimeout((function () {
-                                        p[P("0xaf6")]()
-                                    }
-                                    ), 200))
-                        }
-                    }
-                    function l(t, i, r) {
-                        for (var o = null, a = null, s = t, x = i, l = r; l > this._sourceMaxzoom && (o = n(s = s / 2 | 0, x = x / 2 | 0, --l, this._tileQueueForFeatures),
-                            !e.defined(o));)
-                            ;
-                        if (e[P("0x14")](o))
-                            a = {
-                                features: o,
-                                x: s,
-                                y: x,
-                                z: l
-                            };
+                    ), 100);
+                else {
+                    var i = this[P("0xe36")]();
+                    if (this[P("0xe37")](i, this._latelyGrid))
+                        return;
+                    this[P("0xe38")](i),
+                    e.delaySynchronous()
+                }
+            }
+            ,
+            i[P("0x5")][P("0xaf7")] = function() {
+                var e = (new Date).getTime()
+                  , t = e - this[P("0xe39")]
+                  , i = e - this[P("0xe3a")];
+                300 < t && this[P("0xaf6")](),
+                150 < i && this[P("0xe3b")]()
+            }
+            ,
+            i[P("0x5")]._queueCall = function(e) {
+                var t = this;
+                t[P("0xe24")] = e,
+                t[P("0xe39")] = (new Date)[P("0x68")](),
+                e[P("0x1e4")]((function(e, i, n) {
+                    if (t[P("0xe19")] && r(t.metadata[P("0xe3c")], e.boundBox)) {
+                        if (t.metadata[P("0xe3d")] > e[P("0x968")] + 1 || t[P("0xe19")][P("0x109")] < e[P("0x968")] + 1)
+                            return;
+                        var o = t[P("0xe28")](e.x, e.y, e.level + 1, 0);
+                        if (o)
+                            t.addLabelAndIco(o);
                         else {
-                            var c = this[P("0xb7f")][P("0xa1c")](P("0xe3f"), s).replace(P("0xf1b"), x)[P("0xa1c")](P("0xe3e"), l).replace(P("0xf1c"), this[P("0xecd")]);
-                            a = {
-                                features: c = this[P("0xa94")] ? this[P("0xa94")][P("0xa95")](c) : c,
-                                x: s,
-                                y: x,
-                                z: l
-                            }
-                        }
-                        return a
-                    }
-                    function u(e, t, i) {
-                        var r = JSON[P("0x946")](t)
-                            , n = r[0]
-                            , o = r[1]
-                            , a = r[2];
-                        if (i < a) {
-                            var s = [0, 0, 4096, 4096]
-                                , x = a - i
-                                , l = n - (n >> x << x)
-                                , c = o - (o >> x << x)
-                                , u = (s[2] - s[0]) / (1 << x)
-                                , h = [s[0] + l * u, s[1] + c * u, s[0] + (1 + l) * u, s[1] + (1 + c) * u];
-                            e[P("0xf2c")] = h
-                        }
-                        return e
-                    }
-                    function h(e, t, i) {
-                        for (var r = !1, n = 2; n < i[P("0x0")]; n += 2) {
-                            var o = i[n - 2]
-                                , a = i[n - 1]
-                                , s = i[n]
-                                , x = i[n + 1];
-                            t < a != t < x && e < (s - o) * (t - a) / (x - a) + o && (r = !r)
-                        }
-                        return r
-                    }
-                    function f(e, t, i, r) {
-                        for (var n = 0, o = 0, a = 0, s = 2, x = i[P("0x0")]; s < x; s += 2) {
-                            var l = i[s - 2]
-                                , c = i[s - 1]
-                                , u = i[s]
-                                , h = i[s + 1];
-                            if (d(e, t, l, c, u, h) && (a = u - l,
-                                0 == (o = c - h) && 0 === a ? n = (e - l) * (e - l) + (t - c) * (t - c) : (n = o * e + a * t - (o * l + a * c),
-                                    n *= n,
-                                    n /= o * o + a * a),
-                                n <= r))
-                                return !0
-                        }
-                        return !1
-                    }
-                    function d(e, t, i, r, n, o) {
-                        if (i === n && r === o)
-                            return !0;
-                        var a = (e - i) * (e - i) + (t - r) * (t - r)
-                            , s = (e - n) * (e - n) + (t - o) * (t - o)
-                            , x = (n - i) * (n - i) + (o - r) * (o - r);
-                        return !(s + x < a || a + x < s)
-                    }
-                    a[P("0x5")][P("0xe45")] = function (e, t, i, r) {
-                        var n = i ? this[P("0xf13")] + ":" + this[P("0xf14")]++ : null;
-                        if (i && (this[P("0xf16")][n] = i),
-                            e === P("0xf17")) {
-                            if (w()(t[P("0x440")]) === P("0x9fe"))
-                                this[P("0xf11")][P("0xa70")]({
-                                    type: e,
-                                    id: String(n),
-                                    key: t[P("0x4")],
-                                    data: t[P("0x440")]
-                                });
-                            else if (t[P("0x440")] instanceof ArrayBuffer) {
-                                var o = t[P("0x440")][P("0x1d5")](0);
-                                this[P("0xf11")][P("0xa70")]({
-                                    type: e,
-                                    id: String(n),
-                                    key: t.key,
-                                    data: o
-                                }, [o])
-                            }
-                        } else
-                            e === P("0xf0e") ? this[P("0xf11")].postMessage({
-                                type: e,
-                                id: String(n),
-                                style: t[P("0x150")],
-                                spriteUrl: t[P("0xf18")]
-                            }) : "setPaintProperty" !== e && e !== P("0x9c2") || this[P("0xf11")][P("0xa70")]({
-                                type: e,
-                                id: String(n),
-                                style: t.style
-                            })
-                    }
-                        ,
-                        a[P("0x5")][P("0xf15")] = function (e) {
-                            var t, i = e[P("0x440")], r = i.id;
-                            t = this.callbacks[r],
-                                delete this[P("0xf16")][r],
-                                t && t(i, this)
-                        }
-                        ,
-                        t[P("0xf19")] = {
-                            UNLOADED: 0,
-                            LOADING: 1,
-                            DONE: 2,
-                            RELOADED: 3
-                        },
-                        t[P("0x5")].bindEvent = function () {
-                            this[P("0x13c")].scene[P("0x7e")][P("0xe72")][P("0x130")](this[P("0xaf6")], this)
-                        }
-                        ,
-                        t[P("0x5")][P("0xaf6")] = function () {
-                            this[P("0xeda")] = {};
-                            var i = this[P("0x13c")][P("0x10f")][P("0xa3")]._surface[P("0xe35")];
-                            if (2 < i[P("0x0")]) {
-                                for (var r = 0; r < i[P("0x0")]; r++)
-                                    for (var o = i[r][P("0x440")][P("0xef1")], a = 0; a < o.length; a++) {
-                                        var c = o[a].loadingImagery;
-                                        if (o[a].readyImagery,
-                                            c && c[P("0xef3")][P("0xf1a")] instanceof e[P("0xebe")]) {
-                                            var u = c.x
-                                                , h = c.y
-                                                , f = e[P("0x14")](this._tileMatrixLabels) ? p()(this[P("0xec5")][c[P("0x968")]]) : c[P("0x968")]
-                                                , d = x()([u, h, f])
-                                                , g = this._requestUrl.replace(P("0xe3f"), u)[P("0xa1c")](P("0xf1b"), h)[P("0xa1c")](P("0xe3e"), f).replace(P("0xf1c"), this[P("0xecd")]);
-                                            g = this[P("0xa94")] ? this._proxy[P("0xa95")](g) : g,
-                                                this.messageCache[d] || (this.messageCache[d] = g)
-                                        }
-                                    }
-                                var m = 0;
-                                for (var d in this.messageCache)
-                                    if ((A = this[P("0xed9")][d]) && (A[P("0xdb3")] === t[P("0xf19")][P("0xf1d")] || A[P("0xdb3")] === t.DefferState.RELOADED)) {
-                                        var b, v = JSON.parse(d), C = n(u = v[0], h = v[1], f = v[2], this._tileQueueForFeatures);
-                                        b = C ? {
-                                            key: d,
-                                            data: C
-                                        } : {
-                                            key: d,
-                                            data: l[P("0xfa")](this, u, h, f)[P("0x33a")]
+                            var s = t[P("0xe2f")]().replace(P("0xe3e"), e.level + 1)[P("0xa1c")]("{y}", e.y).replace(P("0xe3f"), e.x).replace(P("0xa04"), t[P("0xa4e")][(e.x + e.y + e[P("0x968")]) % t[P("0xa4e")][P("0x0")]])
+                              , x = new XMLHttpRequest;
+                            x[P("0xaa0")](P("0xa9f"), s, !0),
+                            x[P("0xaa1")] = P("0xaa2"),
+                            x[P("0xad2")] = function() {
+                                if (!(x.status < 200 || 300 <= x[P("0xaa7")])) {
+                                    var e = t[P("0xe40")](x[P("0xaa8")]);
+                                    if (e)
+                                        (i = a(e)).x = this.tile.x,
+                                        i.y = this[P("0xe41")].y,
+                                        i.z = this.tile.z,
+                                        i.t = 0,
+                                        t[P("0xe42")](i),
+                                        t[P("0xe43")](i);
+                                    else {
+                                        var i = {
+                                            x: this[P("0xe41")].x,
+                                            y: this[P("0xe41")].y,
+                                            z: this[P("0xe41")].z,
+                                            t: 0
                                         };
-                                        var y = this[P("0xf1e")] = (this[P("0xf1e")] + 1) % this.actors[P("0x0")];
-                                        if (this[P("0xf0b")][y].send(P("0xf17"), b, s[P("0xf10")](this)),
-                                            delete this[P("0xeda")][d],
-                                            A.state = t[P("0xf19")][P("0xef5")],
-                                            ++m === this[P("0xf0b")][P("0x0")])
-                                            break
+                                        t[P("0xe42")](i),
+                                        t[P("0xe44")]()
                                     }
-                                for (var d in this[P("0xed9")]) {
-                                    var _ = this[P("0xeda")][d]
-                                        , A = this[P("0xed9")][d];
-                                    _ || A[P("0xdb3")] !== t[P("0xf19")][P("0xf1d")] && A[P("0xdb3")] !== t[P("0xf19")][P("0xf1f")] || (A[P("0xa3d")](),
-                                        A[P("0xdb3")] = t[P("0xf19")][P("0xf1f")])
                                 }
                             }
-                        }
-                        ,
-                        t[P("0x5")].requestImage = function (i, r, a, c) {
-                            var h, f = this, d = e[P("0x9ee")][P("0x9ef")](), g = this[P("0xec5")], m = e.defined(g) ? p()(g[a]) : a;
-                            if (!0 === this[P("0xedd")])
-                                if (h = n(i, r, m, this._tileQueueForCanvas))
-                                    h instanceof HTMLCanvasElement ? d[P("0x9f8")](h) : h == P("0xf25") && d[P("0x9f8")](this[P("0xedb")]);
-                                else {
-                                    var b = JSON[P("0xf0d")]([i, r, m])
-                                        , v = this[P("0xb7f")][P("0xa1c")]("{x}", i)[P("0xa1c")](P("0xf1b"), r)[P("0xa1c")](P("0xe3e"), m)[P("0xa1c")](P("0xf1c"), this[P("0xecd")]);
-                                    if (v = this[P("0xa94")] ? this._proxy[P("0xa95")](v) : v,
-                                        (this[P("0xed9")][b] = d)[P("0xdb3")] = t[P("0xf19")][P("0xf1d")],
-                                        this[P("0x13c")][P("0x10f")][P("0xa3")][P("0xa2e")][P("0xe35")].length < 3) {
-                                        var C = this[P("0xf1e")] = (this.currentActor + 1) % this[P("0xf0b")].length;
-                                        this.actors[C][P("0xe45")](P("0xf17"), {
-                                            key: b,
-                                            data: v
-                                        }, s.bind(this))
-                                    }
-                                }
-                            else if (h = n(i, r, m, this._tileQueueForCanvas))
-                                h instanceof HTMLCanvasElement ? d[P("0x9f8")](h) : h == P("0xf25") && d[P("0x9f8")](this[P("0xedb")]);
-                            else {
-                                b = x()([i, r, m]);
-                                var y = n(i, r, m, this[P("0xed4")]);
-                                if (e[P("0x14")](y)) {
-                                    var _ = u(this._mvtParser[P("0xf26")](y), b, this[P("0xec8")])
-                                        , A = this[P("0xf27")](_, i, r, m);
-                                    d.resolve(A)
-                                } else {
-                                    var I = l[P("0xfa")](this, i, r, m).features;
-                                    w()(I) === P("0x9fe") ? (Number(e[P("0x373")]) < 1.42 ? e[P("0xf28")](I) : e[P("0x6da")][P("0xa5e")](I))[P("0x333")]((function (e) {
-                                        f[P("0xed4")][P("0x1a9")] > f[P("0xed6")] && o(f[P("0xed4")], f._cacheSize / 4),
-                                            e[P("0xf29")] = i,
-                                            e[P("0xefc")] = r,
-                                            e[P("0xefd")] = m,
-                                            f._tileQueueForFeatures[P("0xf2a")](e);
-                                        var t = u(f[P("0xec2")][P("0xf26")](e), b, f[P("0xec8")])
-                                            , n = f[P("0xf27")](t, i, r, m);
-                                        d.resolve(n)
-                                    }
-                                    )) : I instanceof ArrayBuffer && (this[P("0xed4")][P("0x1a9")] > this[P("0xed6")] && o(this[P("0xed4")], this[P("0xed6")] / 4),
-                                        I[P("0xf29")] = i,
-                                        I[P("0xefc")] = r,
-                                        I[P("0xefd")] = m,
-                                        this[P("0xed4")][P("0xf2a")](I),
-                                        _ = u(this._mvtParser[P("0xf26")](I), b, this[P("0xec8")]),
-                                        A = this.renderCanvas(_, i, r, m),
-                                        d.resolve(A))
-                                }
+                            ,
+                            x[P("0xad0")] = function(e) {
+                                console[P("0x391")](e)
                             }
-                            return d[P("0xa90")]
-                        }
-                        ,
-                        t[P("0x5")].renderCanvas = function (t, i, r, n) {
-                            var a = GeoOLMS[P("0xf2b")](9, void 0)
-                                , s = document.createElement(P("0x48"));
-                            s[P("0x19a")] = 512,
-                                s.height = 512;
-                            for (var x = s.getContext("2d"), l = this.styleFunc, c = e[P("0x14")](t[P("0xf2c")]) ? t.rect : [0, 0, 4096, 4096], u = new GeoOLMS.ReplayGroup(0, c, 8, window[P("0xf2d")], !0, a, 100), h = 0; h < t[P("0x0")]; h++)
-                                for (var f = t[h], d = l(t[h], n) || [], g = 0; g < d[P("0x0")]; g++)
-                                    GeoOLMS[P("0xf2e")](u, f, d[g], 16);
-                            u[P("0xf2f")]();
-                            var p = {}
-                                , m = [this[P("0xebf")] / (c[2] - c[0]), 0, 0, this._tileHeight / (c[3] - c[1]), -512 * c[0] / (c[2] - c[0]), -512 * c[1] / (c[3] - c[1])];
-                            return u[P("0xf30")](x, m, 0, {}, !0, this[P("0xf31")], p),
-                                GeoOLMS.replayDeclutter(p, x, 0, !0),
-                                u = null,
-                                this[P("0xeef")][P("0x1a9")] > this._cacheSize && o(this._tileQueueForCanvas, this[P("0xed6")] / 4),
-                                s[P("0xf29")] = i,
-                                s.yMvt = r,
-                                s[P("0xefd")] = n,
-                                this[P("0xeef")].markTileRendered(s),
-                                s
-                        }
-                        ,
-                        t.prototype[P("0xf24")] = function (e, t, r) {
-                            for (var n = this._styles, o = 0; o < n.layers[P("0x0")]; o++)
-                                if (n[P("0xee3")][o].id === e) {
-                                    n.layers[o].paint[t] = r;
-                                    break
-                                }
-                            if (!0 === this._useWebWorker) {
-                                this[P("0xeda")] = {};
-                                var a = {
-                                    style: x()(this[P("0xee5")])
-                                };
-                                for (o = 0; o < this[P("0xf0b")][P("0x0")]; o++)
-                                    this.actors[o][P("0xe45")](P("0xf24"), a, s.bind(this))
-                            } else
-                                this.styleFunc = GeoOLMS[P("0xeea")](n, c()(n.sources), this[P("0x9c9")], this[P("0xeec")], this[P("0xed8")] ? this[P("0xed8")] + P("0xeeb") : this[P("0xed8")]),
-                                    i[P("0xfa")](this)
-                        }
-                        ,
-                        t[P("0x5")][P("0x9c2")] = function (e, t, r) {
-                            for (var n = this[P("0xee5")], o = 0; o < n.layers[P("0x0")]; o++)
-                                if (n[P("0xee3")][o].id === e) {
-                                    n.layers[o][P("0x9a7")][t] = r;
-                                    break
-                                }
-                            if (!0 === this._useWebWorker) {
-                                this[P("0xeda")] = {};
-                                var a = {
-                                    style: JSON[P("0xf0d")](this[P("0xee5")])
-                                };
-                                for (o = 0; o < this[P("0xf0b")][P("0x0")]; o++)
-                                    this[P("0xf0b")][o][P("0xe45")]("setPaintProperty", a, s.bind(this))
-                            } else
-                                this.styleFunc = GeoOLMS[P("0xeea")](n, Object[P("0xdcb")](n.sources), this[P("0x9c9")], this[P("0xeec")], this[P("0xed8")] ? this._spriteUrl + ".png" : this[P("0xed8")]),
-                                    i[P("0xfa")](this)
-                        }
-                        ,
-                        t[P("0x5")][P("0xf0e")] = function (e) {
-                            var t = this;
-                            if (w()(e) === P("0x9fe"))
-                                r(this[P("0xa94")] ? this[P("0xa94")].getURL(e) : e, !0, (function (n) {
-                                    if (!n[P("0xee2")]) {
-                                        for (var o = P("0xf32"), a = 0; a < n[P("0xee3")][P("0x0")]; a++)
-                                            n[P("0xee3")][a][P("0xac2")] = o;
-                                        n[P("0xee2")] = {};
-                                        var l = e.split("?");
-                                        n[P("0xee2")][o] = {
-                                            type: "vector",
-                                            url: l[0]
-                                        }
-                                    }
-                                    if ((t[P("0xee5")] = n)[P("0xee6")] && (t[P("0xed8")] = t[P("0xa94")] ? t[P("0xa94")][P("0xa95")](n[P("0xee6")]) : n[P("0xee6")]),
-                                        "none" === t[P("0xeca")]) {
-                                        var c = [];
-                                        for (a = 0; a < t._styles[P("0xee3")].length; a++)
-                                            t[P("0xee5")][P("0xee3")][a].type !== P("0x1f4") && c.push(t[P("0xee5")][P("0xee3")][a]);
-                                        t[P("0xee5")].layers = c,
-                                            t[P("0xed8")] = void 0
-                                    }
-                                    if (!0 === t[P("0xedd")]) {
-                                        var u = {
-                                            style: x()(t[P("0xee5")]),
-                                            spriteUrl: t._spriteUrl
-                                        };
-                                        for (a = 0; a < t[P("0xf0b")].length; a++)
-                                            t[P("0xf0b")][a][P("0xe45")](P("0xf0e"), u, s[P("0xf10")](t))
-                                    } else
-                                        t[P("0xed8")] ? r(t._spriteUrl + ".json", !0, (function (e) {
-                                            t[P("0xeec")] = e,
-                                                t[P("0xee0")] = GeoOLMS[P("0xeea")](n, Object[P("0xdcb")](n[P("0xee2")]), t[P("0x9c9")], e, t[P("0xed8")] + P("0xeeb")),
-                                                i[P("0xfa")](t)
-                                        }
-                                        )) : (t[P("0xeec")] = void 0,
-                                            t.styleFunc = GeoOLMS[P("0xeea")](n, Object[P("0xdcb")](n.sources), t._resolutions),
-                                            i[P("0xfa")](t))
-                                }
-                                ));
-                            else {
-                                if (8 != (this[P("0xee5")] = e)[P("0xea3")])
-                                    return void console[P("0x391")](P("0xf33"));
-                                if (!e.sources)
-                                    return void console[P("0x391")](P("0xf34"));
-                                if (e.sprite && (this[P("0xed8")] = this[P("0xa94")] ? this[P("0xa94")][P("0xa95")](e[P("0xee6")]) : e.sprite),
-                                    this[P("0xeca")] === P("0x2b4")) {
-                                    for (var n = [], o = 0; o < this._styles[P("0xee3")][P("0x0")]; o++)
-                                        this[P("0xee5")].layers[o][P("0x165")] !== P("0x1f4") && n.push(this._styles[P("0xee3")][o]);
-                                    this[P("0xee5")].layers = n,
-                                        this[P("0xed8")] = void 0
-                                }
-                                if (!0 === this[P("0xedd")]) {
-                                    var a = {
-                                        style: x()(this[P("0xee5")]),
-                                        spriteUrl: this[P("0xed8")]
-                                    };
-                                    for (o = 0; o < this[P("0xf0b")][P("0x0")]; o++)
-                                        this[P("0xf0b")][o][P("0xe45")](P("0xf0e"), a, s[P("0xf10")](this))
-                                } else
-                                    this[P("0xed8")] ? r(this[P("0xed8")] + P("0xee8"), !0, (function (e) {
-                                        t[P("0xeec")] = e,
-                                            t[P("0xee0")] = GeoOLMS[P("0xeea")](glStyle, Object[P("0xdcb")](glStyle[P("0xee2")]), t._resolutions, e, t[P("0xed8")] + P("0xeeb")),
-                                            i[P("0xfa")](t)
-                                    }
-                                    )) : (this[P("0xeec")] = void 0,
-                                        this.styleFunc = GeoOLMS[P("0xeea")](glStyle, c()(glStyle.sources), this[P("0x9c9")]),
-                                        i.call(this))
+                            ,
+                            x[P("0xe45")](),
+                            x.tile = {
+                                x: e.x,
+                                y: e.y,
+                                z: e[P("0x968")] + 1
                             }
                         }
-                        ,
-                        t[P("0x5")].pickFeatures = function (t, i, r, o, a) {
-                            if (this.enablePickFeatures) {
-                                var s = this[P("0xec5")]
-                                    , x = e[P("0x14")](s) ? p()(s[r]) : r
-                                    , l = n(t, i, x, this[P("0xed4")]);
-                                if (l) {
-                                    var c = null
-                                        , u = null
-                                        , d = null;
-                                    if (this[P("0x68a")] instanceof e.WebMercatorTilingScheme) {
-                                        c = [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244];
-                                        var g = this[P("0x68a")][P("0xf35")][P("0x5a")](new (e[P("0x13")])(o, a, 0));
-                                        u = g.x,
-                                            d = g.y
-                                    } else
-                                        this[P("0x68a")] instanceof e.GeographicTilingScheme && (c = [-180, -270, 180, 90],
-                                            u = e[P("0x23")][P("0x113")](o),
-                                            d = e[P("0x23")][P("0x113")](a));
-                                    for (var m = this[P("0xec2")][P("0xf26")](l), b = x > this._sourceMaxzoom ? this[P("0xec8")] : x, v = (u - c[0]) / (c[2] - c[0]) * Math[P("0x2ae")](2, b), C = (c[3] - d) / (c[3] - c[1]) * Math[P("0x2ae")](2, b), y = 4096 * (v - Math[P("0x3e8")](v)), _ = 4096 * (C - Math[P("0x3e8")](C)), A = [], I = [], w = 0; w < m[P("0x0")]; w++)
-                                        for (var G = (R = m[w])[P("0xf36")], E = R[P("0xf37")], S = 0, T = 0; T < E.length; S = E[T],
-                                            T++)
-                                            if (G === P("0xad5") || G === P("0xf38")) {
-                                                if (h(y, _, R[P("0xf39")][P("0x1d5")](S, E[T]))) {
-                                                    A[P("0x17c")](R);
-                                                    break
-                                                }
-                                            } else if (G === P("0x9e3") || G === P("0xf3a")) {
-                                                var M = 4096;
-                                                e[P("0x14")](m.rect) && (M = m[P("0xf2c")][2] - m[P("0xf2c")][0]);
-                                                var N = 4 * M / 512;
-                                                if (f(y, _, R[P("0xf39")][P("0x1d5")](S, E[T]), N * N)) {
-                                                    A[P("0x17c")](R);
-                                                    break
+                    }
+                    if (t[P("0xe1a")] && r(t[P("0xe1a")][P("0xe3c")], e.boundBox)) {
+                        if (t[P("0xe1a")][P("0xe3d")] > e[P("0x968")] + 1 || t[P("0xe1a")][P("0x109")] < e[P("0x968")] + 1)
+                            return;
+                        if (o = t[P("0xe28")](e.x, e.y, e[P("0x968")] + 1, 1))
+                            t[P("0xe43")](o);
+                        else {
+                            var l = t[P("0xe33")]()[P("0xa1c")](P("0xe3e"), e[P("0x968")] + 1).replace("{y}", e.y)[P("0xa1c")]("{x}", e.x)
+                              , c = new XMLHttpRequest;
+                            c[P("0xaa0")](P("0xa9f"), l, !0),
+                            c[P("0xaa1")] = P("0xe46"),
+                            c[P("0xad2")] = function() {
+                                if (!(c[P("0xaa7")] < 200 || 300 <= c[P("0xaa7")])) {
+                                    var e = c[P("0xaa8")];
+                                    if (e) {
+                                        var i = {
+                                            pois: e[P("0x815")]((function(e, t, i) {
+                                                return {
+                                                    oid: e.LabelPoint.X + "_" + e[P("0xe47")].Y,
+                                                    name: e[P("0x344")][P("0x33d")][P("0xe48")],
+                                                    coordinate: [e.LabelPoint.X, e.LabelPoint.Y, e.LabelPoint.Z ? e[P("0xe47")].Z : 0]
                                                 }
                                             }
-                                    A.reverse();
-                                    for (var L = 0; L < A.length; L++) {
-                                        var R = A[L]
-                                            , O = this[P("0xf3b")](R, Math[P("0x3e8")](v), Math.floor(C), b)
-                                            , F = {
-                                                type: P("0x344"),
-                                                id: R[P("0xf3c")],
-                                                properties: R[P("0xf3d")],
-                                                geometry: O[P("0x180")],
-                                                sourceLayer: R[P("0xf3d")][P("0xa39")]
-                                            };
-                                        I.push(F)
-                                    }
-                                    this._pickedEvent[P("0x896")](I)
-                                }
-                            }
-                        }
-                        ,
-                        t.prototype[P("0xf3b")] = function (t, i, r, n) {
-                            for (var o = this, a = 4096 * Math[P("0x2ae")](2, n), s = 4096 * i, x = 4096 * r, l = t.type_, c = t[P("0xf37")], u = 0, h = [], f = 0; f < c.length; u = c[f],
-                                f++) {
-                                for (var d = t.flatCoordinates_[P("0x1d5")](u, c[f]), g = [], p = 0; p < d[P("0x0")]; p += 2)
-                                    g[P("0x17c")]({
-                                        x: d[p],
-                                        y: d[p + 1]
-                                    });
-                                h[P("0x17c")](g)
-                            }
-                            function m(t) {
-                                for (var i = 0; i < t[P("0x0")]; i++)
-                                    if (o[P("0x68a")] instanceof e[P("0x9d7")]) {
-                                        var r = t[i];
-                                        t[i] = [360 * (r.x + s) / a - 180, 90 - 360 * (r.y + x) / a]
-                                    } else {
-                                        var n = 180 - 360 * ((r = t[i]).y + x) / a;
-                                        t[i] = [360 * (r.x + s) / a - 180, 360 / Math.PI * Math[P("0x321")](Math[P("0x61")](n * Math.PI / 180)) - 90]
-                                    }
-                            }
-                            if (l === P("0xad5") || l === P("0xf38")) {
-                                for (var b = [], v = 0; v < h.length; v++) {
-                                    var C = [];
-                                    C.push(h[v]),
-                                        b[P("0x17c")](C)
-                                }
-                                for (h = b,
-                                    f = 0; f < h[P("0x0")]; f++)
-                                    for (p = 0; p < h[f][P("0x0")]; p++)
-                                        m(h[f][p]);
-                                1 < h.length && (l = P("0xf38"))
-                            } else if (l === P("0x9e3") || l === P("0xf3a"))
-                                for (f = 0; f < h[P("0x0")]; f++)
-                                    m(h[f]);
-                            return 1 === h[P("0x0")] && (h = h[0]),
-                            {
-                                type: P("0x344"),
-                                geometry: {
-                                    type: l,
-                                    coordinates: h
-                                },
-                                properties: t[P("0xf3d")]
-                            }
-                        }
-                        ,
-                        t[P("0x5")][P("0xed7")] = function () {
-                            var t = {
-                                SERVICE: P("0xf3e"),
-                                VERSION: P("0x1c9"),
-                                REQUEST: P("0xf3f")
-                            }
-                                , i = {
-                                    LAYER: this._layer,
-                                    TILEMATRIXSET: this[P("0xec4")],
-                                    FORMAT: this[P("0xa0f")],
-                                    TILEMATRIX: P("0xe3e"),
-                                    TILEROW: "{y}",
-                                    TILECOL: P("0xe3f")
-                                }
-                                , r = this[P("0xf40")](e[P("0xf41")](t, i));
-                            return this[P("0x6b1")] + "?" + r
-                        }
-                        ,
-                        t[P("0x5")][P("0xee1")] = function () {
-                            var t = {
-                                SERVICE: P("0xf3e"),
-                                VERSION: P("0x1c9"),
-                                REQUEST: P("0xf42")
-                            }
-                                , i = {
-                                    STYLENAME: this[P("0xf43")]
-                                }
-                                , r = this[P("0xf40")](e[P("0xf41")](t, i));
-                            return this[P("0x6b1")] + "?" + r
-                        }
-                        ,
-                        t[P("0x5")][P("0xf40")] = function (e) {
-                            var t = [];
-                            for (var i in e) {
-                                var r = e[i];
-                                if (null != r && w()(r) != P("0x8")) {
-                                    var n;
-                                    if ((w()(r) === P("0x2b6") ? P("0x2b6") : k(r)) == P("0x7") && r.constructor == Array) {
-                                        for (var o, a = [], s = 0, x = r[P("0x0")]; s < x; s++)
-                                            o = r[s],
-                                                a[P("0x17c")](null == o ? "" : o);
-                                        n = a[P("0x7ca")](",")
+                                            )),
+                                            x: this[P("0xe41")].x,
+                                            y: this[P("0xe41")].y,
+                                            z: this.tile.z,
+                                            t: 1
+                                        };
+                                        t[P("0xe42")](i),
+                                        t[P("0xe43")](i)
                                     } else
-                                        n = r;
-                                    t[P("0x17c")](i + "=" + n)
+                                        i = {
+                                            x: this.tile.x,
+                                            y: this[P("0xe41")].y,
+                                            z: this.tile.z,
+                                            t: 1
+                                        },
+                                        t[P("0xe42")](i),
+                                        t[P("0xe44")]()
                                 }
                             }
-                            return t[P("0x7ca")]("&")
+                            ,
+                            c.onerror = function(e) {
+                                console.error(e)
+                            }
+                            ,
+                            c[P("0xe45")](),
+                            c[P("0xe41")] = {
+                                x: e.x,
+                                y: e.y,
+                                z: e[P("0x968")] + 1
+                            }
                         }
-                }(window[P("0xfd")]),
-                1.5 <= Cesium[P("0x373")] || 1.5 <= Cesium.VERSION[P("0x987")](0, 4)) {
-
+                    }
+                }
+                ))
             }
-            (function () {
-                function e(e) {
-                    throw e
+            ,
+            i[P("0x5")][P("0xe49")] = function(e) {
+                var t = 0
+                  , i = this;
+                i[P("0xe23")] = !0,
+                i[P("0xe38")](e);
+                var r = setInterval((function() {
+                    3 < t && (i[P("0xe23")] = !1,
+                    clearInterval(r)),
+                    t % 2 == 0 && i[P("0xe1e")] && i[P("0xe3b")](),
+                    t++
                 }
-                var t = void 0
-                    , i = this;
-                function r(e, r) {
-                    var n, o = e[P("0x7f2")]("."), a = i;
-                    o[0] in a || !a[P("0xf4f")] || a[P("0xf4f")](P("0xf50") + o[0]);
-                    for (; o.length && (n = o.shift());)
-                        o[P("0x0")] || r === t ? a = a[n] ? a[n] : a[n] = {} : a[n] = r
-                }
-                var n = "undefined" != typeof Uint8Array && P("0x2b6") !== ("undefined" == typeof Uint16Array ? "undefined" : w()(Uint16Array)) && P("0x2b6") !== ("undefined" == typeof Uint32Array ? "undefined" : w()(Uint32Array)) && P("0x2b6") !== ("undefined" == typeof DataView ? "undefined" : w()(DataView));
-                function o(t, i) {
-                    this[P("0x286")] = P("0x49f") === w()(i) ? i : 0,
-                        this.i = 0,
-                        this.buffer = t instanceof (n ? Uint8Array : Array) ? t : new (n ? Uint8Array : Array)(32768),
-                        2 * this.buffer[P("0x0")] <= this[P("0x286")] && e(Error(P("0xf51"))),
-                        this.buffer.length <= this.index && this.f()
-                }
-                o.prototype.f = function () {
-                    var e, t = this[P("0x4b3")], i = t[P("0x0")], r = new (n ? Uint8Array : Array)(i << 1);
-                    if (n)
-                        r.set(t);
-                    else
-                        for (e = 0; e < i; ++e)
-                            r[e] = t[e];
-                    return this[P("0x4b3")] = r
-                }
-                    ,
-                    o[P("0x5")].d = function (e, t, i) {
-                        var r, n = this[P("0x4b3")], o = this[P("0x286")], a = this.i, s = n[o];
-                        if (i && 1 < t && (e = 8 < t ? (u[255 & e] << 24 | u[e >>> 8 & 255] << 16 | u[e >>> 16 & 255] << 8 | u[e >>> 24 & 255]) >> 32 - t : u[e] >> 8 - t),
-                            t + a < 8)
-                            s = s << t | e,
-                                a += t;
-                        else
-                            for (r = 0; r < t; ++r)
-                                s = s << 1 | e >> t - r - 1 & 1,
-                                    8 == ++a && (a = 0,
-                                        n[o++] = u[s],
-                                        s = 0,
-                                        o === n[P("0x0")] && (n = this.f()));
-                        n[o] = s,
-                            this[P("0x4b3")] = n,
-                            this.i = a,
-                            this[P("0x286")] = o
-                    }
-                    ,
-                    o[P("0x5")].finish = function () {
-                        var e = this[P("0x4b3")]
-                            , t = this[P("0x286")];
-                        return 0 < this.i && (e[t] <<= 8 - this.i,
-                            e[t] = u[e[t]],
-                            t++),
-                            n ? e.subarray(0, t) : (e.length = t,
-                                e)
-                    }
-                    ;
-                var a, s = new (n ? Uint8Array : Array)(256);
-                for (a = 0; a < 256; ++a) {
-                    for (var x = c = a, l = 7, c = c >>> 1; c; c >>>= 1)
-                        x <<= 1,
-                            x |= 1 & c,
-                            --l;
-                    s[a] = (x << l & 255) >>> 0
-                }
-                var u = s;
-                function h(e) {
-                    this[P("0x4b3")] = new (n ? Uint16Array : Array)(2 * e),
-                        this.length = 0
-                }
-                function f(e) {
-                    var t, i, r, o, a, s, x, l, c, u, h = e[P("0x0")], f = 0, d = Number[P("0x31")];
-                    for (l = 0; l < h; ++l)
-                        e[l] > f && (f = e[l]),
-                            e[l] < d && (d = e[l]);
-                    for (t = 1 << f,
-                        i = new (n ? Uint32Array : Array)(t),
-                        r = 1,
-                        o = 0,
-                        a = 2; r <= f;) {
-                        for (l = 0; l < h; ++l)
-                            if (e[l] === r) {
-                                for (x = o,
-                                    c = s = 0; c < r; ++c)
-                                    s = s << 1 | 1 & x,
-                                        x >>= 1;
-                                for (u = r << 16 | l,
-                                    c = s; c < t; c += a)
-                                    i[c] = u;
-                                ++o
-                            }
-                        ++r,
-                            o <<= 1,
-                            a <<= 1
-                    }
-                    return [i, f, d]
-                }
-                function d(e, t) {
-                    this.h = p,
-                        this.w = 0,
-                        this[P("0xf53")] = n && e instanceof Array ? new Uint8Array(e) : e,
-                        this.b = 0,
-                        t && (t[P("0xf54")] && (this.w = t[P("0xf54")]),
-                            P("0x49f") === w()(t[P("0xf55")]) && (this.h = t.compressionType),
-                            t[P("0xf56")] && (this.a = n && t[P("0xf56")] instanceof Array ? new Uint8Array(t[P("0xf56")]) : t[P("0xf56")]),
-                            "number" == typeof t.outputIndex && (this.b = t[P("0xf57")])),
-                        this.a || (this.a = new (n ? Uint8Array : Array)(32768))
-                }
-                h.prototype[P("0xf52")] = function (e) {
-                    return 2 * ((e - 2) / 4 | 0)
-                }
-                    ,
-                    h[P("0x5")][P("0x17c")] = function (e, t) {
-                        var i, r, n, o = this[P("0x4b3")];
-                        for (i = this[P("0x0")],
-                            o[this[P("0x0")]++] = t,
-                            o[this[P("0x0")]++] = e; 0 < i && (r = this[P("0xf52")](i),
-                                o[i] > o[r]);)
-                            n = o[i],
-                                o[i] = o[r],
-                                o[r] = n,
-                                n = o[i + 1],
-                                o[i + 1] = o[r + 1],
-                                o[r + 1] = n,
-                                i = r;
-                        return this[P("0x0")]
-                    }
-                    ,
-                    h.prototype[P("0x25c")] = function () {
-                        var e, t, i, r, n, o = this.buffer;
-                        for (t = o[0],
-                            e = o[1],
-                            this[P("0x0")] -= 2,
-                            o[0] = o[this.length],
-                            o[1] = o[this[P("0x0")] + 1],
-                            n = 0; !((r = 2 * n + 2) >= this[P("0x0")]) && (r + 2 < this[P("0x0")] && o[r + 2] > o[r] && (r += 2),
-                                o[r] > o[n]);)
-                            i = o[n],
-                                o[n] = o[r],
-                                o[r] = i,
-                                i = o[n + 1],
-                                o[n + 1] = o[r + 1],
-                                o[r + 1] = i,
-                                n = r;
-                        return {
-                            index: e,
-                            value: t,
-                            length: this.length
+                ), 600);
+                return i
+            }
+            ,
+            i[P("0x5")][P("0xe36")] = function() {
+                for (var t = this[P("0x13b")][P("0x10f")][P("0xa3")][P("0xa2e")]._tilesToRender.map((function(t, i, r) {
+                    return {
+                        x: t.x,
+                        y: t.y,
+                        level: t.level,
+                        boundBox: {
+                            minX: e[P("0x23")][P("0x113")](t[P("0x969")].west),
+                            minY: e[P("0x23")][P("0x113")](t[P("0x969")].south),
+                            maxX: e[P("0x23")][P("0x113")](t[P("0x969")][P("0x2aa")]),
+                            maxY: e.Math[P("0x113")](t[P("0x969")][P("0x2ac")])
                         }
                     }
-                    ;
-                var g, p = 2, m = {
-                    NONE: 0,
-                    r: 1,
-                    k: p,
-                    O: 3
-                }, b = [];
-                for (g = 0; g < 288; g++)
-                    switch (!0) {
-                        case g <= 143:
-                            b[P("0x17c")]([g + 48, 8]);
-                            break;
-                        case g <= 255:
-                            b.push([g - 144 + 400, 9]);
-                            break;
-                        case g <= 279:
-                            b[P("0x17c")]([g - 256 + 0, 7]);
-                            break;
-                        case g <= 287:
-                            b.push([g - 280 + 192, 8]);
-                            break;
-                        default:
-                            e("invalid literal: " + g)
-                    }
-                function v(e, t) {
-                    this[P("0x0")] = e,
-                        this.H = t
                 }
-                d.prototype.j = function () {
-                    var i, r, a, s, x = this[P("0xf53")];
-                    switch (this.h) {
-                        case 0:
-                            for (a = 0,
-                                s = x[P("0x0")]; a < s;) {
-                                var l, c, u, h = r = n ? x[P("0xaaf")](a, a + 65535) : x.slice(a, a + 65535), f = (a += r.length) === s, d = t, g = t, m = this.a, v = this.b;
-                                if (n) {
-                                    for (m = new Uint8Array(this.a[P("0x4b3")]); m[P("0x0")] <= v + h[P("0x0")] + 5;)
-                                        m = new Uint8Array(m[P("0x0")] << 1);
-                                    m.set(this.a)
-                                }
-                                if (l = f ? 1 : 0,
-                                    m[v++] = 0 | l,
-                                    u = 65536 + ~(c = h[P("0x0")]) & 65535,
-                                    m[v++] = 255 & c,
-                                    m[v++] = c >>> 8 & 255,
-                                    m[v++] = 255 & u,
-                                    m[v++] = u >>> 8 & 255,
-                                    n)
-                                    m.set(h, v),
-                                        v += h[P("0x0")],
-                                        m = m.subarray(0, v);
-                                else {
-                                    for (d = 0,
-                                        g = h.length; d < g; ++d)
-                                        m[v++] = h[d];
-                                    m[P("0x0")] = v
-                                }
-                                this.b = v,
-                                    this.a = m
-                            }
-                            break;
-                        case 1:
-                            var C = new o(n ? new Uint8Array(this.a[P("0x4b3")]) : this.a, this.b);
-                            C.d(1, 1, !0),
-                                C.d(1, 2, !0);
-                            var y, A, w, E = _(this, x);
-                            for (y = 0,
-                                A = E[P("0x0")]; y < A; y++)
-                                if (w = E[y],
-                                    o[P("0x5")].d.apply(C, b[w]),
-                                    256 < w)
-                                    C.d(E[++y], E[++y], !0),
-                                        C.d(E[++y], 5),
-                                        C.d(E[++y], E[++y], !0);
-                                else if (256 === w)
-                                    break;
-                            this.a = C[P("0xf2f")](),
-                                this.b = this.a[P("0x0")];
-                            break;
-                        case p:
-                            var S, T, M, N, L, R, O, F, D, U, k, B, W, j, V, z = new o(n ? new Uint8Array(this.a[P("0x4b3")]) : this.a, this.b), H = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], q = Array(19);
-                            for (S = p,
-                                z.d(1, 1, !0),
-                                z.d(S, 2, !0),
-                                T = _(this, x),
-                                O = G(R = I(this.M, 15)),
-                                D = G(F = I(this.L, 7)),
-                                M = 286; 257 < M && 0 === R[M - 1]; M--)
-                                ;
-                            for (N = 30; 1 < N && 0 === F[N - 1]; N--)
-                                ;
-                            var X, Y, K, Q, Z, J, $ = M, ee = N, te = new (n ? Uint32Array : Array)($ + ee), ie = new (n ? Uint32Array : Array)(316), re = new (n ? Uint8Array : Array)(19);
-                            for (X = Y = 0; X < $; X++)
-                                te[Y++] = R[X];
-                            for (X = 0; X < ee; X++)
-                                te[Y++] = F[X];
-                            if (!n)
-                                for (X = 0,
-                                    Q = re.length; X < Q; ++X)
-                                    re[X] = 0;
-                            for (X = Z = 0,
-                                Q = te.length; X < Q; X += Y) {
-                                for (Y = 1; X + Y < Q && te[X + Y] === te[X]; ++Y)
-                                    ;
-                                if (K = Y,
-                                    0 === te[X])
-                                    if (K < 3)
-                                        for (; 0 < K--;)
-                                            re[ie[Z++] = 0]++;
-                                    else
-                                        for (; 0 < K;)
-                                            K - 3 < (J = K < 138 ? K : 138) && J < K && (J = K - 3),
-                                                J <= 10 ? (ie[Z++] = 17,
-                                                    ie[Z++] = J - 3,
-                                                    re[17]++) : (ie[Z++] = 18,
-                                                        ie[Z++] = J - 11,
-                                                        re[18]++),
-                                                K -= J;
-                                else if (ie[Z++] = te[X],
-                                    re[te[X]]++,
-                                    --K < 3)
-                                    for (; 0 < K--;)
-                                        ie[Z++] = te[X],
-                                            re[te[X]]++;
-                                else
-                                    for (; 0 < K;)
-                                        K - 3 < (J = K < 6 ? K : 6) && J < K && (J = K - 3),
-                                            ie[Z++] = 16,
-                                            ie[Z++] = J - 3,
-                                            re[16]++,
-                                            K -= J
-                            }
-                            for (i = n ? ie[P("0xaaf")](0, Z) : ie[P("0x1d5")](0, Z),
-                                U = I(re, 7),
-                                j = 0; j < 19; j++)
-                                q[j] = U[H[j]];
-                            for (L = 19; 4 < L && 0 === q[L - 1]; L--)
-                                ;
-                            for (k = G(U),
-                                z.d(M - 257, 5, !0),
-                                z.d(N - 1, 5, !0),
-                                z.d(L - 4, 4, !0),
-                                j = 0; j < L; j++)
-                                z.d(q[j], 3, !0);
-                            for (j = 0,
-                                V = i[P("0x0")]; j < V; j++)
-                                if (B = i[j],
-                                    z.d(k[B], U[B], !0),
-                                    16 <= B) {
-                                    switch (j++,
-                                    B) {
-                                        case 16:
-                                            W = 2;
-                                            break;
-                                        case 17:
-                                            W = 3;
-                                            break;
-                                        case 18:
-                                            W = 7;
-                                            break;
-                                        default:
-                                            e(P("0xf58") + B)
-                                    }
-                                    z.d(i[j], W, !0)
-                                }
-                            var ne, oe, ae, se, xe, le, ce, ue, he = [O, R], fe = [D, F];
-                            for (xe = he[0],
-                                le = he[1],
-                                ce = fe[0],
-                                ue = fe[1],
-                                ne = 0,
-                                oe = T[P("0x0")]; ne < oe; ++ne)
-                                if (ae = T[ne],
-                                    z.d(xe[ae], le[ae], !0),
-                                    256 < ae)
-                                    z.d(T[++ne], T[++ne], !0),
-                                        se = T[++ne],
-                                        z.d(ce[se], ue[se], !0),
-                                        z.d(T[++ne], T[++ne], !0);
-                                else if (256 === ae)
-                                    break;
-                            this.a = z.finish(),
-                                this.b = this.a[P("0x0")];
-                            break;
-                        default:
-                            e("invalid compression type")
-                    }
-                    return this.a
+                )).sort((function(e, t) {
+                    return t[P("0x968")] - e.level
                 }
-                    ;
-                var C = function () {
-                    function t(t) {
-                        switch (!0) {
-                            case 3 === t:
-                                return [257, t - 3, 0];
-                            case 4 === t:
-                                return [258, t - 4, 0];
-                            case 5 === t:
-                                return [259, t - 5, 0];
-                            case 6 === t:
-                                return [260, t - 6, 0];
-                            case 7 === t:
-                                return [261, t - 7, 0];
-                            case 8 === t:
-                                return [262, t - 8, 0];
-                            case 9 === t:
-                                return [263, t - 9, 0];
-                            case 10 === t:
-                                return [264, t - 10, 0];
-                            case t <= 12:
-                                return [265, t - 11, 1];
-                            case t <= 14:
-                                return [266, t - 13, 1];
-                            case t <= 16:
-                                return [267, t - 15, 1];
-                            case t <= 18:
-                                return [268, t - 17, 1];
-                            case t <= 22:
-                                return [269, t - 19, 2];
-                            case t <= 26:
-                                return [270, t - 23, 2];
-                            case t <= 30:
-                                return [271, t - 27, 2];
-                            case t <= 34:
-                                return [272, t - 31, 2];
-                            case t <= 42:
-                                return [273, t - 35, 3];
-                            case t <= 50:
-                                return [274, t - 43, 3];
-                            case t <= 58:
-                                return [275, t - 51, 3];
-                            case t <= 66:
-                                return [276, t - 59, 3];
-                            case t <= 82:
-                                return [277, t - 67, 4];
-                            case t <= 98:
-                                return [278, t - 83, 4];
-                            case t <= 114:
-                                return [279, t - 99, 4];
-                            case t <= 130:
-                                return [280, t - 115, 4];
-                            case t <= 162:
-                                return [281, t - 131, 5];
-                            case t <= 194:
-                                return [282, t - 163, 5];
-                            case t <= 226:
-                                return [283, t - 195, 5];
-                            case t <= 257:
-                                return [284, t - 227, 5];
-                            case 258 === t:
-                                return [285, t - 258, 0];
-                            default:
-                                e("invalid length: " + t)
+                )), i = [t[0][P("0x968")]], r = 0; r < t[P("0x0")]; r++)
+                    t[r][P("0x968")] != i[i.length - 1] && i[P("0x17c")](t[r][P("0x968")]),
+                    4 < i[P("0x0")] && (t[P("0x259")](r),
+                    r--);
+                return t
+            }
+            ,
+            i.prototype.addLabelAndIco = function(e) {
+                if (e.pois)
+                    for (var t = 0; t < e[P("0xe4a")][P("0x0")]; t++) {
+                        var i = this[P("0xe2a")](e[P("0xe4a")][t][P("0xe2b")]);
+                        i = i || this[P("0xe4b")](e[P("0xe4a")][t], e),
+                        this[P("0xe2c")](i)
+                    }
+                this[P("0xe44")]()
+            }
+            ,
+            i[P("0x5")].delaySynchronous = function() {
+                var e = this;
+                clearTimeout(e._timer2),
+                e[P("0xe4c")] = setTimeout((function() {
+                    e.synchronousLabel()
+                }
+                ), 100)
+            }
+            ,
+            i[P("0x5")].synchronousLabel = function() {
+                for (var e = 0; e < this.labelCache[P("0x0")]; e++)
+                    this[P("0xe22")][e].timestamp >= this[P("0xe39")] && !this.viewer[P("0x194")].contains(this.labelCache[e]) && (this._isInitial && this[P("0xe1e")] && (this[P("0xe22")][e][P("0x221")] = !1),
+                    this[P("0x13b")][P("0x194")][P("0x6d")](this.labelCache[e]));
+                if (!this[P("0xe23")]) {
+                    for (e = 0; e < this.viewer.entities[P("0x190")][P("0x0")]; e++)
+                        !this[P("0x13b")][P("0x194")][P("0x190")][e][P("0x176")] || this[P("0x13b")][P("0x194")][P("0x190")][e][P("0x176")] !== this[P("0xe25")] && this.viewer[P("0x194")][P("0x190")][e].name !== this[P("0xe27")] || this[P("0x13b")][P("0x194")][P("0x190")][e].timestamp < this._latelyRefreshStamp && (this[P("0x13b")][P("0x194")].remove(this[P("0x13b")][P("0x194")][P("0x190")][e]),
+                        e--);
+                    this[P("0xe1e")] && this[P("0xe3b")]()
+                }
+            }
+            ,
+            i.prototype[P("0xe4b")] = function(t, i) {
+                if (t) {
+                    var r, n, o = {
+                        show: !0,
+                        position: e[P("0x11")].fromDegrees(t[P("0xe4d")][0], t[P("0xe4d")][1], t[P("0xe4d")][2]),
+                        label: {
+                            text: t.name
                         }
-                    }
-                    var i, r, n = [];
-                    for (i = 3; i <= 258; i++)
-                        r = t(i),
-                            n[i] = r[2] << 24 | r[1] << 16 | r[0];
-                    return n
-                }()
-                    , y = n ? new Uint32Array(C) : C;
-                function _(i, r) {
-                    function o(t, i) {
-                        var r, n, o, a, s = t.H, x = [], l = 0;
-                        switch (r = y[t[P("0x0")]],
-                        x[l++] = 65535 & r,
-                        x[l++] = r >> 16 & 255,
-                        x[l++] = r >> 24,
-                        !0) {
-                            case 1 === s:
-                                n = [0, s - 1, 0];
-                                break;
-                            case 2 === s:
-                                n = [1, s - 2, 0];
-                                break;
-                            case 3 === s:
-                                n = [2, s - 3, 0];
-                                break;
-                            case 4 === s:
-                                n = [3, s - 4, 0];
-                                break;
-                            case s <= 6:
-                                n = [4, s - 5, 1];
-                                break;
-                            case s <= 8:
-                                n = [5, s - 7, 1];
-                                break;
-                            case s <= 12:
-                                n = [6, s - 9, 2];
-                                break;
-                            case s <= 16:
-                                n = [7, s - 13, 2];
-                                break;
-                            case s <= 24:
-                                n = [8, s - 17, 3];
-                                break;
-                            case s <= 32:
-                                n = [9, s - 25, 3];
-                                break;
-                            case s <= 48:
-                                n = [10, s - 33, 4];
-                                break;
-                            case s <= 64:
-                                n = [11, s - 49, 4];
-                                break;
-                            case s <= 96:
-                                n = [12, s - 65, 5];
-                                break;
-                            case s <= 128:
-                                n = [13, s - 97, 5];
-                                break;
-                            case s <= 192:
-                                n = [14, s - 129, 6];
-                                break;
-                            case s <= 256:
-                                n = [15, s - 193, 6];
-                                break;
-                            case s <= 384:
-                                n = [16, s - 257, 7];
-                                break;
-                            case s <= 512:
-                                n = [17, s - 385, 7];
-                                break;
-                            case s <= 768:
-                                n = [18, s - 513, 8];
-                                break;
-                            case s <= 1024:
-                                n = [19, s - 769, 8];
-                                break;
-                            case s <= 1536:
-                                n = [20, s - 1025, 9];
-                                break;
-                            case s <= 2048:
-                                n = [21, s - 1537, 9];
-                                break;
-                            case s <= 3072:
-                                n = [22, s - 2049, 10];
-                                break;
-                            case s <= 4096:
-                                n = [23, s - 3073, 10];
-                                break;
-                            case s <= 6144:
-                                n = [24, s - 4097, 11];
-                                break;
-                            case s <= 8192:
-                                n = [25, s - 6145, 11];
-                                break;
-                            case s <= 12288:
-                                n = [26, s - 8193, 12];
-                                break;
-                            case s <= 16384:
-                                n = [27, s - 12289, 12];
-                                break;
-                            case s <= 24576:
-                                n = [28, s - 16385, 13];
-                                break;
-                            case s <= 32768:
-                                n = [29, s - 24577, 13];
-                                break;
-                            default:
-                                e(P("0xf59"))
-                        }
-                        for (r = n,
-                            x[l++] = r[0],
-                            x[l++] = r[1],
-                            x[l++] = r[2],
-                            o = 0,
-                            a = x[P("0x0")]; o < a; ++o)
-                            p[m++] = x[o];
-                        v[x[0]]++,
-                            C[x[3]]++,
-                            b = t[P("0x0")] + i - 1,
-                            f = null
-                    }
-                    var a, s, x, l, c, u, h, f, d, g = {}, p = n ? new Uint16Array(2 * r[P("0x0")]) : [], m = 0, b = 0, v = new (n ? Uint32Array : Array)(286), C = new (n ? Uint32Array : Array)(30), _ = i.w;
-                    if (!n) {
-                        for (x = 0; x <= 285;)
-                            v[x++] = 0;
-                        for (x = 0; x <= 29;)
-                            C[x++] = 0
-                    }
-                    for (v[256] = 1,
-                        a = 0,
-                        s = r[P("0x0")]; a < s; ++a) {
-                        for (x = c = 0,
-                            l = 3; x < l && a + x !== s; ++x)
-                            c = c << 8 | r[a + x];
-                        if (g[c] === t && (g[c] = []),
-                            u = g[c],
-                            !(0 < b--)) {
-                            for (; 0 < u[P("0x0")] && 32768 < a - u[0];)
-                                u[P("0x513")]();
-                            if (s <= a + 3) {
-                                for (f && o(f, -1),
-                                    x = 0,
-                                    l = s - a; x < l; ++x)
-                                    d = r[a + x],
-                                        p[m++] = d,
-                                        ++v[d];
+                    };
+                    this.serverFirstStyle && void 0 !== t.fontSize ? (o.label[P("0xe4e")] = t.fontSize + P("0xe4f"),
+                    void 0 !== t.fontNameIndex && i[P("0xe50")] && i[P("0xe50")][t.fontNameIndex] ? o[P("0xe51")][P("0xe4e")] += i[P("0xe50")][t.fontNameIndex] : o[P("0xe51")].font += P("0xe52"),
+                    !this[P("0xe1c")][P("0x3fa")] && 1 !== t[P("0xe53")] && 3 !== t[P("0xe53")] || (r = !0),
+                    2 !== t[P("0xe53")] && 3 !== t.fontStyle || (n = !0),
+                    r && (o[P("0xe51")][P("0xe4e")] = P("0xe54") + o[P("0xe51")].font),
+                    n && (o[P("0xe51")][P("0xe4e")] = P("0xe55") + o[P("0xe51")][P("0xe4e")])) : this[P("0xe1c")][P("0xe4e")] && (o[P("0xe51")].font = this[P("0xe1c")][P("0xe4e")]),
+                    this[P("0xe20")] && void 0 !== t[P("0xe56")] ? o[P("0xe51")].fillColor = e[P("0x16a")].fromCssColorString(this.HexadecimalConversion(t[P("0xe56")])) : this.labelGraphics.fillColor && (o.label[P("0x3dd")] = this[P("0xe1c")][P("0x3dd")]),
+                    this[P("0xe20")] && void 0 !== t[P("0xe57")] ? o[P("0xe51")].outlineColor = e.Color[P("0x27e")](this.HexadecimalConversion(t[P("0xe57")])) : this[P("0xe1c")][P("0x3df")] && (o[P("0xe51")][P("0x3df")] = this[P("0xe1c")][P("0x3df")]),
+                    this[P("0xe20")] && w()(t.shiningSize) === P("0x49f") ? o.label[P("0x3de")] = t[P("0xe58")] : void 0 !== this[P("0xe1c")].outlineWidth && (o[P("0xe51")][P("0x3de")] = this[P("0xe1c")][P("0x3de")]),
+                    this.serverFirstStyle && void 0 !== t[P("0x3d8")] ? o[P("0xe51")][P("0x3d8")] = t[P("0x3d8")] : void 0 !== this[P("0xe1c")].showBackground && (o[P("0xe51")][P("0x3d8")] = this[P("0xe1c")].showBackground),
+                    this.serverFirstStyle && void 0 !== t.backgroundColor ? o[P("0xe51")][P("0x3d9")] = t[P("0x3d9")] : void 0 !== this[P("0xe1c")][P("0x3d9")] && (o[P("0xe51")][P("0x3d9")] = this[P("0xe1c")][P("0x3d9")]),
+                    this.serverFirstStyle && void 0 !== t[P("0xe59")] ? o[P("0xe51")].backgroundPadding = t.backgroundPadding : void 0 !== this[P("0xe1c")][P("0xe59")] && (o[P("0xe51")][P("0xe59")] = this[P("0xe1c")][P("0xe59")]),
+                    i.t ? (o[P("0xe51")].verticalOrigin = e[P("0x24d")][P("0x24c")],
+                    o[P("0xe51")][P("0x3da")] = e[P("0x24b")][P("0x24c")]) : (this[P("0xe20")] && void 0 !== t[P("0x3db")] ? o[P("0xe51")][P("0x3db")] = t[P("0x3db")] : void 0 !== this[P("0xe1c")].verticalOrigin && (o[P("0xe51")][P("0x3db")] = this[P("0xe1c")][P("0x3db")]),
+                    this[P("0xe20")] && void 0 !== t[P("0x3da")] ? o.label[P("0x3da")] = t[P("0x3da")] : void 0 !== this[P("0xe1c")].horizontalOrigin && (o[P("0xe51")].horizontalOrigin = this[P("0xe1c")].horizontalOrigin)),
+                    this[P("0xe20")] && void 0 !== t.eyeOffset ? o[P("0xe51")][P("0xe5a")] = t[P("0xe5a")] : void 0 !== this[P("0xe1c")][P("0xe5a")] && (o.label[P("0xe5a")] = this[P("0xe1c")][P("0xe5a")]),
+                    this[P("0xe20")] && void 0 !== t[P("0x3dc")] ? o[P("0xe51")][P("0x3dc")] = t.pixelOffset : void 0 !== this[P("0xe1c")].pixelOffset && (o[P("0xe51")].pixelOffset = this.labelGraphics[P("0x3dc")]),
+                    this[P("0xe20")] && void 0 !== t[P("0x150")] ? o.label[P("0x150")] = t[P("0x150")] : void 0 !== this[P("0xe1c")][P("0x150")] && (o[P("0xe51")].style = this.labelGraphics[P("0x150")]),
+                    this[P("0xe20")] && void 0 !== t[P("0xfc")] ? o.label.scale = t.scale : void 0 !== this[P("0xe1c")].scale && (o.label[P("0xfc")] = this[P("0xe1c")][P("0xfc")]),
+                    o[P("0xe51")][P("0xe5b")] = this.labelGraphics[P("0xe5b")],
+                    o.label[P("0xe5c")] = this[P("0xe1c")][P("0xe5c")] ? this.labelGraphics.heightReference : e.HeightReference[P("0xe5d")],
+                    void 0 !== t.symbolID && -1 < t[P("0xe5e")] && (o[P("0xe5f")] = {
+                        image: this[P("0xe31")]()[P("0xa1c")](P("0xe60"), t[P("0xe5e")])[P("0xa1c")](P("0xa04"), this.subdomains[(i.x + i.y + i.z) % this[P("0xa4e")][P("0x0")]])
+                    },
+                    this[P("0xe20")] && void 0 !== t[P("0xe61")] ? (o.billboard.width = t.displayHeight,
+                    o[P("0xe5f")].height = t[P("0xe61")]) : void 0 === this.billboardGraphics[P("0x19a")] && void 0 === this[P("0xe1d")][P("0x8b")] || (o[P("0xe5f")].width = this[P("0xe1d")].width,
+                    o.billboard[P("0x8b")] = this.billboardGraphics[P("0x8b")]),
+                    i.t ? (o.label[P("0x3db")] = e[P("0x24d")][P("0x3c7")],
+                    o[P("0xe51")][P("0x3da")] = e[P("0x24b")][P("0x24c")]) : (this[P("0xe20")] && void 0 !== t[P("0x3db")] ? o[P("0xe5f")].verticalOrigin = t.verticalOrigin : void 0 !== this.billboardGraphics.verticalOrigin && (o[P("0xe5f")][P("0x3db")] = this[P("0xe1d")][P("0x3db")]),
+                    this[P("0xe20")] && void 0 !== t[P("0x3da")] ? o[P("0xe5f")].horizontalOrigin = t.horizontalOrigin : void 0 !== this.billboardGraphics[P("0x3da")] && (o[P("0xe5f")][P("0x3da")] = this[P("0xe1d")][P("0x3da")])),
+                    this[P("0xe20")] && void 0 !== t[P("0xe5a")] ? o[P("0xe5f")][P("0xe5a")] = t[P("0xe5a")] : void 0 !== this[P("0xe1d")].eyeOffset && (o[P("0xe5f")][P("0xe5a")] = this[P("0xe1d")][P("0xe5a")]),
+                    this[P("0xe20")] && void 0 !== t.pixelOffset ? o.billboard[P("0x3dc")] = t[P("0x3dc")] : void 0 !== this.billboardGraphics[P("0x3dc")] && (o[P("0xe5f")].pixelOffset = this[P("0xe1d")][P("0x3dc")]),
+                    this[P("0xe20")] && void 0 !== t[P("0xfb")] ? o[P("0xe5f")][P("0xfb")] = t[P("0xfb")] : void 0 !== this.billboardGraphics.rotation && (o.billboard[P("0xfb")] = this.billboardGraphics[P("0xfb")]),
+                    this[P("0xe20")] && void 0 !== t.alignedAxis ? o[P("0xe5f")][P("0xe62")] = t[P("0xe62")] : void 0 !== this.billboardGraphics[P("0xe62")] && (o[P("0xe5f")].alignedAxis = this.billboardGraphics[P("0xe62")]),
+                    this[P("0xe20")] && void 0 !== t[P("0x169")] ? o[P("0xe5f")].color = t[P("0x169")] : void 0 !== this[P("0xe1d")].color && (o[P("0xe5f")][P("0x169")] = this[P("0xe1d")].color),
+                    this.serverFirstStyle && void 0 !== t[P("0xfc")] ? o[P("0xe5f")][P("0xfc")] = t.scale : void 0 !== this[P("0xe1d")].scale && (o[P("0xe5f")].scale = this[P("0xe1d")][P("0xfc")]),
+                    o.billboard[P("0xe5b")] = this[P("0xe1d")][P("0xe5b")],
+                    o.billboard[P("0xe5c")] = this[P("0xe1d")][P("0xe5c")] ? this[P("0xe1d")][P("0xe5c")] : e[P("0xe63")].NONE);
+                    var a = new (e[P("0x18e")])(o);
+                    return a[P("0x176")] = i.t ? this[P("0xe27")] : this[P("0xe25")],
+                    a[P("0xe2b")] = t.oid,
+                    a[P("0xe64")] = t[P("0xe64")] ? t[P("0xe64")] : 0,
+                    a[P("0xe65")] = i.x + "_" + i.y + "_" + (i.z - 1),
+                    a
+                }
+            }
+            ,
+            i[P("0x5")].getPropertyValue = function(e, t, i, r) {
+                return void 0 !== t[e] ? t[e] : void 0 !== i[e] ? i[e] : r
+            }
+            ,
+            i.prototype[P("0xe3b")] = function() {
+                if (this[P("0xe66")])
+                    for (var t = document[P("0xe67")](P("0xe66")), i = 0; i < t[P("0x0")]; i++)
+                        this[P("0x13b")][P("0x131")][P("0x41b")](t[i]),
+                        i--;
+                var r = []
+                  , o = this.viewer[P("0x194")][P("0x190")];
+                for (i = 0; i < o[P("0x0")]; i++)
+                    if (o[i][P("0x176")] && (o[i][P("0x176")] === this[P("0xe25")] || o[i][P("0x176")] === this[P("0xe27")])) {
+                        var a, s;
+                        a = e[P("0xe68")].wgs84ToDrawingBufferCoordinates(this[P("0x13b")][P("0x10f")], o[i].position[P("0x512")](0)),
+                        o[i][P("0x221")] = !0,
+                        s = this[P("0xe69")]({
+                            point: a,
+                            entity: o[i]
+                        }),
+                        o[i].collisionBox = s;
+                        for (var x = null, l = 0; l < r.length; l++)
+                            if (r[l][P("0xe65")] === o[i].xyz) {
+                                x = r[l];
                                 break
                             }
-                            0 < u[P("0x0")] ? (h = A(r, a, u),
-                                f ? f[P("0x0")] < h.length ? (d = r[a - 1],
-                                    p[m++] = d,
-                                    ++v[d],
-                                    o(h, 0)) : o(f, -1) : h[P("0x0")] < _ ? f = h : o(h, 0)) : f ? o(f, -1) : (d = r[a],
-                                        p[m++] = d,
-                                        ++v[d])
-                        }
-                        u.push(a)
-                    }
-                    return p[m++] = 256,
-                        v[256]++,
-                        i.M = v,
-                        i.L = C,
-                        n ? p[P("0xaaf")](0, m) : p
-                }
-                function A(e, t, i) {
-                    var r, n, o, a, s, x, l = 0, c = e.length;
-                    a = 0,
-                        x = i[P("0x0")];
-                    e: for (; a < x; a++) {
-                        if (r = i[x - a - 1],
-                            (o = 3) < l) {
-                            for (s = l; 3 < s; s--)
-                                if (e[r + s - 1] !== e[t + s - 1])
-                                    continue e;
-                            o = l
-                        }
-                        for (; o < 258 && t + o < c && e[r + o] === e[t + o];)
-                            ++o;
-                        if (l < o && (n = r,
-                            l = o),
-                            258 === o)
-                            break
-                    }
-                    return new v(l, t - n)
-                }
-                function I(e, t) {
-                    var i, r, o, a, s, x = e[P("0x0")], l = new h(572), c = new (n ? Uint8Array : Array)(x);
-                    if (!n)
-                        for (a = 0; a < x; a++)
-                            c[a] = 0;
-                    for (a = 0; a < x; ++a)
-                        0 < e[a] && l[P("0x17c")](a, e[a]);
-                    if (i = Array(l[P("0x0")] / 2),
-                        r = new (n ? Uint32Array : Array)(l[P("0x0")] / 2),
-                        1 === i[P("0x0")])
-                        return c[l[P("0x25c")]()[P("0x286")]] = 1,
-                            c;
-                    for (a = 0,
-                        s = l[P("0x0")] / 2; a < s; ++a)
-                        i[a] = l[P("0x25c")](),
-                            r[a] = i[a][P("0x3")];
-                    for (o = function (e, t, i) {
-                        function r(e) {
-                            var i = d[e][g[e]];
-                            i === t ? (r(e + 1),
-                                r(e + 1)) : --h[i],
-                                ++g[e]
-                        }
-                        var o, a, s, x, l, c = new (n ? Uint16Array : Array)(i), u = new (n ? Uint8Array : Array)(i), h = new (n ? Uint8Array : Array)(t), f = Array(i), d = Array(i), g = Array(i), p = (1 << i) - t, m = 1 << i - 1;
-                        for (c[i - 1] = t,
-                            a = 0; a < i; ++a)
-                            p < m ? u[a] = 0 : (u[a] = 1,
-                                p -= m),
-                                p <<= 1,
-                                c[i - 2 - a] = (c[i - 1 - a] / 2 | 0) + t;
-                        for (c[0] = u[0],
-                            f[0] = Array(c[0]),
-                            d[0] = Array(c[0]),
-                            a = 1; a < i; ++a)
-                            c[a] > 2 * c[a - 1] + u[a] && (c[a] = 2 * c[a - 1] + u[a]),
-                                f[a] = Array(c[a]),
-                                d[a] = Array(c[a]);
-                        for (o = 0; o < t; ++o)
-                            h[o] = i;
-                        for (s = 0; s < c[i - 1]; ++s)
-                            f[i - 1][s] = e[s],
-                                d[i - 1][s] = s;
-                        for (o = 0; o < i; ++o)
-                            g[o] = 0;
-                        for (1 === u[i - 1] && (--h[0],
-                            ++g[i - 1]),
-                            a = i - 2; 0 <= a; --a) {
-                            for (x = o = 0,
-                                l = g[a + 1],
-                                s = 0; s < c[a]; s++)
-                                (x = f[a + 1][l] + f[a + 1][l + 1]) > e[o] ? (f[a][s] = x,
-                                    d[a][s] = t,
-                                    l += 2) : (f[a][s] = e[o],
-                                        d[a][s] = o,
-                                        ++o);
-                            g[a] = 0,
-                                1 === u[a] && r(a)
-                        }
-                        return h
-                    }(r, r[P("0x0")], t),
-                        a = 0,
-                        s = i[P("0x0")]; a < s; ++a)
-                        c[i[a][P("0x286")]] = o[a];
-                    return c
-                }
-                function G(e) {
-                    var t, i, r, o, a = new (n ? Uint16Array : Array)(e.length), s = [], x = [], l = 0;
-                    for (t = 0,
-                        i = e[P("0x0")]; t < i; t++)
-                        s[e[t]] = 1 + (0 | s[e[t]]);
-                    for (t = 1,
-                        i = 16; t <= i; t++)
-                        x[t] = l,
-                            l += 0 | s[t],
-                            l <<= 1;
-                    for (t = 0,
-                        i = e.length; t < i; t++)
-                        for (l = x[e[t]],
-                            x[e[t]] += 1,
-                            r = a[t] = 0,
-                            o = e[t]; r < o; r++)
-                            a[t] = a[t] << 1 | 1 & l,
-                                l >>>= 1;
-                    return a
-                }
-                function E(t, i) {
-                    switch (this.l = [],
-                    this.m = 32768,
-                    this.e = this.g = this.c = this.q = 0,
-                    this[P("0xf53")] = n ? new Uint8Array(t) : t,
-                    this.s = !1,
-                    this.n = T,
-                    this.C = !1,
-                    (i || (i = {},
-                        0)) && (i[P("0x286")] && (this.c = i[P("0x286")]),
-                            i[P("0xf5a")] && (this.m = i.bufferSize),
-                            i.bufferType && (this.n = i[P("0xf5b")]),
-                            i[P("0xf5c")] && (this.C = i[P("0xf5c")])),
-                    this.n) {
-                        case S:
-                            this.b = 32768,
-                                this.a = new (n ? Uint8Array : Array)(32768 + this.m + 258);
-                            break;
-                        case T:
-                            this.b = 0,
-                                this.a = new (n ? Uint8Array : Array)(this.m),
-                                this.f = this.K,
-                                this.t = this.I,
-                                this.o = this.J;
-                            break;
-                        default:
-                            e(Error(P("0xf5d")))
-                    }
-                }
-                var S = 0
-                    , T = 1
-                    , M = S
-                    , N = T;
-                E[P("0x5")].p = function () {
-                    for (; !this.s;) {
-                        var i = Z(this, 3);
-                        switch (1 & i && (this.s = !0),
-                        i >>>= 1) {
-                            case 0:
-                                var r = this[P("0xf53")]
-                                    , o = this.c
-                                    , a = this.a
-                                    , s = this.b
-                                    , x = r.length
-                                    , l = t
-                                    , c = a[P("0x0")]
-                                    , u = t;
-                                switch (this.e = this.g = 0,
-                                x <= o + 1 && e(Error("invalid uncompressed block header: LEN")),
-                                l = r[o++] | r[o++] << 8,
-                                x <= o + 1 && e(Error("invalid uncompressed block header: NLEN")),
-                                l === ~(r[o++] | r[o++] << 8) && e(Error(P("0xf5e"))),
-                                o + l > r[P("0x0")] && e(Error(P("0xf5f"))),
-                                this.n) {
-                                    case S:
-                                        for (; s + l > a[P("0x0")];) {
-                                            if (l -= u = c - s,
-                                                n)
-                                                a.set(r[P("0xaaf")](o, o + u), s),
-                                                    s += u,
-                                                    o += u;
-                                            else
-                                                for (; u--;)
-                                                    a[s++] = r[o++];
-                                            this.b = s,
-                                                a = this.f(),
-                                                s = this.b
-                                        }
-                                        break;
-                                    case T:
-                                        for (; s + l > a[P("0x0")];)
-                                            a = this.f({
-                                                v: 2
-                                            });
-                                        break;
-                                    default:
-                                        e(Error("invalid inflate mode"))
-                                }
-                                if (n)
-                                    a[P("0xf60")](r.subarray(o, o + l), s),
-                                        s += l,
-                                        o += l;
-                                else
-                                    for (; l--;)
-                                        a[s++] = r[o++];
-                                this.c = o,
-                                    this.b = s,
-                                    this.a = a;
-                                break;
-                            case 1:
-                                this.o(Y, Q);
-                                break;
-                            case 2:
-                                $(this);
-                                break;
-                            default:
-                                e(Error(P("0xf61") + i))
+                        if (x || (x = {
+                            xyz: o[i][P("0xe65")],
+                            entities: []
+                        },
+                        r.push(x)),
+                        x[P("0x194")][P("0x17c")](o[i]),
+                        this[P("0xe66")]) {
+                            var c = document[P("0x15c")](P("0x15d"));
+                            c[P("0x21b")](P("0xe6a"), P("0xe66")),
+                            c[P("0x150")][P("0xe6b")] = P("0xe6c") + s.y + P("0xe6d") + s.x + P("0xe6e") + s.width + P("0xe6f") + s[P("0x8b")] + "px; border: solid 1px red; color: rgba(0,0,0,0);",
+                            c[P("0x40a")] = o[i][P("0xe51")][P("0x31b")].getValue(0),
+                            this[P("0x13b")].container.appendChild(c)
                         }
                     }
-                    return this.t()
-                }
-                    ;
-                var L, R, O = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], F = n ? new Uint16Array(O) : O, D = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 258, 258], U = n ? new Uint16Array(D) : D, k = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0], B = n ? new Uint8Array(k) : k, W = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577], j = n ? new Uint16Array(W) : W, V = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], z = n ? new Uint8Array(V) : V, H = new (n ? Uint8Array : Array)(288);
-                for (L = 0,
-                    R = H[P("0x0")]; L < R; ++L)
-                    H[L] = L <= 143 ? 8 : L <= 255 ? 9 : L <= 279 ? 7 : 8;
-                var q, X, Y = f(H), K = new (n ? Uint8Array : Array)(30);
-                for (q = 0,
-                    X = K[P("0x0")]; q < X; ++q)
-                    K[q] = 5;
-                var Q = f(K);
-                function Z(t, i) {
-                    for (var r, n = t.g, o = t.e, a = t[P("0xf53")], s = t.c, x = a[P("0x0")]; o < i;)
-                        x <= s && e(Error(P("0xf5f"))),
-                            n |= a[s++] << o,
-                            o += 8;
-                    return r = n & (1 << i) - 1,
-                        t.g = n >>> i,
-                        t.e = o - i,
-                        t.c = s,
-                        r
-                }
-                function J(e, t) {
-                    for (var i, r, n = e.g, o = e.e, a = e[P("0xf53")], s = e.c, x = a[P("0x0")], l = t[0], c = t[1]; o < c && !(x <= s);)
-                        n |= a[s++] << o,
-                            o += 8;
-                    return r = (i = l[n & (1 << c) - 1]) >>> 16,
-                        e.g = n >> r,
-                        e.e = o - r,
-                        e.c = s,
-                        65535 & i
-                }
-                function $(e) {
-                    function t(e, t, i) {
-                        var r, n, o, a = this.z;
-                        for (o = 0; o < e;)
-                            switch (r = J(this, t)) {
-                                case 16:
-                                    for (n = 3 + Z(this, 2); n--;)
-                                        i[o++] = a;
-                                    break;
-                                case 17:
-                                    for (n = 3 + Z(this, 3); n--;)
-                                        i[o++] = 0;
-                                    a = 0;
-                                    break;
-                                case 18:
-                                    for (n = 11 + Z(this, 7); n--;)
-                                        i[o++] = 0;
-                                    a = 0;
-                                    break;
-                                default:
-                                    a = i[o++] = r
-                            }
-                        return this.z = a,
-                            i
-                    }
-                    var i, r, o, a, s = Z(e, 5) + 257, x = Z(e, 5) + 1, l = Z(e, 4) + 4, c = new (n ? Uint8Array : Array)(F[P("0x0")]);
-                    for (a = 0; a < l; ++a)
-                        c[F[a]] = Z(e, 3);
-                    if (!n)
-                        for (a = l,
-                            l = c.length; a < l; ++a)
-                            c[F[a]] = 0;
-                    i = f(c),
-                        r = new (n ? Uint8Array : Array)(s),
-                        o = new (n ? Uint8Array : Array)(x),
-                        e.z = 0,
-                        e.o(f(t[P("0xfa")](e, s, i, r)), f(t[P("0xfa")](e, x, i, o)))
-                }
-                function ee(e) {
-                    if (P("0x9fe") === w()(e)) {
-                        var t, i, r = e.split("");
-                        for (t = 0,
-                            i = r[P("0x0")]; t < i; t++)
-                            r[t] = (255 & r[t].charCodeAt(0)) >>> 0;
-                        e = r
-                    }
-                    for (var n, o = 1, a = 0, s = e.length, x = 0; 0 < s;) {
-                        for (s -= n = 1024 < s ? 1024 : s; a += o += e[x++],
-                            --n;)
-                            ;
-                        o %= 65521,
-                            a %= 65521
-                    }
-                    return (a << 16 | o) >>> 0
-                }
-                function te(t, i) {
-                    var r, n;
-                    switch (this.input = t,
-                    this.c = 0,
-                    (i || (i = {},
-                        0)) && (i[P("0x286")] && (this.c = i.index),
-                            i.verify && (this.N = i[P("0xf62")])),
-                    r = t[this.c++],
-                    n = t[this.c++],
-                    15 & r) {
-                        case ie:
-                            this.method = ie;
-                            break;
-                        default:
-                            e(Error(P("0xf63")))
-                    }
-                    0 != ((r << 8) + n) % 31 && e(Error(P("0xf64") + ((r << 8) + n) % 31)),
-                        32 & n && e(Error(P("0xf65"))),
-                        this.B = new E(t, {
-                            index: this.c,
-                            bufferSize: i[P("0xf5a")],
-                            bufferType: i[P("0xf5b")],
-                            resize: i[P("0xf5c")]
-                        })
-                }
-                E[P("0x5")].o = function (e, t) {
-                    var i = this.a
-                        , r = this.b;
-                    this.u = e;
-                    for (var n, o, a, s, x = i[P("0x0")] - 258; 256 !== (n = J(this, e));)
-                        if (n < 256)
-                            x <= r && (this.b = r,
-                                i = this.f(),
-                                r = this.b),
-                                i[r++] = n;
-                        else
-                            for (s = U[o = n - 257],
-                                0 < B[o] && (s += Z(this, B[o])),
-                                n = J(this, t),
-                                a = j[n],
-                                0 < z[n] && (a += Z(this, z[n])),
-                                x <= r && (this.b = r,
-                                    i = this.f(),
-                                    r = this.b); s--;)
-                                i[r] = i[r++ - a];
-                    for (; 8 <= this.e;)
-                        this.e -= 8,
-                            this.c--;
-                    this.b = r
-                }
-                    ,
-                    E.prototype.J = function (e, t) {
-                        var i = this.a
-                            , r = this.b;
-                        this.u = e;
-                        for (var n, o, a, s, x = i.length; 256 !== (n = J(this, e));)
-                            if (n < 256)
-                                x <= r && (x = (i = this.f()).length),
-                                    i[r++] = n;
-                            else
-                                for (s = U[o = n - 257],
-                                    0 < B[o] && (s += Z(this, B[o])),
-                                    n = J(this, t),
-                                    a = j[n],
-                                    0 < z[n] && (a += Z(this, z[n])),
-                                    x < r + s && (x = (i = this.f()).length); s--;)
-                                    i[r] = i[r++ - a];
-                        for (; 8 <= this.e;)
-                            this.e -= 8,
-                                this.c--;
-                        this.b = r
-                    }
-                    ,
-                    E[P("0x5")].f = function () {
-                        var e, t, i = new (n ? Uint8Array : Array)(this.b - 32768), r = this.b - 32768, o = this.a;
-                        if (n)
-                            i.set(o[P("0xaaf")](32768, i.length));
-                        else
-                            for (e = 0,
-                                t = i.length; e < t; ++e)
-                                i[e] = o[e + 32768];
-                        if (this.l[P("0x17c")](i),
-                            this.q += i[P("0x0")],
-                            n)
-                            o[P("0xf60")](o[P("0xaaf")](r, 32768 + r));
-                        else
-                            for (e = 0; e < 32768; ++e)
-                                o[e] = o[r + e];
-                        return this.b = 32768,
-                            o
-                    }
-                    ,
-                    E[P("0x5")].K = function (e) {
-                        var t, i, r, o = this[P("0xf53")][P("0x0")] / this.c + 1 | 0, a = this[P("0xf53")], s = this.a;
-                        return e && ("number" == typeof e.v && (o = e.v),
-                            P("0x49f") === w()(e.G) && (o += e.G)),
-                            i = o < 2 ? (r = (a.length - this.c) / this.u[2] / 2 * 258 | 0) < s[P("0x0")] ? s.length + r : s[P("0x0")] << 1 : s.length * o,
-                            n ? (t = new Uint8Array(i)).set(s) : t = s,
-                            this.a = t
-                    }
-                    ,
-                    E[P("0x5")].t = function () {
-                        var e, t, i, r, o, a = 0, s = this.a, x = this.l, l = new (n ? Uint8Array : Array)(this.q + (this.b - 32768));
-                        if (0 === x.length)
-                            return n ? this.a[P("0xaaf")](32768, this.b) : this.a.slice(32768, this.b);
-                        for (t = 0,
-                            i = x[P("0x0")]; t < i; ++t)
-                            for (r = 0,
-                                o = (e = x[t]).length; r < o; ++r)
-                                l[a++] = e[r];
-                        for (t = 32768,
-                            i = this.b; t < i; ++t)
-                            l[a++] = s[t];
-                        return this.l = [],
-                            this[P("0x4b3")] = l
-                    }
-                    ,
-                    E[P("0x5")].I = function () {
-                        var e, t = this.b;
-                        return n ? this.C ? (e = new Uint8Array(t))[P("0xf60")](this.a[P("0xaaf")](0, t)) : e = this.a[P("0xaaf")](0, t) : (this.a[P("0x0")] > t && (this.a[P("0x0")] = t),
-                            e = this.a),
-                            this[P("0x4b3")] = e
-                    }
-                    ,
-                    te[P("0x5")].p = function () {
-                        var t, i = this[P("0xf53")];
-                        return t = this.B.p(),
-                            this.c = this.B.c,
-                            this.N && (i[this.c++] << 24 | i[this.c++] << 16 | i[this.c++] << 8 | i[this.c++]) >>> 0 !== ee(t) && e(Error(P("0xf66"))),
-                            t
-                    }
-                    ;
-                var ie = 8;
-                function re(e, t) {
-                    this[P("0xf53")] = e,
-                        this.a = new (n ? Uint8Array : Array)(32768),
-                        this.h = ne.k;
-                    var i, r = {};
-                    for (i in (t || (t = {},
-                        0)) && P("0x49f") === w()(t.compressionType) && (this.h = t[P("0xf55")]),
-                        t)
-                        r[i] = t[i];
-                    r[P("0xf56")] = this.a,
-                        this.A = new d(this.input, r)
-                }
-                var ne = m;
-                function oe(e, t) {
-                    var i, n, o, a;
-                    if (Object[P("0xdcb")])
-                        i = Object[P("0xdcb")](t);
-                    else
-                        for (n in i = [],
-                            o = 0,
-                            t)
-                            i[o++] = n;
-                    for (o = 0,
-                        a = i[P("0x0")]; o < a; ++o)
-                        r(e + "." + (n = i[o]), t[n])
-                }
-                re[P("0x5")].j = function () {
-                    var t, i, r, o, a, s, x, l = 0;
-                    switch (x = this.a,
-                    t = ie) {
-                        case ie:
-                            i = Math[P("0xf67")] * Math[P("0x133")](32768) - 8;
-                            break;
-                        default:
-                            e(Error(P("0xf68")))
-                    }
-                    switch (r = i << 4 | t,
-                    x[l++] = r,
-                    t) {
-                        case ie:
-                            switch (this.h) {
-                                case ne.NONE:
-                                    a = 0;
-                                    break;
-                                case ne.r:
-                                    a = 1;
-                                    break;
-                                case ne.k:
-                                    a = 2;
-                                    break;
-                                default:
-                                    e(Error("unsupported compression type"))
-                            }
-                            break;
-                        default:
-                            e(Error(P("0xf68")))
-                    }
-                    return o = a << 6 | 0,
-                        x[l++] = o | 31 - (256 * r + o) % 31,
-                        s = ee(this.input),
-                        this.A.b = l,
-                        l = (x = this.A.j()).length,
-                        n && ((x = new Uint8Array(x[P("0x4b3")])).length <= l + 4 && (this.a = new Uint8Array(x[P("0x0")] + 4),
-                            this.a[P("0xf60")](x),
-                            x = this.a),
-                            x = x[P("0xaaf")](0, l + 4)),
-                        x[l++] = s >> 24 & 255,
-                        x[l++] = s >> 16 & 255,
-                        x[l++] = s >> 8 & 255,
-                        x[l++] = 255 & s,
-                        x
-                }
-                    ,
-                    r(P("0xf69"), te),
-                    r(P("0xf6a"), te.prototype.p),
-                    oe(P("0xf6b"), {
-                        ADAPTIVE: N,
-                        BLOCK: M
-                    }),
-                    r(P("0xf6c"), re),
-                    r(P("0xf6d"), (function (e, t) {
-                        return new re(e, t).j()
+                for (var u = 0; u < r[P("0x0")]; u++)
+                    for (r[u].entities[P("0x3d2")]((function(e, t) {
+                        return e[P("0xe64")] - t[P("0xe64")]
                     }
                     )),
-                    r(P("0xf6e"), re[P("0x5")].j),
-                    oe("Zlib.Deflate.CompressionType", {
-                        NONE: ne[P("0xe5d")],
-                        FIXED: ne.r,
-                        DYNAMIC: ne.k
+                    i = 0; i < r[u][P("0x194")][P("0x0")]; i++)
+                        if (r[u][P("0x194")][i].show)
+                            for (l = i + 1; l < r[u].entities[P("0x0")]; l++)
+                                r[u].entities[l][P("0x221")] && n(r[u][P("0x194")][i][P("0xe70")], r[u][P("0x194")][l][P("0xe70")]) && (r[u][P("0x194")][l][P("0x221")] = !1);
+                var h = [];
+                for (u = 0; u < r.length; u++)
+                    for (i = 0; i < r[u][P("0x194")][P("0x0")]; i++)
+                        r[u][P("0x194")][i][P("0x221")] && h[P("0x17c")](r[u][P("0x194")][i]);
+                for (i = 0; i < h[P("0x0")]; i++)
+                    if (h[i][P("0x221")])
+                        for (h[P("0x3d2")]((function(e, t) {
+                            return e.priority - t[P("0xe64")]
+                        }
+                        )),
+                        l = i + 1; l < h[P("0x0")]; l++)
+                            h[l].show && n(h[i][P("0xe70")], h[l][P("0xe70")]) && (h[l].show = !1)
+            }
+            ,
+            i[P("0x5")][P("0xe71")] = function() {
+                this[P("0x13b")].scene[P("0x7e")][P("0xe72")][P("0x130")](this[P("0xaf6")], this),
+                this.viewer.scene.camera[P("0xe73")][P("0x130")](this[P("0xaf7")], this)
+            }
+            ,
+            i[P("0x5")][P("0xe74")] = function() {
+                this[P("0x13b")][P("0x10f")][P("0x7e")][P("0xe72")][P("0x548")](this[P("0xaf6")], this),
+                this[P("0x13b")][P("0x10f")].camera[P("0xe73")][P("0x548")](this[P("0xaf7")], this)
+            }
+            ,
+            i.prototype[P("0x198")] = function() {
+                this[P("0xe24")] = [],
+                this[P("0xaf6")]()
+            }
+            ,
+            i[P("0x5")][P("0xf4")] = function() {
+                for (var e = 0; e < this[P("0x13b")][P("0x194")][P("0x190")][P("0x0")]; e++)
+                    !this.viewer[P("0x194")][P("0x190")][e].name || this.viewer.entities[P("0x190")][e][P("0x176")] !== this._UUID && this.viewer.entities.values[e].name !== this[P("0xe27")] || (this[P("0x13b")][P("0x194")].remove(this[P("0x13b")].entities[P("0x190")][e]),
+                    e--);
+                this[P("0x13b")][P("0x7e")].percentageChanged = .5,
+                this[P("0xe74")](),
+                this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")].destroy(),
+                this[P("0xe18")] = void 0,
+                this[P("0x13b")] = void 0,
+                this[P("0x6af")] = void 0,
+                this[P("0xe1c")] = void 0,
+                this[P("0xe1d")] = void 0,
+                this[P("0xe1e")] = void 0,
+                this.collisionPadding = void 0,
+                this.tileCache = void 0,
+                this.labelCache = void 0,
+                this[P("0xe24")] = void 0,
+                this[P("0xe39")] = void 0,
+                this[P("0xe75")] = void 0
+            }
+            ,
+            i[P("0x5")][P("0xe37")] = function(e, t) {
+                for (var i = !1, r = 0; r < e[P("0x0")]; r++) {
+                    for (var n = !1, o = 0; o < t.length; o++)
+                        if (e[r].x === t[o].x && e[r].y === t[o].y && e[r].level === t[o][P("0x968")]) {
+                            n = !0;
+                            break
+                        }
+                    if (!n) {
+                        i = !0;
+                        break
+                    }
+                }
+                return !i
+            }
+            ,
+            i.prototype[P("0xe69")] = function(e) {
+                var t = p()(e[P("0xe76")].label[P("0xe4e")]);
+                t = 0 < t ? t : 15;
+                for (var i = e[P("0xe76")].label[P("0x31b")][P("0x512")](0)[P("0x7f2")]("\n"), r = 0, n = i[P("0x0")], a = 0; a < i[P("0x0")]; a++) {
+                    var s = o(i[a]) / 2;
+                    r < s && (r = s)
+                }
+                var x = e[P("0xe76")][P("0xe5f")] ? e[P("0xe76")][P("0xe5f")][P("0x19a")][P("0x512")](0) * e[P("0xe76")][P("0xe5f")].scale[P("0x512")](0) : 1
+                  , l = e.entity[P("0xe5f")] ? e[P("0xe76")].billboard.height.getValue(0) * e.entity[P("0xe5f")][P("0xfc")][P("0x512")](0) : 1;
+                return {
+                    x: (e[P("0x2ec")] ? e[P("0x2ec")].x : -999) - x / 2 - this[P("0xe1f")][3],
+                    y: (e[P("0x2ec")] ? e.point.y : -999) - l / 2 - this[P("0xe1f")][0],
+                    width: t * e[P("0xe76")][P("0xe51")][P("0xfc")][P("0x512")](0) * r + e[P("0xe76")][P("0xe51")][P("0x3dc")][P("0x512")](0).x + x + this[P("0xe1f")][1],
+                    height: t * e[P("0xe76")][P("0xe51")].scale.getValue(0) * (n + .5 * (n - 1)) + e[P("0xe76")][P("0xe51")][P("0x3dc")][P("0x512")](0).y + l / 2 + this[P("0xe1f")][2]
+                }
+            }
+            ,
+            i[P("0x5")].CutString = function(e) {
+                if (!e)
+                    return "";
+                var t = e[P("0xaa9")];
+                return t <= 28 ? "" : e[P("0x1d5")](19, t - 9)
+            }
+            ,
+            i[P("0x5")].HexadecimalConversion = function(e) {
+                if (4278190080 === e)
+                    return "#000000";
+                var t = 4278190080 | p()(-Number(e));
+                if (e = "",
+                (t = t[P("0x531")](16)[P("0x987")](1))[P("0x0")] < 6)
+                    for (var i = 6 - t[P("0x0")], r = 0; r < i; r++)
+                        e += "0";
+                return "#" + e + t
+            }
+            ,
+            i[P("0x5")].getLabelVisibility = function(e) {
+                if (!e)
+                    return !1;
+                var t = this[P("0x13b")][P("0x48")].getBoundingClientRect();
+                return !(e.x < -10 || e.x > t[P("0x9b")] + 10 || e.y < -10 || e.y > t[P("0x9aa")] + 10)
+            }
+            ;
+            var o = function(e) {
+                for (var t = 0, i = 0; i < e[P("0x0")]; i++)
+                    null != e.charAt(i)[P("0x126")](/[^\x00-\xff]/gi) ? t += 2 : t += 1;
+                return t
+            }
+              , a = function(e) {
+                var t = {
+                    stringTable: [],
+                    pois: [],
+                    enumGeometryType: [{
+                        ePoint: 0
+                    }, {
+                        eMultiLineString: 1
+                    }, {
+                        ePolygon: 2
+                    }],
+                    enumZCoordType: [{
+                        eCloseGround: 0
+                    }, {
+                        eCloseSeaSurface: 1
+                    }, {
+                        eRelativelyGround: 2
+                    }, {
+                        eAbsolute: 3
+                    }]
+                }
+                  , i = function() {
+                    var e = P("0xe7a") + P("0xe7b") + P("0xe7c") + P("0xe7d") + P("0xe7e") + P("0xe7f") + P("0xe80") + P("0xe81") + P("0xe82") + P("0xe83") + P("0xe84") + P("0xe85") + P("0xe86") + P("0xe87") + P("0xe88") + P("0xe89") + P("0xe8a") + P("0xe8b") + P("0xe8c") + "};message StringTable {" + P("0xe8d") + "}" + P("0xe8e") + P("0xe8f") + "required int64 TileKey = 2;" + P("0xe90") + P("0xe91") + "};";
+                    if ("undefined" == typeof dcodeIO || !dcodeIO[P("0xe92")])
+                        throw new Error(P("0xe93"));
+                    return dcodeIO[P("0xe92")][P("0xe94")](e, "GEOPOI", P("0xe95"))[P("0xd22")](P("0xe96"))[P("0xe97")]
+                }()
+                  , r = function() {
+                    var e = P("0xe7a") + P("0xe7b") + P("0xe7c") + P("0xe7d") + P("0xe7e") + P("0xe7f") + "};" + P("0xe98") + P("0xe81") + P("0xe82") + P("0xe83") + P("0xe84") + P("0xe85") + P("0xe86") + "optional int32 SymbolID = 10  [default = 0];" + P("0xe88") + P("0xe89") + "optional uint32\tFontNameIndex=13 [default =0];" + P("0xe8b") + P("0xe8c") + P("0xe99") + "};" + P("0xe9a") + "repeated string s = 1;}" + P("0xe8e") + "required int64 Version = 1;" + P("0xe9b") + P("0xe90") + "repeated PBPOI POIS = 4;};";
+                    if ("undefined" == typeof dcodeIO || !dcodeIO[P("0xe92")])
+                        throw new Error("ProtoBuf.js is not present. Please see www/index.html for manual setup instructions.");
+                    return dcodeIO[P("0xe92")][P("0xe94")](e, P("0xe96"), P("0xe9c")).build(P("0xe96")).PBPOITile
+                }()
+                  , n = function() {
+                    var e = "option optimize_for = LITE_RUNTIME;" + P("0xe7b") + P("0xe7c") + "ePoint = 0;" + P("0xe7e") + P("0xe7f") + "};enum enumZCoordType {eCloseGround = 0;eCloseSeaSurface = 1;eRelativelyGround = 2;eAbsolute = 3;};message PBPOI{" + P("0xe82") + P("0xe83") + "repeated double Coordinates =3 [packed=true];" + P("0xe85") + P("0xe9d") + P("0xe9e") + P("0xe87") + P("0xe88") + P("0xe89") + P("0xe8a") + P("0xe8b") + P("0xe8c") + P("0xe99") + P("0xe9f") + P("0xea0") + "};" + P("0xe9a") + P("0xe8d") + "}message PBPOITile{" + P("0xe8f") + "required int64 TileKey = 2;" + P("0xe90") + P("0xe91") + "};";
+                    if (("undefined" == typeof dcodeIO ? "undefined" : w()(dcodeIO)) === P("0x2b6") || !dcodeIO[P("0xe92")])
+                        throw new Error(P("0xe93"));
+                    return dcodeIO[P("0xe92")][P("0xe94")](e, P("0xe96"), P("0xea1"))[P("0xd22")](P("0xe96"))[P("0xe97")]
+                }();
+                t[P("0xe4a")][P("0x0")] = 0;
+                var o, a = e;
+                try {
+                    o = n.decode(a)
+                } catch (e) {
+                    console[P("0x133")](e[P("0xa63")])
+                }
+                if (!o)
+                    try {
+                        o = r[P("0xea2")](a)
+                    } catch (e) {
+                        console.log(e[P("0xa63")]),
+                        o = i[P("0xea2")](a)
+                    }
+                t[P("0xea3")] = p()(o[P("0xea4")][P("0x531")]()),
+                t[P("0xea5")] = p()(o[P("0xea6")][P("0x531")]()),
+                t.stringTable = [];
+                for (var s = o.StringTable.s.length, x = 0; x < s; x++)
+                    t[P("0xe50")][P("0x17c")](o[P("0xea7")].s[x].toString());
+                return o[P("0xea8")][P("0x1e4")]((function(e) {
+                    var i = {};
+                    i[P("0xe2b")] = p()(e[P("0xea9")][P("0x531")]()) + "_" + t[P("0xea5")],
+                    i.name = e[P("0xe48")][P("0x531")](),
+                    i[P("0xe5e")] = p()(e[P("0xeaa")].toString()),
+                    i[P("0xe61")] = e[P("0xeab")],
+                    i[P("0xe57")] = e[P("0xeac")],
+                    i[P("0xead")] = e[P("0xeae")],
+                    i[P("0xeaf")] = e[P("0xeb0")],
+                    i[P("0xe56")] = e.FontColor,
+                    e[P("0xeb1")] && (i[P("0xeb2")] = e[P("0xeb1")]),
+                    i[P("0xeb3")] = e.GeometryType,
+                    i[P("0xe4d")] = e[P("0xeb4")],
+                    i[P("0xe64")] = w()(e.Priority) === P("0x2b6") ? null : e.Priority,
+                    i[P("0xeb5")] = w()(e[P("0xeb6")]) === P("0x2b6") ? null : e[P("0xeb6")],
+                    i[P("0xe53")] = w()(e.FontStyle) === P("0x2b6") ? null : e[P("0xeb7")],
+                    i.shiningSize = w()(e.ShiningSize) === P("0x2b6") ? null : e[P("0xeb8")],
+                    t[P("0xe4a")][P("0x17c")](i)
+                }
+                )),
+                t
+            };
+            e[P("0xeb9")] = i
+        }(window[P("0xfd")]),
+        function(e) {
+            var t = e.Measure = function(e) {
+                this[P("0x13b")] = e[P("0x13b")],
+                this[P("0x17d")] = this.viewer[P("0x10f")][P("0x17d")]
+            }
+            ;
+            t[P("0x5")][P("0x8e")] = function(t, i) {
+                if (t[P("0x2eb")]) {
+                    var r = t[P("0x2eb")][P("0x19f")].getValue();
+                    if (!(r[P("0x0")] <= 1)) {
+                        for (var n, o = 0, a = 0, s = new (e[P("0x282")]), x = 1; x < r[P("0x0")]; x++) {
+                            var l = e[P("0x13")].fromCartesian(r[x - 1])
+                              , c = e[P("0x13")][P("0x175")](r[x]);
+                            s.setEndPoints(l, c),
+                            o += Math[P("0x5f0")](s.surfaceDistance);
+                            var u = e.Cartographic.fromCartesian(r[x - 1])
+                              , h = e.Math[P("0x113")](u.longitude)
+                              , f = e[P("0x23")][P("0x113")](u[P("0x114")])
+                              , d = e[P("0x13")][P("0x175")](r[x])
+                              , g = e[P("0x23")][P("0x113")](d[P("0x112")])
+                              , p = e[P("0x23")][P("0x113")](d[P("0x114")])
+                              , m = turf.point([h, f])
+                              , b = turf[P("0x2ec")]([g, p]);
+                            a += turf[P("0x8e")](m, b)
+                        }
+                        return 2 == i ? n = o < 1e3 ? o[P("0x2af")](2) + "m" : (o / 1e3).toFixed(2) + "km" : 1 == i && (n = a < 1 ? (1e3 * a)[P("0x2af")](2) + "m" : a[P("0x2af")](2) + "km"),
+                        n
+                    }
+                }
+            }
+            ,
+            t[P("0x5")][P("0x2d9")] = function(t) {
+                if (t[P("0x2d4")]) {
+                    var i = t[P("0x2d4")][P("0xeba")].getValue().positions;
+                    if (!(i.length <= 2)) {
+                        for (var r = [], n = 0; n < i[P("0x0")]; n++) {
+                            var o = e[P("0x13")][P("0x175")](i[n])
+                              , a = e[P("0x23")][P("0x113")](o.longitude)
+                              , s = e.Math.toDegrees(o[P("0x114")]);
+                            r[P("0x17c")]([a, s])
+                        }
+                        r[P("0x17c")](r[0]);
+                        var x = turf[P("0x2d4")]([r])
+                          , l = turf[P("0x2d9")](x);
+                        return l < 1e6 ? l.toFixed(2) + "m虏" : (l / 1e6).toFixed(2) + P("0x2da")
+                    }
+                }
+            }
+            ,
+            t[P("0x5")].height = function(t) {
+                if (t[P("0x2eb")]) {
+                    var i = t[P("0x2eb")][P("0x19f")][P("0x512")]();
+                    if (2 == (i = [i[0], i[1]]).length) {
+                        for (var r = [], n = 0; n < i[P("0x0")]; n++) {
+                            var o = e[P("0x13")].fromCartesian(i[n])
+                              , a = e[P("0x23")][P("0x113")](o.longitude)
+                              , s = e[P("0x23")].toDegrees(o.latitude)
+                              , x = o.height;
+                            r[P("0x17c")](a),
+                            r.push(s),
+                            r.push(x)
+                        }
+                        r[2] >= r[5] ? (r.push(r[0]),
+                        r[P("0x17c")](r[1]),
+                        r[P("0x17c")](r[5])) : (r[P("0x17c")](r[3]),
+                        r[P("0x17c")](r[4]),
+                        r[P("0x17c")](r[2]));
+                        var l = {
+                            horizontalDistance: null,
+                            verticalHeight: null,
+                            spaceDistance: null
+                        }
+                          , c = 1e3 * turf[P("0x8e")](turf.point([r[0], r[1]]), turf[P("0x2ec")]([r[3], r[4]]));
+                        (h = [])[P("0x17c")]((r[0] + r[3]) / 2),
+                        h[P("0x17c")]((r[1] + r[4]) / 2),
+                        r[2] >= r[5] ? h.push(r[5]) : h[P("0x17c")](r[2]),
+                        c < 1e3 ? l.horizontalDistance = P("0x311") + c[P("0x2af")](2) + "m" : l[P("0xebb")] = P("0x311") + (c / 1e3)[P("0x2af")](2) + "km";
+                        var u = Math[P("0x78")](r[2] - r[5])
+                          , h = [];
+                        r[2] >= r[5] ? (h[P("0x17c")](r[0]),
+                        h.push(r[1])) : (h[P("0x17c")](r[3]),
+                        h[P("0x17c")](r[4])),
+                        h.push((r[2] + r[5]) / 2),
+                        l[P("0xebc")] = u < 1e3 ? P("0x312") + u[P("0x2af")](2) + "m" : "鍨傜洿楂樺害锛�" + (u / 1e3)[P("0x2af")](2) + "km";
+                        var f = Math[P("0xca")](Math[P("0x2ae")](c, 2) + Math[P("0x2ae")](u, 2));
+                        return (h = [])[P("0x17c")]((r[0] + r[3]) / 2),
+                        h[P("0x17c")]((r[1] + r[4]) / 2),
+                        h.push((r[2] + r[5]) / 2),
+                        f < 1e3 ? l.spaceDistance = P("0x313") + f.toFixed(2) + "m" : l[P("0xebd")] = P("0x313") + (f / 1e3)[P("0x2af")](2) + "km",
+                        l
+                    }
+                }
+            }
+            ,
+            t[P("0x5")].elevation = function(t) {
+                if (t[P("0x2ec")]) {
+                    var i = [t.position._value];
+                    if (1 == i[P("0x0")]) {
+                        var r = e[P("0x13")][P("0x175")](i[0])[P("0x8b")];
+                        P("0x30a"),
+                        r.toFixed(2),
+                        createResultLabel2(this.options, this.primitives, i)
+                    }
+                }
+            }
+        }(window.Cesium),
+        k = (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && "symbol" == w()(Symbol[P("0x1f3")]) ? function(e) {
+            return w()(e)
+        }
+        : function(e) {
+            return e && (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && e[P("0x2b7")] === A.a && e !== Symbol[P("0x5")] ? P("0x1f4") : w()(e)
+        }
+        ,
+        function(e) {
+            var t = e[P("0xebe")] = function(t) {
+                t = e[P("0x102")](t, e[P("0x102")][P("0x128")]),
+                this[P("0x13c")] = t[P("0x13b")],
+                this[P("0x68a")] = e[P("0x14")](t[P("0xa22")]) ? t[P("0xa22")] : new e.WebMercatorTilingScheme({
+                    ellipsoid: t[P("0xef")]
+                }),
+                this[P("0xebf")] = e[P("0x102")](t[P("0xec0")], 512),
+                this[P("0xec1")] = e[P("0x102")](t.tileHeight, 512),
+                this._readyPromise = e[P("0x9ee")].resolve(!0),
+                this[P("0xec2")] = new GeoOLMS.MVT,
+                this[P("0xa94")] = t[P("0xe18")],
+                this[P("0x6a8")] = t[P("0xa39")],
+                this._styleName = t[P("0xec3")],
+                this[P("0xec4")] = t.tileMatrixSetID,
+                this[P("0xec5")] = t.tileMatrixLabels,
+                this[P("0xa0f")] = P("0xec6"),
+                this._maximumLevel = t[P("0xec7")],
+                this._rectangle = e[P("0x102")](t[P("0x969")], this._tilingScheme[P("0x969")]),
+                this[P("0xec8")] = e[P("0x102")](t[P("0xec9")], 22),
+                this[P("0xeca")] = e[P("0x102")](t.symbolVisibility, P("0x2b4")),
+                this[P("0xecb")] = e[P("0x102")](t[P("0xecb")], !0),
+                this[P("0xecc")] = new (e[P("0x766")]),
+                this[P("0xecd")] = e[P("0x102")](t[P("0x4")], ""),
+                this._url = e[P("0x102")](t[P("0x6af")], P("0xece"));
+                var i = null;
+                this[P("0x68a")]instanceof e.WebMercatorTilingScheme ? i = [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244] : this[P("0x68a")]instanceof e[P("0x9d7")] && (i = [-180, -270, 180, 90]),
+                this._resolutions = GeoOLMS[P("0xecf")](i, 22, this._tileWidth)[P("0xed0")](),
+                this[P("0xed1")] = 1,
+                this[P("0xae5")] = [.125, 0, 0, .125, 0, 0],
+                this._replays = [P("0xed2"), P("0x5a5"), "Polygon", P("0x9e3"), P("0xed3")],
+                this._tileQueueForCanvas = new e.TileReplacementQueue,
+                this[P("0xed4")] = new (e[P("0xed5")]),
+                this[P("0xed6")] = 1e3,
+                this._styles = void 0,
+                this[P("0xb7f")] = this[P("0xed7")](),
+                this[P("0xed8")] = void 0,
+                this[P("0xed9")] = {},
+                this[P("0xeda")] = {},
+                this[P("0xedb")] = document.createElement(P("0x48")),
+                this[P("0xedb")].width = 512,
+                this[P("0xedb")][P("0x8b")] = 512,
+                P("0xedc")in window ? this[P("0xedd")] = !e.defined(t[P("0xede")]) || t.useWebWorker : (e[P("0x14")](t[P("0xede")]) && !0 === t.useWebWorker && console.warn(P("0xedf")),
+                this[P("0xedd")] = !1),
+                1 == this._useWebWorker && (this[P("0xeca")] = P("0x2b4")),
+                this[P("0xee0")] = function() {
+                    return []
+                }
+                ;
+                var n = this
+                  , o = this[P("0xee1")]();
+                if (r(o = this[P("0xa94")] ? this[P("0xa94")].getURL(o) : o, !1, (function(i) {
+                    if (i) {
+                        if (!i[P("0xee2")]) {
+                            for (var r = "mysourceid", o = 0; o < i[P("0xee3")][P("0x0")]; o++)
+                                i[P("0xee3")][o][P("0xac2")] = r;
+                            i[P("0xee2")] = {},
+                            i[P("0xee2")][r] = {
+                                type: P("0xee4"),
+                                url: t[P("0x6af")]
+                            }
+                        }
+                        if ((n[P("0xee5")] = i)[P("0xee6")] && (n._spriteUrl = n[P("0xa94")] ? n[P("0xa94")][P("0xa95")](i[P("0xee6")]) : i[P("0xee6")]),
+                        "none" === n[P("0xeca")]) {
+                            var a = [];
+                            for (o = 0; o < n[P("0xee5")][P("0xee3")][P("0x0")]; o++)
+                                n[P("0xee5")][P("0xee3")][o][P("0x165")] !== P("0x1f4") && a.push(n[P("0xee5")][P("0xee3")][o]);
+                            n._styles[P("0xee3")] = a,
+                            n[P("0xed8")] = void 0
+                        }
+                        !1 === n[P("0xedd")] && (n[P("0xed8")] ? (Number(e.VERSION) < 1.42 ? e[P("0xee7")](n[P("0xed8")] + P("0xee8")) : e[P("0x6da")][P("0xee9")](n[P("0xed8")] + ".json")).then((function(e) {
+                            n.spriteData = e,
+                            n[P("0xee0")] = GeoOLMS[P("0xeea")](i, Object[P("0xdcb")](i.sources), n[P("0x9c9")], e, n[P("0xed8")] + P("0xeeb"))
+                        }
+                        )) : (n[P("0xeec")] = void 0,
+                        n.styleFunc = GeoOLMS[P("0xeea")](i, Object[P("0xdcb")](i[P("0xee2")]), n[P("0x9c9")])))
+                    }
+                }
+                )),
+                !0 === n._useWebWorker) {
+                    var a = function() {
+                        for (var e = P("0xf44"), t = "", i = new RegExp(P("0x121") + e + P("0x122")), r = document[P("0x123")](P("0x124")), n = 0, o = r[P("0x0")]; n < o; n++) {
+                            var a = r[n][P("0x21c")](P("0x125"));
+                            if (a) {
+                                var s = a[P("0x126")](i);
+                                if (s) {
+                                    t = s[0];
+                                    break
+                                }
+                            }
+                        }
+                        return t
+                    }();
+                    this._olmsUrl = e.buildModuleUrl(a),
+                    this._count = 0,
+                    this[P("0x9fc")] = new (e[P("0x766")]),
+                    this[P("0x9fc")][P("0x130")]((function(e) {
+                        2 < n[P("0x13c")][P("0x10f")][P("0xa3")][P("0xa2e")]._tilesToRender[P("0x0")] && (e[P("0xeed")] = !0)
+                    }
+                    )),
+                    this.bindEvent(),
+                    this[P("0xeee")]()
+                }
+            }
+            ;
+            function i() {
+                o(this[P("0xeef")], 0),
+                this[P("0x13c")][P("0x10f")][P("0xa3")][P("0xa2e")][P("0xef0")]((function(t) {
+                    for (var i = t[P("0x440")][P("0xef1")], r = 0; r < i[P("0x0")]; r++) {
+                        var n = i[r];
+                        (e.defined(n[P("0xef2")]) ? n[P("0xef2")] : n.readyImagery)[P("0xef3")]._imageryProvider instanceof e[P("0xebe")] && (t.state = e[P("0xef4")][P("0xef5")],
+                        e[P("0x14")](n.loadingImagery) || (n[P("0xef2")] = n[P("0xef6")],
+                        n[P("0xef2")][P("0xef7")]()),
+                        n.loadingImagery[P("0xdb3")] = e[P("0xef8")].UNLOADED)
+                    }
+                }
+                ))
+            }
+            function r(e, t, i) {
+                var r = new XMLHttpRequest;
+                r[P("0xaa0")]("GET", e, t),
+                r[P("0xef9")]("Accept", "application/json"),
+                r[P("0xad0")] = function() {
+                    i(null)
+                }
+                ,
+                r[P("0xad2")] = function() {
+                    if (200 <= r[P("0xaa7")] && r.status < 300 && r.response) {
+                        var e;
+                        try {
+                            e = JSON[P("0x946")](r[P("0xaa8")])
+                        } catch (e) {}
+                        i(e)
+                    } else
+                        i(null)
+                }
+                ,
+                r[P("0xe45")]()
+            }
+            function n(e, t, i, r) {
+                for (var n = r[P("0xefb")]; null != n && (n.xMvt != e || n[P("0xefc")] != t || n[P("0xefd")] != i); )
+                    n = n[P("0xefe")];
+                return n
+            }
+            function o(t, i) {
+                for (var r, n, o, a, s = t[P("0xf01")]; t[P("0x1a9")] > i && e[P("0x14")](s); ) {
+                    var x = s[P("0xf00")];
+                    r = t,
+                    a = o = void 0,
+                    o = (n = s).replacementPrevious,
+                    a = n[P("0xefe")],
+                    n === r[P("0xeff")] && (r._lastBeforeStartOfFrame = a),
+                    n === r.head ? r[P("0xefb")] = a : o.replacementNext = a,
+                    n === r.tail ? r.tail = o : a[P("0xf00")] = o,
+                    n[P("0xf00")] = void 0,
+                    n[P("0xefe")] = void 0,
+                    --r.count,
+                    s = null,
+                    s = x
+                }
+            }
+            e[P("0xf")](t[P("0x5")], {
+                url: {
+                    get: function() {
+                        return this._url
+                    }
+                },
+                proxy: {
+                    get: function() {
+                        return this[P("0xa94")]
+                    }
+                },
+                tileWidth: {
+                    get: function() {
+                        return this[P("0xebf")]
+                    }
+                },
+                tileHeight: {
+                    get: function() {
+                        return this._tileHeight
+                    }
+                },
+                maximumLevel: {
+                    get: function() {
+                        return this._maximumLevel
+                    }
+                },
+                minimumLevel: {
+                    get: function() {
+                        return 0
+                    }
+                },
+                sourceMaxzoom: {
+                    get: function() {
+                        return this[P("0xec8")]
+                    }
+                },
+                tilingScheme: {
+                    get: function() {
+                        return this._tilingScheme
+                    }
+                },
+                rectangle: {
+                    get: function() {
+                        return this[P("0x689")]
+                    }
+                },
+                tileDiscardPolicy: {
+                    get: function() {}
+                },
+                errorEvent: {
+                    get: function() {
+                        return this._errorEvent
+                    }
+                },
+                ready: {
+                    get: function() {
+                        return !0
+                    }
+                },
+                readyPromise: {
+                    get: function() {
+                        return this[P("0xa82")]
+                    }
+                },
+                credit: {
+                    get: function() {}
+                },
+                hasAlphaChannel: {
+                    get: function() {
+                        return !0
+                    }
+                },
+                styles: {
+                    get: function() {
+                        return this._styles
+                    }
+                },
+                pickedEvent: {
+                    get: function() {
+                        return this[P("0xecc")]
+                    }
+                },
+                useWebWorker: {
+                    get: function() {
+                        return this[P("0xedd")]
+                    }
+                },
+                symbolVisibility: {
+                    get: function() {
+                        return this._symbolVisibility
+                    }
+                }
+            }),
+            t[P("0x5")][P("0xefa")] = function(e, t, i) {}
+            ,
+            t[P("0x5")][P("0xeee")] = function() {
+                var e = P("0xf02") + this[P("0xec8")] + P("0xf03") + this[P("0x9c9")] + P("0xf04") + this[P("0xf05")] + P("0xf06") + this[P("0xebf")] + P("0xf07") + this._tileHeight + P("0xf08")
+                  , t = new Blob([e],{
+                    type: P("0xf09")
+                })
+                  , i = URL[P("0xf0a")](t);
+                this[P("0xf0b")] = [];
+                for (var r = this.currentActor = 0; r < 4; r++) {
+                    var n = new Worker(i)
+                      , o = new a(n,this,1);
+                    o[P("0x176")] = P("0xf0c") + r,
+                    this[P("0xf0b")].push(o)
+                }
+                var s = {
+                    style: JSON[P("0xf0d")](this[P("0xee5")]),
+                    spriteUrl: this._spriteUrl
+                };
+                for (r = 0; r < this[P("0xf0b")].length; r++)
+                    this[P("0xf0b")][r][P("0xe45")](P("0xf0e"), s);
+                URL[P("0xf0f")](i)
+            }
+            ;
+            var a = function(e, t, i) {
+                var r, n;
+                this[P("0xf11")] = e,
+                this[P("0xf12")] = t,
+                this[P("0xf13")] = i,
+                this.callbacks = {},
+                this[P("0xf14")] = 0,
+                r = [P("0xf15")],
+                n = this,
+                r[P("0x1e4")]((function(e) {
+                    n[e] && (n[e] = n[e][P("0xf10")](n))
+                }
+                )),
+                this[P("0xf11")].addEventListener(P("0xa63"), this.receive, !1)
+            };
+            function s(e, r) {
+                if (e[P("0x165")] === P("0xf17")) {
+                    var a = (d = JSON[P("0x946")](e[P("0x4")]))[0]
+                      , x = d[1]
+                      , c = d[2];
+                    if (e[P("0xf20")])
+                        (u = document.createElement("canvas")).width = 512,
+                        u[P("0x8b")] = 512,
+                        u[P("0x476")](P("0xf21"))[P("0xf22")](e[P("0xf20")]),
+                        this[P("0xed9")][e[P("0x4")]].resolve(u),
+                        e[P("0x33a")] && (this[P("0xed4")].count > this[P("0xed6")] && o(this[P("0xed4")], this[P("0xed6")] / 4),
+                        (g = e[P("0x33a")]).xMvt = a,
+                        g[P("0xefc")] = x,
+                        g[P("0xefd")] = c,
+                        this[P("0xed4")].markTileRendered(g));
+                    else {
+                        var u = new String("bad request");
+                        this[P("0xed9")][e.key].resolve(this.blankCanvas)
+                    }
+                    for (var h in this[P("0xeef")][P("0x1a9")] > this[P("0xed6")] && o(this[P("0xeef")], this[P("0xed6")] / 4),
+                    u.xMvt = a,
+                    u[P("0xefc")] = x,
+                    u.zMvt = c,
+                    this[P("0xeef")].markTileRendered(u),
+                    this[P("0xed9")][e[P("0x4")]].state = t[P("0xf19")][P("0xf23")],
+                    delete this.deferCache[e[P("0x4")]],
+                    this[P("0xeda")]) {
+                        var f = this[P("0xed9")][h];
+                        if (f && (f[P("0xdb3")] === t[P("0xf19")][P("0xf1d")] || f.state === t[P("0xf19")].RELOADED)) {
+                            var d, g;
+                            e = (g = n(a = (d = JSON[P("0x946")](h))[0], x = d[1], c = d[2], this[P("0xed4")])) ? {
+                                key: h,
+                                data: g
+                            } : {
+                                key: h,
+                                data: l[P("0xfa")](this, a, x, c)[P("0x33a")]
+                            },
+                            r[P("0xe45")](P("0xf17"), e, s[P("0xf10")](this)),
+                            delete this.messageCache[h],
+                            f.state = t[P("0xf19")][P("0xef5")];
+                            break
+                        }
+                    }
+                } else if (e.type === P("0xf24") || e[P("0x165")] === P("0x9c2") || "setStyle" === e.type) {
+                    var p = this;
+                    this[P("0x6c9")]++,
+                    4 === this[P("0x6c9")] && (this[P("0x6c9")] = 0,
+                    i[P("0xfa")](this),
+                    setTimeout((function() {
+                        p[P("0xaf6")]()
+                    }
+                    ), 200))
+                }
+            }
+            function l(t, i, r) {
+                for (var o = null, a = null, s = t, x = i, l = r; l > this._sourceMaxzoom && (o = n(s = s / 2 | 0, x = x / 2 | 0, --l, this._tileQueueForFeatures),
+                !e.defined(o)); )
+                    ;
+                if (e[P("0x14")](o))
+                    a = {
+                        features: o,
+                        x: s,
+                        y: x,
+                        z: l
+                    };
+                else {
+                    var c = this[P("0xb7f")][P("0xa1c")](P("0xe3f"), s).replace(P("0xf1b"), x)[P("0xa1c")](P("0xe3e"), l).replace(P("0xf1c"), this[P("0xecd")]);
+                    a = {
+                        features: c = this[P("0xa94")] ? this[P("0xa94")][P("0xa95")](c) : c,
+                        x: s,
+                        y: x,
+                        z: l
+                    }
+                }
+                return a
+            }
+            function u(e, t, i) {
+                var r = JSON[P("0x946")](t)
+                  , n = r[0]
+                  , o = r[1]
+                  , a = r[2];
+                if (i < a) {
+                    var s = [0, 0, 4096, 4096]
+                      , x = a - i
+                      , l = n - (n >> x << x)
+                      , c = o - (o >> x << x)
+                      , u = (s[2] - s[0]) / (1 << x)
+                      , h = [s[0] + l * u, s[1] + c * u, s[0] + (1 + l) * u, s[1] + (1 + c) * u];
+                    e[P("0xf2c")] = h
+                }
+                return e
+            }
+            function h(e, t, i) {
+                for (var r = !1, n = 2; n < i[P("0x0")]; n += 2) {
+                    var o = i[n - 2]
+                      , a = i[n - 1]
+                      , s = i[n]
+                      , x = i[n + 1];
+                    t < a != t < x && e < (s - o) * (t - a) / (x - a) + o && (r = !r)
+                }
+                return r
+            }
+            function f(e, t, i, r) {
+                for (var n = 0, o = 0, a = 0, s = 2, x = i[P("0x0")]; s < x; s += 2) {
+                    var l = i[s - 2]
+                      , c = i[s - 1]
+                      , u = i[s]
+                      , h = i[s + 1];
+                    if (d(e, t, l, c, u, h) && (a = u - l,
+                    0 == (o = c - h) && 0 === a ? n = (e - l) * (e - l) + (t - c) * (t - c) : (n = o * e + a * t - (o * l + a * c),
+                    n *= n,
+                    n /= o * o + a * a),
+                    n <= r))
+                        return !0
+                }
+                return !1
+            }
+            function d(e, t, i, r, n, o) {
+                if (i === n && r === o)
+                    return !0;
+                var a = (e - i) * (e - i) + (t - r) * (t - r)
+                  , s = (e - n) * (e - n) + (t - o) * (t - o)
+                  , x = (n - i) * (n - i) + (o - r) * (o - r);
+                return !(s + x < a || a + x < s)
+            }
+            a[P("0x5")][P("0xe45")] = function(e, t, i, r) {
+                var n = i ? this[P("0xf13")] + ":" + this[P("0xf14")]++ : null;
+                if (i && (this[P("0xf16")][n] = i),
+                e === P("0xf17")) {
+                    if (w()(t[P("0x440")]) === P("0x9fe"))
+                        this[P("0xf11")][P("0xa70")]({
+                            type: e,
+                            id: String(n),
+                            key: t[P("0x4")],
+                            data: t[P("0x440")]
+                        });
+                    else if (t[P("0x440")]instanceof ArrayBuffer) {
+                        var o = t[P("0x440")][P("0x1d5")](0);
+                        this[P("0xf11")][P("0xa70")]({
+                            type: e,
+                            id: String(n),
+                            key: t.key,
+                            data: o
+                        }, [o])
+                    }
+                } else
+                    e === P("0xf0e") ? this[P("0xf11")].postMessage({
+                        type: e,
+                        id: String(n),
+                        style: t[P("0x150")],
+                        spriteUrl: t[P("0xf18")]
+                    }) : "setPaintProperty" !== e && e !== P("0x9c2") || this[P("0xf11")][P("0xa70")]({
+                        type: e,
+                        id: String(n),
+                        style: t.style
                     })
             }
-            )[P("0xfa")](window);
-            r(237)
+            ,
+            a[P("0x5")][P("0xf15")] = function(e) {
+                var t, i = e[P("0x440")], r = i.id;
+                t = this.callbacks[r],
+                delete this[P("0xf16")][r],
+                t && t(i, this)
+            }
+            ,
+            t[P("0xf19")] = {
+                UNLOADED: 0,
+                LOADING: 1,
+                DONE: 2,
+                RELOADED: 3
+            },
+            t[P("0x5")].bindEvent = function() {
+                this[P("0x13c")].scene[P("0x7e")][P("0xe72")][P("0x130")](this[P("0xaf6")], this)
+            }
+            ,
+            t[P("0x5")][P("0xaf6")] = function() {
+                this[P("0xeda")] = {};
+                var i = this[P("0x13c")][P("0x10f")][P("0xa3")]._surface[P("0xe35")];
+                if (2 < i[P("0x0")]) {
+                    for (var r = 0; r < i[P("0x0")]; r++)
+                        for (var o = i[r][P("0x440")][P("0xef1")], a = 0; a < o.length; a++) {
+                            var c = o[a].loadingImagery;
+                            if (o[a].readyImagery,
+                            c && c[P("0xef3")][P("0xf1a")]instanceof e[P("0xebe")]) {
+                                var u = c.x
+                                  , h = c.y
+                                  , f = e[P("0x14")](this._tileMatrixLabels) ? p()(this[P("0xec5")][c[P("0x968")]]) : c[P("0x968")]
+                                  , d = x()([u, h, f])
+                                  , g = this._requestUrl.replace(P("0xe3f"), u)[P("0xa1c")](P("0xf1b"), h)[P("0xa1c")](P("0xe3e"), f).replace(P("0xf1c"), this[P("0xecd")]);
+                                g = this[P("0xa94")] ? this._proxy[P("0xa95")](g) : g,
+                                this.messageCache[d] || (this.messageCache[d] = g)
+                            }
+                        }
+                    var m = 0;
+                    for (var d in this.messageCache)
+                        if ((A = this[P("0xed9")][d]) && (A[P("0xdb3")] === t[P("0xf19")][P("0xf1d")] || A[P("0xdb3")] === t.DefferState.RELOADED)) {
+                            var b, v = JSON.parse(d), C = n(u = v[0], h = v[1], f = v[2], this._tileQueueForFeatures);
+                            b = C ? {
+                                key: d,
+                                data: C
+                            } : {
+                                key: d,
+                                data: l[P("0xfa")](this, u, h, f)[P("0x33a")]
+                            };
+                            var y = this[P("0xf1e")] = (this[P("0xf1e")] + 1) % this.actors[P("0x0")];
+                            if (this[P("0xf0b")][y].send(P("0xf17"), b, s[P("0xf10")](this)),
+                            delete this[P("0xeda")][d],
+                            A.state = t[P("0xf19")][P("0xef5")],
+                            ++m === this[P("0xf0b")][P("0x0")])
+                                break
+                        }
+                    for (var d in this[P("0xed9")]) {
+                        var _ = this[P("0xeda")][d]
+                          , A = this[P("0xed9")][d];
+                        _ || A[P("0xdb3")] !== t[P("0xf19")][P("0xf1d")] && A[P("0xdb3")] !== t[P("0xf19")][P("0xf1f")] || (A[P("0xa3d")](),
+                        A[P("0xdb3")] = t[P("0xf19")][P("0xf1f")])
+                    }
+                }
+            }
+            ,
+            t[P("0x5")].requestImage = function(i, r, a, c) {
+                var h, f = this, d = e[P("0x9ee")][P("0x9ef")](), g = this[P("0xec5")], m = e.defined(g) ? p()(g[a]) : a;
+                if (!0 === this[P("0xedd")])
+                    if (h = n(i, r, m, this._tileQueueForCanvas))
+                        h instanceof HTMLCanvasElement ? d[P("0x9f8")](h) : h == P("0xf25") && d[P("0x9f8")](this[P("0xedb")]);
+                    else {
+                        var b = JSON[P("0xf0d")]([i, r, m])
+                          , v = this[P("0xb7f")][P("0xa1c")]("{x}", i)[P("0xa1c")](P("0xf1b"), r)[P("0xa1c")](P("0xe3e"), m)[P("0xa1c")](P("0xf1c"), this[P("0xecd")]);
+                        if (v = this[P("0xa94")] ? this._proxy[P("0xa95")](v) : v,
+                        (this[P("0xed9")][b] = d)[P("0xdb3")] = t[P("0xf19")][P("0xf1d")],
+                        this[P("0x13c")][P("0x10f")][P("0xa3")][P("0xa2e")][P("0xe35")].length < 3) {
+                            var C = this[P("0xf1e")] = (this.currentActor + 1) % this[P("0xf0b")].length;
+                            this.actors[C][P("0xe45")](P("0xf17"), {
+                                key: b,
+                                data: v
+                            }, s.bind(this))
+                        }
+                    }
+                else if (h = n(i, r, m, this._tileQueueForCanvas))
+                    h instanceof HTMLCanvasElement ? d[P("0x9f8")](h) : h == P("0xf25") && d[P("0x9f8")](this[P("0xedb")]);
+                else {
+                    b = x()([i, r, m]);
+                    var y = n(i, r, m, this[P("0xed4")]);
+                    if (e[P("0x14")](y)) {
+                        var _ = u(this._mvtParser[P("0xf26")](y), b, this[P("0xec8")])
+                          , A = this[P("0xf27")](_, i, r, m);
+                        d.resolve(A)
+                    } else {
+                        var I = l[P("0xfa")](this, i, r, m).features;
+                        w()(I) === P("0x9fe") ? (Number(e[P("0x373")]) < 1.42 ? e[P("0xf28")](I) : e[P("0x6da")][P("0xa5e")](I))[P("0x333")]((function(e) {
+                            f[P("0xed4")][P("0x1a9")] > f[P("0xed6")] && o(f[P("0xed4")], f._cacheSize / 4),
+                            e[P("0xf29")] = i,
+                            e[P("0xefc")] = r,
+                            e[P("0xefd")] = m,
+                            f._tileQueueForFeatures[P("0xf2a")](e);
+                            var t = u(f[P("0xec2")][P("0xf26")](e), b, f[P("0xec8")])
+                              , n = f[P("0xf27")](t, i, r, m);
+                            d.resolve(n)
+                        }
+                        )) : I instanceof ArrayBuffer && (this[P("0xed4")][P("0x1a9")] > this[P("0xed6")] && o(this[P("0xed4")], this[P("0xed6")] / 4),
+                        I[P("0xf29")] = i,
+                        I[P("0xefc")] = r,
+                        I[P("0xefd")] = m,
+                        this[P("0xed4")][P("0xf2a")](I),
+                        _ = u(this._mvtParser[P("0xf26")](I), b, this[P("0xec8")]),
+                        A = this.renderCanvas(_, i, r, m),
+                        d.resolve(A))
+                    }
+                }
+                return d[P("0xa90")]
+            }
+            ,
+            t[P("0x5")].renderCanvas = function(t, i, r, n) {
+                var a = GeoOLMS[P("0xf2b")](9, void 0)
+                  , s = document.createElement(P("0x48"));
+                s[P("0x19a")] = 512,
+                s.height = 512;
+                for (var x = s.getContext("2d"), l = this.styleFunc, c = e[P("0x14")](t[P("0xf2c")]) ? t.rect : [0, 0, 4096, 4096], u = new GeoOLMS.ReplayGroup(0,c,8,window[P("0xf2d")],!0,a,100), h = 0; h < t[P("0x0")]; h++)
+                    for (var f = t[h], d = l(t[h], n) || [], g = 0; g < d[P("0x0")]; g++)
+                        GeoOLMS[P("0xf2e")](u, f, d[g], 16);
+                u[P("0xf2f")]();
+                var p = {}
+                  , m = [this[P("0xebf")] / (c[2] - c[0]), 0, 0, this._tileHeight / (c[3] - c[1]), -512 * c[0] / (c[2] - c[0]), -512 * c[1] / (c[3] - c[1])];
+                return u[P("0xf30")](x, m, 0, {}, !0, this[P("0xf31")], p),
+                GeoOLMS.replayDeclutter(p, x, 0, !0),
+                u = null,
+                this[P("0xeef")][P("0x1a9")] > this._cacheSize && o(this._tileQueueForCanvas, this[P("0xed6")] / 4),
+                s[P("0xf29")] = i,
+                s.yMvt = r,
+                s[P("0xefd")] = n,
+                this[P("0xeef")].markTileRendered(s),
+                s
+            }
+            ,
+            t.prototype[P("0xf24")] = function(e, t, r) {
+                for (var n = this._styles, o = 0; o < n.layers[P("0x0")]; o++)
+                    if (n[P("0xee3")][o].id === e) {
+                        n.layers[o].paint[t] = r;
+                        break
+                    }
+                if (!0 === this._useWebWorker) {
+                    this[P("0xeda")] = {};
+                    var a = {
+                        style: x()(this[P("0xee5")])
+                    };
+                    for (o = 0; o < this[P("0xf0b")][P("0x0")]; o++)
+                        this.actors[o][P("0xe45")](P("0xf24"), a, s.bind(this))
+                } else
+                    this.styleFunc = GeoOLMS[P("0xeea")](n, c()(n.sources), this[P("0x9c9")], this[P("0xeec")], this[P("0xed8")] ? this[P("0xed8")] + P("0xeeb") : this[P("0xed8")]),
+                    i[P("0xfa")](this)
+            }
+            ,
+            t[P("0x5")][P("0x9c2")] = function(e, t, r) {
+                for (var n = this[P("0xee5")], o = 0; o < n.layers[P("0x0")]; o++)
+                    if (n[P("0xee3")][o].id === e) {
+                        n.layers[o][P("0x9a7")][t] = r;
+                        break
+                    }
+                if (!0 === this._useWebWorker) {
+                    this[P("0xeda")] = {};
+                    var a = {
+                        style: JSON[P("0xf0d")](this[P("0xee5")])
+                    };
+                    for (o = 0; o < this[P("0xf0b")][P("0x0")]; o++)
+                        this[P("0xf0b")][o][P("0xe45")]("setPaintProperty", a, s.bind(this))
+                } else
+                    this.styleFunc = GeoOLMS[P("0xeea")](n, Object[P("0xdcb")](n.sources), this[P("0x9c9")], this[P("0xeec")], this[P("0xed8")] ? this._spriteUrl + ".png" : this[P("0xed8")]),
+                    i[P("0xfa")](this)
+            }
+            ,
+            t[P("0x5")][P("0xf0e")] = function(e) {
+                var t = this;
+                if (w()(e) === P("0x9fe"))
+                    r(this[P("0xa94")] ? this[P("0xa94")].getURL(e) : e, !0, (function(n) {
+                        if (!n[P("0xee2")]) {
+                            for (var o = P("0xf32"), a = 0; a < n[P("0xee3")][P("0x0")]; a++)
+                                n[P("0xee3")][a][P("0xac2")] = o;
+                            n[P("0xee2")] = {};
+                            var l = e.split("?");
+                            n[P("0xee2")][o] = {
+                                type: "vector",
+                                url: l[0]
+                            }
+                        }
+                        if ((t[P("0xee5")] = n)[P("0xee6")] && (t[P("0xed8")] = t[P("0xa94")] ? t[P("0xa94")][P("0xa95")](n[P("0xee6")]) : n[P("0xee6")]),
+                        "none" === t[P("0xeca")]) {
+                            var c = [];
+                            for (a = 0; a < t._styles[P("0xee3")].length; a++)
+                                t[P("0xee5")][P("0xee3")][a].type !== P("0x1f4") && c.push(t[P("0xee5")][P("0xee3")][a]);
+                            t[P("0xee5")].layers = c,
+                            t[P("0xed8")] = void 0
+                        }
+                        if (!0 === t[P("0xedd")]) {
+                            var u = {
+                                style: x()(t[P("0xee5")]),
+                                spriteUrl: t._spriteUrl
+                            };
+                            for (a = 0; a < t[P("0xf0b")].length; a++)
+                                t[P("0xf0b")][a][P("0xe45")](P("0xf0e"), u, s[P("0xf10")](t))
+                        } else
+                            t[P("0xed8")] ? r(t._spriteUrl + ".json", !0, (function(e) {
+                                t[P("0xeec")] = e,
+                                t[P("0xee0")] = GeoOLMS[P("0xeea")](n, Object[P("0xdcb")](n[P("0xee2")]), t[P("0x9c9")], e, t[P("0xed8")] + P("0xeeb")),
+                                i[P("0xfa")](t)
+                            }
+                            )) : (t[P("0xeec")] = void 0,
+                            t.styleFunc = GeoOLMS[P("0xeea")](n, Object[P("0xdcb")](n.sources), t._resolutions),
+                            i[P("0xfa")](t))
+                    }
+                    ));
+                else {
+                    if (8 != (this[P("0xee5")] = e)[P("0xea3")])
+                        return void console[P("0x391")](P("0xf33"));
+                    if (!e.sources)
+                        return void console[P("0x391")](P("0xf34"));
+                    if (e.sprite && (this[P("0xed8")] = this[P("0xa94")] ? this[P("0xa94")][P("0xa95")](e[P("0xee6")]) : e.sprite),
+                    this[P("0xeca")] === P("0x2b4")) {
+                        for (var n = [], o = 0; o < this._styles[P("0xee3")][P("0x0")]; o++)
+                            this[P("0xee5")].layers[o][P("0x165")] !== P("0x1f4") && n.push(this._styles[P("0xee3")][o]);
+                        this[P("0xee5")].layers = n,
+                        this[P("0xed8")] = void 0
+                    }
+                    if (!0 === this[P("0xedd")]) {
+                        var a = {
+                            style: x()(this[P("0xee5")]),
+                            spriteUrl: this[P("0xed8")]
+                        };
+                        for (o = 0; o < this[P("0xf0b")][P("0x0")]; o++)
+                            this[P("0xf0b")][o][P("0xe45")](P("0xf0e"), a, s[P("0xf10")](this))
+                    } else
+                        this[P("0xed8")] ? r(this[P("0xed8")] + P("0xee8"), !0, (function(e) {
+                            t[P("0xeec")] = e,
+                            t[P("0xee0")] = GeoOLMS[P("0xeea")](glStyle, Object[P("0xdcb")](glStyle[P("0xee2")]), t._resolutions, e, t[P("0xed8")] + P("0xeeb")),
+                            i[P("0xfa")](t)
+                        }
+                        )) : (this[P("0xeec")] = void 0,
+                        this.styleFunc = GeoOLMS[P("0xeea")](glStyle, c()(glStyle.sources), this[P("0x9c9")]),
+                        i.call(this))
+                }
+            }
+            ,
+            t[P("0x5")].pickFeatures = function(t, i, r, o, a) {
+                if (this.enablePickFeatures) {
+                    var s = this[P("0xec5")]
+                      , x = e[P("0x14")](s) ? p()(s[r]) : r
+                      , l = n(t, i, x, this[P("0xed4")]);
+                    if (l) {
+                        var c = null
+                          , u = null
+                          , d = null;
+                        if (this[P("0x68a")]instanceof e.WebMercatorTilingScheme) {
+                            c = [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244];
+                            var g = this[P("0x68a")][P("0xf35")][P("0x5a")](new (e[P("0x13")])(o,a,0));
+                            u = g.x,
+                            d = g.y
+                        } else
+                            this[P("0x68a")]instanceof e.GeographicTilingScheme && (c = [-180, -270, 180, 90],
+                            u = e[P("0x23")][P("0x113")](o),
+                            d = e[P("0x23")][P("0x113")](a));
+                        for (var m = this[P("0xec2")][P("0xf26")](l), b = x > this._sourceMaxzoom ? this[P("0xec8")] : x, v = (u - c[0]) / (c[2] - c[0]) * Math[P("0x2ae")](2, b), C = (c[3] - d) / (c[3] - c[1]) * Math[P("0x2ae")](2, b), y = 4096 * (v - Math[P("0x3e8")](v)), _ = 4096 * (C - Math[P("0x3e8")](C)), A = [], I = [], w = 0; w < m[P("0x0")]; w++)
+                            for (var G = (R = m[w])[P("0xf36")], E = R[P("0xf37")], S = 0, T = 0; T < E.length; S = E[T],
+                            T++)
+                                if (G === P("0xad5") || G === P("0xf38")) {
+                                    if (h(y, _, R[P("0xf39")][P("0x1d5")](S, E[T]))) {
+                                        A[P("0x17c")](R);
+                                        break
+                                    }
+                                } else if (G === P("0x9e3") || G === P("0xf3a")) {
+                                    var M = 4096;
+                                    e[P("0x14")](m.rect) && (M = m[P("0xf2c")][2] - m[P("0xf2c")][0]);
+                                    var N = 4 * M / 512;
+                                    if (f(y, _, R[P("0xf39")][P("0x1d5")](S, E[T]), N * N)) {
+                                        A[P("0x17c")](R);
+                                        break
+                                    }
+                                }
+                        A.reverse();
+                        for (var L = 0; L < A.length; L++) {
+                            var R = A[L]
+                              , O = this[P("0xf3b")](R, Math[P("0x3e8")](v), Math.floor(C), b)
+                              , F = {
+                                type: P("0x344"),
+                                id: R[P("0xf3c")],
+                                properties: R[P("0xf3d")],
+                                geometry: O[P("0x180")],
+                                sourceLayer: R[P("0xf3d")][P("0xa39")]
+                            };
+                            I.push(F)
+                        }
+                        this._pickedEvent[P("0x896")](I)
+                    }
+                }
+            }
+            ,
+            t.prototype[P("0xf3b")] = function(t, i, r, n) {
+                for (var o = this, a = 4096 * Math[P("0x2ae")](2, n), s = 4096 * i, x = 4096 * r, l = t.type_, c = t[P("0xf37")], u = 0, h = [], f = 0; f < c.length; u = c[f],
+                f++) {
+                    for (var d = t.flatCoordinates_[P("0x1d5")](u, c[f]), g = [], p = 0; p < d[P("0x0")]; p += 2)
+                        g[P("0x17c")]({
+                            x: d[p],
+                            y: d[p + 1]
+                        });
+                    h[P("0x17c")](g)
+                }
+                function m(t) {
+                    for (var i = 0; i < t[P("0x0")]; i++)
+                        if (o[P("0x68a")]instanceof e[P("0x9d7")]) {
+                            var r = t[i];
+                            t[i] = [360 * (r.x + s) / a - 180, 90 - 360 * (r.y + x) / a]
+                        } else {
+                            var n = 180 - 360 * ((r = t[i]).y + x) / a;
+                            t[i] = [360 * (r.x + s) / a - 180, 360 / Math.PI * Math[P("0x321")](Math[P("0x61")](n * Math.PI / 180)) - 90]
+                        }
+                }
+                if (l === P("0xad5") || l === P("0xf38")) {
+                    for (var b = [], v = 0; v < h.length; v++) {
+                        var C = [];
+                        C.push(h[v]),
+                        b[P("0x17c")](C)
+                    }
+                    for (h = b,
+                    f = 0; f < h[P("0x0")]; f++)
+                        for (p = 0; p < h[f][P("0x0")]; p++)
+                            m(h[f][p]);
+                    1 < h.length && (l = P("0xf38"))
+                } else if (l === P("0x9e3") || l === P("0xf3a"))
+                    for (f = 0; f < h[P("0x0")]; f++)
+                        m(h[f]);
+                return 1 === h[P("0x0")] && (h = h[0]),
+                {
+                    type: P("0x344"),
+                    geometry: {
+                        type: l,
+                        coordinates: h
+                    },
+                    properties: t[P("0xf3d")]
+                }
+            }
+            ,
+            t[P("0x5")][P("0xed7")] = function() {
+                var t = {
+                    SERVICE: P("0xf3e"),
+                    VERSION: P("0x1c9"),
+                    REQUEST: P("0xf3f")
+                }
+                  , i = {
+                    LAYER: this._layer,
+                    TILEMATRIXSET: this[P("0xec4")],
+                    FORMAT: this[P("0xa0f")],
+                    TILEMATRIX: P("0xe3e"),
+                    TILEROW: "{y}",
+                    TILECOL: P("0xe3f")
+                }
+                  , r = this[P("0xf40")](e[P("0xf41")](t, i));
+                return this[P("0x6b1")] + "?" + r
+            }
+            ,
+            t[P("0x5")][P("0xee1")] = function() {
+                var t = {
+                    SERVICE: P("0xf3e"),
+                    VERSION: P("0x1c9"),
+                    REQUEST: P("0xf42")
+                }
+                  , i = {
+                    STYLENAME: this[P("0xf43")]
+                }
+                  , r = this[P("0xf40")](e[P("0xf41")](t, i));
+                return this[P("0x6b1")] + "?" + r
+            }
+            ,
+            t[P("0x5")][P("0xf40")] = function(e) {
+                var t = [];
+                for (var i in e) {
+                    var r = e[i];
+                    if (null != r && w()(r) != P("0x8")) {
+                        var n;
+                        if ((w()(r) === P("0x2b6") ? P("0x2b6") : k(r)) == P("0x7") && r.constructor == Array) {
+                            for (var o, a = [], s = 0, x = r[P("0x0")]; s < x; s++)
+                                o = r[s],
+                                a[P("0x17c")](null == o ? "" : o);
+                            n = a[P("0x7ca")](",")
+                        } else
+                            n = r;
+                        t[P("0x17c")](i + "=" + n)
+                    }
+                }
+                return t[P("0x7ca")]("&")
+            }
+        }(window[P("0xfd")]),
+        1.5 <= Cesium[P("0x373")] || 1.5 <= Cesium.VERSION[P("0x987")](0, 4)) {
+
         }
+        (function() {
+            function e(e) {
+                throw e
+            }
+            var t = void 0
+              , i = this;
+            function r(e, r) {
+                var n, o = e[P("0x7f2")]("."), a = i;
+                o[0]in a || !a[P("0xf4f")] || a[P("0xf4f")](P("0xf50") + o[0]);
+                for (; o.length && (n = o.shift()); )
+                    o[P("0x0")] || r === t ? a = a[n] ? a[n] : a[n] = {} : a[n] = r
+            }
+            var n = "undefined" != typeof Uint8Array && P("0x2b6") !== ("undefined" == typeof Uint16Array ? "undefined" : w()(Uint16Array)) && P("0x2b6") !== ("undefined" == typeof Uint32Array ? "undefined" : w()(Uint32Array)) && P("0x2b6") !== ("undefined" == typeof DataView ? "undefined" : w()(DataView));
+            function o(t, i) {
+                this[P("0x286")] = P("0x49f") === w()(i) ? i : 0,
+                this.i = 0,
+                this.buffer = t instanceof (n ? Uint8Array : Array) ? t : new (n ? Uint8Array : Array)(32768),
+                2 * this.buffer[P("0x0")] <= this[P("0x286")] && e(Error(P("0xf51"))),
+                this.buffer.length <= this.index && this.f()
+            }
+            o.prototype.f = function() {
+                var e, t = this[P("0x4b3")], i = t[P("0x0")], r = new (n ? Uint8Array : Array)(i << 1);
+                if (n)
+                    r.set(t);
+                else
+                    for (e = 0; e < i; ++e)
+                        r[e] = t[e];
+                return this[P("0x4b3")] = r
+            }
+            ,
+            o[P("0x5")].d = function(e, t, i) {
+                var r, n = this[P("0x4b3")], o = this[P("0x286")], a = this.i, s = n[o];
+                if (i && 1 < t && (e = 8 < t ? (u[255 & e] << 24 | u[e >>> 8 & 255] << 16 | u[e >>> 16 & 255] << 8 | u[e >>> 24 & 255]) >> 32 - t : u[e] >> 8 - t),
+                t + a < 8)
+                    s = s << t | e,
+                    a += t;
+                else
+                    for (r = 0; r < t; ++r)
+                        s = s << 1 | e >> t - r - 1 & 1,
+                        8 == ++a && (a = 0,
+                        n[o++] = u[s],
+                        s = 0,
+                        o === n[P("0x0")] && (n = this.f()));
+                n[o] = s,
+                this[P("0x4b3")] = n,
+                this.i = a,
+                this[P("0x286")] = o
+            }
+            ,
+            o[P("0x5")].finish = function() {
+                var e = this[P("0x4b3")]
+                  , t = this[P("0x286")];
+                return 0 < this.i && (e[t] <<= 8 - this.i,
+                e[t] = u[e[t]],
+                t++),
+                n ? e.subarray(0, t) : (e.length = t,
+                e)
+            }
+            ;
+            var a, s = new (n ? Uint8Array : Array)(256);
+            for (a = 0; a < 256; ++a) {
+                for (var x = c = a, l = 7, c = c >>> 1; c; c >>>= 1)
+                    x <<= 1,
+                    x |= 1 & c,
+                    --l;
+                s[a] = (x << l & 255) >>> 0
+            }
+            var u = s;
+            function h(e) {
+                this[P("0x4b3")] = new (n ? Uint16Array : Array)(2 * e),
+                this.length = 0
+            }
+            function f(e) {
+                var t, i, r, o, a, s, x, l, c, u, h = e[P("0x0")], f = 0, d = Number[P("0x31")];
+                for (l = 0; l < h; ++l)
+                    e[l] > f && (f = e[l]),
+                    e[l] < d && (d = e[l]);
+                for (t = 1 << f,
+                i = new (n ? Uint32Array : Array)(t),
+                r = 1,
+                o = 0,
+                a = 2; r <= f; ) {
+                    for (l = 0; l < h; ++l)
+                        if (e[l] === r) {
+                            for (x = o,
+                            c = s = 0; c < r; ++c)
+                                s = s << 1 | 1 & x,
+                                x >>= 1;
+                            for (u = r << 16 | l,
+                            c = s; c < t; c += a)
+                                i[c] = u;
+                            ++o
+                        }
+                    ++r,
+                    o <<= 1,
+                    a <<= 1
+                }
+                return [i, f, d]
+            }
+            function d(e, t) {
+                this.h = p,
+                this.w = 0,
+                this[P("0xf53")] = n && e instanceof Array ? new Uint8Array(e) : e,
+                this.b = 0,
+                t && (t[P("0xf54")] && (this.w = t[P("0xf54")]),
+                P("0x49f") === w()(t[P("0xf55")]) && (this.h = t.compressionType),
+                t[P("0xf56")] && (this.a = n && t[P("0xf56")]instanceof Array ? new Uint8Array(t[P("0xf56")]) : t[P("0xf56")]),
+                "number" == typeof t.outputIndex && (this.b = t[P("0xf57")])),
+                this.a || (this.a = new (n ? Uint8Array : Array)(32768))
+            }
+            h.prototype[P("0xf52")] = function(e) {
+                return 2 * ((e - 2) / 4 | 0)
+            }
+            ,
+            h[P("0x5")][P("0x17c")] = function(e, t) {
+                var i, r, n, o = this[P("0x4b3")];
+                for (i = this[P("0x0")],
+                o[this[P("0x0")]++] = t,
+                o[this[P("0x0")]++] = e; 0 < i && (r = this[P("0xf52")](i),
+                o[i] > o[r]); )
+                    n = o[i],
+                    o[i] = o[r],
+                    o[r] = n,
+                    n = o[i + 1],
+                    o[i + 1] = o[r + 1],
+                    o[r + 1] = n,
+                    i = r;
+                return this[P("0x0")]
+            }
+            ,
+            h.prototype[P("0x25c")] = function() {
+                var e, t, i, r, n, o = this.buffer;
+                for (t = o[0],
+                e = o[1],
+                this[P("0x0")] -= 2,
+                o[0] = o[this.length],
+                o[1] = o[this[P("0x0")] + 1],
+                n = 0; !((r = 2 * n + 2) >= this[P("0x0")]) && (r + 2 < this[P("0x0")] && o[r + 2] > o[r] && (r += 2),
+                o[r] > o[n]); )
+                    i = o[n],
+                    o[n] = o[r],
+                    o[r] = i,
+                    i = o[n + 1],
+                    o[n + 1] = o[r + 1],
+                    o[r + 1] = i,
+                    n = r;
+                return {
+                    index: e,
+                    value: t,
+                    length: this.length
+                }
+            }
+            ;
+            var g, p = 2, m = {
+                NONE: 0,
+                r: 1,
+                k: p,
+                O: 3
+            }, b = [];
+            for (g = 0; g < 288; g++)
+                switch (!0) {
+                case g <= 143:
+                    b[P("0x17c")]([g + 48, 8]);
+                    break;
+                case g <= 255:
+                    b.push([g - 144 + 400, 9]);
+                    break;
+                case g <= 279:
+                    b[P("0x17c")]([g - 256 + 0, 7]);
+                    break;
+                case g <= 287:
+                    b.push([g - 280 + 192, 8]);
+                    break;
+                default:
+                    e("invalid literal: " + g)
+                }
+            function v(e, t) {
+                this[P("0x0")] = e,
+                this.H = t
+            }
+            d.prototype.j = function() {
+                var i, r, a, s, x = this[P("0xf53")];
+                switch (this.h) {
+                case 0:
+                    for (a = 0,
+                    s = x[P("0x0")]; a < s; ) {
+                        var l, c, u, h = r = n ? x[P("0xaaf")](a, a + 65535) : x.slice(a, a + 65535), f = (a += r.length) === s, d = t, g = t, m = this.a, v = this.b;
+                        if (n) {
+                            for (m = new Uint8Array(this.a[P("0x4b3")]); m[P("0x0")] <= v + h[P("0x0")] + 5; )
+                                m = new Uint8Array(m[P("0x0")] << 1);
+                            m.set(this.a)
+                        }
+                        if (l = f ? 1 : 0,
+                        m[v++] = 0 | l,
+                        u = 65536 + ~(c = h[P("0x0")]) & 65535,
+                        m[v++] = 255 & c,
+                        m[v++] = c >>> 8 & 255,
+                        m[v++] = 255 & u,
+                        m[v++] = u >>> 8 & 255,
+                        n)
+                            m.set(h, v),
+                            v += h[P("0x0")],
+                            m = m.subarray(0, v);
+                        else {
+                            for (d = 0,
+                            g = h.length; d < g; ++d)
+                                m[v++] = h[d];
+                            m[P("0x0")] = v
+                        }
+                        this.b = v,
+                        this.a = m
+                    }
+                    break;
+                case 1:
+                    var C = new o(n ? new Uint8Array(this.a[P("0x4b3")]) : this.a,this.b);
+                    C.d(1, 1, !0),
+                    C.d(1, 2, !0);
+                    var y, A, w, E = _(this, x);
+                    for (y = 0,
+                    A = E[P("0x0")]; y < A; y++)
+                        if (w = E[y],
+                        o[P("0x5")].d.apply(C, b[w]),
+                        256 < w)
+                            C.d(E[++y], E[++y], !0),
+                            C.d(E[++y], 5),
+                            C.d(E[++y], E[++y], !0);
+                        else if (256 === w)
+                            break;
+                    this.a = C[P("0xf2f")](),
+                    this.b = this.a[P("0x0")];
+                    break;
+                case p:
+                    var S, T, M, N, L, R, O, F, D, U, k, B, W, j, V, z = new o(n ? new Uint8Array(this.a[P("0x4b3")]) : this.a,this.b), H = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], q = Array(19);
+                    for (S = p,
+                    z.d(1, 1, !0),
+                    z.d(S, 2, !0),
+                    T = _(this, x),
+                    O = G(R = I(this.M, 15)),
+                    D = G(F = I(this.L, 7)),
+                    M = 286; 257 < M && 0 === R[M - 1]; M--)
+                        ;
+                    for (N = 30; 1 < N && 0 === F[N - 1]; N--)
+                        ;
+                    var X, Y, K, Q, Z, J, $ = M, ee = N, te = new (n ? Uint32Array : Array)($ + ee), ie = new (n ? Uint32Array : Array)(316), re = new (n ? Uint8Array : Array)(19);
+                    for (X = Y = 0; X < $; X++)
+                        te[Y++] = R[X];
+                    for (X = 0; X < ee; X++)
+                        te[Y++] = F[X];
+                    if (!n)
+                        for (X = 0,
+                        Q = re.length; X < Q; ++X)
+                            re[X] = 0;
+                    for (X = Z = 0,
+                    Q = te.length; X < Q; X += Y) {
+                        for (Y = 1; X + Y < Q && te[X + Y] === te[X]; ++Y)
+                            ;
+                        if (K = Y,
+                        0 === te[X])
+                            if (K < 3)
+                                for (; 0 < K--; )
+                                    re[ie[Z++] = 0]++;
+                            else
+                                for (; 0 < K; )
+                                    K - 3 < (J = K < 138 ? K : 138) && J < K && (J = K - 3),
+                                    J <= 10 ? (ie[Z++] = 17,
+                                    ie[Z++] = J - 3,
+                                    re[17]++) : (ie[Z++] = 18,
+                                    ie[Z++] = J - 11,
+                                    re[18]++),
+                                    K -= J;
+                        else if (ie[Z++] = te[X],
+                        re[te[X]]++,
+                        --K < 3)
+                            for (; 0 < K--; )
+                                ie[Z++] = te[X],
+                                re[te[X]]++;
+                        else
+                            for (; 0 < K; )
+                                K - 3 < (J = K < 6 ? K : 6) && J < K && (J = K - 3),
+                                ie[Z++] = 16,
+                                ie[Z++] = J - 3,
+                                re[16]++,
+                                K -= J
+                    }
+                    for (i = n ? ie[P("0xaaf")](0, Z) : ie[P("0x1d5")](0, Z),
+                    U = I(re, 7),
+                    j = 0; j < 19; j++)
+                        q[j] = U[H[j]];
+                    for (L = 19; 4 < L && 0 === q[L - 1]; L--)
+                        ;
+                    for (k = G(U),
+                    z.d(M - 257, 5, !0),
+                    z.d(N - 1, 5, !0),
+                    z.d(L - 4, 4, !0),
+                    j = 0; j < L; j++)
+                        z.d(q[j], 3, !0);
+                    for (j = 0,
+                    V = i[P("0x0")]; j < V; j++)
+                        if (B = i[j],
+                        z.d(k[B], U[B], !0),
+                        16 <= B) {
+                            switch (j++,
+                            B) {
+                            case 16:
+                                W = 2;
+                                break;
+                            case 17:
+                                W = 3;
+                                break;
+                            case 18:
+                                W = 7;
+                                break;
+                            default:
+                                e(P("0xf58") + B)
+                            }
+                            z.d(i[j], W, !0)
+                        }
+                    var ne, oe, ae, se, xe, le, ce, ue, he = [O, R], fe = [D, F];
+                    for (xe = he[0],
+                    le = he[1],
+                    ce = fe[0],
+                    ue = fe[1],
+                    ne = 0,
+                    oe = T[P("0x0")]; ne < oe; ++ne)
+                        if (ae = T[ne],
+                        z.d(xe[ae], le[ae], !0),
+                        256 < ae)
+                            z.d(T[++ne], T[++ne], !0),
+                            se = T[++ne],
+                            z.d(ce[se], ue[se], !0),
+                            z.d(T[++ne], T[++ne], !0);
+                        else if (256 === ae)
+                            break;
+                    this.a = z.finish(),
+                    this.b = this.a[P("0x0")];
+                    break;
+                default:
+                    e("invalid compression type")
+                }
+                return this.a
+            }
+            ;
+            var C = function() {
+                function t(t) {
+                    switch (!0) {
+                    case 3 === t:
+                        return [257, t - 3, 0];
+                    case 4 === t:
+                        return [258, t - 4, 0];
+                    case 5 === t:
+                        return [259, t - 5, 0];
+                    case 6 === t:
+                        return [260, t - 6, 0];
+                    case 7 === t:
+                        return [261, t - 7, 0];
+                    case 8 === t:
+                        return [262, t - 8, 0];
+                    case 9 === t:
+                        return [263, t - 9, 0];
+                    case 10 === t:
+                        return [264, t - 10, 0];
+                    case t <= 12:
+                        return [265, t - 11, 1];
+                    case t <= 14:
+                        return [266, t - 13, 1];
+                    case t <= 16:
+                        return [267, t - 15, 1];
+                    case t <= 18:
+                        return [268, t - 17, 1];
+                    case t <= 22:
+                        return [269, t - 19, 2];
+                    case t <= 26:
+                        return [270, t - 23, 2];
+                    case t <= 30:
+                        return [271, t - 27, 2];
+                    case t <= 34:
+                        return [272, t - 31, 2];
+                    case t <= 42:
+                        return [273, t - 35, 3];
+                    case t <= 50:
+                        return [274, t - 43, 3];
+                    case t <= 58:
+                        return [275, t - 51, 3];
+                    case t <= 66:
+                        return [276, t - 59, 3];
+                    case t <= 82:
+                        return [277, t - 67, 4];
+                    case t <= 98:
+                        return [278, t - 83, 4];
+                    case t <= 114:
+                        return [279, t - 99, 4];
+                    case t <= 130:
+                        return [280, t - 115, 4];
+                    case t <= 162:
+                        return [281, t - 131, 5];
+                    case t <= 194:
+                        return [282, t - 163, 5];
+                    case t <= 226:
+                        return [283, t - 195, 5];
+                    case t <= 257:
+                        return [284, t - 227, 5];
+                    case 258 === t:
+                        return [285, t - 258, 0];
+                    default:
+                        e("invalid length: " + t)
+                    }
+                }
+                var i, r, n = [];
+                for (i = 3; i <= 258; i++)
+                    r = t(i),
+                    n[i] = r[2] << 24 | r[1] << 16 | r[0];
+                return n
+            }()
+              , y = n ? new Uint32Array(C) : C;
+            function _(i, r) {
+                function o(t, i) {
+                    var r, n, o, a, s = t.H, x = [], l = 0;
+                    switch (r = y[t[P("0x0")]],
+                    x[l++] = 65535 & r,
+                    x[l++] = r >> 16 & 255,
+                    x[l++] = r >> 24,
+                    !0) {
+                    case 1 === s:
+                        n = [0, s - 1, 0];
+                        break;
+                    case 2 === s:
+                        n = [1, s - 2, 0];
+                        break;
+                    case 3 === s:
+                        n = [2, s - 3, 0];
+                        break;
+                    case 4 === s:
+                        n = [3, s - 4, 0];
+                        break;
+                    case s <= 6:
+                        n = [4, s - 5, 1];
+                        break;
+                    case s <= 8:
+                        n = [5, s - 7, 1];
+                        break;
+                    case s <= 12:
+                        n = [6, s - 9, 2];
+                        break;
+                    case s <= 16:
+                        n = [7, s - 13, 2];
+                        break;
+                    case s <= 24:
+                        n = [8, s - 17, 3];
+                        break;
+                    case s <= 32:
+                        n = [9, s - 25, 3];
+                        break;
+                    case s <= 48:
+                        n = [10, s - 33, 4];
+                        break;
+                    case s <= 64:
+                        n = [11, s - 49, 4];
+                        break;
+                    case s <= 96:
+                        n = [12, s - 65, 5];
+                        break;
+                    case s <= 128:
+                        n = [13, s - 97, 5];
+                        break;
+                    case s <= 192:
+                        n = [14, s - 129, 6];
+                        break;
+                    case s <= 256:
+                        n = [15, s - 193, 6];
+                        break;
+                    case s <= 384:
+                        n = [16, s - 257, 7];
+                        break;
+                    case s <= 512:
+                        n = [17, s - 385, 7];
+                        break;
+                    case s <= 768:
+                        n = [18, s - 513, 8];
+                        break;
+                    case s <= 1024:
+                        n = [19, s - 769, 8];
+                        break;
+                    case s <= 1536:
+                        n = [20, s - 1025, 9];
+                        break;
+                    case s <= 2048:
+                        n = [21, s - 1537, 9];
+                        break;
+                    case s <= 3072:
+                        n = [22, s - 2049, 10];
+                        break;
+                    case s <= 4096:
+                        n = [23, s - 3073, 10];
+                        break;
+                    case s <= 6144:
+                        n = [24, s - 4097, 11];
+                        break;
+                    case s <= 8192:
+                        n = [25, s - 6145, 11];
+                        break;
+                    case s <= 12288:
+                        n = [26, s - 8193, 12];
+                        break;
+                    case s <= 16384:
+                        n = [27, s - 12289, 12];
+                        break;
+                    case s <= 24576:
+                        n = [28, s - 16385, 13];
+                        break;
+                    case s <= 32768:
+                        n = [29, s - 24577, 13];
+                        break;
+                    default:
+                        e(P("0xf59"))
+                    }
+                    for (r = n,
+                    x[l++] = r[0],
+                    x[l++] = r[1],
+                    x[l++] = r[2],
+                    o = 0,
+                    a = x[P("0x0")]; o < a; ++o)
+                        p[m++] = x[o];
+                    v[x[0]]++,
+                    C[x[3]]++,
+                    b = t[P("0x0")] + i - 1,
+                    f = null
+                }
+                var a, s, x, l, c, u, h, f, d, g = {}, p = n ? new Uint16Array(2 * r[P("0x0")]) : [], m = 0, b = 0, v = new (n ? Uint32Array : Array)(286), C = new (n ? Uint32Array : Array)(30), _ = i.w;
+                if (!n) {
+                    for (x = 0; x <= 285; )
+                        v[x++] = 0;
+                    for (x = 0; x <= 29; )
+                        C[x++] = 0
+                }
+                for (v[256] = 1,
+                a = 0,
+                s = r[P("0x0")]; a < s; ++a) {
+                    for (x = c = 0,
+                    l = 3; x < l && a + x !== s; ++x)
+                        c = c << 8 | r[a + x];
+                    if (g[c] === t && (g[c] = []),
+                    u = g[c],
+                    !(0 < b--)) {
+                        for (; 0 < u[P("0x0")] && 32768 < a - u[0]; )
+                            u[P("0x513")]();
+                        if (s <= a + 3) {
+                            for (f && o(f, -1),
+                            x = 0,
+                            l = s - a; x < l; ++x)
+                                d = r[a + x],
+                                p[m++] = d,
+                                ++v[d];
+                            break
+                        }
+                        0 < u[P("0x0")] ? (h = A(r, a, u),
+                        f ? f[P("0x0")] < h.length ? (d = r[a - 1],
+                        p[m++] = d,
+                        ++v[d],
+                        o(h, 0)) : o(f, -1) : h[P("0x0")] < _ ? f = h : o(h, 0)) : f ? o(f, -1) : (d = r[a],
+                        p[m++] = d,
+                        ++v[d])
+                    }
+                    u.push(a)
+                }
+                return p[m++] = 256,
+                v[256]++,
+                i.M = v,
+                i.L = C,
+                n ? p[P("0xaaf")](0, m) : p
+            }
+            function A(e, t, i) {
+                var r, n, o, a, s, x, l = 0, c = e.length;
+                a = 0,
+                x = i[P("0x0")];
+                e: for (; a < x; a++) {
+                    if (r = i[x - a - 1],
+                    (o = 3) < l) {
+                        for (s = l; 3 < s; s--)
+                            if (e[r + s - 1] !== e[t + s - 1])
+                                continue e;
+                        o = l
+                    }
+                    for (; o < 258 && t + o < c && e[r + o] === e[t + o]; )
+                        ++o;
+                    if (l < o && (n = r,
+                    l = o),
+                    258 === o)
+                        break
+                }
+                return new v(l,t - n)
+            }
+            function I(e, t) {
+                var i, r, o, a, s, x = e[P("0x0")], l = new h(572), c = new (n ? Uint8Array : Array)(x);
+                if (!n)
+                    for (a = 0; a < x; a++)
+                        c[a] = 0;
+                for (a = 0; a < x; ++a)
+                    0 < e[a] && l[P("0x17c")](a, e[a]);
+                if (i = Array(l[P("0x0")] / 2),
+                r = new (n ? Uint32Array : Array)(l[P("0x0")] / 2),
+                1 === i[P("0x0")])
+                    return c[l[P("0x25c")]()[P("0x286")]] = 1,
+                    c;
+                for (a = 0,
+                s = l[P("0x0")] / 2; a < s; ++a)
+                    i[a] = l[P("0x25c")](),
+                    r[a] = i[a][P("0x3")];
+                for (o = function(e, t, i) {
+                    function r(e) {
+                        var i = d[e][g[e]];
+                        i === t ? (r(e + 1),
+                        r(e + 1)) : --h[i],
+                        ++g[e]
+                    }
+                    var o, a, s, x, l, c = new (n ? Uint16Array : Array)(i), u = new (n ? Uint8Array : Array)(i), h = new (n ? Uint8Array : Array)(t), f = Array(i), d = Array(i), g = Array(i), p = (1 << i) - t, m = 1 << i - 1;
+                    for (c[i - 1] = t,
+                    a = 0; a < i; ++a)
+                        p < m ? u[a] = 0 : (u[a] = 1,
+                        p -= m),
+                        p <<= 1,
+                        c[i - 2 - a] = (c[i - 1 - a] / 2 | 0) + t;
+                    for (c[0] = u[0],
+                    f[0] = Array(c[0]),
+                    d[0] = Array(c[0]),
+                    a = 1; a < i; ++a)
+                        c[a] > 2 * c[a - 1] + u[a] && (c[a] = 2 * c[a - 1] + u[a]),
+                        f[a] = Array(c[a]),
+                        d[a] = Array(c[a]);
+                    for (o = 0; o < t; ++o)
+                        h[o] = i;
+                    for (s = 0; s < c[i - 1]; ++s)
+                        f[i - 1][s] = e[s],
+                        d[i - 1][s] = s;
+                    for (o = 0; o < i; ++o)
+                        g[o] = 0;
+                    for (1 === u[i - 1] && (--h[0],
+                    ++g[i - 1]),
+                    a = i - 2; 0 <= a; --a) {
+                        for (x = o = 0,
+                        l = g[a + 1],
+                        s = 0; s < c[a]; s++)
+                            (x = f[a + 1][l] + f[a + 1][l + 1]) > e[o] ? (f[a][s] = x,
+                            d[a][s] = t,
+                            l += 2) : (f[a][s] = e[o],
+                            d[a][s] = o,
+                            ++o);
+                        g[a] = 0,
+                        1 === u[a] && r(a)
+                    }
+                    return h
+                }(r, r[P("0x0")], t),
+                a = 0,
+                s = i[P("0x0")]; a < s; ++a)
+                    c[i[a][P("0x286")]] = o[a];
+                return c
+            }
+            function G(e) {
+                var t, i, r, o, a = new (n ? Uint16Array : Array)(e.length), s = [], x = [], l = 0;
+                for (t = 0,
+                i = e[P("0x0")]; t < i; t++)
+                    s[e[t]] = 1 + (0 | s[e[t]]);
+                for (t = 1,
+                i = 16; t <= i; t++)
+                    x[t] = l,
+                    l += 0 | s[t],
+                    l <<= 1;
+                for (t = 0,
+                i = e.length; t < i; t++)
+                    for (l = x[e[t]],
+                    x[e[t]] += 1,
+                    r = a[t] = 0,
+                    o = e[t]; r < o; r++)
+                        a[t] = a[t] << 1 | 1 & l,
+                        l >>>= 1;
+                return a
+            }
+            function E(t, i) {
+                switch (this.l = [],
+                this.m = 32768,
+                this.e = this.g = this.c = this.q = 0,
+                this[P("0xf53")] = n ? new Uint8Array(t) : t,
+                this.s = !1,
+                this.n = T,
+                this.C = !1,
+                (i || (i = {},
+                0)) && (i[P("0x286")] && (this.c = i[P("0x286")]),
+                i[P("0xf5a")] && (this.m = i.bufferSize),
+                i.bufferType && (this.n = i[P("0xf5b")]),
+                i[P("0xf5c")] && (this.C = i[P("0xf5c")])),
+                this.n) {
+                case S:
+                    this.b = 32768,
+                    this.a = new (n ? Uint8Array : Array)(32768 + this.m + 258);
+                    break;
+                case T:
+                    this.b = 0,
+                    this.a = new (n ? Uint8Array : Array)(this.m),
+                    this.f = this.K,
+                    this.t = this.I,
+                    this.o = this.J;
+                    break;
+                default:
+                    e(Error(P("0xf5d")))
+                }
+            }
+            var S = 0
+              , T = 1
+              , M = S
+              , N = T;
+            E[P("0x5")].p = function() {
+                for (; !this.s; ) {
+                    var i = Z(this, 3);
+                    switch (1 & i && (this.s = !0),
+                    i >>>= 1) {
+                    case 0:
+                        var r = this[P("0xf53")]
+                          , o = this.c
+                          , a = this.a
+                          , s = this.b
+                          , x = r.length
+                          , l = t
+                          , c = a[P("0x0")]
+                          , u = t;
+                        switch (this.e = this.g = 0,
+                        x <= o + 1 && e(Error("invalid uncompressed block header: LEN")),
+                        l = r[o++] | r[o++] << 8,
+                        x <= o + 1 && e(Error("invalid uncompressed block header: NLEN")),
+                        l === ~(r[o++] | r[o++] << 8) && e(Error(P("0xf5e"))),
+                        o + l > r[P("0x0")] && e(Error(P("0xf5f"))),
+                        this.n) {
+                        case S:
+                            for (; s + l > a[P("0x0")]; ) {
+                                if (l -= u = c - s,
+                                n)
+                                    a.set(r[P("0xaaf")](o, o + u), s),
+                                    s += u,
+                                    o += u;
+                                else
+                                    for (; u--; )
+                                        a[s++] = r[o++];
+                                this.b = s,
+                                a = this.f(),
+                                s = this.b
+                            }
+                            break;
+                        case T:
+                            for (; s + l > a[P("0x0")]; )
+                                a = this.f({
+                                    v: 2
+                                });
+                            break;
+                        default:
+                            e(Error("invalid inflate mode"))
+                        }
+                        if (n)
+                            a[P("0xf60")](r.subarray(o, o + l), s),
+                            s += l,
+                            o += l;
+                        else
+                            for (; l--; )
+                                a[s++] = r[o++];
+                        this.c = o,
+                        this.b = s,
+                        this.a = a;
+                        break;
+                    case 1:
+                        this.o(Y, Q);
+                        break;
+                    case 2:
+                        $(this);
+                        break;
+                    default:
+                        e(Error(P("0xf61") + i))
+                    }
+                }
+                return this.t()
+            }
+            ;
+            var L, R, O = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], F = n ? new Uint16Array(O) : O, D = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 258, 258], U = n ? new Uint16Array(D) : D, k = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0], B = n ? new Uint8Array(k) : k, W = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577], j = n ? new Uint16Array(W) : W, V = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], z = n ? new Uint8Array(V) : V, H = new (n ? Uint8Array : Array)(288);
+            for (L = 0,
+            R = H[P("0x0")]; L < R; ++L)
+                H[L] = L <= 143 ? 8 : L <= 255 ? 9 : L <= 279 ? 7 : 8;
+            var q, X, Y = f(H), K = new (n ? Uint8Array : Array)(30);
+            for (q = 0,
+            X = K[P("0x0")]; q < X; ++q)
+                K[q] = 5;
+            var Q = f(K);
+            function Z(t, i) {
+                for (var r, n = t.g, o = t.e, a = t[P("0xf53")], s = t.c, x = a[P("0x0")]; o < i; )
+                    x <= s && e(Error(P("0xf5f"))),
+                    n |= a[s++] << o,
+                    o += 8;
+                return r = n & (1 << i) - 1,
+                t.g = n >>> i,
+                t.e = o - i,
+                t.c = s,
+                r
+            }
+            function J(e, t) {
+                for (var i, r, n = e.g, o = e.e, a = e[P("0xf53")], s = e.c, x = a[P("0x0")], l = t[0], c = t[1]; o < c && !(x <= s); )
+                    n |= a[s++] << o,
+                    o += 8;
+                return r = (i = l[n & (1 << c) - 1]) >>> 16,
+                e.g = n >> r,
+                e.e = o - r,
+                e.c = s,
+                65535 & i
+            }
+            function $(e) {
+                function t(e, t, i) {
+                    var r, n, o, a = this.z;
+                    for (o = 0; o < e; )
+                        switch (r = J(this, t)) {
+                        case 16:
+                            for (n = 3 + Z(this, 2); n--; )
+                                i[o++] = a;
+                            break;
+                        case 17:
+                            for (n = 3 + Z(this, 3); n--; )
+                                i[o++] = 0;
+                            a = 0;
+                            break;
+                        case 18:
+                            for (n = 11 + Z(this, 7); n--; )
+                                i[o++] = 0;
+                            a = 0;
+                            break;
+                        default:
+                            a = i[o++] = r
+                        }
+                    return this.z = a,
+                    i
+                }
+                var i, r, o, a, s = Z(e, 5) + 257, x = Z(e, 5) + 1, l = Z(e, 4) + 4, c = new (n ? Uint8Array : Array)(F[P("0x0")]);
+                for (a = 0; a < l; ++a)
+                    c[F[a]] = Z(e, 3);
+                if (!n)
+                    for (a = l,
+                    l = c.length; a < l; ++a)
+                        c[F[a]] = 0;
+                i = f(c),
+                r = new (n ? Uint8Array : Array)(s),
+                o = new (n ? Uint8Array : Array)(x),
+                e.z = 0,
+                e.o(f(t[P("0xfa")](e, s, i, r)), f(t[P("0xfa")](e, x, i, o)))
+            }
+            function ee(e) {
+                if (P("0x9fe") === w()(e)) {
+                    var t, i, r = e.split("");
+                    for (t = 0,
+                    i = r[P("0x0")]; t < i; t++)
+                        r[t] = (255 & r[t].charCodeAt(0)) >>> 0;
+                    e = r
+                }
+                for (var n, o = 1, a = 0, s = e.length, x = 0; 0 < s; ) {
+                    for (s -= n = 1024 < s ? 1024 : s; a += o += e[x++],
+                    --n; )
+                        ;
+                    o %= 65521,
+                    a %= 65521
+                }
+                return (a << 16 | o) >>> 0
+            }
+            function te(t, i) {
+                var r, n;
+                switch (this.input = t,
+                this.c = 0,
+                (i || (i = {},
+                0)) && (i[P("0x286")] && (this.c = i.index),
+                i.verify && (this.N = i[P("0xf62")])),
+                r = t[this.c++],
+                n = t[this.c++],
+                15 & r) {
+                case ie:
+                    this.method = ie;
+                    break;
+                default:
+                    e(Error(P("0xf63")))
+                }
+                0 != ((r << 8) + n) % 31 && e(Error(P("0xf64") + ((r << 8) + n) % 31)),
+                32 & n && e(Error(P("0xf65"))),
+                this.B = new E(t,{
+                    index: this.c,
+                    bufferSize: i[P("0xf5a")],
+                    bufferType: i[P("0xf5b")],
+                    resize: i[P("0xf5c")]
+                })
+            }
+            E[P("0x5")].o = function(e, t) {
+                var i = this.a
+                  , r = this.b;
+                this.u = e;
+                for (var n, o, a, s, x = i[P("0x0")] - 258; 256 !== (n = J(this, e)); )
+                    if (n < 256)
+                        x <= r && (this.b = r,
+                        i = this.f(),
+                        r = this.b),
+                        i[r++] = n;
+                    else
+                        for (s = U[o = n - 257],
+                        0 < B[o] && (s += Z(this, B[o])),
+                        n = J(this, t),
+                        a = j[n],
+                        0 < z[n] && (a += Z(this, z[n])),
+                        x <= r && (this.b = r,
+                        i = this.f(),
+                        r = this.b); s--; )
+                            i[r] = i[r++ - a];
+                for (; 8 <= this.e; )
+                    this.e -= 8,
+                    this.c--;
+                this.b = r
+            }
+            ,
+            E.prototype.J = function(e, t) {
+                var i = this.a
+                  , r = this.b;
+                this.u = e;
+                for (var n, o, a, s, x = i.length; 256 !== (n = J(this, e)); )
+                    if (n < 256)
+                        x <= r && (x = (i = this.f()).length),
+                        i[r++] = n;
+                    else
+                        for (s = U[o = n - 257],
+                        0 < B[o] && (s += Z(this, B[o])),
+                        n = J(this, t),
+                        a = j[n],
+                        0 < z[n] && (a += Z(this, z[n])),
+                        x < r + s && (x = (i = this.f()).length); s--; )
+                            i[r] = i[r++ - a];
+                for (; 8 <= this.e; )
+                    this.e -= 8,
+                    this.c--;
+                this.b = r
+            }
+            ,
+            E[P("0x5")].f = function() {
+                var e, t, i = new (n ? Uint8Array : Array)(this.b - 32768), r = this.b - 32768, o = this.a;
+                if (n)
+                    i.set(o[P("0xaaf")](32768, i.length));
+                else
+                    for (e = 0,
+                    t = i.length; e < t; ++e)
+                        i[e] = o[e + 32768];
+                if (this.l[P("0x17c")](i),
+                this.q += i[P("0x0")],
+                n)
+                    o[P("0xf60")](o[P("0xaaf")](r, 32768 + r));
+                else
+                    for (e = 0; e < 32768; ++e)
+                        o[e] = o[r + e];
+                return this.b = 32768,
+                o
+            }
+            ,
+            E[P("0x5")].K = function(e) {
+                var t, i, r, o = this[P("0xf53")][P("0x0")] / this.c + 1 | 0, a = this[P("0xf53")], s = this.a;
+                return e && ("number" == typeof e.v && (o = e.v),
+                P("0x49f") === w()(e.G) && (o += e.G)),
+                i = o < 2 ? (r = (a.length - this.c) / this.u[2] / 2 * 258 | 0) < s[P("0x0")] ? s.length + r : s[P("0x0")] << 1 : s.length * o,
+                n ? (t = new Uint8Array(i)).set(s) : t = s,
+                this.a = t
+            }
+            ,
+            E[P("0x5")].t = function() {
+                var e, t, i, r, o, a = 0, s = this.a, x = this.l, l = new (n ? Uint8Array : Array)(this.q + (this.b - 32768));
+                if (0 === x.length)
+                    return n ? this.a[P("0xaaf")](32768, this.b) : this.a.slice(32768, this.b);
+                for (t = 0,
+                i = x[P("0x0")]; t < i; ++t)
+                    for (r = 0,
+                    o = (e = x[t]).length; r < o; ++r)
+                        l[a++] = e[r];
+                for (t = 32768,
+                i = this.b; t < i; ++t)
+                    l[a++] = s[t];
+                return this.l = [],
+                this[P("0x4b3")] = l
+            }
+            ,
+            E[P("0x5")].I = function() {
+                var e, t = this.b;
+                return n ? this.C ? (e = new Uint8Array(t))[P("0xf60")](this.a[P("0xaaf")](0, t)) : e = this.a[P("0xaaf")](0, t) : (this.a[P("0x0")] > t && (this.a[P("0x0")] = t),
+                e = this.a),
+                this[P("0x4b3")] = e
+            }
+            ,
+            te[P("0x5")].p = function() {
+                var t, i = this[P("0xf53")];
+                return t = this.B.p(),
+                this.c = this.B.c,
+                this.N && (i[this.c++] << 24 | i[this.c++] << 16 | i[this.c++] << 8 | i[this.c++]) >>> 0 !== ee(t) && e(Error(P("0xf66"))),
+                t
+            }
+            ;
+            var ie = 8;
+            function re(e, t) {
+                this[P("0xf53")] = e,
+                this.a = new (n ? Uint8Array : Array)(32768),
+                this.h = ne.k;
+                var i, r = {};
+                for (i in (t || (t = {},
+                0)) && P("0x49f") === w()(t.compressionType) && (this.h = t[P("0xf55")]),
+                t)
+                    r[i] = t[i];
+                r[P("0xf56")] = this.a,
+                this.A = new d(this.input,r)
+            }
+            var ne = m;
+            function oe(e, t) {
+                var i, n, o, a;
+                if (Object[P("0xdcb")])
+                    i = Object[P("0xdcb")](t);
+                else
+                    for (n in i = [],
+                    o = 0,
+                    t)
+                        i[o++] = n;
+                for (o = 0,
+                a = i[P("0x0")]; o < a; ++o)
+                    r(e + "." + (n = i[o]), t[n])
+            }
+            re[P("0x5")].j = function() {
+                var t, i, r, o, a, s, x, l = 0;
+                switch (x = this.a,
+                t = ie) {
+                case ie:
+                    i = Math[P("0xf67")] * Math[P("0x133")](32768) - 8;
+                    break;
+                default:
+                    e(Error(P("0xf68")))
+                }
+                switch (r = i << 4 | t,
+                x[l++] = r,
+                t) {
+                case ie:
+                    switch (this.h) {
+                    case ne.NONE:
+                        a = 0;
+                        break;
+                    case ne.r:
+                        a = 1;
+                        break;
+                    case ne.k:
+                        a = 2;
+                        break;
+                    default:
+                        e(Error("unsupported compression type"))
+                    }
+                    break;
+                default:
+                    e(Error(P("0xf68")))
+                }
+                return o = a << 6 | 0,
+                x[l++] = o | 31 - (256 * r + o) % 31,
+                s = ee(this.input),
+                this.A.b = l,
+                l = (x = this.A.j()).length,
+                n && ((x = new Uint8Array(x[P("0x4b3")])).length <= l + 4 && (this.a = new Uint8Array(x[P("0x0")] + 4),
+                this.a[P("0xf60")](x),
+                x = this.a),
+                x = x[P("0xaaf")](0, l + 4)),
+                x[l++] = s >> 24 & 255,
+                x[l++] = s >> 16 & 255,
+                x[l++] = s >> 8 & 255,
+                x[l++] = 255 & s,
+                x
+            }
+            ,
+            r(P("0xf69"), te),
+            r(P("0xf6a"), te.prototype.p),
+            oe(P("0xf6b"), {
+                ADAPTIVE: N,
+                BLOCK: M
+            }),
+            r(P("0xf6c"), re),
+            r(P("0xf6d"), (function(e, t) {
+                return new re(e,t).j()
+            }
+            )),
+            r(P("0xf6e"), re[P("0x5")].j),
+            oe("Zlib.Deflate.CompressionType", {
+                NONE: ne[P("0xe5d")],
+                FIXED: ne.r,
+                DYNAMIC: ne.k
+            })
+        }
+        )[P("0xfa")](window);
+        r(237)
+    }
     ])
 }
 ));

--
Gitblit v1.9.3