PageSourceSearch

https://www.fazwaz.ph/js/baiduMapAPI-2.0-min.js

js fazwaz.ph collected 2026-10-04 20:28:08 UTC 293,760 bytes, 8,738 lines download raw bytes

1
2(function() {
3    function aa(a) {
4        throw a;
5    }
6    var j = void 0
7      , o = !0
8      , p = null
9      , q = !1;
10    function s() {
11        return function() {}
12    }
13    function ba(a) {
14        return function(b) {
15            this[a] = b
16        }
17    }
18    function t(a) {
19        return function() {
20            return this[a]
21        }
22    }
23    function ca(a) {
24        return function() {
25            return a
26        }
27    }
28    var da, ea = [];
29    function fa(a) {
30        return function() {
31            return ea[a].apply(this, arguments)
32        }
33    }
34    function ga(a, b) {
35        return ea[a] = b
36    }
37    var ha, x = ha = x || {
38        version: "1.3.4"
39    };
40    x.ba = "$BAIDU$";
41    window[x.ba] = window[x.ba] || {};
42    x.object = x.object || {};
43    x.extend = x.object.extend = function(a, b) {
44        for (var c in b)
45            b.hasOwnProperty(c) && (a[c] = b[c]);
46        return a
47    }
48    ;
49    x.D = x.D || {};
50    x.D.$ = function(a) {
51        return "string" == typeof a || a instanceof String ? document.getElementById(a) : a && a.nodeName && (1 == a.nodeType || 9 == a.nodeType) ? a : p
52    }
53    ;
54    x.$ = x.Ec = x.D.$;
55    x.D.U = function(a) {
56        a = x.D.$(a);
57        if (a === p)
58            return a;
59        a.style.display = "none";
60        return a
61    }
62    ;
63    x.U = x.D.U;
64    x.lang = x.lang || {};
65    x.lang.ug = function(a) {
66        return "[object String]" == Object.prototype.toString.call(a)
67    }
68    ;
69    x.ug = x.lang.ug;
70    x.D.Qj = function(a) {
71        return x.lang.ug(a) ? document.getElementById(a) : a
72    }
73    ;
74    x.Qj = x.D.Qj;
75    x.D.getElementsByClassName = function(a, b) {
76        var c;
77        if (a.getElementsByClassName)
78            c = a.getElementsByClassName(b);
79        else {
80            var d = a;
81            d == p && (d = document);
82            c = [];
83            var d = d.getElementsByTagName("*"), e = d.length, f = RegExp("(^|\\s)" + b + "(\\s|$)"), g, i;
84            for (i = g = 0; g < e; g++)
85                f.test(d[g].className) && (c[i] = d[g],
86                i++)
87        }
88        return c
89    }
90    ;
91    x.getElementsByClassName = x.D.getElementsByClassName;
92    x.D.contains = function(a, b) {
93        var c = x.D.Qj
94          , a = c(a)
95          , b = c(b);
96        return a.contains ? a != b && a.contains(b) : !!(a.compareDocumentPosition(b) & 16)
97    }
98    ;
99    x.ea = x.ea || {};
100    /msie (\d+\.\d)/i.test(navigator.userAgent) && (x.ea.la = x.la = document.documentMode || +RegExp.$1);
101    var ia = {
102        cellpadding: "cellPadding",
103        cellspacing: "cellSpacing",
104        colspan: "colSpan",
105        rowspan: "rowSpan",
106        valign: "vAlign",
107        usemap: "useMap",
108        frameborder: "frameBorder"
109    };
110    8 > x.ea.la ? (ia["for"] = "htmlFor",
111    ia["class"] = "className") : (ia.htmlFor = "for",
112    ia.className = "class");
113    x.D.AG = ia;
114    x.D.oF = function(a, b, c) {
115        a = x.D.$(a);
116        if (a === p)
117            return a;
118        if ("style" == b)
119            a.style.cssText = c;
120        else {
121            b = x.D.AG[b] || b;
122            a.setAttribute(b, c)
123        }
124        return a
125    }
126    ;
127    x.oF = x.D.oF;
128    x.D.pF = function(a, b) {
129        a = x.D.$(a);
130        if (a === p)
131            return a;
132        for (var c in b)
133            x.D.oF(a, c, b[c]);
134        return a
135    }
136    ;
137    x.pF = x.D.pF;
138    x.Sk = x.Sk || {};
139    (function() {
140        var a = RegExp("(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+$)", "g");
141        x.Sk.trim = function(b) {
142            return ("" + b).replace(a, "")
143        }
144    })();
145    x.trim = x.Sk.trim;
146    x.Sk.Ro = function(a, b) {
147        var a = "" + a
148          , c = Array.prototype.slice.call(arguments, 1)
149          , d = Object.prototype.toString;
150        if (c.length) {
151            c = c.length == 1 ? b !== p && /\[object Array\]|\[object Object\]/.test(d.call(b)) ? b : c : c;
152            return a.replace(/#\{(.+?)\}/g, function(a, b) {
153                var g = c[b];
154                "[object Function]" == d.call(g) && (g = g(b));
155                return "undefined" == typeof g ? "" : g
156            })
157        }
158        return a
159    }
160    ;
161    x.Ro = x.Sk.Ro;
162    x.D.Rb = function(a, b) {
163        a = x.D.$(a);
164        if (a === p)
165            return a;
166        for (var c = a.className.split(/\s+/), d = b.split(/\s+/), e, f = d.length, g, i = 0; i < f; ++i) {
167            g = 0;
168            for (e = c.length; g < e; ++g)
169                if (c[g] == d[i]) {
170                    c.splice(g, 1);
171                    break
172                }
173        }
174        a.className = c.join(" ");
175        return a
176    }
177    ;
178    x.Rb = x.D.Rb;
179    x.D.Hx = function(a, b, c) {
180        a = x.D.$(a);
181        if (a === p)
182            return a;
183        var d;
184        if (a.insertAdjacentHTML)
185            a.insertAdjacentHTML(b, c);
186        else {
187            d = a.ownerDocument.createRange();
188            b = b.toUpperCase();
189            if (b == "AFTERBEGIN" || b == "BEFOREEND") {
190                d.selectNodeContents(a);
191                d.collapse(b == "AFTERBEGIN")
192            } else {
193                b = b == "BEFOREBEGIN";
194                d[b ? "setStartBefore" : "setEndAfter"](a);
195                d.collapse(b)
196            }
197            d.insertNode(d.createContextualFragment(c))
198        }
199        return a
200    }
201    ;
202    x.Hx = x.D.Hx;
203    x.D.show = function(a) {
204        a = x.D.$(a);
205        if (a === p)
206            return a;
207        a.style.display = "";
208        return a
209    }
210    ;
211    x.show = x.D.show;
212    x.D.GD = function(a) {
213        a = x.D.$(a);
214        return a === p ? a : a.nodeType == 9 ? a : a.ownerDocument || a.document
215    }
216    ;
217    x.D.Ta = function(a, b) {
218        a = x.D.$(a);
219        if (a === p)
220            return a;
221        for (var c = b.split(/\s+/), d = a.className, e = " " + d + " ", f = 0, g = c.length; f < g; f++)
222            e.indexOf(" " + c[f] + " ") < 0 && (d = d + (" " + c[f]));
223        a.className = d;
224        return a
225    }
226    ;
227    x.Ta = x.D.Ta;
228    x.D.DB = x.D.DB || {};
229    x.D.Kl = x.D.Kl || [];
230    x.D.Kl.filter = function(a, b, c) {
231        for (var d = 0, e = x.D.Kl, f; f = e[d]; d++)
232            if (f = f[c])
233                b = f(a, b);
234        return b
235    }
236    ;
237    x.Sk.oO = function(a) {
238        return a.indexOf("-") < 0 && a.indexOf("_") < 0 ? a : a.replace(/[-_][^-_]/g, function(a) {
239            return a.charAt(1).toUpperCase()
240        })
241    }
242    ;
243    x.D.D_ = function(a) {
244        x.D.$s(a, "expand") ? x.D.Rb(a, "expand") : x.D.Ta(a, "expand")
245    }
246    ;
247    x.D.$s = function(a) {
248        if (arguments.length <= 0 || typeof a === "function")
249            return this;
250        if (this.size() <= 0)
251            return q;
252        var a = a.replace(/^\s+/g, "").replace(/\s+$/g, "").replace(/\s+/g, " "), b = a.split(" "), c;
253        x.forEach(this, function(a) {
254            for (var a = a.className, e = 0; e < b.length; e++)
255                if (!~(" " + a + " ").indexOf(" " + b[e] + " ")) {
256                    c = q;
257                    return
258                }
259            c !== q && (c = o)
260        });
261        return c
262    }
263    ;
264    x.D.tj = function(a, b) {
265        var c = x.D
266          , a = c.$(a);
267        if (a === p)
268            return a;
269        var b = x.Sk.oO(b)
270          , d = a.style[b];
271        if (!d)
272            var e = c.DB[b]
273              , d = a.currentStyle || (x.ea.la ? a.style : getComputedStyle(a, p))
274              , d = e && e.get ? e.get(a, d) : d[e || b];
275        if (e = c.Kl)
276            d = e.filter(b, d, "get");
277        return d
278    }
279    ;
280    x.tj = x.D.tj;
281    /opera\/(\d+\.\d)/i.test(navigator.userAgent) && (x.ea.opera = +RegExp.$1);
282    x.ea.jM = /webkit/i.test(navigator.userAgent);
283    x.ea.kY = /gecko/i.test(navigator.userAgent) && !/like gecko/i.test(navigator.userAgent);
284    x.ea.uE = "CSS1Compat" == document.compatMode;
285    x.D.ha = function(a) {
286        a = x.D.$(a);
287        if (a === p)
288            return a;
289        var b = x.D.GD(a)
290          , c = x.ea
291          , d = x.D.tj;
292        c.kY > 0 && b.getBoxObjectFor && d(a, "position");
293        var e = {
294            left: 0,
295            top: 0
296        }, f;
297        if (a == (c.la && !c.uE ? b.body : b.documentElement))
298            return e;
299        if (a.getBoundingClientRect) {
300            a = a.getBoundingClientRect();
301            e.left = Math.floor(a.left) + Math.max(b.documentElement.scrollLeft, b.body.scrollLeft);
302            e.top = Math.floor(a.top) + Math.max(b.documentElement.scrollTop, b.body.scrollTop);
303            e.left = e.left - b.documentElement.clientLeft;
304            e.top = e.top - b.documentElement.clientTop;
305            a = b.body;
306            b = parseInt(d(a, "borderLeftWidth"));
307            d = parseInt(d(a, "borderTopWidth"));
308            if (c.la && !c.uE) {
309                e.left = e.left - (isNaN(b) ? 2 : b);
310                e.top = e.top - (isNaN(d) ? 2 : d)
311            }
312        } else {
313            f = a;
314            do {
315                e.left = e.left + f.offsetLeft;
316                e.top = e.top + f.offsetTop;
317                if (c.jM > 0 && d(f, "position") == "fixed") {
318                    e.left = e.left + b.body.scrollLeft;
319                    e.top = e.top + b.body.scrollTop;
320                    break
321                }
322                f = f.offsetParent
323            } while (f && f != a);if (c.opera > 0 || c.jM > 0 && d(a, "position") == "absolute")
324                e.top = e.top - b.body.offsetTop;
325            for (f = a.offsetParent; f && f != b.body; ) {
326                e.left = e.left - f.scrollLeft;
327                if (!c.opera || f.tagName != "TR")
328                    e.top = e.top - f.scrollTop;
329                f = f.offsetParent
330            }
331        }
332        return e
333    }
334    ;
335    /firefox\/(\d+\.\d)/i.test(navigator.userAgent) && (x.ea.rg = +RegExp.$1);
336    /BIDUBrowser/i.test(navigator.userAgent) && (x.ea.l1 = o);
337    var ja = navigator.userAgent;
338    /(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(ja) && !/chrome/i.test(ja) && (x.ea.HN = +(RegExp.$1 || RegExp.$2));
339    /chrome\/(\d+\.\d)/i.test(navigator.userAgent) && (x.ea.eC = +RegExp.$1);
340    x.jc = x.jc || {};
341    x.jc.Fb = function(a, b) {
342        var c, d, e = a.length;
343        if ("function" == typeof b)
344            for (d = 0; d < e; d++) {
345                c = a[d];
346                c = b.call(a, c, d);
347                if (c === q)
348                    break
349            }
350        return a
351    }
352    ;
353    x.Fb = x.jc.Fb;
354    x.lang.ba = function() {
355        return "TANGRAM__" + (window[x.ba]._counter++).toString(36)
356    }
357    ;
358    window[x.ba]._counter = window[x.ba]._counter || 1;
359    window[x.ba]._instances = window[x.ba]._instances || {};
360    x.lang.it = function(a) {
361        return "[object Function]" == Object.prototype.toString.call(a)
362    }
363    ;
364    x.lang.Ba = function(a) {
365        this.ba = a || x.lang.ba();
366        window[x.ba]._instances[this.ba] = this
367    }
368    ;
369    window[x.ba]._instances = window[x.ba]._instances || {};
370    x.lang.Ba.prototype.gi = fa(0);
371    x.lang.Ba.prototype.toString = function() {
372        return "[object " + (this.uQ || "Object") + "]"
373    }
374    ;
375    x.lang.Zy = function(a, b) {
376        this.type = a;
377        this.returnValue = o;
378        this.target = b || p;
379        this.currentTarget = p
380    }
381    ;
382    x.lang.Ba.prototype.addEventListener = function(a, b, c) {
383        if (x.lang.it(b)) {
384            !b.al && (b.al = {});
385            !this.Ii && (this.Ii = {});
386            var d = this.Ii, e;
387            if (typeof c == "string" && c) {
388                /[^\w\-]/.test(c) && aa("nonstandard key:" + c);
389                e = b.Ax = c
390            }
391            a.indexOf("on") != 0 && (a = "on" + a);
392            typeof d[a] != "object" && (d[a] = {});
393            typeof b.al[a] != "object" && (b.al[a] = {});
394            e = e || x.lang.ba();
395            b.al[a].Ax = e;
396            d[a][e] = b
397        }
398    }
399    ;
400    x.lang.Ba.prototype.removeEventListener = function(a, b) {
401        a.indexOf("on") != 0 && (a = "on" + a);
402        if (x.lang.it(b)) {
403            if (!b.al || !b.al[a])
404                return;
405            b = b.al[a].Ax
406        } else if (!x.lang.ug(b))
407            return;
408        !this.Ii && (this.Ii = {});
409        var c = this.Ii;
410        c[a] && c[a][b] && delete c[a][b]
411    }
412    ;
413    x.lang.Ba.prototype.dispatchEvent = function(a, b) {
414        x.lang.ug(a) && (a = new x.lang.Zy(a));
415        !this.Ii && (this.Ii = {});
416        var b = b || {}, c;
417        for (c in b)
418            a[c] = b[c];
419        var d = this.Ii
420          , e = a.type;
421        a.target = a.target || this;
422        a.currentTarget = this;
423        e.indexOf("on") != 0 && (e = "on" + e);
424        x.lang.it(this[e]) && this[e].apply(this, arguments);
425        if (typeof d[e] == "object")
426            for (c in d[e])
427                d[e][c].apply(this, arguments);
428        return a.returnValue
429    }
430    ;
431    x.lang.ta = function(a, b, c) {
432        var d, e, f = a.prototype;
433        e = new Function;
434        e.prototype = b.prototype;
435        e = a.prototype = new e;
436        for (d in f)
437            e[d] = f[d];
438        a.prototype.constructor = a;
439        a.u_ = b.prototype;
440        if ("string" == typeof c)
441            e.uQ = c
442    }
443    ;
444    x.ta = x.lang.ta;
445    x.lang.Mc = function(a) {
446        return window[x.ba]._instances[a] || p
447    }
448    ;
449    x.platform = x.platform || {};
450    x.platform.cM = /macintosh/i.test(navigator.userAgent);
451    x.platform.W2 = /MicroMessenger/i.test(navigator.userAgent);
452    x.platform.kM = /windows/i.test(navigator.userAgent);
453    x.platform.sY = /x11/i.test(navigator.userAgent);
454    x.platform.Gm = /android/i.test(navigator.userAgent);
455    /android (\d+\.\d)/i.test(navigator.userAgent) && (x.platform.OJ = x.OJ = RegExp.$1);
456    x.platform.mY = /ipad/i.test(navigator.userAgent);
457    x.platform.qE = /iphone/i.test(navigator.userAgent);
458    function la(a, b) {
459        a.domEvent = b = window.event || b;
460        a.clientX = b.clientX || b.pageX;
461        a.clientY = b.clientY || b.pageY;
462        a.offsetX = b.offsetX || b.layerX;
463        a.offsetY = b.offsetY || b.layerY;
464        a.screenX = b.screenX;
465        a.screenY = b.screenY;
466        a.ctrlKey = b.ctrlKey || b.metaKey;
467        a.shiftKey = b.shiftKey;
468        a.altKey = b.altKey;
469        if (b.touches) {
470            a.touches = [];
471            for (var c = 0; c < b.touches.length; c++)
472                a.touches.push({
473                    clientX: b.touches[c].clientX,
474                    clientY: b.touches[c].clientY,
475                    screenX: b.touches[c].screenX,
476                    screenY: b.touches[c].screenY,
477                    pageX: b.touches[c].pageX,
478                    pageY: b.touches[c].pageY,
479                    target: b.touches[c].target,
480                    identifier: b.touches[c].identifier
481                })
482        }
483        if (b.changedTouches) {
484            a.changedTouches = [];
485            for (c = 0; c < b.changedTouches.length; c++)
486                a.changedTouches.push({
487                    clientX: b.changedTouches[c].clientX,
488                    clientY: b.changedTouches[c].clientY,
489                    screenX: b.changedTouches[c].screenX,
490                    screenY: b.changedTouches[c].screenY,
491                    pageX: b.changedTouches[c].pageX,
492                    pageY: b.changedTouches[c].pageY,
493                    target: b.changedTouches[c].target,
494                    identifier: b.changedTouches[c].identifier
495                })
496        }
497        if (b.targetTouches) {
498            a.targetTouches = [];
499            for (c = 0; c < b.targetTouches.length; c++)
500                a.targetTouches.push({
501                    clientX: b.targetTouches[c].clientX,
502                    clientY: b.targetTouches[c].clientY,
503                    screenX: b.targetTouches[c].screenX,
504                    screenY: b.targetTouches[c].screenY,
505                    pageX: b.targetTouches[c].pageX,
506                    pageY: b.targetTouches[c].pageY,
507                    target: b.targetTouches[c].target,
508                    identifier: b.targetTouches[c].identifier
509                })
510        }
511        a.rotation = b.rotation;
512        a.scale = b.scale;
513        return a
514    }
515    x.lang.Rw = function(a) {
516        var b = window[x.ba];
517        b.FS && delete b.FS[a]
518    }
519    ;
520    x.event = {};
521    x.M = x.event.M = function(a, b, c) {
522        if (!(a = x.$(a)))
523            return a;
524        b = b.replace(/^on/, "");
525        a.addEventListener ? a.addEventListener(b, c, q) : a.attachEvent && a.attachEvent("on" + b, c);
526        return a
527    }
528    ;
529    x.cd = x.event.cd = function(a, b, c) {
530        if (!(a = x.$(a)))
531            return a;
532        b = b.replace(/^on/, "");
533        a.removeEventListener ? a.removeEventListener(b, c, q) : a.detachEvent && a.detachEvent("on" + b, c);
534        return a
535    }
536    ;
537    x.D.$s = function(a, b) {
538        if (!a || !a.className || typeof a.className != "string")
539            return q;
540        var c = -1;
541        try {
542            c = a.className == b || a.className.search(RegExp("(\\s|^)" + b + "(\\s|$)"))
543        } catch (d) {
544            return q
545        }
546        return c > -1
547    }
548    ;
549    x.SK = function() {
550        function a(a) {
551            document.addEventListener && (this.element = a,
552            this.VK = this.zk ? "touchstart" : "mousedown",
553            this.oD = this.zk ? "touchmove" : "mousemove",
554            this.nD = this.zk ? "touchend" : "mouseup",
555            this.rh = q,
556            this.bu = this.au = 0,
557            this.element.addEventListener(this.VK, this, q),
558            ha.M(this.element, "mousedown", s()),
559            this.handleEvent(p))
560        }
561        a.prototype = {
562            zk: "ontouchstart"in window || "createTouch"in document,
563            start: function(a) {
564                ma(a);
565                this.rh = q;
566                this.au = this.zk ? a.touches[0].clientX : a.clientX;
567                this.bu = this.zk ? a.touches[0].clientY : a.clientY;
568                this.element.addEventListener(this.oD, this, q);
569                this.element.addEventListener(this.nD, this, q)
570            },
571            move: function(a) {
572                na(a);
573                var c = this.zk ? a.touches[0].clientY : a.clientY;
574                if (10 < Math.abs((this.zk ? a.touches[0].clientX : a.clientX) - this.au) || 10 < Math.abs(c - this.bu))
575                    this.rh = o
576            },
577            end: function(a) {
578                na(a);
579                this.rh || (a = document.createEvent("Event"),
580                a.initEvent("tap", q, o),
581                this.element.dispatchEvent(a));
582                this.element.removeEventListener(this.oD, this, q);
583                this.element.removeEventListener(this.nD, this, q)
584            },
585            handleEvent: function(a) {
586                if (a)
587                    switch (a.type) {
588                    case this.VK:
589                        this.start(a);
590                        break;
591                    case this.oD:
592                        this.move(a);
593                        break;
594                    case this.nD:
595                        this.end(a)
596                    }
597            }
598        };
599        return function(b) {
600            return new a(b)
601        }
602    }();
603    var z = window.BMap || {};
604    z.version = "2.0";
605    z.yJ = 0.34 > Math.random();
606    0 <= z.version.indexOf("#") && (z.version = "2.0");
607    z.Br = [];
608    z.Se = function(a) {
609        this.Br.push(a)
610    }
611    ;
612    z.rr = [];
613    z.Sm = function(a) {
614        this.rr.push(a)
615    }
616    ;
617    z.TU = z.apiLoad || s();
618    var pa = window.BMAP_AUTHENTIC_KEY;
619    window.BMAP_AUTHENTIC_KEY = p;
620    var qa = window.BMap_loadScriptTime
621      , ra = (new Date).getTime()
622      , sa = p
623      , ta = o
624      , ua = p
625      , va = 5042
626      , wa = 5002
627      , xa = 5003
628      , ya = "load_mapclick"
629      , za = 5038
630      , Aa = 5041
631      , Ba = 5047
632      , Ca = 5036
633      , Da = 5039
634      , Fa = 5037
635      , Ga = 5040
636      , Ha = 5011
637      , Ia = 7E3;
638    var Ja = 0;
639    function Ka(a, b) {
640        if (a = x.$(a)) {
641            var c = this;
642            x.lang.Ba.call(c);
643            b = b || {};
644            c.K = {
645                kC: 200,
646                Xb: o,
647                Zw: q,
648                gD: o,
649                Oo: o,
650                Po: b.enableWheelZoom || q,
651                QK: o,
652                iD: o,
653                Es: o,
654                Xw: o,
655                lm: o,
656                Mo: b.enable3DBuilding || q,
657                Ic: 25,
658                m0: 240,
659                HU: 450,
660                Wb: F.Wb,
661                Ed: F.Ed,
662                Kx: !!b.Kx,
663                fc: Math.round(b.minZoom) || 1,
664                Zb: Math.round(b.maxZoom) || 19,
665                Hb: b.mapType || La,
666                O3: q,
667                MK: b.drawer || Ja,
668                Yw: o,
669                Vw: 500,
670                uW: b.enableHighResolution !== q,
671                nj: b.enableMapClick !== q,
672                devicePixelRatio: b.devicePixelRatio || window.devicePixelRatio || 1,
673                RF: 99,
674                te: b.mapStyle || p,
675                CY: b.logoControl === q ? q : o,
676                aV: [],
677                ww: b.beforeClickIcon || p
678            };
679            c.K.te && (this.bY(c.K.te.controls),
680            this.XL(c.K.te.geotableId));
681            c.K.te && c.K.te.styleId && c.G2(c.K.te.styleId);
682            c.K.dm = {
683                dark: {
684                    backColor: "#2D2D2D",
685                    textColor: "#bfbfbf",
686                    iconUrl: "dicons"
687                },
688                normal: {
689                    backColor: "#F3F1EC",
690                    textColor: "#c61b1b",
691                    iconUrl: "icons"
692                },
693                light: {
694                    backColor: "#EBF8FC",
695                    textColor: "#017fb4",
696                    iconUrl: "licons"
697                }
698            };
699            b.enableAutoResize && (c.K.Xw = b.enableAutoResize);
700            b.enableStreetEntrance === q && (c.K.lm = b.enableStreetEntrance);
701            b.enableDeepZoom === q && (c.K.QK = b.enableDeepZoom);
702            var d = c.K.aV;
703            if (G())
704                for (var e = 0, f = d.length; e < f; e++)
705                    if (x.ea[d[e]]) {
706                        c.K.devicePixelRatio = 1;
707                        break
708                    }
709            d = -1 < navigator.userAgent.toLowerCase().indexOf("android");
710            e = -1 < navigator.userAgent.toLowerCase().indexOf("mqqbrowser");
711            if (-1 < navigator.userAgent.toLowerCase().indexOf("UCBrowser") || d && e)
712                c.K.RF = 99;
713            c.Ua = a;
714            c.wB(a);
715            a.unselectable = "on";
716            a.innerHTML = "";
717            a.appendChild(c.ua());
718            b.size && this.xe(b.size);
719            d = c.yb();
720            c.width = d.width;
721            c.height = d.height;
722            c.offsetX = 0;
723            c.offsetY = 0;
724            c.platform = a.firstChild;
725            c.ue = c.platform.firstChild;
726            c.ue.style.width = c.width + "px";
727            c.ue.style.height = c.height + "px";
728            c.Td = {};
729            c.ef = new H(0,0);
730            c.lc = new H(0,0);
731            c.Ka = 3;
732            c.Cc = 0;
733            c.CC = p;
734            c.BC = p;
735            c.Vb = "";
736            c.Cw = "";
737            c.Oh = {};
738            c.Oh.custom = {};
739            c.Sa = 0;
740            b.useWebGL === q && Ma(q);
741            c.P = new Na(a,{
742                Of: "api",
743                KS: o
744            });
745            c.P.U();
746            c.P.tF(c);
747            b = b || {};
748            d = c.Hb = c.K.Hb;
749            c.we = d.bp();
750            d === Oa && Pa(wa);
751            d === Ra && Pa(xa);
752            d = c.K;
753            d.IO = Math.round(b.minZoom);
754            d.HO = Math.round(b.maxZoom);
755            c.Su();
756            c.R = {
757                Jc: q,
758                kc: 0,
759                mt: 0,
760                oM: 0,
761                a3: 0,
762                bC: q,
763                bF: -1,
764                Ne: []
765            };
766            c.platform.style.cursor = c.K.Wb;
767            for (e = 0; e < z.Br.length; e++)
768                z.Br[e](c);
769            c.R.bF = e;
770            c.ca();
771            I.load("map", function() {
772                c.wb()
773            });
774            c.K.nj && (setTimeout(function() {
775                Pa(ya)
776            }, 1E3),
777            I.load("mapclick", function() {
778                window.MPC_Mgr = window.MPC_Mgr || {};
779                window.MPC_Mgr[c.ba] = new Sa(c)
780            }, o));
781            Ta() && I.load("oppc", function() {
782                c.pz()
783            });
784            G() && I.load("opmb", function() {
785                c.pz()
786            });
787            a = p;
788            c.LB = []
789        }
790    }
791    x.lang.ta(Ka, x.lang.Ba, "Map");
792    x.extend(Ka.prototype, {
793        ua: function() {
794            var a = K("div")
795              , b = a.style;
796            b.overflow = "visible";
797            b.position = "absolute";
798            b.zIndex = "0";
799            b.top = b.left = "0px";
800            var b = K("div", {
801                "class": "BMap_mask"
802            })
803              , c = b.style;
804            c.position = "absolute";
805            c.top = c.left = "0px";
806            c.zIndex = "9";
807            c.overflow = "hidden";
808            c.WebkitUserSelect = "none";
809            a.appendChild(b);
810            return a
811        },
812        wB: function(a) {
813            var b = a.style;
814            b.overflow = "hidden";
815            "absolute" !== Ua(a).position && (b.position = "relative",
816            b.zIndex = 0);
817            b.backgroundColor = "#F3F1EC";
818            b.color = "#000";
819            b.textAlign = "left"
820        },
821        ca: function() {
822            var a = this;
823            a.Ur = function() {
824                var b = a.yb();
825                if (a.width !== b.width || a.height !== b.height) {
826                    var c = new L(a.width,a.height)
827                      , d = new N("onbeforeresize");
828                    d.size = c;
829                    a.dispatchEvent(d);
830                    a.ik((b.width - a.width) / 2, (b.height - a.height) / 2);
831                    a.ue.style.width = (a.width = b.width) + "px";
832                    a.ue.style.height = (a.height = b.height) + "px";
833                    c = new N("onresize");
834                    c.size = b;
835                    a.dispatchEvent(c)
836                }
837            }
838            ;
839            a.K.Xw && (a.R.Yr = setInterval(a.Ur, 80))
840        },
841        ik: function(a, b, c, d) {
842            var e = this.oa().Bc(this.fa())
843              , f = this.we
844              , g = o;
845            c && H.bM(c) && (this.ef = new H(c.lng,c.lat),
846            g = q);
847            if (c = c && d ? f.Jm(c, this.Vb) : this.lc)
848                if (this.lc = new H(c.lng + a * e,c.lat - b * e),
849                (a = f.qh(this.lc, this.Vb)) && g)
850                    this.ef = a
851        },
852        Fg: function(a, b) {
853            if (Va(a) && (this.Su(),
854            this.dispatchEvent(new N("onzoomstart")),
855            a = this.Vn(a).zoom,
856            a !== this.Ka)) {
857                this.Cc = this.Ka;
858                this.Ka = a;
859                var c;
860                b ? c = b : this.jh() && (c = this.jh().ha());
861                c && (c = this.ac(c, this.Cc),
862                this.ik(this.width / 2 - c.x, this.height / 2 - c.y, this.ub(c, this.Cc), o));
863                this.dispatchEvent(new N("onzoomstartcode"))
864            }
865        },
866        Oc: function(a) {
867            this.Fg(a)
868        },
869        VF: function(a) {
870            this.Fg(this.Ka + 1, a)
871        },
872        WF: function(a) {
873            this.Fg(this.Ka - 1, a)
874        },
875        ui: function(a) {
876            a instanceof H && (this.lc = this.we.Jm(a, this.Vb),
877            this.ef = H.bM(a) ? new H(a.lng,a.lat) : this.we.qh(this.lc, this.Vb))
878        },
879        yg: function(a, b) {
880            a = Math.round(a) || 0;
881            b = Math.round(b) || 0;
882            this.ik(-a, -b)
883        },
884        lw: function(a) {
885            a && Wa(a.Ce) && (a.Ce(this),
886            this.dispatchEvent(new N("onaddcontrol",a)))
887        },
888        vN: function(a) {
889            a && Wa(a.remove) && (a.remove(),
890            this.dispatchEvent(new N("onremovecontrol",a)))
891        },
892        uo: function(a) {
893            a && Wa(a.qa) && (a.qa(this),
894            this.dispatchEvent(new N("onaddcontextmenu",a)))
895        },
896        zp: function(a) {
897            a && Wa(a.remove) && (this.dispatchEvent(new N("onremovecontextmenu",a)),
898            a.remove())
899        },
900        Ia: function(a) {
901            a && Wa(a.Ce) && (a.Ce(this),
902            this.dispatchEvent(new N("onaddoverlay",a)))
903        },
904        Sb: function(a) {
905            a && Wa(a.remove) && (a.remove(),
906            this.dispatchEvent(new N("onremoveoverlay",a)))
907        },
908        hK: function() {
909            this.dispatchEvent(new N("onclearoverlays"))
910        },
911        Yg: function(a) {
912            a && this.dispatchEvent(new N("onaddtilelayer",a))
913        },
914        zh: function(a) {
915            a && this.dispatchEvent(new N("onremovetilelayer",a))
916        },
917        Bg: function(a) {
918            if (this.Hb !== a) {
919                var b = new N("onsetmaptype");
920                b.D3 = this.Hb;
921                this.Hb = this.K.Hb = a;
922                this.we = this.Hb.bp();
923                this.ik(0, 0, this.Ja(), o);
924                this.Su();
925                var c = this.Vn(this.fa()).zoom;
926                this.Fg(c);
927                this.dispatchEvent(b);
928                b = new N("onmaptypechange");
929                b.Ka = c;
930                b.Hb = a;
931                this.dispatchEvent(b);
932                (a === Xa || a === Ra) && Pa(xa)
933            }
934        },
935        Vf: function(a) {
936            var b = this;
937            if (a instanceof H)
938                b.ui(a, {
939                    noAnimation: o
940                });
941            else if (Za(a))
942                if (b.Hb === Oa) {
943                    var c = F.gC[a];
944                    c && (pt = c.m,
945                    b.Vf(pt))
946                } else {
947                    var d = this.GH();
948                    d.wF(function(c) {
949                        0 === d.um() && 2 === d.Ea.result.type && (b.Vf(c.xk(0).point),
950                        Oa.tk(a) && b.qF(a))
951                    });
952                    d.search(a, {
953                        log: "center"
954                    })
955                }
956        },
957        Cd: function(a, b) {
958            "[object Undefined]" !== Object.prototype.toString.call(b) && (b = parseInt(b));
959            ua = G() ? $a.Fi.ok(z.yJ ? 102 : 101) : $a.Fi.ok(1);
960            ua.cu();
961            ua.kz = +new Date;
962            ua.pc("script_loaded", ra - qa);
963            ua.pc("centerAndZoom");
964            z.Ij("cus.fire", "time", {
965                z_loadscripttime: ra - qa
966            });
967            var c = this;
968            if (Za(a))
969                if (c.Hb === Oa) {
970                    var d = F.gC[a];
971                    d && (pt = d.m,
972                    c.Cd(pt, b))
973                } else {
974                    var e = c.GH();
975                    e.wF(function(d) {
976                        if (0 === e.um() && (2 === e.Ea.result.type || 11 === e.Ea.result.type)) {
977                            var d = d.xk(0).point
978                              , f = b || P.bx(e.Ea.content.level, c);
979                            c.Cd(d, f);
980                            Oa.tk(a) && c.qF(a)
981                        }
982                    });
983                    e.search(a, {
984                        log: "center"
985                    })
986                }
987            else if (a instanceof H && b) {
988                b = c.Vn(b).zoom;
989                c.Cc = c.Ka || b;
990                c.Ka = b;
991                d = c.ef;
992                c.ef = new H(a.lng,a.lat);
993                c.lc = c.we.Jm(c.ef, c.Vb);
994                c.CC = c.CC || c.Ka;
995                c.BC = c.BC || c.ef;
996                var f = new N("onload")
997                  , g = new N("onloadcode");
998                f.point = new H(a.lng,a.lat);
999                f.pixel = c.ac(c.ef, c.Ka);
1000                f.zoom = b;
1001                c.loaded || (c.loaded = o,
1002                c.dispatchEvent(f),
1003                sa || (sa = ab()));
1004                c.dispatchEvent(g);
1005                f = new N("onmoveend");
1006                f.iH = "centerAndZoom";
1007                d.mb(c.ef) || c.dispatchEvent(f);
1008                c.dispatchEvent(new N("onmoveend"));
1009                c.Cc !== c.Ka && (d = new N("onzoomend"),
1010                d.iH = "centerAndZoom",
1011                c.dispatchEvent(d));
1012                c.K.Mo && c.Mo()
1013            }
1014        },
1015        GH: function() {
1016            this.R.vM || (this.R.vM = new bb(1));
1017            return this.R.vM
1018        },
1019        reset: function() {
1020            this.Cd(this.BC, this.CC, o)
1021        },
1022        enableDragging: function() {
1023            this.K.Xb = o
1024        },
1025        disableDragging: function() {
1026            this.K.Xb = q
1027        },
1028        enableInertialDragging: function() {
1029            this.K.Yw = o
1030        },
1031        disableInertialDragging: function() {
1032            this.K.Yw = q
1033        },
1034        enableScrollWheelZoom: function() {
1035            this.K.Po = o
1036        },
1037        disableScrollWheelZoom: function() {
1038            this.K.Po = q
1039        },
1040        enableContinuousZoom: function() {
1041            this.K.Oo = o
1042        },
1043        disableContinuousZoom: function() {
1044            this.K.Oo = q
1045        },
1046        enableDoubleClickZoom: function() {
1047            this.K.gD = o
1048        },
1049        disableDoubleClickZoom: function() {
1050            this.K.gD = q
1051        },
1052        enableKeyboard: function() {
1053            this.K.Zw = o
1054        },
1055        disableKeyboard: function() {
1056            this.K.Zw = q
1057        },
1058        enablePinchToZoom: function() {
1059            this.K.Es = o
1060        },
1061        disablePinchToZoom: function() {
1062            this.K.Es = q
1063        },
1064        enableAutoResize: function() {
1065            this.K.Xw = o;
1066            this.Ur();
1067            this.R.Yr || (this.R.Yr = setInterval(this.Ur, 80))
1068        },
1069        disableAutoResize: function() {
1070            this.K.Xw = q;
1071            this.R.Yr && (clearInterval(this.R.Yr),
1072            this.R.Yr = p)
1073        },
1074        Mo: function() {
1075            this.K.Mo = o;
1076            this.Kn || (this.Kn = new db({
1077                ZK: o
1078            }),
1079            this.Yg(this.Kn))
1080        },
1081        eW: function() {
1082            this.K.Mo = q;
1083            this.Kn && (this.zh(this.Kn),
1084            this.Kn = p,
1085            delete this.Kn)
1086        },
1087        yb: function() {
1088            return this.ls && this.ls instanceof L ? new L(this.ls.width,this.ls.height) : new L(this.Ua.clientWidth,this.Ua.clientHeight)
1089        },
1090        xe: function(a) {
1091            a && a instanceof L ? (this.ls = a,
1092            this.Ua.style.width = a.width + "px",
1093            this.Ua.style.height = a.height + "px") : this.ls = p
1094        },
1095        Ja: t("ef"),
1096        fa: t("Ka"),
1097        vV: function() {
1098            this.Ur()
1099        },
1100        Vn: function(a) {
1101            var b = this.K.fc
1102              , c = this.K.Zb
1103              , d = q
1104              , a = Math.round(a);
1105            a < b && (d = o,
1106            a = b);
1107            a > c && (d = o,
1108            a = c);
1109            return {
1110                zoom: a,
1111                pD: d
1112            }
1113        },
1114        Na: t("Ua"),
1115        ac: function(a, b) {
1116            b = b || this.fa();
1117            return this.we.ac(a, b, this.lc, this.yb(), this.Vb)
1118        },
1119        ub: function(a, b) {
1120            b = b || this.fa();
1121            return this.we.ub(a, b, this.lc, this.yb(), this.Vb)
1122        },
1123        Re: function(a, b) {
1124            if (a) {
1125                var c = this.ac(new H(a.lng,a.lat), b);
1126                c.x -= this.offsetX;
1127                c.y -= this.offsetY;
1128                return c
1129            }
1130        },
1131        kN: function(a, b) {
1132            if (a) {
1133                var c = new Q(a.x,a.y);
1134                c.x += this.offsetX;
1135                c.y += this.offsetY;
1136                return this.ub(c, b)
1137            }
1138        },
1139        pointToPixelFor3D: function(a, b) {
1140            var c = map.Vb;
1141            this.Hb === Oa && c && eb.nK(a, this, b)
1142        },
1143        y3: function(a, b) {
1144            var c = map.Vb;
1145            this.Hb === Oa && c && eb.mK(a, this, b)
1146        },
1147        z3: function(a, b) {
1148            var c = this
1149              , d = map.Vb;
1150            c.Hb === Oa && d && eb.nK(a, c, function(a) {
1151                a.x -= c.offsetX;
1152                a.y -= c.offsetY;
1153                b && b(a)
1154            })
1155        },
1156        w3: function(a, b) {
1157            var c = map.Vb;
1158            this.Hb === Oa && c && (a.x += this.offsetX,
1159            a.y += this.offsetY,
1160            eb.mK(a, this, b))
1161        },
1162        Gd: function(a) {
1163            if (!this.Jx())
1164                return new fb;
1165            var b = a || {}
1166              , a = b.margins || [0, 0, 0, 0]
1167              , c = b.zoom || p
1168              , b = this.ub({
1169                x: a[3],
1170                y: this.height - a[2]
1171            }, c)
1172              , a = this.ub({
1173                x: this.width - a[1],
1174                y: a[0]
1175            }, c);
1176            return new fb(b,a)
1177        },
1178        Jx: function() {
1179            return !!this.loaded
1180        },
1181        MR: function(a, b) {
1182            for (var c = this.oa(), d = b.margins || [10, 10, 10, 10], e = b.zoomFactor || 0, f = d[1] + d[3], d = d[0] + d[2], g = c.Xo(), i = c = c.qm(); i >= g; i--) {
1183                var k = this.oa().Bc(i);
1184                if (a.KF().lng / k < this.width - f && a.KF().lat / k < this.height - d)
1185                    break
1186            }
1187            i += e;
1188            i < g && (i = g);
1189            i > c && (i = c);
1190            return i
1191        },
1192        Zs: function(a, b) {
1193            var c = {
1194                center: this.Ja(),
1195                zoom: this.fa()
1196            };
1197            if (!a || !a instanceof fb && 0 === a.length || a instanceof fb && a.yj())
1198                return c;
1199            var d = [];
1200            a instanceof fb ? (d.push(a.kf()),
1201            d.push(a.re())) : d = a.slice(0);
1202            for (var b = b || {}, e = [], f = 0, g = d.length; f < g; f++)
1203                e.push(this.we.Jm(d[f], this.Vb));
1204            d = new fb;
1205            for (f = e.length - 1; 0 <= f; f--)
1206                d.extend(e[f]);
1207            if (d.yj())
1208                return c;
1209            c = d.Ja();
1210            e = this.MR(d, b);
1211            b.margins && (d = b.margins,
1212            f = (d[1] - d[3]) / 2,
1213            d = (d[0] - d[2]) / 2,
1214            g = this.oa().Bc(e),
1215            b.offset && (f = b.offset.width,
1216            d = b.offset.height),
1217            c.lng += g * f,
1218            c.lat += g * d);
1219            c = this.we.qh(c, this.Vb);
1220            return {
1221                center: c,
1222                zoom: e
1223            }
1224        },
1225        Bh: function(a, b) {
1226            var c;
1227            c = a && a.center ? a : this.Zs(a, b);
1228            var b = b || {}
1229              , d = b.delay || 200;
1230            if (c.zoom === this.Ka && b.enableAnimation !== q) {
1231                var e = this;
1232                setTimeout(function() {
1233                    e.ui(c.center, {
1234                        duration: 210
1235                    })
1236                }, d)
1237            } else
1238                this.Cd(c.center, c.zoom)
1239        },
1240        Qf: t("Td"),
1241        jh: function() {
1242            return this.R.nb && this.R.nb.Va() ? this.R.nb : p
1243        },
1244        getDistance: function(a, b) {
1245            if (a && b) {
1246                if (a.mb(b))
1247                    return 0;
1248                var c = 0
1249                  , c = R.Vo(a, b);
1250                if (c === p || c === j)
1251                    c = 0;
1252                return c
1253            }
1254        },
1255        tx: function() {
1256            var a = []
1257              , b = this.va
1258              , c = this.ze;
1259            if (b)
1260                for (var d in b)
1261                    b[d]instanceof gb && a.push(b[d]);
1262            if (c) {
1263                d = 0;
1264                for (b = c.length; d < b; d++)
1265                    a.push(c[d])
1266            }
1267            return a
1268        },
1269        oa: t("Hb"),
1270        pz: function() {
1271            for (var a = this.R.bF; a < z.Br.length; a++)
1272                z.Br[a](this);
1273            this.R.bF = a
1274        },
1275        qF: function(a) {
1276            this.Vb = Oa.tk(a);
1277            this.Cw = Oa.jL(this.Vb);
1278            this.Hb === Oa && this.we instanceof hb && (this.we.gj = this.Vb)
1279        },
1280        setDefaultCursor: function(a) {
1281            this.K.Wb = a;
1282            this.platform && (this.platform.style.cursor = this.K.Wb)
1283        },
1284        getDefaultCursor: function() {
1285            return this.K.Wb
1286        },
1287        setDraggingCursor: function(a) {
1288            this.K.Ed = a
1289        },
1290        getDraggingCursor: function() {
1291            return this.K.Ed
1292        },
1293        dE: function() {
1294            return this.K.uW && 1.5 <= this.K.devicePixelRatio
1295        },
1296        nw: function(a, b) {
1297            b ? this.Oh[b] || (this.Oh[b] = {}) : b = "custom";
1298            a.tag = b;
1299            a instanceof ib && (this.Oh[b][a.ba] = a,
1300            a.qa(this));
1301            var c = this;
1302            I.load("hotspot", function() {
1303                c.pz()
1304            }, o)
1305        },
1306        oZ: function(a, b) {
1307            b || (b = "custom");
1308            this.Oh[b][a.ba] && delete this.Oh[b][a.ba]
1309        },
1310        bm: function(a) {
1311            a || (a = "custom");
1312            this.Oh[a] = {}
1313        },
1314        Su: function() {
1315            var a = this.Hb.Xo()
1316              , b = this.Hb.qm()
1317              , c = this.K;
1318            c.fc = c.IO || a;
1319            c.Zb = c.HO || b;
1320            c.fc < a && (c.fc = a);
1321            c.Zb > b && (c.Zb = b)
1322        },
1323        setMinZoom: function(a) {
1324            a = Math.round(a);
1325            a > this.K.Zb && (a = this.K.Zb);
1326            this.K.IO = a;
1327            this.pJ()
1328        },
1329        setMaxZoom: function(a) {
1330            a = Math.round(a);
1331            a < this.K.fc && (a = this.K.fc);
1332            this.K.HO = a;
1333            this.pJ()
1334        },
1335        pJ: function() {
1336            this.Su();
1337            var a = this.K;
1338            this.Ka < a.fc ? this.Oc(a.fc) : this.Ka > a.Zb && this.Oc(a.Zb);
1339            var b = new N("onzoomspanchange");
1340            b.fc = a.fc;
1341            b.Zb = a.Zb;
1342            this.dispatchEvent(b)
1343        },
1344        I2: t("LB"),
1345        getKey: function() {
1346            return pa
1347        },
1348        Nt: function(a) {
1349            var b = this;
1350            window.MPC_Mgr && window.MPC_Mgr[b.ba] && window.MPC_Mgr[b.ba].close();
1351            b.K.nj = q;
1352            z.Ij("cus.fire", "count", "z_setmapstylecount");
1353            if (a) {
1354                b = this;
1355                a.styleJson && (a.styleStr = b.r_(a.styleJson));
1356                G() && x.ea.HN ? setTimeout(function() {
1357                    b.K.te = a;
1358                    b.dispatchEvent(new N("onsetcustomstyles",a))
1359                }, 50) : (this.K.te = a,
1360                this.dispatchEvent(new N("onsetcustomstyles",a)),
1361                this.XL(b.K.te.geotableId));
1362                var c = {
1363                    style: a.style
1364                };
1365                a.features && 0 < a.features.length && (c.features = o);
1366                a.styleJson && 0 < a.styleJson.length && (c.styleJson = o);
1367                Pa(5050, c);
1368                a.style && (c = b.K.dm[a.style] ? b.K.dm[a.style].backColor : b.K.dm.normal.backColor) && (this.Na().style.backgroundColor = c)
1369            }
1370        },
1371        bY: function(a) {
1372            this.controls || (this.controls = {
1373                navigationControl: new jb,
1374                scaleControl: new kb,
1375                overviewMapControl: new lb,
1376                mapTypeControl: new mb
1377            });
1378            var b = this, c;
1379            for (c in this.controls)
1380                b.vN(b.controls[c]);
1381            a = a || [];
1382            x.jc.Fb(a, function(a) {
1383                b.lw(b.controls[a])
1384            })
1385        },
1386        XL: function(a) {
1387            a ? this.js && this.js.xf === a || (this.zh(this.js),
1388            this.js = new nb({
1389                geotableId: a
1390            }),
1391            this.Yg(this.js)) : this.zh(this.js)
1392        },
1393        Ub: function() {
1394            var a = this.fa() >= this.K.RF && this.oa() === La && 18 >= this.fa()
1395              , b = q;
1396            try {
1397                document.createElement("canvas").getContext("2d"),
1398                b = o
1399            } catch (c) {
1400                b = q
1401            }
1402            return a && b
1403        },
1404        getCurrentCity: function() {
1405            return {
1406                name: this.$g,
1407                code: this.Zr
1408            }
1409        },
1410        rm: function() {
1411            this.P.$n();
1412            return this.P
1413        },
1414        setPanorama: function(a) {
1415            this.P = a;
1416            this.P.tF(this)
1417        },
1418        r_: function(a) {
1419            for (var b = {
1420                featureType: "t",
1421                elementType: "e",
1422                visibility: "v",
1423                color: "c",
1424                lightness: "l",
1425                saturation: "s",
1426                weight: "w",
1427                zoom: "z",
1428                hue: "h"
1429            }, c = {
1430                all: "all",
1431                geometry: "g",
1432                "geometry.fill": "g.f",
1433                "geometry.stroke": "g.s",
1434                labels: "l",
1435                "labels.text.fill": "l.t.f",
1436                "labels.text.stroke": "l.t.s",
1437                "lables.text": "l.t",
1438                "labels.icon": "l.i"
1439            }, d = [], e = 0, f; f = a[e]; e++) {
1440                var g = f.stylers;
1441                delete f.stylers;
1442                x.extend(f, g);
1443                var g = [], i;
1444                for (i in b)
1445                    f[i] && ("elementType" === i ? g.push(b[i] + ":" + c[f[i]]) : g.push(b[i] + ":" + f[i]));
1446                2 < g.length && d.push(g.join("|"))
1447            }
1448            return d.join(",")
1449        }
1450    });
1451    function Pa(a, b) {
1452        if (a) {
1453            var b = b || {}, c = "", d;
1454            for (d in b)
1455                c = c + "&" + d + "=" + encodeURIComponent(b[d]);
1456            var e = function(a) {
1457                a && (ob = o,
1458                setTimeout(function() {
1459                    pb.src = z.Hc + "images/blank.gif?" + a.src
1460                }, 50))
1461            }
1462              , f = function() {
1463                var a = qb.shift();
1464                a && e(a)
1465            }
1466            ;
1467            d = (1E8 * Math.random()).toFixed(0);
1468            ob ? qb.push({
1469                src: "product=jsapi&sub_product=jsapi&v=" + z.version + "&sub_product_v=" + z.version + "&t=" + d + "&code=" + a + "&da_src=" + a + c
1470            }) : e({
1471                src: "product=jsapi&sub_product=jsapi&v=" + z.version + "&sub_product_v=" + z.version + "&t=" + d + "&code=" + a + "&da_src=" + a + c
1472            });
1473            rb || (x.M(pb, "load", function() {
1474                ob = q;
1475                f()
1476            }),
1477            x.M(pb, "error", function() {
1478                ob = q;
1479                f()
1480            }),
1481            rb = o)
1482        }
1483    }
1484    var ob, rb, qb = [], pb = new Image;
1485    Pa(5E3, {
1486        device_pixel_ratio: window.devicePixelRatio,
1487        platform: navigator.platform
1488    });
1489    z.RL = {
1490        TILE_BASE_URLS: ["ss0.baidu.com/5bwHcj7lABFU8t_jkk_Z1zRvfdw6buu", "ss0.baidu.com/5bwHcj7lABFV8t_jkk_Z1zRvfdw6buu", "ss0.baidu.com/5bwHcj7lABFS8t_jkk_Z1zRvfdw6buu", "ss0.bdstatic.com/5bwHcj7lABFT8t_jkk_Z1zRvfdw6buu", "ss0.bdstatic.com/5bwHcj7lABFY8t_jkk_Z1zRvfdw6buu"],
1491        TILE_ONLINE_URLS: ["ss0.bdstatic.com/8bo_dTSlR1gBo1vgoIiO_jowehsv", "ss0.bdstatic.com/8bo_dTSlRMgBo1vgoIiO_jowehsv", "ss0.bdstatic.com/8bo_dTSlRcgBo1vgoIiO_jowehsv", "ss0.bdstatic.com/8bo_dTSlRsgBo1vgoIiO_jowehsv", "ss0.bdstatic.com/8bo_dTSlQ1gBo1vgoIiO_jowehsv"],
1492        TIlE_PERSPECT_URLS: ["ss0.bdstatic.com/-OR1cTe9KgQFm2e88IuM_a", "ss0.bdstatic.com/-ON1cTe9KgQFm2e88IuM_a", "ss0.bdstatic.com/-OZ1cTe9KgQFm2e88IuM_a", "ss0.bdstatic.com/-OV1cTe9KgQFm2e88IuM_a"],
1493        geolocControl: "sp2.baidu.com/8LkJsjOpB1gCo2Kml5_Y_D3",
1494        TILES_YUN_HOST: ["sp0.baidu.com/-eR1bSahKgkFkRGko9WTAnF6hhy", "sp0.baidu.com/-eN1bSahKgkFkRGko9WTAnF6hhy", "sp0.baidu.com/-eZ1bSahKgkFkRGko9WTAnF6hhy", "sp0.baidu.com/-eV1bSahKgkFkRGko9WTAnF6hhy"],
1495        traffic: "sp3.baidu.com/7_AZsjOpB1gCo2Kml5_Y_DAcsMJiwa",
1496        iw_pano: "ss0.bdstatic.com/5LUZemba_QUU8t7mm9GUKT-xh_",
1497        message: "sp0.baidu.com/7vo0bSba2gU2pMbgoY3K",
1498        baidumap: "sp0.baidu.com/80MWsjip0QIZ8tyhnq",
1499        wuxian: "sp0.baidu.com/6a1OdTeaKgQFm2e88IuM_a",
1500        pano: ["ss0.bdstatic.com/5LUZemba_QUU8t7mm9GUKT-xh_", "ss0.bdstatic.com/5LUZemfa_QUU8t7mm9GUKT-xh_", "ss0.bdstatic.com/5LUZemja_QUU8t7mm9GUKT-xh_"],
1501        main_domain_nocdn: {
1502            baidu: "sp0.baidu.com/9_Q4sjOpB1gCo2Kml5_Y_D3",
1503            other: "api.map.baidu.com"
1504        },
1505        main_domain_cdn: {
1506            baidu: ["ss0.bdstatic.com/9_Q4vHSd2RZ3otebn9fN2DJv", "ss0.baidu.com/9_Q4vXSd2RZ3otebn9fN2DJv", "ss0.bdstatic.com/9_Q4vnSd2RZ3otebn9fN2DJv"],
1507            other: ["api.map.baidu.com"],
1508            webmap: ["ss0.baidu.com/6b1IcTe9R1gBo1vgoIiO_jowehsv"]
1509        },
1510        map_click: "sp0.baidu.com/80MWbzKh2wt3n2qy8IqW0jdnxx1xbK",
1511        vector_traffic: "ss0.bdstatic.com/8aZ1cTe9KgQIm2_p8IuM_a"
1512    };
1513    z.XX = {
1514        TILE_BASE_URLS: ["shangetu0.map.bdimg.com", "shangetu1.map.bdimg.com", "shangetu2.map.bdimg.com", "shangetu3.map.bdimg.com", "shangetu4.map.bdimg.com"],
1515        TILE_ONLINE_URLS: ["online0.map.bdimg.com", "online1.map.bdimg.com", "online2.map.bdimg.com", "online3.map.bdimg.com", "online4.map.bdimg.com"],
1516        TIlE_PERSPECT_URLS: ["d0.map.baidu.com", "d1.map.baidu.com", "d2.map.baidu.com", "d3.map.baidu.com"],
1517        geolocControl: "loc.map.baidu.com",
1518        TILES_YUN_HOST: ["g0.api.map.baidu.com", "g1.api.map.baidu.com", "g2.api.map.baidu.com", "g3.api.map.baidu.com"],
1519        traffic: "its.map.baidu.com:8002",
1520        iw_pano: "pcsv0.map.bdimg.com",
1521        message: "j.map.baidu.com",
1522        baidumap: "map.baidu.com",
1523        wuxian: "wuxian.baidu.com",
1524        pano: ["pcsv0.map.bdimg.com", "pcsv1.map.bdimg.com", "pcsv2.map.bdimg.com"],
1525        main_domain_nocdn: {
1526            baidu: "api.map.baidu.com"
1527        },
1528        main_domain_cdn: {
1529            baidu: ["api0.map.bdimg.com", "api1.map.bdimg.com", "api2.map.bdimg.com"],
1530            webmap: ["webmap0.map.bdimg.com"]
1531        },
1532        map_click: "mapclick.map.baidu.com",
1533        vector_traffic: "or.map.bdimg.com"
1534    };
1535    z.U_ = {
1536        "0": {
1537            proto: "http://",
1538            domain: z.XX
1539        },
1540        1: {
1541            proto: "https://",
1542            domain: z.RL
1543        },
1544        2: {
1545            proto: "https://",
1546            domain: z.RL
1547        }
1548    };
1549    z.ou = window.HOST_TYPE || "0";
1550    z.url = z.U_[z.ou];
1551    z.qp = z.url.proto + z.url.domain.baidumap + "/";
1552    z.Hc = z.url.proto + ("2" == z.ou ? z.url.domain.main_domain_nocdn.other : z.url.domain.main_domain_nocdn.baidu) + "/";
1553    z.ma = z.url.proto + ("2" == z.ou ? z.url.domain.main_domain_cdn.other[0] : z.url.domain.main_domain_cdn.baidu[0]) + "/";
1554    z.ej = z.url.proto + z.url.domain.main_domain_cdn.webmap[0] + "/";
1555    z.tg = function(a, b) {
1556        var c, d, b = b || "";
1557        switch (a) {
1558        case "main_domain_nocdn":
1559            c = z.Hc + b;
1560            break;
1561        case "main_domain_cdn":
1562            c = z.ma + b;
1563            break;
1564        default:
1565            d = z.url.domain[a],
1566            "[object Array]" == Object.prototype.toString.call(d) ? (c = [],
1567            x.jc.Fb(d, function(a, d) {
1568                c[d] = z.url.proto + a + "/" + b
1569            })) : c = z.url.proto + z.url.domain[a] + "/" + b
1570        }
1571        return c
1572    }
1573    ;
1574    function sb(a) {
1575        var b = {
1576            duration: 1E3,
1577            Ic: 30,
1578            Io: 0,
1579            hc: tb.sM,
1580            yt: s()
1581        };
1582        this.Zf = [];
1583        if (a)
1584            for (var c in a)
1585                b[c] = a[c];
1586        this.k = b;
1587        if (Va(b.Io)) {
1588            var d = this;
1589            setTimeout(function() {
1590                d.start()
1591            }, b.Io)
1592        } else
1593            b.Io != ub && this.start()
1594    }
1595    var ub = "INFINITE";
1596    sb.prototype.start = function() {
1597        this.Lu = ab();
1598        this.Wz = this.Lu + this.k.duration;
1599        vb(this)
1600    }
1601    ;
1602    sb.prototype.add = function(a) {
1603        this.Zf.push(a)
1604    }
1605    ;
1606    function vb(a) {
1607        var b = ab();
1608        b >= a.Wz ? (Wa(a.k.ua) && a.k.ua(a.k.hc(1)),
1609        Wa(a.k.finish) && a.k.finish(),
1610        0 < a.Zf.length && (b = a.Zf[0],
1611        b.Zf = [].concat(a.Zf.slice(1)),
1612        b.start())) : (a.uy = a.k.hc((b - a.Lu) / a.k.duration),
1613        Wa(a.k.ua) && a.k.ua(a.uy),
1614        a.FF || (a.Rr = setTimeout(function() {
1615            vb(a)
1616        }, 1E3 / a.k.Ic)))
1617    }
1618    sb.prototype.stop = function(a) {
1619        this.FF = o;
1620        for (var b = 0; b < this.Zf.length; b++)
1621            this.Zf[b].stop(),
1622            this.Zf[b] = p;
1623        this.Zf.length = 0;
1624        this.Rr && (clearTimeout(this.Rr),
1625        this.Rr = p);
1626        this.k.yt(this.uy);
1627        a && (this.Wz = this.Lu,
1628        vb(this))
1629    }
1630    ;
1631    sb.prototype.cancel = fa(1);
1632    var tb = {
1633        sM: function(a) {
1634            return a
1635        },
1636        reverse: function(a) {
1637            return 1 - a
1638        },
1639        bD: function(a) {
1640            return a * a
1641        },
1642        aD: function(a) {
1643            return Math.pow(a, 3)
1644        },
1645        Cs: function(a) {
1646            return -(a * (a - 2))
1647        },
1648        OK: function(a) {
1649            return Math.pow(a - 1, 3) + 1
1650        },
1651        NK: function(a) {
1652            return 0.5 > a ? 2 * a * a : -2 * (a - 2) * a - 1
1653        },
1654        K1: function(a) {
1655            return 0.5 > a ? 4 * Math.pow(a, 3) : 4 * Math.pow(a - 1, 3) + 1
1656        },
1657        L1: function(a) {
1658            return (1 - Math.cos(Math.PI * a)) / 2
1659        }
1660    };
1661    tb["ease-in"] = tb.bD;
1662    tb["ease-out"] = tb.Cs;
1663    var F = {
1664        ZF: 34,
1665        $F: 21,
1666        aG: new L(21,32),
1667        ZO: new L(10,32),
1668        YO: new L(24,36),
1669        XO: new L(12,36),
1670        XF: new L(13,1),
1671        pa: z.ma + "images/",
1672        R2: "http://api0.map.bdimg.com/images/",
1673        YF: z.ma + "images/markers_new.png",
1674        VO: 24,
1675        WO: 73,
1676        gC: {
1677            "\u5317\u4eac": {
1678                iy: "bj",
1679                m: new H(116.403874,39.914889)
1680            },
1681            "\u4e0a\u6d77": {
1682                iy: "sh",
1683                m: new H(121.487899,31.249162)
1684            },
1685            "\u6df1\u5733": {
1686                iy: "sz",
1687                m: new H(114.025974,22.546054)
1688            },
1689            "\u5e7f\u5dde": {
1690                iy: "gz",
1691                m: new H(113.30765,23.120049)
1692            }
1693        },
1694        fontFamily: "arial,sans-serif"
1695    };
1696    x.ea.rg ? (x.extend(F, {
1697        CK: "url(" + F.pa + "ruler.cur),crosshair",
1698        Wb: "-moz-grab",
1699        Ed: "-moz-grabbing"
1700    }),
1701    x.platform.kM && (F.fontFamily = "arial,simsun,sans-serif")) : x.ea.eC || x.ea.HN ? x.extend(F, {
1702        CK: "url(" + F.pa + "ruler.cur) 2 6,crosshair",
1703        Wb: "url(" + F.pa + "openhand.cur) 8 8,default",
1704        Ed: "url(" + F.pa + "closedhand.cur) 8 8,move"
1705    }) : x.extend(F, {
1706        CK: "url(" + F.pa + "ruler.cur),crosshair",
1707        Wb: "url(" + F.pa + "openhand.cur),default",
1708        Ed: "url(" + F.pa + "closedhand.cur),move"
1709    });
1710    function wb(a, b) {
1711        var c = a.style;
1712        c.left = b[0] + "px";
1713        c.top = b[1] + "px"
1714    }
1715    function xb(a) {
1716        0 < x.ea.la ? a.unselectable = "on" : a.style.MozUserSelect = "none"
1717    }
1718    function yb(a) {
1719        return a && a.parentNode && 11 !== a.parentNode.nodeType
1720    }
1721    function zb(a, b) {
1722        x.D.Hx(a, "beforeEnd", b);
1723        return a.lastChild
1724    }
1725    function Ab(a) {
1726        for (var b = {
1727            left: 0,
1728            top: 0
1729        }; a && a.offsetParent; )
1730            b.left += a.offsetLeft,
1731            b.top += a.offsetTop,
1732            a = a.offsetParent;
1733        return b
1734    }
1735    function ma(a) {
1736        a = window.event || a;
1737        a.stopPropagation ? a.stopPropagation() : a.cancelBubble = o
1738    }
1739    function Bb(a) {
1740        a = window.event || a;
1741        a.preventDefault ? a.preventDefault() : a.returnValue = q;
1742        return q
1743    }
1744    function na(a) {
1745        ma(a);
1746        return Bb(a)
1747    }
1748    function Cb() {
1749        var a = document.documentElement
1750          , b = document.body;
1751        return a && (a.scrollTop || a.scrollLeft) ? [a.scrollTop, a.scrollLeft] : b ? [b.scrollTop, b.scrollLeft] : [0, 0]
1752    }
1753    function Eb(a, b) {
1754        if (a && b)
1755            return Math.round(Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2)))
1756    }
1757    function Fb(a, b) {
1758        var c = [], b = b || function(a) {
1759            return a
1760        }
1761        , d;
1762        for (d in a)
1763            c.push(d + "=" + b(a[d]));
1764        return c.join("&")
1765    }
1766    function K(a, b, c) {
1767        var d = document.createElement(a);
1768        c && (d = document.createElementNS(c, a));
1769        return x.D.pF(d, b || {})
1770    }
1771    function Ua(a) {
1772        if (a.currentStyle)
1773            return a.currentStyle;
1774        if (a.ownerDocument && a.ownerDocument.defaultView)
1775            return a.ownerDocument.defaultView.getComputedStyle(a, p)
1776    }
1777    function Wa(a) {
1778        return "function" === typeof a
1779    }
1780    function Va(a) {
1781        return "number" === typeof a
1782    }
1783    function Za(a) {
1784        return "string" == typeof a
1785    }
1786    function Gb(a) {
1787        return "undefined" != typeof a
1788    }
1789    function Hb(a) {
1790        return "object" == typeof a
1791    }
1792    var Ib = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
1793    function Jb(a) {
1794        var b = "", c, d, e = "", f, g = "", i = 0;
1795        f = /[^A-Za-z0-9\+\/\=]/g;
1796        if (!a || f.exec(a))
1797            return a;
1798        a = a.replace(/[^A-Za-z0-9\+\/\=]/g, "");
1799        do
1800            c = Ib.indexOf(a.charAt(i++)),
1801            d = Ib.indexOf(a.charAt(i++)),
1802            f = Ib.indexOf(a.charAt(i++)),
1803            g = Ib.indexOf(a.charAt(i++)),
1804            c = c << 2 | d >> 4,
1805            d = (d & 15) << 4 | f >> 2,
1806            e = (f & 3) << 6 | g,
1807            b += String.fromCharCode(c),
1808            64 != f && (b += String.fromCharCode(d)),
1809            64 != g && (b += String.fromCharCode(e));
1810        while (i < a.length);return b
1811    }
1812    var N = x.lang.Zy;
1813    function G() {
1814        return !(!x.platform.qE && !x.platform.mY && !x.platform.Gm)
1815    }
1816    function Ta() {
1817        return !(!x.platform.kM && !x.platform.cM && !x.platform.sY)
1818    }
1819    function ab() {
1820        return (new Date).getTime()
1821    }
1822    function Kb() {
1823        var a = document.body.appendChild(K("div"));
1824        a.innerHTML = '<v:shape id="vml_tester1" adj="1" />';
1825        var b = a.firstChild;
1826        if (!b.style)
1827            return q;
1828        b.style.behavior = "url(#default#VML)";
1829        b = b ? "object" === typeof b.adj : o;
1830        a.parentNode.removeChild(a);
1831        return b
1832    }
1833    function Lb() {
1834        return !!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Shape", "1.1")
1835    }
1836    function Mb() {
1837        return !!K("canvas").getContext
1838    }
1839    function Nb(a) {
1840        return a * Math.PI / 180
1841    }
1842    z.BY = function() {
1843        var a = o
1844          , b = o
1845          , c = o
1846          , d = o
1847          , e = 0
1848          , f = 0
1849          , g = 0
1850          , i = 0;
1851        return {
1852            FQ: function() {
1853                e += 1;
1854                a && (a = q,
1855                setTimeout(function() {
1856                    Pa(5054, {
1857                        pic: e
1858                    });
1859                    a = o;
1860                    e = 0
1861                }, 1E4))
1862            },
1863            y0: function() {
1864                f += 1;
1865                b && (b = q,
1866                setTimeout(function() {
1867                    Pa(5055, {
1868                        move: f
1869                    });
1870                    b = o;
1871                    f = 0
1872                }, 1E4))
1873            },
1874            A0: function() {
1875                g += 1;
1876                c && (c = q,
1877                setTimeout(function() {
1878                    Pa(5056, {
1879                        zoom: g
1880                    });
1881                    c = o;
1882                    g = 0
1883                }, 1E4))
1884            },
1885            z0: function(a) {
1886                i += a;
1887                d && (d = q,
1888                setTimeout(function() {
1889                    Pa(5057, {
1890                        tile: i
1891                    });
1892                    d = o;
1893                    i = 0
1894                }, 5E3))
1895            }
1896        }
1897    }();
1898    var $a;
1899    (function() {
1900        function a(a) {
1901            this.UU = a;
1902            this.timing = {};
1903            this.start = +new Date
1904        }
1905        function b(a, b) {
1906            if (a.length === +a.length)
1907                for (var c = 0, d = a.length; c < d && b.call(j, c, a[c], a) !== q; c++)
1908                    ;
1909            else
1910                for (c in a)
1911                    if (a.hasOwnProperty(c) && b.call(j, c, a[c], a) === q)
1912                        break
1913        }
1914        var c = [], d = {
1915            push: function(a) {
1916                c.push(a);
1917                if (window.localStorage && window.JSON)
1918                    try {
1919                        localStorage.setItem("WPO_NR", JSON.stringify(c))
1920                    } catch (b) {}
1921            },
1922            get: function(a) {
1923                var b = [];
1924                if (window.localStorage)
1925                    try {
1926                        a && localStorage.removeItem("WPO_NR")
1927                    } catch (d) {}
1928                b = c;
1929                a && (c = []);
1930                return b
1931            }
1932        }, e, f, g, i, k = {};
1933        (!window.localStorage || !window.JSON) && document.attachEvent && window.attachEvent("onbeforeunload", function() {
1934            l.send()
1935        });
1936        var l = {
1937            send: function(a) {
1938                var c = [], e = [], f = a || d.get(o), g;
1939                0 < f.length && (b(f, function(d, e) {
1940                    var f = [];
1941                    b(e.timing, function(a, b) {
1942                        f.push('"' + a + '":' + b)
1943                    });
1944                    c.push('{"t":{' + f.join(",") + '},"a":' + e.UU + "}");
1945                    !g && (a && e.start) && (g = e.start)
1946                }),
1947                b(k, function(a, b) {
1948                    e.push(a + "=" + b)
1949                }),
1950                e.push("d=[" + c.join(",") + "]"),
1951                g ? e.push("_st=" + g) : e.push("_t=" + +new Date),
1952                f = new Image,
1953                f.src = "http://static.tieba.baidu.com/tb/pms/img/st.gif?" + e.join("&"),
1954                window["___pms_img_" + 1 * new Date] = f)
1955            }
1956        };
1957        a.prototype = {
1958            pc: function(a, b) {
1959                this.timing[a] = 0 <= b ? b : new Date - this.start
1960            },
1961            cu: function() {
1962                this.start = +new Date
1963            },
1964            xO: function() {
1965                this.pc("tt")
1966            },
1967            Oy: function() {
1968                this.pc("vt")
1969            },
1970            Xm: function() {
1971                f && (d.push(this),
1972                d.get().length >= g && l.send())
1973            },
1974            error: s()
1975        };
1976        $a = {
1977            Fi: {
1978                iE: function(a) {
1979                    var b = navigator.x1 || navigator.l3 || navigator.B4 || {
1980                        type: 0
1981                    };
1982                    f = Math.random() <= (a.an || 0.01);
1983                    g = a.max || 5;
1984                    i = a.k3 || b.type;
1985                    k = {
1986                        p: a.kZ,
1987                        mnt: i,
1988                        b: 50
1989                    };
1990                    window.localStorage && (window.JSON && window.addEventListener) && (e = d.get(o),
1991                    window.addEventListener("load", function() {
1992                        l.send(e)
1993                    }, q))
1994                },
1995                ok: function(b) {
1996                    return new a(b)
1997                }
1998            }
1999        }
2000    })();
2001    $a.Fi.iE({
2002        kZ: 18,
2003        an: 0.1,
2004        max: 1
2005    });
2006    z.dq = {
2007        mG: "#83a1ff",
2008        gq: "#808080"
2009    };
2010    function Ob(a, b, c) {
2011        b.Mm || (b.Mm = [],
2012        b.handle = {});
2013        b.Mm.push({
2014            filter: c,
2015            mm: a
2016        });
2017        b.addEventListener || (b.addEventListener = function(a, c) {
2018            b.attachEvent("on" + a, c)
2019        }
2020        );
2021        b.handle.click || (b.addEventListener("click", function(a) {
2022            for (var c = a.target || a.srcElement; c != b; ) {
2023                Pb(b.Mm, function(b, g) {
2024                    RegExp(g.filter).test(c.getAttribute("filter")) && g.mm.call(c, a, c.getAttribute("filter"))
2025                });
2026                c = c.parentNode
2027            }
2028        }, q),
2029        b.handle.click = o)
2030    }
2031    function Pb(a, b) {
2032        for (var c = 0, d = a.length; c < d; c++)
2033            b(c, a[c])
2034    }
2035    "2" !== z.ou && (function(a, b, c) {
2036        (function(a, b, c) {
2037            function g(a) {
2038                if (!a.Ho) {
2039                    for (var c = o, d = [], f = a.sZ, i = 0; f && i < f.length; i++) {
2040                        var k = f[i]
2041                          , l = oa[k] = oa[k] || {};
2042                        if (l.Ho || l == a)
2043                            d.push(l.Mc);
2044                        else {
2045                            c = q;
2046                            if (!l.YV && (k = (ka.get("alias") || {})[k] || k + ".js",
2047                            !J[k])) {
2048                                J[k] = o;
2049                                var m = b.createElement("script")
2050                                  , n = b.getElementsByTagName("script")[0];
2051                                m.async = o;
2052                                m.src = k;
2053                                n.parentNode.insertBefore(m, n)
2054                            }
2055                            l.Py = l.Py || {};
2056                            l.Py[a.name] = a
2057                        }
2058                    }
2059                    if (c) {
2060                        a.Ho = o;
2061                        a.uK && (a.Mc = a.uK.apply(a, d));
2062                        for (var u in a.Py)
2063                            g(a.Py[u])
2064                    }
2065                }
2066            }
2067            function i(a) {
2068                return (a || new Date) - B
2069            }
2070            function k(a, b, c) {
2071                if (a) {
2072                    "string" == typeof a && (c = b,
2073                    b = a,
2074                    a = O);
2075                    try {
2076                        a == O ? (M[b] = M[b] || [],
2077                        M[b].unshift(c)) : a.addEventListener ? a.addEventListener(b, c, q) : a.attachEvent && a.attachEvent("on" + b, c)
2078                    } catch (d) {}
2079                }
2080            }
2081            function l(a, b, c) {
2082                if (a) {
2083                    "string" == typeof a && (c = b,
2084                    b = a,
2085                    a = O);
2086                    try {
2087                        if (a == O) {
2088                            var d = M[b];
2089                            if (d)
2090                                for (var e = d.length; e--; )
2091                                    d[e] === c && d.splice(e, 1)
2092                        } else
2093                            a.removeEventListener ? a.removeEventListener(b, c, q) : a.detachEvent && a.detachEvent("on" + b, c)
2094                    } catch (f) {}
2095                }
2096            }
2097            function m(a) {
2098                var b = M[a]
2099                  , c = 0;
2100                if (b) {
2101                    for (var d = [], e = arguments, f = 1; f < e.length; f++)
2102                        d.push(e[f]);
2103                    for (f = b.length; f--; )
2104                        b[f].apply(this, d) && c++;
2105                    return c
2106                }
2107            }
2108            function n(a, b) {
2109                if (a && b) {
2110                    var c = new Image(1,1), d = [], e = "img_" + +new Date, f;
2111                    for (f in b)
2112                        b[f] && d.push(f + "=" + encodeURIComponent(b[f]));
2113                    O[e] = c;
2114                    c.onload = c.onerror = function() {
2115                        O[e] = c = c.onload = c.onerror = p;
2116                        delete O[e]
2117                    }
2118                    ;
2119                    c.src = a + "?" + d.join("&")
2120                }
2121            }
2122            function u() {
2123                var a = arguments
2124                  , b = a[0];
2125                if (this.tK || /^(on|un|set|get|create)$/.test(b)) {
2126                    for (var b = w.prototype[b], c = [], d = 1, e = a.length; d < e; d++)
2127                        c.push(a[d]);
2128                    "function" == typeof b && b.apply(this, c)
2129                } else
2130                    this.TJ.push(a)
2131            }
2132            function v(a, b) {
2133                var c = {}, d;
2134                for (d in a)
2135                    a.hasOwnProperty(d) && (c[d] = a[d]);
2136                for (d in b)
2137                    b.hasOwnProperty(d) && (c[d] = b[d]);
2138                return c
2139            }
2140            function w(a) {
2141                this.name = a;
2142                this.Hs = {
2143                    ZE: {
2144                        ky: p,
2145                        ZE: p
2146                    }
2147                };
2148                this.TJ = []
2149            }
2150            function y(a) {
2151                a = a || "default";
2152                if ("*" == a) {
2153                    var a = [], b;
2154                    for (b in Y)
2155                        a.push(Y[b]);
2156                    return a
2157                }
2158                (b = Y[a]) || (b = Y[a] = new w(a));
2159                return b
2160            }
2161            var C = c.alog;
2162            if (!C || !C.Ho) {
2163                var A = b.all && a.attachEvent
2164                  , B = C && C.yE || +new Date
2165                  , D = a.d3 || (+new Date).toString(36) + Math.random().toString(36).substr(2, 3)
2166                  , E = 0
2167                  , J = {}
2168                  , O = function(a) {
2169                    var b = arguments, c, d, e, f;
2170                    if ("define" == a || "require" == a) {
2171                        for (d = 1; d < b.length; d++)
2172                            switch (typeof b[d]) {
2173                            case "string":
2174                                c = b[d];
2175                                break;
2176                            case "object":
2177                                e = b[d];
2178                                break;
2179                            case "function":
2180                                f = b[d]
2181                            }
2182                        "require" == a && (c && !e && (e = [c]),
2183                        c = p);
2184                        c = !c ? "#" + E++ : c;
2185                        d = oa[c] = oa[c] || {};
2186                        d.Ho || (d.name = c,
2187                        d.sZ = e,
2188                        d.uK = f,
2189                        "define" == a && (d.YV = o),
2190                        g(d))
2191                    } else
2192                        "function" == typeof a ? a(O) : ("" + a).replace(/^(?:([\w$_]+)\.)?(\w+)$/, function(a, c, d) {
2193                            b[0] = d;
2194                            u.apply(O.wO(c), b)
2195                        })
2196                }
2197                  , M = {}
2198                  , Y = {}
2199                  , oa = {
2200                    g1: {
2201                        name: "alog",
2202                        Ho: o,
2203                        Mc: O
2204                    }
2205                };
2206                w.prototype.start = w.prototype.create = function(a) {
2207                    if (!this.tK) {
2208                        "object" == typeof a && this.set(a);
2209                        this.tK = new Date;
2210                        for (this.Is("create", this); a = this.TJ.shift(); )
2211                            u.apply(this, a)
2212                    }
2213                }
2214                ;
2215                w.prototype.send = function(a, b) {
2216                    var c = v({
2217                        ts: i().toString(36),
2218                        t: a,
2219                        sid: D
2220                    }, this.Hs);
2221                    if ("object" == typeof b)
2222                        c = v(c, b);
2223                    else {
2224                        var d = arguments;
2225                        switch (a) {
2226                        case "pageview":
2227                            d[1] && (c.page = d[1]);
2228                            d[2] && (c.title = d[2]);
2229                            break;
2230                        case "event":
2231                            d[1] && (c.eventCategory = d[1]);
2232                            d[2] && (c.eventAction = d[2]);
2233                            d[3] && (c.eventLabel = d[3]);
2234                            d[4] && (c.eventValue = d[4]);
2235                            break;
2236                        case "timing":
2237                            d[1] && (c.timingCategory = d[1]);
2238                            d[2] && (c.timingVar = d[2]);
2239                            d[3] && (c.timingValue = d[3]);
2240                            d[4] && (c.timingLabel = d[4]);
2241                            break;
2242                        case "exception":
2243                            d[1] && (c.exDescription = d[1]);
2244                            d[2] && (c.exFatal = d[2]);
2245                            break;
2246                        default:
2247                            return
2248                        }
2249                    }
2250                    this.Is("send", c);
2251                    var e;
2252                    if (d = this.Hs.ZE) {
2253                        var f = {};
2254                        for (e in c)
2255                            d[e] !== p && (f[d[e] || e] = c[e]);
2256                        e = f
2257                    } else
2258                        e = c;
2259                    n(this.Hs.ky, e)
2260                }
2261                ;
2262                w.prototype.set = function(a, b) {
2263                    if ("string" == typeof a)
2264                        "protocolParameter" == a && (b = v({
2265                            ky: p,
2266                            ZE: p
2267                        }, b)),
2268                        this.Hs[a] = b;
2269                    else if ("object" == typeof a)
2270                        for (var c in a)
2271                            this.set(c, a[c])
2272                }
2273                ;
2274                w.prototype.get = function(a, b) {
2275                    var c = this.Hs[a];
2276                    "function" == typeof b && b(c);
2277                    return c
2278                }
2279                ;
2280                w.prototype.Is = function(a, b) {
2281                    return O.Is(this.name + "." + a, b)
2282                }
2283                ;
2284                w.prototype.M = function(a, b) {
2285                    O.M(this.name + "." + a, b)
2286                }
2287                ;
2288                w.prototype.cd = function(a, b) {
2289                    O.cd(this.name + "." + a, b)
2290                }
2291                ;
2292                w.prototype.start = w.prototype.start;
2293                w.prototype.create = w.prototype.create;
2294                w.prototype.send = w.prototype.send;
2295                w.prototype.set = w.prototype.set;
2296                w.prototype.get = w.prototype.get;
2297                w.prototype.fire = w.prototype.Is;
2298                w.prototype.on = w.prototype.M;
2299                w.prototype.un = w.prototype.cd;
2300                O.name = "alog";
2301                O.ZN = D;
2302                O.Ho = o;
2303                O.timestamp = i;
2304                O.cd = l;
2305                O.M = k;
2306                O.Is = m;
2307                O.wO = y;
2308                O("init");
2309                var ka = y();
2310                ka.set("protocolParameter", {
2311                    f1: p
2312                });
2313                if (C) {
2314                    var Qa = [].concat(C.Ab || [], C.Wm || []);
2315                    C.Ab = C.Wm = p;
2316                    for (var cb in O)
2317                        O.hasOwnProperty(cb) && (C[cb] = O[cb]);
2318                    O.Ab = O.Wm = {
2319                        push: function(a) {
2320                            O.apply(O, a)
2321                        }
2322                    };
2323                    for (C = 0; C < Qa.length; C++)
2324                        O.apply(O, Qa[C])
2325                }
2326                c.alog = O;
2327                A && k(b, "mouseup", function(a) {
2328                    a = a.target || a.srcElement;
2329                    1 == a.nodeType && /^ajavascript:/i.test(a.tagName + a.href)
2330                });
2331                var Ya = q;
2332                a.onerror = function(a, b, d, e) {
2333                    var g = o;
2334                    !b && /^script error/i.test(a) && (Ya ? g = q : Ya = o);
2335                    g && c.alog("exception.send", "exception", {
2336                        QM: a,
2337                        tY: b,
2338                        uM: d,
2339                        Fw: e
2340                    });
2341                    return q
2342                }
2343                ;
2344                c.alog("exception.on", "catch", function(a) {
2345                    c.alog("exception.send", "exception", {
2346                        QM: a.QM,
2347                        tY: a.path,
2348                        uM: a.uM,
2349                        method: a.method,
2350                        GW: "catch"
2351                    })
2352                })
2353            }
2354        })(a, b, c);
2355        (function(a, b, c) {
2356            var g = "18_1";
2357            G() && (g = "18_2");
2358            var i = Math.random
2359              , k = {
2360                an: "0.1"
2361            }
2362              , l = {
2363                an: "0.1"
2364            };
2365            if (k && k.an && i() < k.an) {
2366                var m = c.alog.wO("monkey"), n, a = a.screen, b = b.referrer;
2367                m.set("ver", 5);
2368                m.set("pid", 241);
2369                a && m.set("px", a.width + "*" + a.height);
2370                m.set("ref", b);
2371                c.alog("monkey.on", "create", function() {
2372                    n = c.alog.timestamp;
2373                    m.set("protocolParameter", {
2374                        reports: p
2375                    })
2376                });
2377                c.alog("monkey.on", "send", function(a) {
2378                    "pageview" == a.t && (a.cmd = "open");
2379                    a.now && (a.ts = n(a.now).toString(36),
2380                    a.now = "")
2381                });
2382                c.alog("monkey.create", {
2383                    page: g,
2384                    pid: "241",
2385                    p: "18",
2386                    ky: "http://nsclick.baidu.com/u.gif",
2387                    M3: {
2388                        K3: 1
2389                    }
2390                });
2391                c.alog("monkey.send", "pageview", {
2392                    now: +new Date
2393                })
2394            }
2395            l && (l.an && i() < l.an) && (c.alog("cus.on", "time", function(a) {
2396                var b = {}, d = q, e;
2397                if ("[object Object]" === a.toString()) {
2398                    for (var g in a)
2399                        "page" == g ? b.page = a[g] : (e = parseInt(a[g], 10),
2400                        0 < e && /^z_/.test(g) && (d = o,
2401                        b[g] = e));
2402                    d && c.alog("cus.send", "time", b)
2403                }
2404            }),
2405            c.alog("cus.on", "count", function(a) {
2406                var b = {}
2407                  , d = q;
2408                "string" === typeof a && (a = [a]);
2409                if (a instanceof Array)
2410                    for (var e = 0; e < a.length; e++)
2411                        /^z_/.test(a[e]) ? (d = o,
2412                        b[a[e]] = 1) : /^page:/.test(a[e]) && (b.page = a[e].substring(5));
2413                d && c.alog("cus.send", "count", b)
2414            }),
2415            c.alog("cus.create", {
2416                dv: 3,
2417                ky: "http://static.tieba.baidu.com/tb/pms/img/st.gif",
2418                page: g,
2419                p: "18"
2420            }))
2421        })(a, b, c)
2422    }(window, document, z),
2423    z.alog("cus.fire", "count", "z_loadscriptcount"));
2424    z.Ij = z.alog || s();
2425    function Qb(a, b) {
2426        if (b) {
2427            var c = (1E5 * Math.random()).toFixed(0);
2428            z._rd["_cbk" + c] = function(a) {
2429                b && b(a);
2430                delete z._rd["_cbk" + c]
2431            }
2432            ;
2433            a += "&callback=BMap._rd._cbk" + c
2434        }
2435        var d = K("script", {
2436            type: "text/javascript"
2437        });
2438        d.charset = "utf-8";
2439        d.src = a;
2440        d.addEventListener ? d.addEventListener("load", function(a) {
2441            a = a.target;
2442            a.parentNode.removeChild(a)
2443        }, q) : d.attachEvent && d.attachEvent("onreadystatechange", function() {
2444            var a = window.event.srcElement;
2445            a && ("loaded" == a.readyState || "complete" == a.readyState) && a.parentNode.removeChild(a)
2446        });
2447        setTimeout(function() {
2448            document.getElementsByTagName("head")[0].appendChild(d);
2449            d = p
2450        }, 1)
2451    }
2452    ;var Rb = {
2453        map: "tk0ryi",
2454        common: "le15mk",
2455        style: "44zsko",
2456        tile: "y2qw2x",
2457        vectordrawlib: "qb0sq4",
2458        newvectordrawlib: "y2lono",
2459        groundoverlay: "43makz",
2460        pointcollection: "prd2zh",
2461        marker: "izcmyw",
2462        symbol: "mmm1ds",
2463        canvablepath: "5bmy2e",
2464        vmlcontext: "obpzx3",
2465        markeranimation: "4n4sfv",
2466        poly: "bs55zb",
2467        draw: 
2467"zhhpch",
2468        drawbysvg: "xzmng4",
2469        drawbyvml: "rscvqi",
2470        drawbycanvas: "evhm1h",
2471        infowindow: "1yqzkf",
2472        oppc: "uv0pep",
2473        opmb: "xviqqj",
2474        menu: "w3qwgl",
2475        control: "wlrzkm",
2476        navictrl: "ko1bzf",
2477        geoctrl: "v3szez",
2478        copyrightctrl: "nc3xny",
2479        citylistcontrol: "x2ymut",
2480        scommon: "mddzoo",
2481        local: "att0h3",
2482        route: "ihe02g",
2483        othersearch: "l3y02i",
2484        mapclick: "edk23z",
2485        buslinesearch: "inxnkk",
2486        hotspot: "x1ew3q",
2487        autocomplete: "k1nigj",
2488        coordtrans: "xddka3",
2489        coordtransutils: "ezmpfq",
2490        convertor: "dg4hqu",
2491        clayer: "pt3hj5",
2492        pservice: "2bo2iz",
2493        pcommon: "qx32lx",
2494        panorama: "34hu4f",
2495        panoramaflash: "p1tm3f",
2496        vector: "0tuckd"
2497    };
2498    x.Iy = function() {
2499        function a(a) {
2500            return d && !!c[b + a + "_" + Rb[a]]
2501        }
2502        var b = "BMap_"
2503          , c = window.localStorage
2504          , d = "localStorage"in window && c !== p && c !== j;
2505        return {
2506            oY: d,
2507            set: function(a, f) {
2508                if (d) {
2509                    for (var g = b + a + "_", i = c.length, k; i--; )
2510                        k = c.key(i),
2511                        -1 < k.indexOf(g) && c.removeItem(k);
2512                    try {
2513                        c.setItem(b + a + "_" + Rb[a], f)
2514                    } catch (l) {
2515                        c.clear()
2516                    }
2517                }
2518            },
2519            get: function(e) {
2520                return d && a(e) ? c.getItem(b + e + "_" + Rb[e]) : q
2521            },
2522            dK: a
2523        }
2524    }();
2525    function I() {}
2526    x.object.extend(I, {
2527        Fj: {
2528            nG: -1,
2529            EP: 0,
2530            Zp: 1
2531        },
2532        nL: function() {
2533            var a = "canvablepath"
2534              , b = z.yJ ? "newvectordrawlib" : "vectordrawlib";
2535            if (!G() || !Mb())
2536                Lb() || (Kb() ? a = "vmlcontext" : Mb());
2537            return {
2538                tile: [b, "style"],
2539                control: [],
2540                marker: ["symbol"],
2541                symbol: ["canvablepath", "common"],
2542                canvablepath: "canvablepath" === a ? [] : [a],
2543                vmlcontext: [],
2544                style: [],
2545                poly: ["marker", "drawbycanvas", "drawbysvg", "drawbyvml"],
2546                drawbysvg: ["draw"],
2547                drawbyvml: ["draw"],
2548                drawbycanvas: ["draw"],
2549                infowindow: ["common", "marker"],
2550                menu: [],
2551                oppc: [],
2552                opmb: [],
2553                scommon: [],
2554                local: ["scommon"],
2555                route: ["scommon"],
2556                othersearch: ["scommon"],
2557                autocomplete: ["scommon"],
2558                citylistcontrol: ["autocomplete"],
2559                mapclick: ["scommon"],
2560                buslinesearch: ["route"],
2561                hotspot: [],
2562                coordtransutils: ["coordtrans"],
2563                convertor: [],
2564                clayer: ["tile"],
2565                pservice: [],
2566                pcommon: ["style", "pservice"],
2567                panorama: ["pcommon"],
2568                panoramaflash: ["pcommon"]
2569            }
2570        },
2571        C3: {},
2572        gG: {
2573            VP: z.ma + "getmodules?v=2.0&t=20140707",
2574            xU: 5E3
2575        },
2576        DC: q,
2577        Nd: {
2578            rl: {},
2579            En: [],
2580            Pv: []
2581        },
2582        load: function(a, b, c) {
2583            var d = this.hb(a);
2584            if (d.Bd == this.Fj.Zp)
2585                c && b();
2586            else {
2587                if (d.Bd == this.Fj.nG) {
2588                    this.jK(a);
2589                    this.sN(a);
2590                    var e = this;
2591                    e.DC == q && (e.DC = o,
2592                    setTimeout(function() {
2593                        for (var a = [], b = 0, c = e.Nd.En.length; b < c; b++) {
2594                            var d = e.Nd.En[b]
2595                              , l = "";
2596                            ha.Iy.dK(d) ? l = ha.Iy.get(d) : (l = "",
2597                            a.push(d + "_" + Rb[d]));
2598                            e.Nd.Pv.push({
2599                                MM: d,
2600                                KE: l
2601                            })
2602                        }
2603                        e.DC = q;
2604                        e.Nd.En.length = 0;
2605                        0 == a.length ? e.UK() : Qb(e.gG.VP + "&mod=" + a.join(","))
2606                    }, 1));
2607                    d.Bd = this.Fj.EP
2608                }
2609                d.Pu.push(b)
2610            }
2611        },
2612        jK: function(a) {
2613            if (a && this.nL()[a])
2614                for (var a = this.nL()[a], b = 0; b < a.length; b++)
2615                    this.jK(a[b]),
2616                    this.Nd.rl[a[b]] || this.sN(a[b])
2617        },
2618        sN: function(a) {
2619            for (var b = 0; b < this.Nd.En.length; b++)
2620                if (this.Nd.En[b] == a)
2621                    return;
2622            this.Nd.En.push(a)
2623        },
2624        yZ: function(a, b) {
2625            var c = this.hb(a);
2626            try {
2627                eval(b)
2628            } catch (d) {
2629                return
2630            }
2631            c.Bd = this.Fj.Zp;
2632            for (var e = 0, f = c.Pu.length; e < f; e++)
2633                c.Pu[e]();
2634            c.Pu.length = 0
2635        },
2636        dK: function(a, b) {
2637            var c = this;
2638            c.timeout = setTimeout(function() {
2639                c.Nd.rl[a].Bd != c.Fj.Zp ? (c.remove(a),
2640                c.load(a, b)) : clearTimeout(c.timeout)
2641            }, c.gG.xU)
2642        },
2643        hb: function(a) {
2644            this.Nd.rl[a] || (this.Nd.rl[a] = {},
2645            this.Nd.rl[a].Bd = this.Fj.nG,
2646            this.Nd.rl[a].Pu = []);
2647            return this.Nd.rl[a]
2648        },
2649        remove: function(a) {
2650            delete this.hb(a)
2651        },
2652        sV: function(a, b) {
2653            for (var c = this.Nd.Pv, d = o, e = 0, f = c.length; e < f; e++)
2654                "" == c[e].KE && (c[e].MM == a ? c[e].KE = b : d = q);
2655            d && this.UK()
2656        },
2657        UK: function() {
2658            for (var a = this.Nd.Pv, b = 0, c = a.length; b < c; b++)
2659                this.yZ(a[b].MM, a[b].KE);
2660            this.Nd.Pv.length = 0
2661        }
2662    });
2663    function Q(a, b) {
2664        this.x = a || 0;
2665        this.y = b || 0;
2666        this.x = this.x;
2667        this.y = this.y
2668    }
2669    Q.prototype.mb = function(a) {
2670        return a && a.x == this.x && a.y == this.y
2671    }
2672    ;
2673    function L(a, b) {
2674        this.width = a || 0;
2675        this.height = b || 0
2676    }
2677    L.prototype.mb = function(a) {
2678        return a && this.width == a.width && this.height == a.height
2679    }
2680    ;
2681    function ib(a, b) {
2682        a && (this.Kb = a,
2683        this.ba = "spot" + ib.ba++,
2684        b = b || {},
2685        this.Vg = b.text || "",
2686        this.wv = b.offsets ? b.offsets.slice(0) : [5, 5, 5, 5],
2687        this.rJ = b.userData || p,
2688        this.Qh = b.minZoom || p,
2689        this.Cf = b.maxZoom || p)
2690    }
2691    ib.ba = 0;
2692    x.extend(ib.prototype, {
2693        qa: function(a) {
2694            this.Qh == p && (this.Qh = a.K.fc);
2695            this.Cf == p && (this.Cf = a.K.Zb)
2696        },
2697        sa: function(a) {
2698            a instanceof H && (this.Kb = a)
2699        },
2700        ha: t("Kb"),
2701        Rt: ba("Vg"),
2702        WD: t("Vg"),
2703        setUserData: ba("rJ"),
2704        getUserData: t("rJ")
2705    });
2706    function Sb() {
2707        this.C = p;
2708        this.Lb = "control";
2709        this.Pa = this.XJ = o
2710    }
2711    x.lang.ta(Sb, x.lang.Ba, "Control");
2712    x.extend(Sb.prototype, {
2713        initialize: function(a) {
2714            this.C = a;
2715            if (this.B)
2716                return a.Ua.appendChild(this.B),
2717                this.B
2718        },
2719        Ce: function(a) {
2720            !this.B && (this.initialize && Wa(this.initialize)) && (this.B = this.initialize(a));
2721            this.k = this.k || {
2722                Ag: q
2723            };
2724            this.wB();
2725            this.Jr();
2726            this.B && (this.B.ir = this)
2727        },
2728        wB: function() {
2729            var a = this.B;
2730            if (a) {
2731                var b = a.style;
2732                b.position = "absolute";
2733                b.zIndex = this.uz || "10";
2734                b.MozUserSelect = "none";
2735                b.WebkitTextSizeAdjust = "none";
2736                this.k.Ag || x.D.Ta(a, "BMap_noprint");
2737                G() || x.M(a, "contextmenu", na)
2738            }
2739        },
2740        remove: function() {
2741            this.C = p;
2742            this.B && (this.B.parentNode && this.B.parentNode.removeChild(this.B),
2743            this.B = this.B.ir = p)
2744        },
2745        za: function() {
2746            this.B = zb(this.C.Ua, "<div unselectable='on'></div>");
2747            this.Pa == q && x.D.U(this.B);
2748            return this.B
2749        },
2750        Jr: function() {
2751            this.qc(this.k.anchor)
2752        },
2753        qc: function(a) {
2754            if (this.h1 || !Va(a) || isNaN(a) || a < Tb || 3 < a)
2755                a = this.defaultAnchor;
2756            this.k = this.k || {
2757                Ag: q
2758            };
2759            this.k.ya = this.k.ya || this.defaultOffset;
2760            var b = this.k.anchor;
2761            this.k.anchor = a;
2762            if (this.B) {
2763                var c = this.B
2764                  , d = this.k.ya.width
2765                  , e = this.k.ya.height;
2766                c.style.left = c.style.top = c.style.right = c.style.bottom = "auto";
2767                switch (a) {
2768                case Tb:
2769                    c.style.top = e + "px";
2770                    c.style.left = d + "px";
2771                    break;
2772                case Ub:
2773                    c.style.top = e + "px";
2774                    c.style.right = d + "px";
2775                    break;
2776                case Vb:
2777                    c.style.bottom = e + "px";
2778                    c.style.left = d + "px";
2779                    break;
2780                case 3:
2781                    c.style.bottom = e + "px",
2782                    c.style.right = d + "px"
2783                }
2784                c = ["TL", "TR", "BL", "BR"];
2785                x.D.Rb(this.B, "anchor" + c[b]);
2786                x.D.Ta(this.B, "anchor" + c[a])
2787            }
2788        },
2789        yD: function() {
2790            return this.k.anchor
2791        },
2792        getContainer: t("B"),
2793        Te: function(a) {
2794            a instanceof L && (this.k = this.k || {
2795                Ag: q
2796            },
2797            this.k.ya = new L(a.width,a.height),
2798            this.B && this.qc(this.k.anchor))
2799        },
2800        Pf: function() {
2801            return this.k.ya
2802        },
2803        Hd: t("B"),
2804        show: function() {
2805            this.Pa != o && (this.Pa = o,
2806            this.B && x.D.show(this.B))
2807        },
2808        U: function() {
2809            this.Pa != q && (this.Pa = q,
2810            this.B && x.D.U(this.B))
2811        },
2812        isPrintable: function() {
2813            return !!this.k.Ag
2814        },
2815        mh: function() {
2816            return !this.B && !this.C ? q : !!this.Pa
2817        }
2818    });
2819    var Tb = 0
2820      , Ub = 1
2821      , Vb = 2;
2822    function jb(a) {
2823        Sb.call(this);
2824        a = a || {};
2825        this.k = {
2826            Ag: q,
2827            BF: a.showZoomInfo || o,
2828            anchor: a.anchor,
2829            ya: a.offset,
2830            type: a.type,
2831            tW: a.enableGeolocation || q
2832        };
2833        this.defaultAnchor = G() ? 3 : Tb;
2834        this.defaultOffset = new L(10,10);
2835        this.qc(a.anchor);
2836        this.jn(a.type);
2837        this.ye()
2838    }
2839    x.lang.ta(jb, Sb, "NavigationControl");
2840    x.extend(jb.prototype, {
2841        initialize: function(a) {
2842            this.C = a;
2843            return this.B
2844        },
2845        jn: function(a) {
2846            this.k.type = Va(a) && 0 <= a && 3 >= a ? a : 0
2847        },
2848        fp: function() {
2849            return this.k.type
2850        },
2851        ye: function() {
2852            var a = this;
2853            I.load("navictrl", function() {
2854                a.uf()
2855            })
2856        }
2857    });
2858    function Wb(a) {
2859        Sb.call(this);
2860        a = a || {};
2861        this.k = {
2862            anchor: a.anchor || Vb,
2863            ya: a.offset || new L(10,30),
2864            h_: a.showAddressBar !== q,
2865            N1: a.enableAutoLocation || q,
2866            AM: a.locationIcon || p
2867        };
2868        var b = this;
2869        this.uz = 1200;
2870        b.W_ = [];
2871        this.ke = [];
2872        I.load("geoctrl", function() {
2873            (function d() {
2874                if (0 !== b.ke.length) {
2875                    var a = b.ke.shift();
2876                    b[a.method].apply(b, a.arguments);
2877                    d()
2878                }
2879            })();
2880            b.UP()
2881        });
2882        Pa(Ia)
2883    }
2884    x.lang.ta(Wb, Sb, "GeolocationControl");
2885    x.extend(Wb.prototype, {
2886        location: function() {
2887            this.ke.push({
2888                method: "location",
2889                arguments: arguments
2890            })
2891        },
2892        getAddressComponent: ca(p)
2893    });
2894    function Xb(a) {
2895        Sb.call(this);
2896        a = a || {};
2897        this.k = {
2898            Ag: q,
2899            anchor: a.anchor,
2900            ya: a.offset
2901        };
2902        this.cc = [];
2903        this.defaultAnchor = Vb;
2904        this.defaultOffset = new L(5,2);
2905        this.qc(a.anchor);
2906        this.XJ = q;
2907        this.ye()
2908    }
2909    x.lang.ta(Xb, Sb, "CopyrightControl");
2910    x.object.extend(Xb.prototype, {
2911        initialize: function(a) {
2912            this.C = a;
2913            return this.B
2914        },
2915        mw: function(a) {
2916            if (a && Va(a.id) && !isNaN(a.id)) {
2917                var b = {
2918                    bounds: p,
2919                    content: ""
2920                }, c;
2921                for (c in a)
2922                    b[c] = a[c];
2923                if (a = this.om(a.id))
2924                    for (var d in b)
2925                        a[d] = b[d];
2926                else
2927                    this.cc.push(b)
2928            }
2929        },
2930        om: function(a) {
2931            for (var b = 0, c = this.cc.length; b < c; b++)
2932                if (this.cc[b].id == a)
2933                    return this.cc[b]
2934        },
2935        FD: t("cc"),
2936        cF: function(a) {
2937            for (var b = 0, c = this.cc.length; b < c; b++)
2938                this.cc[b].id == a && (r = this.cc.splice(b, 1),
2939                b--,
2940                c = this.cc.length)
2941        },
2942        ye: function() {
2943            var a = this;
2944            I.load("copyrightctrl", function() {
2945                a.uf()
2946            })
2947        }
2948    });
2949    function lb(a) {
2950        Sb.call(this);
2951        a = a || {};
2952        this.k = {
2953            Ag: q,
2954            size: a.size || new L(150,150),
2955            padding: 5,
2956            Va: a.isOpen === o ? o : q,
2957            k0: 4,
2958            ya: a.offset,
2959            anchor: a.anchor
2960        };
2961        this.defaultAnchor = 3;
2962        this.defaultOffset = new L(0,0);
2963        this.xq = this.yq = 13;
2964        this.qc(a.anchor);
2965        this.xe(this.k.size);
2966        this.ye()
2967    }
2968    x.lang.ta(lb, Sb, "OverviewMapControl");
2969    x.extend(lb.prototype, {
2970        initialize: function(a) {
2971            this.C = a;
2972            return this.B
2973        },
2974        qc: function(a) {
2975            Sb.prototype.qc.call(this, a)
2976        },
2977        me: function() {
2978            this.me.jo = o;
2979            this.k.Va = !this.k.Va;
2980            this.B || (this.me.jo = q)
2981        },
2982        xe: function(a) {
2983            a instanceof L || (a = new L(150,150));
2984            a.width = 0 < a.width ? a.width : 150;
2985            a.height = 0 < a.height ? a.height : 150;
2986            this.k.size = a
2987        },
2988        yb: function() {
2989            return this.k.size
2990        },
2991        Va: function() {
2992            return this.k.Va
2993        },
2994        ye: function() {
2995            var a = this;
2996            I.load("control", function() {
2997                a.uf()
2998            })
2999        }
3000    });
3001    function Yb(a) {
3002        Sb.call(this);
3003        a = a || {};
3004        this.defaultAnchor = Tb;
3005        this.pV = a.canCheckSize === q ? q : o;
3006        this.gj = "";
3007        this.defaultOffset = new L(10,10);
3008        this.onChangeBefore = [];
3009        this.onChangeAfter = [];
3010        this.onChangeSuccess = [];
3011        this.k = {
3012            Ag: q,
3013            ya: a.offset || this.defaultOffset,
3014            anchor: a.anchor || this.defaultAnchor,
3015            expand: !!a.expand
3016        };
3017        a.onChangeBefore && Wa(a.onChangeBefore) && this.onChangeBefore.push(a.onChangeBefore);
3018        a.onChangeAfter && Wa(a.onChangeAfter) && this.onChangeAfter.push(a.onChangeAfter);
3019        a.onChangeSuccess && Wa(a.onChangeSuccess) && this.onChangeSuccess.push(a.onChangeSuccess);
3020        this.qc(a.anchor);
3021        this.ye()
3022    }
3023    x.lang.ta(Yb, Sb, "CityListControl");
3024    x.object.extend(Yb.prototype, {
3025        initialize: function(a) {
3026            this.C = a;
3027            return this.B
3028        },
3029        ye: function() {
3030            var a = this;
3031            I.load("citylistcontrol", function() {
3032                a.uf()
3033            }, o)
3034        }
3035    });
3036    function kb(a) {
3037        Sb.call(this);
3038        a = a || {};
3039        this.k = {
3040            Ag: q,
3041            color: "black",
3042            dd: "metric",
3043            ya: a.offset
3044        };
3045        this.defaultAnchor = Vb;
3046        this.defaultOffset = new L(81,18);
3047        this.qc(a.anchor);
3048        this.Zh = {
3049            metric: {
3050                name: "metric",
3051                lK: 1,
3052                WL: 1E3,
3053                BO: "\u7c73",
3054                CO: "\u516c\u91cc"
3055            },
3056            us: {
3057                name: "us",
3058                lK: 3.2808,
3059                WL: 5280,
3060                BO: "\u82f1\u5c3a",
3061                CO: "\u82f1\u91cc"
3062            }
3063        };
3064        this.Zh[this.k.dd] || (this.k.dd = "metric");
3065        this.QI = p;
3066        this.pI = {};
3067        this.ye()
3068    }
3069    x.lang.ta(kb, Sb, "ScaleControl");
3070    x.object.extend(kb.prototype, {
3071        initialize: function(a) {
3072            this.C = a;
3073            return this.B
3074        },
3075        Kk: function(a) {
3076            this.k.color = a + ""
3077        },
3078        e2: function() {
3079            return this.k.color
3080        },
3081        yF: function(a) {
3082            this.k.dd = this.Zh[a] && this.Zh[a].name || this.k.dd
3083        },
3084        MX: function() {
3085            return this.k.dd
3086        },
3087        ye: function() {
3088            var a = this;
3089            I.load("control", function() {
3090                a.uf()
3091            })
3092        }
3093    });
3094    var Zb = 0;
3095    function mb(a) {
3096        Sb.call(this);
3097        a = a || {};
3098        this.defaultAnchor = Ub;
3099        this.defaultOffset = new L(10,10);
3100        this.k = {
3101            Ag: q,
3102            ph: [La, Xa, Ra, Oa],
3103            XV: ["B_DIMENSIONAL_MAP", "B_SATELLITE_MAP", "B_NORMAL_MAP"],
3104            type: a.type || Zb,
3105            ya: a.offset || this.defaultOffset,
3106            xW: o
3107        };
3108        this.qc(a.anchor);
3109        "[object Array]" == Object.prototype.toString.call(a.mapTypes) && (this.k.ph = a.mapTypes.slice(0));
3110        this.ye()
3111    }
3112    x.lang.ta(mb, Sb, "MapTypeControl");
3113    x.object.extend(mb.prototype, {
3114        initialize: function(a) {
3115            this.C = a;
3116            return this.B
3117        },
3118        Jy: function(a) {
3119            this.C.Yn = a
3120        },
3121        ye: function() {
3122            var a = this;
3123            I.load("control", function() {
3124                a.uf()
3125            }, o)
3126        }
3127    });
3128    function $b(a) {
3129        Sb.call(this);
3130        a = a || {};
3131        this.k = {
3132            Ag: q,
3133            ya: a.offset,
3134            anchor: a.anchor
3135        };
3136        this.Si = q;
3137        this.Tv = p;
3138        this.yI = new ac({
3139            Of: "api"
3140        });
3141        this.zI = new bc(p,{
3142            Of: "api"
3143        });
3144        this.defaultAnchor = Ub;
3145        this.defaultOffset = new L(10,10);
3146        this.qc(a.anchor);
3147        this.ye();
3148        Pa(va)
3149    }
3150    x.lang.ta($b, Sb, "PanoramaControl");
3151    x.extend($b.prototype, {
3152        initialize: function(a) {
3153            this.C = a;
3154            return this.B
3155        },
3156        ye: function() {
3157            var a = this;
3158            I.load("control", function() {
3159                a.uf()
3160            })
3161        }
3162    });
3163    function cc(a) {
3164        x.lang.Ba.call(this);
3165        this.k = {
3166            Ua: p,
3167            cursor: "default"
3168        };
3169        this.k = x.extend(this.k, a);
3170        this.Lb = "contextmenu";
3171        this.C = p;
3172        this.xa = [];
3173        this.Ff = [];
3174        this.Ae = [];
3175        this.Pw = this.gs = p;
3176        this.Ph = q;
3177        var b = this;
3178        I.load("menu", function() {
3179            b.wb()
3180        })
3181    }
3182    x.lang.ta(cc, x.lang.Ba, "ContextMenu");
3183    x.object.extend(cc.prototype, {
3184        qa: function(a, b) {
3185            this.C = a;
3186            this.wl = b || p
3187        },
3188        remove: function() {
3189            this.C = this.wl = p
3190        },
3191        ow: function(a) {
3192            if (a && !("menuitem" != a.Lb || "" == a.Vg || 0 >= a.aj)) {
3193                for (var b = 0, c = this.xa.length; b < c; b++)
3194                    if (this.xa[b] === a)
3195                        return;
3196                this.xa.push(a);
3197                this.Ff.push(a)
3198            }
3199        },
3200        removeItem: function(a) {
3201            if (a && "menuitem" == a.Lb) {
3202                for (var b = 0, c = this.xa.length; b < c; b++)
3203                    this.xa[b] === a && (this.xa[b].remove(),
3204                    this.xa.splice(b, 1),
3205                    c--);
3206                b = 0;
3207                for (c = this.Ff.length; b < c; b++)
3208                    this.Ff[b] === a && (this.Ff[b].remove(),
3209                    this.Ff.splice(b, 1),
3210                    c--)
3211            }
3212        },
3213        RB: function() {
3214            this.xa.push({
3215                Lb: "divider",
3216                Oj: this.Ae.length
3217            });
3218            this.Ae.push({
3219                D: p
3220            })
3221        },
3222        eF: function(a) {
3223            if (this.Ae[a]) {
3224                for (var b = 0, c = this.xa.length; b < c; b++)
3225                    this.xa[b] && ("divider" == this.xa[b].Lb && this.xa[b].Oj == a) && (this.xa.splice(b, 1),
3226                    c--),
3227                    this.xa[b] && ("divider" == this.xa[b].Lb && this.xa[b].Oj > a) && this.xa[b].Oj--;
3228                this.Ae.splice(a, 1)
3229            }
3230        },
3231        Hd: t("B"),
3232        show: function() {
3233            this.Ph != o && (this.Ph = o)
3234        },
3235        U: function() {
3236            this.Ph != q && (this.Ph = q)
3237        },
3238        NZ: function(a) {
3239            a && (this.k.cursor = a)
3240        },
3241        getItem: function(a) {
3242            return this.Ff[a]
3243        }
3244    });
3245    var dc = F.pa + "menu_zoom_in.png"
3246      , ec = F.pa + "menu_zoom_out.png";
3247    function fc(a, b, c) {
3248        if (a && Wa(b)) {
3249            x.lang.Ba.call(this);
3250            this.k = {
3251                width: 100,
3252                id: "",
3253                Cm: ""
3254            };
3255            c = c || {};
3256            this.k.width = 1 * c.width ? c.width : 100;
3257            this.k.id = c.id ? c.id : "";
3258            this.k.Cm = c.iconUrl ? c.iconUrl : "";
3259            this.Vg = a + "";
3260            this.xz = b;
3261            this.C = p;
3262            this.Lb = "menuitem";
3263            this.Pr = this.lv = this.B = this.Hh = p;
3264            this.Lh = o;
3265            var d = this;
3266            I.load("menu", function() {
3267                d.wb()
3268            })
3269        }
3270    }
3271    x.lang.ta(fc, x.lang.Ba, "MenuItem");
3272    x.object.extend(fc.prototype, {
3273        qa: function(a, b) {
3274            this.C = a;
3275            this.Hh = b
3276        },
3277        remove: function() {
3278            this.C = this.Hh = p
3279        },
3280        Rt: function(a) {
3281            a && (this.Vg = a + "")
3282        },
3283        Tb: function(a) {
3284            a && (this.k.Cm = a)
3285        },
3286        Hd: t("B"),
3287        enable: function() {
3288            this.Lh = o
3289        },
3290        disable: function() {
3291            this.Lh = q
3292        }
3293    });
3294    function fb(a, b) {
3295        a && !b && (b = a);
3296        this.Ee = this.De = this.Je = this.Ie = this.Ll = this.ul = p;
3297        a && (this.Ll = new H(a.lng,a.lat),
3298        this.ul = new H(b.lng,b.lat),
3299        this.Je = a.lng,
3300        this.Ie = a.lat,
3301        this.Ee = b.lng,
3302        this.De = b.lat)
3303    }
3304    x.object.extend(fb.prototype, {
3305        yj: function() {
3306            return !this.Ll || !this.ul
3307        },
3308        mb: function(a) {
3309            return !(a instanceof fb) || this.yj() ? q : this.re().mb(a.re()) && this.kf().mb(a.kf())
3310        },
3311        re: t("Ll"),
3312        kf: t("ul"),
3313        GV: function(a) {
3314            return !(a instanceof fb) || this.yj() || a.yj() ? q : a.Je > this.Je && a.Ee < this.Ee && a.Ie > this.Ie && a.De < this.De
3315        },
3316        Ja: function() {
3317            return this.yj() ? p : new H((this.Je + this.Ee) / 2,(this.Ie + this.De) / 2)
3318        },
3319        ft: function(a) {
3320            if (!(a instanceof fb) || Math.max(a.Je, a.Ee) < Math.min(this.Je, this.Ee) || Math.min(a.Je, a.Ee) > Math.max(this.Je, this.Ee) || Math.max(a.Ie, a.De) < Math.min(this.Ie, this.De) || Math.min(a.Ie, a.De) > Math.max(this.Ie, this.De))
3321                return p;
3322            var b = Math.max(this.Je, a.Je)
3323              , c = Math.min(this.Ee, a.Ee)
3324              , d = Math.max(this.Ie, a.Ie)
3325              , a = Math.min(this.De, a.De);
3326            return new fb(new H(b,d),new H(c,a))
3327        },
3328        bs: function(a) {
3329            return !(a instanceof H) || this.yj() ? q : a.lng >= this.Je && a.lng <= this.Ee && a.lat >= this.Ie && a.lat <= this.De
3330        },
3331        extend: function(a) {
3332            if (a instanceof H) {
3333                var b = a.lng
3334                  , a = a.lat;
3335                this.Ll || (this.Ll = new H(0,0));
3336                this.ul || (this.ul = new H(0,0));
3337                if (!this.Je || this.Je > b)
3338                    this.Ll.lng = this.Je = b;
3339                if (!this.Ee || this.Ee < b)
3340                    this.ul.lng = this.Ee = b;
3341                if (!this.Ie || this.Ie > a)
3342                    this.Ll.lat = this.Ie = a;
3343                if (!this.De || this.De < a)
3344                    this.ul.lat = this.De = a
3345            }
3346        },
3347        KF: function() {
3348            return this.yj() ? new H(0,0) : new H(Math.abs(this.Ee - this.Je),Math.abs(this.De - this.Ie))
3349        }
3350    });
3351    function H(a, b) {
3352        isNaN(a) && (a = Jb(a),
3353        a = isNaN(a) ? 0 : a);
3354        Za(a) && (a = parseFloat(a));
3355        isNaN(b) && (b = Jb(b),
3356        b = isNaN(b) ? 0 : b);
3357        Za(b) && (b = parseFloat(b));
3358        this.lng = a;
3359        this.lat = b
3360    }
3361    H.bM = function(a) {
3362        return a && 180 >= a.lng && -180 <= a.lng && 74 >= a.lat && -74 <= a.lat
3363    }
3364    ;
3365    H.prototype.mb = function(a) {
3366        return a && this.lat == a.lat && this.lng == a.lng
3367    }
3368    ;
3369    function gc() {}
3370    gc.prototype.nh = function() {
3371        aa("lngLatToPoint\u65b9\u6cd5\u672a\u5b9e\u73b0")
3372    }
3373    ;
3374    gc.prototype.wi = function() {
3375        aa("pointToLngLat\u65b9\u6cd5\u672a\u5b9e\u73b0")
3376    }
3377    ;
3378    function hc() {}
3379    ;var eb = {
3380        nK: function(a, b, c) {
3381            I.load("coordtransutils", function() {
3382                eb.ZU(a, b, c)
3383            }, o)
3384        },
3385        mK: function(a, b, c) {
3386            I.load("coordtransutils", function() {
3387                eb.YU(a, b, c)
3388            }, o)
3389        }
3390    };
3391    function ic() {
3392        this.Oa = [];
3393        var a = this;
3394        I.load("convertor", function() {
3395            a.SP()
3396        })
3397    }
3398    x.ta(ic, x.lang.Ba, "Convertor");
3399    x.extend(ic.prototype, {
3400        translate: function(a, b, c, d) {
3401            this.Oa.push({
3402                method: "translate",
3403                arguments: [a, b, c, d]
3404            })
3405        }
3406    });
3407    S(ic.prototype, {
3408        translate: ic.prototype.translate
3409    });
3410    function R() {}
3411    R.prototype = new gc;
3412    x.extend(R, {
3413        iP: 6370996.81,
3414        rG: [1.289059486E7, 8362377.87, 5591021, 3481989.83, 1678043.12, 0],
3415        Au: [75, 60, 45, 30, 15, 0],
3416        oP: [[1.410526172116255E-8, 8.98305509648872E-6, -1.9939833816331, 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339, 2.57121317296198, -0.03801003308653, 1.73379812E7], [-7.435856389565537E-9, 8.983055097726239E-6, -0.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 1.026014486E7], [-3.030883460898826E-8, 8.98305509983578E-6, 0.30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, 0.32710905363475, 6856817.37], [-1.981981304930552E-8, 8.983055099779535E-6, 0.03278182852591, 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204, -0.04625736007561, 4482777.06], [3.09191371068437E-9, 8.983055096812155E-6, 6.995724062E-5, 23.10934304144901, -2.3663490511E-4, -0.6321817810242, -0.00663494467273, 0.03430082397953, -0.00466043876332, 2555164.4], [2.890871144776878E-9, 8.983055095805407E-6, -3.068298E-8, 7.47137025468032, -3.53937994E-6, -0.02145144861037, -1.234426596E-5, 1.0322952773E-4, -3.23890364E-6, 826088.5]],
3417        oG: [[-0.0015702102444, 111320.7020616939, 1704480524535203, -10338987376042340, 26112667856603880, -35149669176653700, 26595700718403920, -10725012454188240, 1800819912950474, 82.5], [8.277824516172526E-4, 111320.7020463578, 6.477955746671607E8, -4.082003173641316E9, 1.077490566351142E10, -1.517187553151559E10, 1.205306533862167E10, -5.124939663577472E9, 9.133119359512032E8, 67.5], [0.00337398766765, 111320.7020202162, 4481351.045890365, -2.339375119931662E7, 7.968221547186455E7, -1.159649932797253E8, 9.723671115602145E7, -4.366194633752821E7, 8477230.501135234, 52.5], [0.00220636496208, 111320.7020209128, 51751.86112841131, 3796837.749470245, 992013.7397791013, -1221952.21711287, 1340652.697009075, -620943.6990984312, 144416.9293806241, 37.5], [-3.441963504368392E-4, 111320.7020576856, 278.2353980772752, 2485758.690035394, 6070.750963243378, 54821.18345352118, 9540.606633304236, -2710.55326746645, 1405.483844121726, 22.5], [-3.218135878613132E-4, 111320.7020701615, 0.00369383431289, 823725.6402795718, 0.46104986909093, 2351.343141331292, 1.58060784298199, 8.77738589078284, 0.37238884252424, 7.45]],
3418        j2: function(a, b) {
3419            if (!a || !b)
3420                return 0;
3421            var c, d, a = this.Eb(a);
3422            if (!a)
3423                return 0;
3424            c = this.Tk(a.lng);
3425            d = this.Tk(a.lat);
3426            b = this.Eb(b);
3427            return !b ? 0 : this.Pe(c, this.Tk(b.lng), d, this.Tk(b.lat))
3428        },
3429        Vo: function(a, b) {
3430            if (!a || !b)
3431                return 0;
3432            a.lng = this.OD(a.lng, -180, 180);
3433            a.lat = this.SD(a.lat, -74, 74);
3434            b.lng = this.OD(b.lng, -180, 180);
3435            b.lat = this.SD(b.lat, -74, 74);
3436            return this.Pe(this.Tk(a.lng), this.Tk(b.lng), this.Tk(a.lat), this.Tk(b.lat))
3437        },
3438        Eb: function(a) {
3439            if (a === p || a === j)
3440                return new H(0,0);
3441            var b, c;
3442            b = new H(Math.abs(a.lng),Math.abs(a.lat));
3443            for (var d = 0; d < this.rG.length; d++)
3444                if (b.lat >= this.rG[d]) {
3445                    c = this.oP[d];
3446                    break
3447                }
3448            a = this.oK(a, c);
3449            return a = new H(a.lng.toFixed(6),a.lat.toFixed(6))
3450        },
3451        xb: function(a) {
3452            if (a === p || a === j || 180 < a.lng || -180 > a.lng || 90 < a.lat || -90 > a.lat)
3453                return new H(0,0);
3454            var b, c;
3455            a.lng = this.OD(a.lng, -180, 180);
3456            a.lat = this.SD(a.lat, -74, 74);
3457            b = new H(a.lng,a.lat);
3458            for (var d = 0; d < this.Au.length; d++)
3459                if (b.lat >= this.Au[d]) {
3460                    c = this.oG[d];
3461                    break
3462                }
3463            if (!c)
3464                for (d = 0; d < this.Au.length; d++)
3465                    if (b.lat <= -this.Au[d]) {
3466                        c = this.oG[d];
3467                        break
3468                    }
3469            a = this.oK(a, c);
3470            return a = new H(a.lng.toFixed(2),a.lat.toFixed(2))
3471        },
3472        oK: function(a, b) {
3473            if (a && b) {
3474                var c = b[0] + b[1] * Math.abs(a.lng)
3475                  , d = Math.abs(a.lat) / b[9]
3476                  , d = b[2] + b[3] * d + b[4] * d * d + b[5] * d * d * d + b[6] * d * d * d * d + b[7] * d * d * d * d * d + b[8] * d * d * d * d * d * d
3477                  , c = c * (0 > a.lng ? -1 : 1)
3478                  , d = d * (0 > a.lat ? -1 : 1);
3479                return new H(c,d)
3480            }
3481        },
3482        Pe: function(a, b, c, d) {
3483            return this.iP * Math.acos(Math.sin(c) * Math.sin(d) + Math.cos(c) * Math.cos(d) * Math.cos(b - a))
3484        },
3485        Tk: function(a) {
3486            return Math.PI * a / 180
3487        },
3488        j4: function(a) {
3489            return 180 * a / Math.PI
3490        },
3491        SD: function(a, b, c) {
3492            b != p && (a = Math.max(a, b));
3493            c != p && (a = Math.min(a, c));
3494            return a
3495        },
3496        OD: function(a, b, c) {
3497            for (; a > c; )
3498                a -= c - b;
3499            for (; a < b; )
3500                a += c - b;
3501            return a
3502        }
3503    });
3504    x.extend(R.prototype, {
3505        Jm: function(a) {
3506            return R.xb(a)
3507        },
3508        nh: function(a) {
3509            a = R.xb(a);
3510            return new Q(a.lng,a.lat)
3511        },
3512        qh: function(a) {
3513            return R.Eb(a)
3514        },
3515        wi: function(a) {
3516            a = new H(a.x,a.y);
3517            return R.Eb(a)
3518        },
3519        ac: function(a, b, c, d, e) {
3520            if (a)
3521                return a = this.Jm(a, e),
3522                b = this.Bc(b),
3523                new Q(Math.round((a.lng - c.lng) / b + d.width / 2),Math.round((c.lat - a.lat) / b + d.height / 2))
3524        },
3525        ub: function(a, b, c, d, e) {
3526            if (a)
3527                return b = this.Bc(b),
3528                this.qh(new H(c.lng + b * (a.x - d.width / 2),c.lat - b * (a.y - d.height / 2)), e)
3529        },
3530        Bc: function(a) {
3531            return Math.pow(2, 18 - a)
3532        }
3533    });
3534    function hb() {
3535        this.gj = "bj"
3536    }
3537    hb.prototype = new R;
3538    x.extend(hb.prototype, {
3539        Jm: function(a, b) {
3540            return this.CQ(b, R.xb(a))
3541        },
3542        qh: function(a, b) {
3543            return R.Eb(this.DQ(b, a))
3544        },
3545        lngLatToPointFor3D: function(a, b) {
3546            var c = this
3547              , d = R.xb(a);
3548            I.load("coordtrans", function() {
3549                var a = hc.QD(c.gj || "bj", d)
3550                  , a = new Q(a.x,a.y);
3551                b && b(a)
3552            }, o)
3553        },
3554        pointToLngLatFor3D: function(a, b) {
3555            var c = this
3556              , d = new H(a.x,a.y);
3557            I.load("coordtrans", function() {
3558                var a = hc.PD(c.gj || "bj", d)
3559                  , a = new H(a.lng,a.lat)
3560                  , a = R.Eb(a);
3561                b && b(a)
3562            }, o)
3563        },
3564        CQ: function(a, b) {
3565            if (I.hb("coordtrans").Bd == I.Fj.Zp) {
3566                var c = hc.QD(a || "bj", b);
3567                return new H(c.x,c.y)
3568            }
3569            I.load("coordtrans", s());
3570            return new H(0,0)
3571        },
3572        DQ: function(a, b) {
3573            if (I.hb("coordtrans").Bd == I.Fj.Zp) {
3574                var c = hc.PD(a || "bj", b);
3575                return new H(c.lng,c.lat)
3576            }
3577            I.load("coordtrans", s());
3578            return new H(0,0)
3579        },
3580        Bc: function(a) {
3581            return Math.pow(2, 20 - a)
3582        }
3583    });
3584    function jc() {
3585        this.Lb = "overlay"
3586    }
3587    x.lang.ta(jc, x.lang.Ba, "Overlay");
3588    jc.ym = function(a) {
3589        a *= 1;
3590        return !a ? 0 : -1E5 * a << 1
3591    }
3592    ;
3593    x.extend(jc.prototype, {
3594        Ce: function(a) {
3595            if (!this.V && Wa(this.initialize) && (this.V = this.initialize(a)))
3596                this.V.style.WebkitUserSelect = "none";
3597            this.draw()
3598        },
3599        initialize: function() {
3600            aa("initialize\u65b9\u6cd5\u672a\u5b9e\u73b0")
3601        },
3602        draw: function() {
3603            aa("draw\u65b9\u6cd5\u672a\u5b9e\u73b0")
3604        },
3605        remove: function() {
3606            this.V && this.V.parentNode && this.V.parentNode.removeChild(this.V);
3607            this.V = p;
3608            this.dispatchEvent(new N("onremove"))
3609        },
3610        U: function() {
3611            this.V && x.D.U(this.V)
3612        },
3613        show: function() {
3614            this.V && x.D.show(this.V)
3615        },
3616        mh: function() {
3617            return !this.V || "none" == this.V.style.display || "hidden" == this.V.style.visibility ? q : o
3618        }
3619    });
3620    z.Se(function(a) {
3621        function b(a, b) {
3622            var c = K("div")
3623              , g = c.style;
3624            g.position = "absolute";
3625            g.top = g.left = g.width = g.height = "0";
3626            g.zIndex = b;
3627            a.appendChild(c);
3628            return c
3629        }
3630        var c = a.R;
3631        c.qd = a.qd = b(a.platform, 200);
3632        a.Td.sD = b(c.qd, 800);
3633        a.Td.GE = b(c.qd, 700);
3634        a.Td.aL = b(c.qd, 600);
3635        a.Td.zE = b(c.qd, 500);
3636        a.Td.EM = b(c.qd, 400);
3637        a.Td.FM = b(c.qd, 300);
3638        a.Td.OO = b(c.qd, 201);
3639        a.Td.ot = b(c.qd, 200)
3640    });
3641    function gb() {
3642        x.lang.Ba.call(this);
3643        jc.call(this);
3644        this.map = p;
3645        this.Pa = o;
3646        this.zb = p;
3647        this.dH = 0
3648    }
3649    x.lang.ta(gb, jc, "OverlayInternal");
3650    x.extend(gb.prototype, {
3651        initialize: function(a) {
3652            this.map = a;
3653            x.lang.Ba.call(this, this.ba);
3654            return p
3655        },
3656        nx: t("map"),
3657        draw: s(),
3658        Hj: s(),
3659        remove: function() {
3660            this.map = p;
3661            x.lang.Rw(this.ba);
3662            jc.prototype.remove.call(this)
3663        },
3664        U: function() {
3665            this.Pa !== q && (this.Pa = q)
3666        },
3667        show: function() {
3668            this.Pa !== o && (this.Pa = o)
3669        },
3670        mh: function() {
3671            return !this.V ? q : !!this.Pa
3672        },
3673        Na: t("V"),
3674        LN: function(a) {
3675            var a = a || {}, b;
3676            for (b in a)
3677                this.z[b] = a[b]
3678        },
3679        St: ba("zIndex"),
3680        ii: function() {
3681            this.z.ii = o
3682        },
3683        gW: function() {
3684            this.z.ii = q
3685        },
3686        uo: ba("hg"),
3687        zp: function() {
3688            this.hg = p
3689        }
3690    });
3691    function kc() {
3692        this.map = p;
3693        this.va = {};
3694        this.ze = []
3695    }
3696    z.Se(function(a) {
3697        var b = new kc;
3698        b.map = a;
3699        a.va = b.va;
3700        a.ze = b.ze;
3701        a.addEventListener("load", function(a) {
3702            b.draw(a)
3703        });
3704        a.addEventListener("moveend", function(a) {
3705            b.draw(a)
3706        });
3707        x.ea.la && 8 > x.ea.la || "BackCompat" === document.compatMode ? a.addEventListener("zoomend", function(a) {
3708            setTimeout(function() {
3709                b.draw(a)
3710            }, 20)
3711        }) : a.addEventListener("zoomend", function(a) {
3712            b.draw(a)
3713        });
3714        a.addEventListener("maptypechange", function(a) {
3715            b.draw(a)
3716        });
3717        a.addEventListener("addoverlay", function(a) {
3718            a = a.target;
3719            if (a instanceof gb)
3720                b.va[a.ba] || (b.va[a.ba] = a);
3721            else {
3722                for (var d = q, e = 0, f = b.ze.length; e < f; e++)
3723                    if (b.ze[e] === a) {
3724                        d = o;
3725                        break
3726                    }
3727                d || b.ze.push(a)
3728            }
3729        });
3730        a.addEventListener("removeoverlay", function(a) {
3731            a = a.target;
3732            if (a instanceof gb)
3733                delete b.va[a.ba];
3734            else
3735                for (var d = 0, e = b.ze.length; d < e; d++)
3736                    if (b.ze[d] === a) {
3737                        b.ze.splice(d, 1);
3738                        break
3739                    }
3740        });
3741        a.addEventListener("clearoverlays", function() {
3742            this.Xc();
3743            for (var a in b.va)
3744                b.va[a].z.ii && (b.va[a].remove(),
3745                delete b.va[a]);
3746            a = 0;
3747            for (var d = b.ze.length; a < d; a++)
3748                b.ze[a].ii !== q && (b.ze[a].remove(),
3749                b.ze[a] = p,
3750                b.ze.splice(a, 1),
3751                a--,
3752                d--)
3753        });
3754        a.addEventListener("infowindowopen", function() {
3755            var a = this.zb;
3756            a && (x.D.U(a.xc),
3757            x.D.U(a.bc))
3758        });
3759        a.addEventListener("movestart", function() {
3760            this.jh() && this.jh().WI()
3761        });
3762        a.addEventListener("moveend", function() {
3763            this.jh() && this.jh().LI()
3764        })
3765    });
3766    kc.prototype.draw = function(a) {
3767        if (z.cq) {
3768            var b = z.cq.Os(this.map);
3769            "canvas" === b.Lb && b.canvas && b.xQ(b.canvas.getContext("2d"))
3770        }
3771        for (var c in this.va)
3772            this.va[c].draw(a);
3773        x.jc.Fb(this.ze, function(a) {
3774            a.draw()
3775        });
3776        this.map.R.nb && this.map.R.nb.sa();
3777        z.cq && b.vF()
3778    }
3779    ;
3780    function lc(a) {
3781        gb.call(this);
3782        a = a || {};
3783        this.z = {
3784            strokeColor: a.strokeColor || "#3a6bdb",
3785            mc: a.strokeWeight || 5,
3786            sd: a.strokeOpacity || 0.65,
3787            strokeStyle: a.strokeStyle || "solid",
3788            ii: a.enableMassClear === q ? q : o,
3789            wk: p,
3790            sm: p,
3791            Nf: a.enableEditing === o ? o : q,
3792            NM: 5,
3793            V_: q,
3794            ff: a.enableClicking === q ? q : o,
3795            ni: a.icons && 0 < a.icons.length ? a.icons : p
3796        };
3797        0 >= this.z.mc && (this.z.mc = 5);
3798        if (0 > this.z.sd || 1 < this.z.sd)
3799            this.z.sd = 0.65;
3800        if (0 > this.z.qg || 1 < this.z.qg)
3801            this.z.qg = 0.65;
3802        "solid" != this.z.strokeStyle && "dashed" != this.z.strokeStyle && (this.z.strokeStyle = "solid");
3803        this.V = p;
3804        this.Mu = new fb(0,0);
3805        this.bf = [];
3806        this.nc = [];
3807        this.Qa = {}
3808    }
3809    x.lang.ta(lc, gb, "Graph");
3810    lc.ix = function(a) {
3811        var b = [];
3812        if (!a)
3813            return b;
3814        Za(a) && x.jc.Fb(a.split(";"), function(a) {
3815            a = a.split(",");
3816            b.push(new H(a[0],a[1]))
3817        });
3818        "[object Array]" == Object.prototype.toString.apply(a) && 0 < a.length && (b = a);
3819        return b
3820    }
3821    ;
3822    lc.QE = [0.09, 0.0050, 1.0E-4, 1.0E-5];
3823    x.extend(lc.prototype, {
3824        initialize: function(a) {
3825            this.map = a;
3826            return p
3827        },
3828        draw: s(),
3829        Ir: function(a) {
3830            this.bf.length = 0;
3831            this.ia = lc.ix(a).slice(0);
3832            this.Eh()
3833        },
3834        ge: function(a) {
3835            this.Ir(a)
3836        },
3837        Eh: function() {
3838            if (this.ia) {
3839                var a = this;
3840                a.Mu = new fb;
3841                x.jc.Fb(this.ia, function(b) {
3842                    a.Mu.extend(b)
3843                })
3844            }
3845        },
3846        pe: t("ia"),
3847        hn: function(a, b) {
3848            b && this.ia[a] && (this.bf.length = 0,
3849            this.ia[a] = new H(b.lng,b.lat),
3850            this.Eh())
3851        },
3852        setStrokeColor: function(a) {
3853            this.z.strokeColor = a
3854        },
3855        DX: function() {
3856            return this.z.strokeColor
3857        },
3858        Op: function(a) {
3859            0 < a && (this.z.mc = a)
3860        },
3861        BL: function() {
3862            return this.z.mc
3863        },
3864        Mp: function(a) {
3865            a == j || (1 < a || 0 > a) || (this.z.sd = a)
3866        },
3867        EX: function() {
3868            return this.z.sd
3869        },
3870        Lt: function(a) {
3871            1 < a || 0 > a || (this.z.qg = a)
3872        },
3873        aX: function() {
3874            return this.z.qg
3875        },
3876        Np: function(a) {
3877            "solid" != a && "dashed" != a || (this.z.strokeStyle = a)
3878        },
3879        AL: function() {
3880            return this.z.strokeStyle
3881        },
3882        setFillColor: function(a) {
3883            this.z.fillColor = a || ""
3884        },
3885        $W: function() {
3886            return this.z.fillColor
3887        },
3888        Gd: t("Mu"),
3889        remove: function() {
3890            this.map && this.map.removeEventListener("onmousemove", this.iv);
3891            gb.prototype.remove.call(this);
3892            this.bf.length = 0
3893        },
3894        Nf: function() {
3895            if (!(2 > this.ia.length)) {
3896                this.z.Nf = o;
3897                var a = this;
3898                I.load("poly", function() {
3899                    a.Rl()
3900                }, o)
3901            }
3902        },
3903        fW: function() {
3904            this.z.Nf = q;
3905            var a = this;
3906            I.load("poly", function() {
3907                a.mk()
3908            }, o)
3909        }
3910    });
3911    function mc(a) {
3912        gb.call(this);
3913        this.V = this.map = p;
3914        this.z = {
3915            width: 0,
3916            height: 0,
3917            ya: new L(0,0),
3918            opacity: 1,
3919            background: "transparent",
3920            Px: 1,
3921            qM: "#000",
3922            zY: "solid",
3923            point: p
3924        };
3925        this.LN(a);
3926        this.point = this.z.point
3927    }
3928    x.lang.ta(mc, gb, "Division");
3929    x.extend(mc.prototype, {
3930        Hj: function() {
3931            var a = this.z
3932              , b = this.content
3933              , c = ['<div class="BMap_Division" style="position:absolute;'];
3934            c.push("width:" + a.width + "px;display:block;");
3935            c.push("overflow:hidden;");
3936            "none" != a.borderColor && c.push("border:" + a.Px + "px " + a.zY 
3936+ " " + a.qM + ";");
3937            c.push("opacity:" + a.opacity + "; filter:(opacity=" + 100 * a.opacity + ")");
3938            c.push("background:" + a.background + ";");
3939            c.push('z-index:60;">');
3940            c.push(b);
3941            c.push("</div>");
3942            this.V = zb(this.map.Qf().GE, c.join(""))
3943        },
3944        initialize: function(a) {
3945            this.map = a;
3946            this.Hj();
3947            this.V && x.M(this.V, G() ? "touchstart" : "mousedown", function(a) {
3948                ma(a)
3949            });
3950            return this.V
3951        },
3952        draw: function() {
3953            var a = this.map.Re(this.z.point);
3954            this.z.ya = new L(-Math.round(this.z.width / 2) - Math.round(this.z.Px),-Math.round(this.z.height / 2) - Math.round(this.z.Px));
3955            this.V.style.left = a.x + this.z.ya.width + "px";
3956            this.V.style.top = a.y + this.z.ya.height + "px"
3957        },
3958        ha: function() {
3959            return this.z.point
3960        },
3961        M0: function() {
3962            return this.map.ac(this.ha())
3963        },
3964        sa: function(a) {
3965            this.z.point = a;
3966            this.draw()
3967        },
3968        OZ: function(a, b) {
3969            this.z.width = Math.round(a);
3970            this.z.height = Math.round(b);
3971            this.V && (this.V.style.width = this.z.width + "px",
3972            this.V.style.height = this.z.height + "px",
3973            this.draw())
3974        }
3975    });
3976    function nc(a, b, c) {
3977        a && b && (this.imageUrl = a,
3978        this.size = b,
3979        a = new L(Math.floor(b.width / 2),Math.floor(b.height / 2)),
3980        c = c || {},
3981        a = c.anchor || a,
3982        b = c.imageOffset || new L(0,0),
3983        this.imageSize = c.imageSize,
3984        this.anchor = a,
3985        this.imageOffset = b,
3986        this.infoWindowAnchor = c.infoWindowAnchor || this.anchor,
3987        this.printImageUrl = c.printImageUrl || "")
3988    }
3989    x.extend(nc.prototype, {
3990        MN: function(a) {
3991            a && (this.imageUrl = a)
3992        },
3993        d_: function(a) {
3994            a && (this.printImageUrl = a)
3995        },
3996        xe: function(a) {
3997            a && (this.size = new L(a.width,a.height))
3998        },
3999        qc: function(a) {
4000            a && (this.anchor = new L(a.width,a.height))
4001        },
4002        Mt: function(a) {
4003            a && (this.imageOffset = new L(a.width,a.height))
4004        },
4005        UZ: function(a) {
4006            a && (this.infoWindowAnchor = new L(a.width,a.height))
4007        },
4008        RZ: function(a) {
4009            a && (this.imageSize = new L(a.width,a.height))
4010        },
4011        toString: ca("Icon")
4012    });
4013    function oc(a, b) {
4014        if (a) {
4015            b = b || {};
4016            this.style = {
4017                anchor: b.anchor || new L(0,0),
4018                fillColor: b.fillColor || "#000",
4019                qg: b.fillOpacity || 0,
4020                scale: b.scale || 1,
4021                rotation: b.rotation || 0,
4022                strokeColor: b.strokeColor || "#000",
4023                sd: b.strokeOpacity || 1,
4024                mc: b.strokeWeight
4025            };
4026            this.Lb = "number" === typeof a ? a : "UserDefined";
4027            this.Ji = this.style.anchor;
4028            this.or = new L(0,0);
4029            this.anchor = p;
4030            this.jB = a;
4031            var c = this;
4032            I.load("symbol", function() {
4033                c.Jn()
4034            }, o)
4035        }
4036    }
4037    x.extend(oc.prototype, {
4038        setPath: ba("jB"),
4039        setAnchor: function(a) {
4040            this.Ji = this.style.anchor = a
4041        },
4042        setRotation: function(a) {
4043            this.style.rotation = a
4044        },
4045        setScale: function(a) {
4046            this.style.scale = a
4047        },
4048        setStrokeWeight: function(a) {
4049            this.style.mc = a
4050        },
4051        setStrokeColor: function(a) {
4052            a = x.as.rC(a, this.style.sd);
4053            this.style.strokeColor = a
4054        },
4055        setStrokeOpacity: function(a) {
4056            this.style.sd = a
4057        },
4058        setFillOpacity: function(a) {
4059            this.style.qg = a
4060        },
4061        setFillColor: function(a) {
4062            this.style.fillColor = a
4063        }
4064    });
4065    function pc(a, b, c, d) {
4066        a && (this.Bv = {},
4067        this.$K = d ? !!d : q,
4068        this.Vc = [],
4069        this.v_ = a instanceof oc ? a : p,
4070        this.EI = b === j ? o : !!(b.indexOf("%") + 1),
4071        this.$j = isNaN(parseFloat(b)) ? 1 : this.EI ? parseFloat(b) / 100 : parseFloat(b),
4072        this.FI = !!(c.indexOf("%") + 1),
4073        this.repeat = c != j ? this.FI ? parseFloat(c) / 100 : parseFloat(c) : 0)
4074    }
4075    ;function qc(a, b) {
4076        x.lang.Ba.call(this);
4077        this.content = a;
4078        this.map = p;
4079        b = b || {};
4080        this.z = {
4081            width: b.width || 0,
4082            height: b.height || 0,
4083            maxWidth: b.maxWidth || 730,
4084            ya: b.offset || new L(0,0),
4085            title: b.title || "",
4086            HE: b.maxContent || "",
4087            dh: b.enableMaximize || q,
4088            Ds: b.enableAutoPan === q ? q : o,
4089            eD: b.enableCloseOnClick === q ? q : o,
4090            margin: b.margin || [10, 10, 40, 10],
4091            mC: b.collisions || [[10, 10], [10, 10], [10, 10], [10, 10]],
4092            YX: q,
4093            UY: b.onClosing || ca(o),
4094            RK: q,
4095            jD: b.enableParano === o ? o : q,
4096            message: b.message,
4097            lD: b.enableSearchTool === o ? o : q,
4098            Bx: b.headerContent || "",
4099            fD: b.enableContentScroll || q
4100        };
4101        if (0 != this.z.width && (220 > this.z.width && (this.z.width = 220),
4102        730 < this.z.width))
4103            this.z.width = 730;
4104        if (0 != this.z.height && (60 > this.z.height && (this.z.height = 60),
4105        650 < this.z.height))
4106            this.z.height = 650;
4107        if (0 != this.z.maxWidth && (220 > this.z.maxWidth && (this.z.maxWidth = 220),
4108        730 < this.z.maxWidth))
4109            this.z.maxWidth = 730;
4110        this.ae = q;
4111        this.Ei = F.pa;
4112        this.$a = p;
4113        var c = this;
4114        I.load("infowindow", function() {
4115            c.wb()
4116        })
4117    }
4118    x.lang.ta(qc, x.lang.Ba, "InfoWindow");
4119    x.extend(qc.prototype, {
4120        setWidth: function(a) {
4121            !a && 0 != a || (isNaN(a) || 0 > a) || (0 != a && (220 > a && (a = 220),
4122            730 < a && (a = 730)),
4123            this.z.width = a)
4124        },
4125        setHeight: function(a) {
4126            !a && 0 != a || (isNaN(a) || 0 > a) || (0 != a && (60 > a && (a = 60),
4127            650 < a && (a = 650)),
4128            this.z.height = a)
4129        },
4130        PN: function(a) {
4131            !a && 0 != a || (isNaN(a) || 0 > a) || (0 != a && (220 > a && (a = 220),
4132            730 < a && (a = 730)),
4133            this.z.maxWidth = a)
4134        },
4135        Dc: function(a) {
4136            this.z.title = a
4137        },
4138        getTitle: function() {
4139            return this.z.title
4140        },
4141        bd: ba("content"),
4142        uk: t("content"),
4143        Ot: function(a) {
4144            this.z.HE = a + ""
4145        },
4146        fe: s(),
4147        Ds: function() {
4148            this.z.Ds = o
4149        },
4150        disableAutoPan: function() {
4151            this.z.Ds = q
4152        },
4153        enableCloseOnClick: function() {
4154            this.z.eD = o
4155        },
4156        disableCloseOnClick: function() {
4157            this.z.eD = q
4158        },
4159        dh: function() {
4160            this.z.dh = o
4161        },
4162        Uw: function() {
4163            this.z.dh = q
4164        },
4165        show: function() {
4166            this.Pa = o
4167        },
4168        U: function() {
4169            this.Pa = q
4170        },
4171        close: function() {
4172            this.U()
4173        },
4174        Tx: function() {
4175            this.ae = o
4176        },
4177        restore: function() {
4178            this.ae = q
4179        },
4180        mh: function() {
4181            return this.Va()
4182        },
4183        Va: ca(q),
4184        ha: function() {
4185            if (this.$a && this.$a.ha)
4186                return this.$a.ha()
4187        },
4188        Pf: function() {
4189            return this.z.ya
4190        }
4191    });
4192    Ka.prototype.Mb = function(a, b) {
4193        if (a instanceof qc && b instanceof H) {
4194            var c = this.R;
4195            c.Lm ? c.Lm.sa(b) : (c.Lm = new T(b,{
4196                icon: new nc(F.pa + "blank.gif",{
4197                    width: 1,
4198                    height: 1
4199                }),
4200                offset: new L(0,0),
4201                clickable: q
4202            }),
4203            c.Lm.AR = 1);
4204            this.Ia(c.Lm);
4205            c.Lm.Mb(a)
4206        }
4207    }
4208    ;
4209    Ka.prototype.Xc = function() {
4210        var a = this.R.nb || this.R.ll;
4211        a && a.$a && a.$a.Xc()
4212    }
4213    ;
4214    gb.prototype.Mb = function(a) {
4215        this.map && (this.map.Xc(),
4216        a.Pa = o,
4217        this.map.R.ll = a,
4218        a.$a = this,
4219        x.lang.Ba.call(a, a.ba))
4220    }
4221    ;
4222    gb.prototype.Xc = function() {
4223        this.map && this.map.R.ll && (this.map.R.ll.Pa = q,
4224        x.lang.Rw(this.map.R.ll.ba),
4225        this.map.R.ll = p)
4226    }
4227    ;
4228    function rc(a, b) {
4229        gb.call(this);
4230        this.content = a;
4231        this.V = this.map = p;
4232        b = b || {};
4233        this.z = {
4234            width: 0,
4235            ya: b.offset || new L(0,0),
4236            Rp: {
4237                backgroundColor: "#fff",
4238                border: "1px solid #f00",
4239                padding: "1px",
4240                whiteSpace: "nowrap",
4241                font: "12px " + F.fontFamily,
4242                zIndex: "80",
4243                MozUserSelect: "none"
4244            },
4245            position: b.position || p,
4246            ii: b.enableMassClear === q ? q : o,
4247            ff: o
4248        };
4249        0 > this.z.width && (this.z.width = 0);
4250        Gb(b.enableClicking) && (this.z.ff = b.enableClicking);
4251        this.point = this.z.position;
4252        var c = this;
4253        I.load("marker", function() {
4254            c.wb()
4255        })
4256    }
4257    x.lang.ta(rc, gb, "Label");
4258    x.extend(rc.prototype, {
4259        ha: function() {
4260            return this.qv ? this.qv.ha() : this.point
4261        },
4262        sa: function(a) {
4263            a instanceof H && !this.ox() && (this.point = this.z.position = new H(a.lng,a.lat))
4264        },
4265        bd: ba("content"),
4266        uF: function(a) {
4267            0 <= a && 1 >= a && (this.z.opacity = a)
4268        },
4269        Te: function(a) {
4270            a instanceof L && (this.z.ya = new L(a.width,a.height))
4271        },
4272        Pf: function() {
4273            return this.z.ya
4274        },
4275        Kd: function(a) {
4276            a = a || {};
4277            this.z.Rp = x.extend(this.z.Rp, a)
4278        },
4279        yi: function(a) {
4280            return this.Kd(a)
4281        },
4282        Dc: function(a) {
4283            this.z.title = a || ""
4284        },
4285        getTitle: function() {
4286            return this.z.title
4287        },
4288        ON: function(a) {
4289            this.point = (this.qv = a) ? this.z.position = a.ha() : this.z.position = p
4290        },
4291        ox: function() {
4292            return this.qv || p
4293        },
4294        uk: t("content")
4295    });
4296    function sc(a, b) {
4297        if (0 !== arguments.length) {
4298            gb.apply(this, arguments);
4299            b = b || {};
4300            this.z = {
4301                gb: a,
4302                opacity: b.opacity || 1,
4303                Em: b.Em || "",
4304                rs: b.displayOnMinLevel || 1,
4305                ii: b.enableMassClear === q ? q : o,
4306                qs: b.displayOnMaxLevel || 19,
4307                p_: b.stretch || q
4308            };
4309            var c = this;
4310            I.load("groundoverlay", function() {
4311                c.wb()
4312            })
4313        }
4314    }
4315    x.lang.ta(sc, gb, "GroundOverlay");
4316    x.extend(sc.prototype, {
4317        setBounds: function(a) {
4318            this.z.gb = a
4319        },
4320        getBounds: function() {
4321            return this.z.gb
4322        },
4323        setOpacity: function(a) {
4324            this.z.opacity = a
4325        },
4326        getOpacity: function() {
4327            return this.z.opacity
4328        },
4329        setImageURL: function(a) {
4330            this.z.Em = a
4331        },
4332        getImageURL: function() {
4333            return this.z.Em
4334        },
4335        setDisplayOnMinLevel: function(a) {
4336            this.z.rs = a
4337        },
4338        getDisplayOnMinLevel: function() {
4339            return this.z.rs
4340        },
4341        setDisplayOnMaxLevel: function(a) {
4342            this.z.qs = a
4343        },
4344        getDisplayOnMaxLevel: function() {
4345            return this.z.qs
4346        }
4347    });
4348    var tc = 3
4349      , uc = 4;
4350    function vc() {
4351        var a = document.createElement("canvas");
4352        return !(!a.getContext || !a.getContext("2d"))
4353    }
4354    function wc(a, b) {
4355        var c = this;
4356        vc() && (a === j && aa(Error("\u6ca1\u6709\u4f20\u5165points\u6570\u636e")),
4357        "[object Array]" !== Object.prototype.toString.call(a) && aa(Error("points\u6570\u636e\u4e0d\u662f\u6570\u7ec4")),
4358        b = b || {},
4359        gb.apply(c, arguments),
4360        c.da = {
4361            ia: a
4362        },
4363        c.z = {
4364            shape: b.shape || tc,
4365            size: b.size || uc,
4366            color: b.color || "#fa937e",
4367            ii: o
4368        },
4369        this.gB = [],
4370        this.ke = [],
4371        I.load("pointcollection", function() {
4372            for (var a = 0, b; b = c.gB[a]; a++)
4373                c[b.method].apply(c, b.arguments);
4374            for (a = 0; b = c.ke[a]; a++)
4375                c[b.method].apply(c, b.arguments)
4376        }))
4377    }
4378    x.lang.ta(wc, gb, "PointCollection");
4379    x.extend(wc.prototype, {
4380        initialize: function(a) {
4381            this.gB && this.gB.push({
4382                method: "initialize",
4383                arguments: arguments
4384            })
4385        },
4386        setPoints: function(a) {
4387            this.ke && this.ke.push({
4388                method: "setPoints",
4389                arguments: arguments
4390            })
4391        },
4392        setStyles: function(a) {
4393            this.ke && this.ke.push({
4394                method: "setStyles",
4395                arguments: arguments
4396            })
4397        },
4398        clear: function() {
4399            this.ke && this.ke.push({
4400                method: "clear",
4401                arguments: arguments
4402            })
4403        },
4404        remove: function() {
4405            this.ke && this.ke.push({
4406                method: "remove",
4407                arguments: arguments
4408            })
4409        }
4410    });
4411    var xc = new nc(F.pa + "marker_red_sprite.png",new L(19,25),{
4412        anchor: new L(10,25),
4413        infoWindowAnchor: new L(10,0)
4414    })
4415      , yc = new nc(F.pa + "marker_red_sprite.png",new L(20,11),{
4416        anchor: new L(6,11),
4417        imageOffset: new L(-19,-13)
4418    });
4419    function T(a, b) {
4420        gb.call(this);
4421        b = b || {};
4422        this.point = a;
4423        this.tq = this.map = p;
4424        this.z = {
4425            ya: b.offset || new L(0,0),
4426            vj: b.icon || xc,
4427            Nk: yc,
4428            title: b.title || "",
4429            label: p,
4430            WJ: b.baseZIndex || 0,
4431            ff: o,
4432            E4: q,
4433            vE: q,
4434            ii: b.enableMassClear === q ? q : o,
4435            Xb: q,
4436            uN: b.raiseOnDrag === o ? o : q,
4437            BN: q,
4438            Ed: b.draggingCursor || F.Ed,
4439            rotation: b.rotation || 0
4440        };
4441        b.icon && !b.shadow && (this.z.Nk = p);
4442        b.enableDragging && (this.z.Xb = b.enableDragging);
4443        Gb(b.enableClicking) && (this.z.ff = b.enableClicking);
4444        var c = this;
4445        I.load("marker", function() {
4446            c.wb()
4447        })
4448    }
4449    T.Fu = jc.ym(-90) + 1E6;
4450    T.kG = T.Fu + 1E6;
4451    x.lang.ta(T, gb, "Marker");
4452    x.extend(T.prototype, {
4453        Tb: function(a) {
4454            if (a instanceof nc || a instanceof oc)
4455                this.z.vj = a
4456        },
4457        Wo: function() {
4458            return this.z.vj
4459        },
4460        zy: function(a) {
4461            a instanceof nc && (this.z.Nk = a)
4462        },
4463        getShadow: function() {
4464            return this.z.Nk
4465        },
4466        fn: function(a) {
4467            this.z.label = a || p
4468        },
4469        MD: function() {
4470            return this.z.label
4471        },
4472        Xb: function() {
4473            this.z.Xb = o
4474        },
4475        KC: function() {
4476            this.z.Xb = q
4477        },
4478        ha: t("point"),
4479        sa: function(a) {
4480            a instanceof H && (this.point = new H(a.lng,a.lat))
4481        },
4482        zi: function(a, b) {
4483            this.z.vE = !!a;
4484            a && (this.GG = b || 0)
4485        },
4486        Dc: function(a) {
4487            this.z.title = a + ""
4488        },
4489        getTitle: function() {
4490            return this.z.title
4491        },
4492        Te: function(a) {
4493            a instanceof L && (this.z.ya = a)
4494        },
4495        Pf: function() {
4496            return this.z.ya
4497        },
4498        dn: ba("tq"),
4499        Lp: function(a) {
4500            this.z.rotation = a
4501        },
4502        yL: function() {
4503            return this.z.rotation
4504        }
4505    });
4506    function zc(a, b) {
4507        lc.call(this, b);
4508        b = b || {};
4509        this.z.qg = b.fillOpacity ? b.fillOpacity : 0.65;
4510        this.z.fillColor = "" == b.fillColor ? "" : b.fillColor ? b.fillColor : "#fff";
4511        this.ge(a);
4512        var c = this;
4513        I.load("poly", function() {
4514            c.wb()
4515        })
4516    }
4517    x.lang.ta(zc, lc, "Polygon");
4518    x.extend(zc.prototype, {
4519        ge: function(a, b) {
4520            this.ro = lc.ix(a).slice(0);
4521            var c = lc.ix(a).slice(0);
4522            1 < c.length && c.push(new H(c[0].lng,c[0].lat));
4523            lc.prototype.ge.call(this, c, b)
4524        },
4525        hn: function(a, b) {
4526            this.ro[a] && (this.ro[a] = new H(b.lng,b.lat),
4527            this.ia[a] = new H(b.lng,b.lat),
4528            0 == a && !this.ia[0].mb(this.ia[this.ia.length - 1]) && (this.ia[this.ia.length - 1] = new H(b.lng,b.lat)),
4529            this.Eh())
4530        },
4531        pe: function() {
4532            var a = this.ro;
4533            0 == a.length && (a = this.ia);
4534            return a
4535        }
4536    });
4537    function Ac(a, b) {
4538        lc.call(this, b);
4539        this.Ir(a);
4540        var c = this;
4541        I.load("poly", function() {
4542            c.wb()
4543        })
4544    }
4545    x.lang.ta(Ac, lc, "Polyline");
4546    function Bc(a, b, c) {
4547        this.point = a;
4548        this.wa = Math.abs(b);
4549        zc.call(this, [], c)
4550    }
4551    Bc.QE = [0.01, 1.0E-4, 1.0E-5, 4.0E-6];
4552    x.lang.ta(Bc, zc, "Circle");
4553    x.extend(Bc.prototype, {
4554        initialize: function(a) {
4555            this.map = a;
4556            this.ia = this.ev(this.point, this.wa);
4557            this.Eh();
4558            return p
4559        },
4560        Ja: t("point"),
4561        Vf: function(a) {
4562            a && (this.point = a)
4563        },
4564        wL: t("wa"),
4565        qf: function(a) {
4566            this.wa = Math.abs(a)
4567        },
4568        ev: function(a, b) {
4569            if (!a || !b || !this.map)
4570                return [];
4571            for (var c = [], d = b / 6378800, e = Math.PI / 180 * a.lat, f = Math.PI / 180 * a.lng, g = 0; 360 > g; g += 9) {
4572                var i = Math.PI / 180 * g
4573                  , k = Math.asin(Math.sin(e) * Math.cos(d) + Math.
4573cos(e) * Math.sin(d) * Math.cos(i))
4574                  , i = new H(((f - Math.atan2(Math.sin(i) * Math.sin(d) * Math.cos(e), Math.cos(d) - Math.sin(e) * Math.sin(k)) + Math.PI) % (2 * Math.PI) - Math.PI) * (180 / Math.PI),k * (180 / Math.PI));
4575                c.push(i)
4576            }
4577            d = c[0];
4578            c.push(new H(d.lng,d.lat));
4579            return c
4580        }
4581    });
4582    var Cc = {};
4583    function Dc(a) {
4584        this.map = a;
4585        this.Km = [];
4586        this.Wf = [];
4587        this.Eg = [];
4588        this.lV = 300;
4589        this.aF = 0;
4590        this.wg = {};
4591        this.fj = {};
4592        this.th = 0;
4593        this.pE = o;
4594        this.wK = {};
4595        this.ao = this.Mn(1);
4596        this.md = this.Mn(2);
4597        this.vl = this.Mn(3);
4598        a.platform.appendChild(this.ao);
4599        a.platform.appendChild(this.md);
4600        a.platform.appendChild(this.vl);
4601        var b = 256 * Math.pow(2, 15)
4602          , c = 3 * b
4603          , a = R.xb(new H(180,0)).lng
4604          , c = c - a
4605          , b = -3 * b
4606          , d = R.xb(new H(-180,0)).lng;
4607        this.hI = a;
4608        this.iI = d;
4609        this.NA = c + (d - b);
4610        this.jI = a - d
4611    }
4612    z.Se(function(a) {
4613        var b = new Dc(a);
4614        b.qa();
4615        a.bb = b
4616    });
4617    x.extend(Dc.prototype, {
4618        qa: function() {
4619            var a = this
4620              , b = a.map;
4621            b.addEventListener("loadcode", function() {
4622                a.Qx()
4623            });
4624            b.addEventListener("addtilelayer", function(b) {
4625                a.Yg(b)
4626            });
4627            b.addEventListener("removetilelayer", function(b) {
4628                a.zh(b)
4629            });
4630            b.addEventListener("setmaptype", function(b) {
4631                a.Bg(b)
4632            });
4633            b.addEventListener("zoomstartcode", function(b) {
4634                a.Lc(b)
4635            });
4636            b.addEventListener("setcustomstyles", function(b) {
4637                a.Nt(b.target);
4638                a.Tf(o)
4639            })
4640        },
4641        Qx: function() {
4642            var a = this;
4643            if (x.ea.la)
4644                try {
4645                    document.execCommand("BackgroundImageCache", q, o)
4646                } catch (b) {}
4647            this.loaded || a.Gx();
4648            a.Tf();
4649            this.loaded || (this.loaded = o,
4650            I.load("tile", function() {
4651                a.TP()
4652            }))
4653        },
4654        Gx: function() {
4655            for (var a = this.map.oa().jr, b = 0; b < a.length; b++) {
4656                var c = new Ec;
4657                x.extend(c, a[b]);
4658                this.Km.push(c);
4659                c.qa(this.map, this.ao)
4660            }
4661            this.Nt()
4662        },
4663        Mn: function(a) {
4664            var b = K("div");
4665            b.style.position = "absolute";
4666            b.style.overflow = "visible";
4667            b.style.left = b.style.top = "0";
4668            b.style.zIndex = a;
4669            return b
4670        },
4671        vf: function() {
4672            this.th--;
4673            var a = this;
4674            this.pE && (this.map.dispatchEvent(new N("onfirsttileloaded")),
4675            this.pE = q);
4676            0 == this.th && (this.Ni && (clearTimeout(this.Ni),
4677            this.Ni = p),
4678            this.Ni = setTimeout(function() {
4679                if (a.th == 0) {
4680                    a.map.dispatchEvent(new N("ontilesloaded"));
4681                    a.pE = o
4682                }
4683                a.Ni = p
4684            }, 80))
4685        },
4686        XD: function(a, b) {
4687            return "TILE-" + b.ba + "-" + a[0] + "-" + a[1] + "-" + a[2]
4688        },
4689        Ex: function(a) {
4690            var b = a.Gb;
4691            b && yb(b) && b.parentNode.removeChild(b);
4692            delete this.wg[a.name];
4693            a.loaded || (Fc(a),
4694            a.Gb = p,
4695            a.Nm = p)
4696        },
4697        xm: function(a, b, c) {
4698            var d = this.map
4699              , e = d.oa()
4700              , f = d.Ka
4701              , g = d.lc
4702              , i = e.Bc(f)
4703              , k = this.lL()
4704              , l = k[0]
4705              , m = k[1]
4706              , n = k[2]
4707              , u = k[3]
4708              , v = k[4]
4709              , c = "undefined" != typeof c ? c : 0
4710              , e = e.k.Ob
4711              , k = d.ba.replace(/^TANGRAM_/, "");
4712            for (this.Rc ? this.Rc.length = 0 : this.Rc = []; l < n; l++)
4713                for (var w = m; w < u; w++) {
4714                    var y = l
4715                      , C = w;
4716                    this.Rc.push([y, C]);
4717                    y = k + "_" + b + "_" + y + "_" + C + "_" + f;
4718                    this.wK[y] = y
4719                }
4720            this.Rc.sort(function(a) {
4721                return function(b, c) {
4722                    return 0.4 * Math.abs(b[0] - a[0]) + 0.6 * Math.abs(b[1] - a[1]) - (0.4 * Math.abs(c[0] - a[0]) + 0.6 * Math.abs(c[1] - a[1]))
4723                }
4724            }([v[0] - 1, v[1] - 1]));
4725            g = [Math.round(-g.lng / i), Math.round(g.lat / i)];
4726            l = -d.offsetY + d.height / 2;
4727            a.style.left = -d.offsetX + d.width / 2 + "px";
4728            a.style.top = l + "px";
4729            this.Ke ? this.Ke.length = 0 : this.Ke = [];
4730            l = 0;
4731            for (d = a.childNodes.length; l < d; l++)
4732                w = a.childNodes[l],
4733                w.fr = q,
4734                this.Ke.push(w);
4735            if (l = this.Qm)
4736                for (var A in l)
4737                    delete l[A];
4738            else
4739                this.Qm = {};
4740            this.Le ? this.Le.length = 0 : this.Le = [];
4741            l = 0;
4742            for (d = this.Rc.length; l < d; l++) {
4743                A = this.Rc[l][0];
4744                i = this.Rc[l][1];
4745                w = 0;
4746                for (m = this.Ke.length; w < m; w++)
4747                    if (n = this.Ke[w],
4748                    n.id == k + "_" + b + "_" + A + "_" + i + "_" + f) {
4749                        n.fr = o;
4750                        this.Qm[n.id] = n;
4751                        break
4752                    }
4753            }
4754            l = 0;
4755            for (d = this.Ke.length; l < d; l++)
4756                n = this.Ke[l],
4757                n.fr || this.Le.push(n);
4758            this.nn = [];
4759            w = (e + c) * this.map.K.devicePixelRatio;
4760            l = 0;
4761            for (d = this.Rc.length; l < d; l++)
4762                A = this.Rc[l][0],
4763                i = this.Rc[l][1],
4764                u = A * e + g[0] - c / 2,
4765                v = (-1 - i) * e + g[1] - c / 2,
4766                y = k + "_" + b + "_" + A + "_" + i + "_" + f,
4767                m = this.Qm[y],
4768                n = p,
4769                m ? (n = m.style,
4770                n.left = u + "px",
4771                n.top = v + "px",
4772                m.Xe || this.nn.push([A, i, m])) : (0 < this.Le.length ? (m = this.Le.shift(),
4773                m.getContext("2d").clearRect(-c / 2, -c / 2, w, w),
4774                n = m.style) : (m = document.createElement("canvas"),
4775                n = m.style,
4776                n.position = "absolute",
4777                n.width = e + c + "px",
4778                n.height = e + c + "px",
4779                this.Lx() && (n.WebkitTransform = "scale(1.001)"),
4780                m.setAttribute("width", w),
4781                m.setAttribute("height", w),
4782                a.appendChild(m)),
4783                m.id = y,
4784                n.left = u + "px",
4785                n.top = v + "px",
4786                -1 < y.indexOf("bg") && (u = "#F3F1EC",
4787                this.map.K.zo && (u = this.map.K.zo),
4788                n.background = u ? u : ""),
4789                this.nn.push([A, i, m])),
4790                m.style.visibility = "";
4791            l = 0;
4792            for (d = this.Le.length; l < d; l++)
4793                this.Le[l].style.visibility = "hidden";
4794            return this.nn
4795        },
4796        Lx: function() {
4797            return /M040/i.test(navigator.userAgent)
4798        },
4799        lL: function() {
4800            var a = this.map
4801              , b = a.oa()
4802              , c = b.bE(a.Ka)
4803              , d = a.lc
4804              , e = Math.ceil(d.lng / c)
4805              , f = Math.ceil(d.lat / c)
4806              , b = b.k.Ob
4807              , c = [e, f, (d.lng - e * c) / c * b, (d.lat - f * c) / c * b];
4808            return [c[0] - Math.ceil((a.width / 2 - c[2]) / b), c[1] - Math.ceil((a.height / 2 - c[3]) / b), c[0] + Math.ceil((a.width / 2 + c[2]) / b), c[1] + Math.ceil((a.height / 2 + c[3]) / b), c]
4809        },
4810        k_: function(a, b, c, d) {
4811            var e = this;
4812            e.s1 = b;
4813            var f = this.map.oa()
4814              , g = e.XD(a, c)
4815              , i = f.k.Ob
4816              , b = [a[0] * i + b[0], (-1 - a[1]) * i + b[1]]
4817              , k = this.wg[g];
4818            if (this.map.oa() !== Xa && this.map.oa() !== Ra) {
4819                var l = this.xw(a[0], a[2]).offsetX;
4820                b[0] += l;
4821                b.Q0 = l
4822            }
4823            k && k.Gb ? (wb(k.Gb, b),
4824            d && (d = new Q(a[0],a[1]),
4825            f = this.map.K.te ? this.map.K.te.style : "normal",
4826            d = c.getTilesUrl(d, a[2], f),
4827            k.loaded = q,
4828            Gc(k, d)),
4829            k.loaded ? this.vf() : Hc(k, function() {
4830                e.vf()
4831            })) : (k = this.fj[g]) && k.Gb ? (c.Pb.insertBefore(k.Gb, c.Pb.lastChild),
4832            this.wg[g] = k,
4833            wb(k.Gb, b),
4834            d && (d = new Q(a[0],a[1]),
4835            f = this.map.K.te ? this.map.K.te.style : "normal",
4836            d = c.getTilesUrl(d, a[2], f),
4837            k.loaded = q,
4838            Gc(k, d)),
4839            k.loaded ? this.vf() : Hc(k, function() {
4840                e.vf()
4841            })) : (k = i * Math.pow(2, f.qm() - a[2]),
4842            new H(a[0] * k,a[1] * k),
4843            d = new Q(a[0],a[1]),
4844            f = this.map.K.te ? this.map.K.te.style : "normal",
4845            d = c.getTilesUrl(d, a[2], f),
4846            k = new Ic(this,d,b,a,c),
4847            Hc(k, function() {
4848                e.vf()
4849            }),
4850            k.$n(),
4851            this.wg[g] = k)
4852        },
4853        vf: function() {
4854            this.th--;
4855            var a = this;
4856            0 == this.th && (this.Ni && (clearTimeout(this.Ni),
4857            this.Ni = p),
4858            this.Ni = setTimeout(function() {
4859                if (a.th == 0) {
4860                    a.map.dispatchEvent(new N("ontilesloaded"));
4861                    if (ta) {
4862                        if (qa && ra && sa) {
4863                            var b = ab()
4864                              , c = a.map.yb();
4865                            setTimeout(function() {
4866                                Pa(5030, {
4867                                    load_script_time: ra - qa,
4868                                    load_tiles_time: b - sa,
4869                                    map_width: c.width,
4870                                    map_height: c.height,
4871                                    map_size: c.width * c.height
4872                                })
4873                            }, 1E4);
4874                            ua.pc("img_fisrt_loaded");
4875                            ua.pc("map_width", c.width);
4876                            ua.pc("map_height", c.height);
4877                            ua.pc("map_size", c.width * c.height);
4878                            ua.Xm();
4879                            z.Ij("cus.fire", "time", {
4880                                z_imgfirstloaded: b - sa
4881                            })
4882                        }
4883                        ta = q
4884                    }
4885                }
4886                a.Ni = p
4887            }, 80))
4888        },
4889        XD: function(a, b) {
4890            return this.map.oa() === Oa ? "TILE-" + b.ba + "-" + this.map.Cw + "-" + a[0] + "-" + a[1] + "-" + a[2] : "TILE-" + b.ba + "-" + a[0] + "-" + a[1] + "-" + a[2]
4891        },
4892        Ex: function(a) {
4893            var b = a.Gb;
4894            b && (Jc(b),
4895            yb(b) && b.parentNode.removeChild(b));
4896            delete this.wg[a.name];
4897            a.loaded || (Jc(b),
4898            Fc(a),
4899            a.Gb = p,
4900            a.Nm = p)
4901        },
4902        xw: function(a, b) {
4903            for (var c = 0, d = 6 * Math.pow(2, b - 3), e = d / 2 - 1, f = -d / 2; a > e; )
4904                a -= d,
4905                c -= this.NA;
4906            for (; a < f; )
4907                a += d,
4908                c += this.NA;
4909            c = Math.round(c / Math.pow(2, 18 - b));
4910            return {
4911                offsetX: c,
4912                Fw: a
4913            }
4914        },
4915        nV: function(a) {
4916            for (var b = a.lng; b > this.hI; )
4917                b -= this.jI;
4918            for (; b < this.iI; )
4919                b += this.jI;
4920            a.lng = b;
4921            return a
4922        },
4923        oV: function(a, b) {
4924            for (var c = 256 * Math.pow(2, 18 - b), d = Math.floor(this.hI / c), e = Math.floor(this.iI / c), c = Math.floor(this.NA / c), f = [], g = 0; g < a.length; g++) {
4925                var i = a[g]
4926                  , k = i[0]
4927                  , i = i[1];
4928                if (k >= d) {
4929                    var k = k + c
4930                      , l = "id_" + k + "_" + i + "_" + b;
4931                    a[l] || (a[l] = o,
4932                    f.push([k, i]))
4933                } else
4934                    k <= e && (k -= c,
4935                    l = "id_" + k + "_" + i + "_" + b,
4936                    a[l] || (a[l] = o,
4937                    f.push([k, i])))
4938            }
4939            for (g = 0; g < f.length; g++)
4940                a.push(f[g]);
4941            return a
4942        },
4943        Tf: function(a) {
4944            var b = this;
4945            if (b.map.oa() == Oa)
4946                I.load("coordtrans", function() {
4947                    b.map.Vb || (b.map.Vb = Oa.tk(b.map.$g),
4948                    b.map.Cw = Oa.jL(b.map.Vb));
4949                    b.lI()
4950                }, o);
4951            else {
4952                if (a && a)
4953                    for (var c in this.fj)
4954                        delete this.fj[c];
4955                b.lI(a)
4956            }
4957        },
4958        lI: function(a) {
4959            var b = this.Km.concat(this.Wf)
4960              , c = b.length
4961              , d = this.map
4962              , e = d.oa()
4963              , f = d.lc;
4964            this.map.oa() !== Xa && this.map.oa() !== Ra && (f = this.nV(f));
4965            for (var g = 0; g < c; g++) {
4966                var i = b[g];
4967                if (i.fc && d.Ka < i.fc)
4968                    break;
4969                if (i.vw) {
4970                    var k = this.Pb = i.Pb;
4971                    if (a) {
4972                        var l = k;
4973                        if (l && l.childNodes)
4974                            for (var m = l.childNodes.length, n = m - 1; 0 <= n; n--)
4975                                m = l.childNodes[n],
4976                                l.removeChild(m),
4977                                m = p
4978                    }
4979                    if (this.map.Ub()) {
4980                        this.md.style.display = "block";
4981                        k.style.display = "none";
4982                        this.map.dispatchEvent(new N("vectorchanged"), {
4983                            isvector: o
4984                        });
4985                        continue
4986                    } else
4987                        k.style.display = "block",
4988                        this.md.style.display = "none",
4989                        this.map.dispatchEvent(new N("vectorchanged"), {
4990                            isvector: q
4991                        })
4992                }
4993                if (!i.ZH && !(i.mp && !this.map.Ub() || i.iM && this.map.Ub())) {
4994                    d = this.map;
4995                    e = d.oa();
4996                    k = e.bp();
4997                    m = d.Ka;
4998                    f = d.lc;
4999                    e == Oa && f.mb(new H(0,0)) && (f = d.lc = k.Jm(d.ef, d.Vb));
5000                    var u = e.Bc(m)
5001                      , k = e.bE(m)
5002                      , l = Math.ceil(f.lng / k)
5003                      , v = Math.ceil(f.lat / k)
5004                      , w = e.k.Ob
5005                      , k = [l, v, (f.lng - l * k) / k * w, (f.lat - v * k) / k * w]
5006                      , n = k[0] - Math.ceil((d.width / 2 - k[2]) / w)
5007                      , l = k[1] - Math.ceil((d.height / 2 - k[3]) / w)
5008                      , v = k[0] + Math.ceil((d.width / 2 + k[2]) / w)
5009                      , y = 0;
5010                    e === Oa && 15 == d.fa() && (y = 1);
5011                    e = k[1] + Math.ceil((d.height / 2 + k[3]) / w) + y;
5012                    this.RJ = new H(f.lng,f.lat);
5013                    var C = this.wg, w = -this.RJ.lng / u, y = this.RJ.lat / u, u = [Math.ceil(w), Math.ceil(y)], f = d.fa(), A;
5014                    for (A in C) {
5015                        var B = C[A]
5016                          , D = B.info;
5017                        (D[2] != f || D[2] == f && (n > D[0] || v <= D[0] || l > D[1] || e <= D[1])) && this.Ex(B)
5018                    }
5019                    C = -d.offsetX + d.width / 2;
5020                    B = -d.offsetY + d.height / 2;
5021                    i.Pb && (i.Pb.style.left = Math.ceil(w + C) - u[0] + "px",
5022                    i.Pb.style.top = Math.ceil(y + B) - u[1] + "px",
5023                    i.Pb.style.WebkitTransform = "translate3d(0,0,0)");
5024                    w = [];
5025                    for (d.LB = []; n < v; n++)
5026                        for (y = l; y < e; y++)
5027                            w.push([n, y]),
5028                            d.LB.push({
5029                                x: n,
5030                                y: y
5031                            });
5032                    this.map.oa() !== Xa && this.map.oa() !== Ra && (w = this.oV(w, m));
5033                    w.sort(function(a) {
5034                        return function(b, c) {
5035                            return 0.4 * Math.abs(b[0] - a[0]) + 0.6 * Math.abs(b[1] - a[1]) - (0.4 * Math.abs(c[0] - a[0]) + 0.6 * Math.abs(c[1] - a[1]))
5036                        }
5037                    }([k[0] - 1, k[1] - 1]));
5038                    m = w.length;
5039                    this.th += m;
5040                    for (n = 0; n < m; n++)
5041                        this.k_([w[n][0], w[n][1], f], u, i, a)
5042                }
5043            }
5044        },
5045        Yg: function(a) {
5046            var b = this
5047              , c = a.target
5048              , a = b.map.Ub();
5049            if (c instanceof db)
5050                a && !c.Fm && (c.qa(this.map, this.md),
5051                c.Fm = o);
5052            else if (c.Xf && this.map.Yg(c.Xf),
5053            c.mp) {
5054                for (a = 0; a < b.Eg.length; a++)
5055                    if (b.Eg[a] == c)
5056                        return;
5057                I.load("vector", function() {
5058                    c.qa(b.map, b.md);
5059                    b.Eg.push(c)
5060                }, o)
5061            } else {
5062                for (a = 0; a < b.Wf.length; a++)
5063                    if (b.Wf[a] == c)
5064                        return;
5065                c.qa(this.map, this.vl);
5066                b.Wf.push(c)
5067            }
5068        },
5069        zh: function(a) {
5070            var a = a.target
5071              , b = this.map.Ub();
5072            if (a instanceof db)
5073                b && a.Fm && (a.remove(),
5074                a.Fm = q);
5075            else {
5076                a.Xf && this.map.zh(a.Xf);
5077                if (a.mp)
5078                    for (var b = 0, c = this.Eg.length; b < c; b++)
5079                        a == this.Eg[b] && this.Eg.splice(b, 1);
5080                else {
5081                    b = 0;
5082                    for (c = this.Wf.length; b < c; b++)
5083                        a == this.Wf[b] && this.Wf.splice(b, 1)
5084                }
5085                a.remove()
5086            }
5087        },
5088        Bg: function() {
5089            for (var a = this.Km, b = 0, c = a.length; b < c; b++)
5090                a[b].remove();
5091            delete this.Pb;
5092            this.Km = [];
5093            this.fj = this.wg = {};
5094            this.Gx();
5095            this.Tf()
5096        },
5097        Lc: function() {
5098            var a = this;
5099            a.ud && x.D.U(a.ud);
5100            setTimeout(function() {
5101                a.Tf();
5102                a.map.dispatchEvent(new N("onzoomend"))
5103            }, 10)
5104        },
5105        t4: s(),
5106        Nt: function(a) {
5107            var b = this.map.oa();
5108            if (!this.map.Ub() && (a ? this.map.K.s_ = a : a = this.map.K.s_,
5109            a))
5110                for (var c = p, c = "2" == z.ou ? [z.url.proto + z.url.domain.main_domain_cdn.other[0] + "/"] : [z.url.proto + z.url.domain.main_domain_cdn.baidu[0] + "/", z.url.proto + z.url.domain.main_domain_cdn.baidu[1] + "/", z.url.proto + z.url.domain.main_domain_cdn.baidu[2] + "/"], d = 0, e; e = this.Km[d]; d++)
5111                    if (e.f_ == o) {
5112                        b.k.Zb = 18;
5113                        e.getTilesUrl = function(b, d) {
5114                            var e = b.x
5115                              , e = this.map.bb.xw(e, d).Fw
5116                              , k = b.y
5117                              , l = 1;
5118                            this.map.dE() && (l = 2);
5119                            l = "customimage/tile?&x=" + e + "&y=" + k + "&z=" + d + "&udt=20150629&scale=" + l;
5120                            l = a.styleStr ? l + ("&styles=" + encodeURIComponent(a.styleStr)) : l + ("&customid=" + a.style);
5121                            return c[Math.abs(e + k) % c.length] + l
5122                        }
5123                        ;
5124                        break
5125                    }
5126        }
5127    });
5128    function Ic(a, b, c, d, e) {
5129        this.Nm = a;
5130        this.position = c;
5131        this.Qu = [];
5132        this.name = a.XD(d, e);
5133        this.info = d;
5134        this.oJ = e.lt();
5135        d = K("img");
5136        xb(d);
5137        d.cL = q;
5138        var f = d.style
5139          , a = a.map.oa();
5140        f.position = "absolute";
5141        f.border = "none";
5142        f.width = a.k.Ob + "px";
5143        f.height = a.k.Ob + "px";
5144        f.left = c[0] + "px";
5145        f.top = c[1] + "px";
5146        f.maxWidth = "none";
5147        this.Gb = d;
5148        this.src = b;
5149        Kc && (this.Gb.style.opacity = 0);
5150        var g = this;
5151        this.Gb.onload = function() {
5152            z.BY.FQ();
5153            g.loaded = o;
5154            if (g.Nm) {
5155                var a = g.Nm
5156                  , b = a.fj;
5157                if (!b[g.name]) {
5158                    a.aF++;
5159                    b[g.name] = g
5160                }
5161                if (g.Gb && !yb(g.Gb) && e.Pb) {
5162                    e.Pb.appendChild(g.Gb);
5163                    if (x.ea.la <= 6 && x.ea.la > 0 && g.oJ)
5164                        g.Gb.style.cssText = g.Gb.style.cssText + (';filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + g.src + '",sizingMethod=scale);')
5165                }
5166                var c = a.aF - a.lV, d;
5167                for (d in b) {
5168                    if (c <= 0)
5169                        break;
5170                    if (!a.wg[d]) {
5171                        b[d].Nm = p;
5172                        var f = b[d].Gb;
5173                        if (f && f.parentNode) {
5174                            f.parentNode.removeChild(f);
5175                            Jc(f)
5176                        }
5177                        f = p;
5178                        b[d].Gb = p;
5179                        delete b[d];
5180                        a.aF--;
5181                        c--
5182                    }
5183                }
5184                Kc && new sb({
5185                    Ic: 20,
5186                    duration: 200,
5187                    ua: function(a) {
5188                        if (g.Gb && g.Gb.style)
5189                            g.Gb.style.opacity = a * 1
5190                    },
5191                    finish: function() {
5192                        g.Gb && g.Gb.style && delete g.Gb.style.opacity
5193                    }
5194                });
5195                Fc(g)
5196            }
5197        }
5198        ;
5199        this.Gb.onerror = function() {
5200            Fc(g);
5201            if (g.Nm) {
5202                var a = g.Nm.map.oa();
5203                if (a.k.mD) {
5204                    g.error = o;
5205                    g.Gb.src = a.k.mD;
5206                    g.Gb && !yb(g.Gb) && e.Pb.appendChild(g.Gb)
5207                }
5208            }
5209        }
5210        ;
5211        d = p
5212    }
5213    function Hc(a, b) {
5214        a.Qu.push(b)
5215    }
5216    Ic.prototype.$n = function() {
5217        this.Gb.src = 0 < x.ea.la && 6 >= x.ea.la && this.oJ ? F.pa + "blank.gif" : "" !== this.src && this.Gb.src == this.src ? this.src + "&t = " + Date.now() : this.src
5218    }
5219    ;
5220    function Fc(a) {
5221        for (var b = 0; b < a.Qu.length; b++)
5222            a.Qu[b]();
5223        a.Qu.length = 0
5224    }
5225    function Jc(a) {
5226        if (a) {
5227            a.onload = a.onerror = p;
5228            var b = a.attributes, c, d, e;
5229            if (b) {
5230                d = b.length;
5231                for (c = 0; c < d; c += 1)
5232                    e = b[c].name,
5233                    Wa(a[e]) && (a[e] = p)
5234            }
5235            if (b = a.children) {
5236                d = b.length;
5237                for (c = 0; c < d; c += 1)
5238                    Jc(a.children[c])
5239            }
5240        }
5241    }
5242    function Gc(a, b) {
5243        a.src = b;
5244        a.$n()
5245    }
5246    var Kc = !x.ea.la || 8 < x.ea.la;
5247    function Ec(a) {
5248        this.uh = a || {};
5249        this.IV = this.uh.copyright || p;
5250        this.R_ = this.uh.transparentPng || q;
5251        this.vw = this.uh.baseLayer || q;
5252        this.zIndex = this.uh.zIndex || 0;
5253        this.ba = Ec.tS++
5254    }
5255    Ec.tS = 0;
5256    x.lang.ta(Ec, x.lang.Ba, "TileLayer");
5257    x.extend(Ec.prototype, {
5258        qa: function(a, b) {
5259            this.vw && (this.zIndex = -100);
5260            this.map = a;
5261            if (!this.Pb) {
5262                var c = K("div")
5263                  , d = c.style;
5264                d.position = "absolute";
5265                d.overflow = "visible";
5266                d.zIndex = this.zIndex;
5267                d.left = Math.ceil(-a.offsetX + a.width / 2) + "px";
5268                d.top = Math.ceil(-a.offsetY + a.height / 2) + "px";
5269                b.appendChild(c);
5270                this.Pb = c
5271            }
5272        },
5273        remove: function() {
5274            this.Pb && this.Pb.parentNode && (this.Pb.innerHTML = "",
5275            this.Pb.parentNode.removeChild(this.Pb));
5276            delete this.Pb
5277        },
5278        lt: t("R_"),
5279        getTilesUrl: function(a, b) {
5280            if (this.map.oa() !== Xa && this.map.oa() !== Ra)
5281                var c = this.map.bb.xw(a.x, b).Fw;
5282            var d = "";
5283            this.uh.tileUrlTemplate && (d = this.uh.tileUrlTemplate.replace(/\{X\}/, c),
5284            d = d.replace(/\{Y\}/, a.y),
5285            d = d.replace(/\{Z\}/, b));
5286            return d
5287        },
5288        om: t("IV"),
5289        oa: function() {
5290            return this.Hb || La
5291        }
5292    });
5293    function Lc(a, b) {
5294        Hb(a) ? b = a || {} : (b = b || {},
5295        b.databoxId = a);
5296        this.k = {
5297            xK: b.databoxId,
5298            fh: b.geotableId,
5299            Wm: b.q || "",
5300            eu: b.tags || "",
5301            filter: b.filter || "",
5302            Gy: b.sortby || "",
5303            q_: b.styleId || "",
5304            Sl: b.ak || pa,
5305            sw: b.age || 36E5,
5306            zIndex: 11,
5307            wY: "VectorCloudLayer",
5308            Bk: b.hotspotName || "vector_md_" + (1E5 * Math.random()).toFixed(0),
5309            SU: "LBS\u4e91\u9ebb\u70b9\u5c42"
5310        };
5311        this.mp = o;
5312        Ec.call(this, this.k);
5313        this.aW = z.Hc + "geosearch/detail/";
5314        this.bW = z.Hc + "geosearch/v2/detail/";
5315        this.ip = {}
5316    }
5317    x.ta(Lc, Ec, "VectorCloudLayer");
5318    function Mc(a) {
5319        a = a || {};
5320        this.k = x.extend(a, {
5321            zIndex: 1,
5322            wY: "VectorTrafficLayer",
5323            SU: "\u77e2\u91cf\u8def\u51b5\u5c42"
5324        });
5325        this.mp = o;
5326        Ec.call(this, this.k);
5327        this.N_ = z.url.proto + z.url.domain.vector_traffic + "/gvd/?qt=lgvd&styles=pl&layers=tf";
5328        this.Db = {
5329            "0": [2, 1354709503, 2, 2, 0, [], 0, 0],
5330            1: [2, 1354709503, 3, 2, 0, [], 0, 0],
5331            10: [2, -231722753, 2, 2, 0, [], 0, 0],
5332            11: [2, -231722753, 3, 2, 0, [], 0, 0],
5333            12: [2, -231722753, 4, 2, 0, [], 0, 0],
5334            13: [2, -231722753, 5, 2, 0, [], 0, 0],
5335            14: [2, -231722753, 6, 2, 0, [], 0, 0],
5336            15: [2, -1, 4, 0, 0, [], 0, 0],
5337            16: [2, -1, 5.5, 0, 0, [], 0, 0],
5338            17: [2, -1, 7, 0, 0, [], 0, 0],
5339            18: [2, -1, 8.5, 0, 0, [], 0, 0],
5340            19: [2, -1, 10, 0, 0, [], 0, 0],
5341            2: [2, 1354709503, 4, 2, 0, [], 0, 0],
5342            3: [2, 1354709503, 5, 2, 0, [], 0, 0],
5343            4: [2, 1354709503, 6, 2, 0, [], 0, 0],
5344            5: [2, -6350337, 2, 2, 0, [], 0, 0],
5345            6: [2, -6350337, 3, 2, 0, [], 0, 0],
5346            7: [2, -6350337, 4, 2, 0, [], 0, 0],
5347            8: [2, -6350337, 5, 2, 0, [], 0, 0],
5348            9: [2, -6350337, 6, 2, 0, [], 0, 0]
5349        }
5350    }
5351    x.ta(Mc, Ec, "VectorTrafficLayer");
5352    function db(a) {
5353        this.mV = [z.url.proto + z.url.domain.TILE_ONLINE_URLS[1] + "/gvd/?", z.url.proto + z.url.domain.TILE_ONLINE_URLS[2] + "/gvd/?", z.url.proto + z.url.domain.TILE_ONLINE_URLS[3] + "/gvd/?", z.url.proto + z.url.domain.TILE_ONLINE_URLS[4] + "/gvd/?"];
5354        this.k = {
5355            ZK: q
5356        };
5357        for (var b in a)
5358            this.k[b] = a[b];
5359        this.Yh = this.Ih = this.Wa = this.B = this.C = p;
5360        this.nM = 0;
5361        var c = this;
5362        I.load("vector", function() {
5363            c.ye()
5364        })
5365    }
5366    x.extend(db.prototype, {
5367        qa: function(a, b) {
5368            this.C = a;
5369            this.B = b
5370        },
5371        remove: function() {
5372            this.B = this.C = p
5373        }
5374    });
5375    function Nc(a) {
5376        Ec.call(this, a);
5377        this.k = a || {};
5378        this.iM = o;
5379        this.Xf = new Mc;
5380        this.Xf.My = this;
5381        if (this.k.predictDate) {
5382            if (1 > this.k.predictDate.weekday || 7 < this.k.predictDate.weekday)
5383                this.k.predictDate = 1;
5384            if (0 > this.k.predictDate.hour || 23 < this.k.predictDate.hour)
5385                this.k.predictDate.hour = 0
5386        }
5387        this.wU = z.url.proto + z.url.domain.traffic + "/traffic/"
5388    }
5389    Nc.prototype = new Ec;
5390    Nc.prototype.qa = function(a, b) {
5391        Ec.prototype.qa.call(this, a, b);
5392        this.C = a
5393    }
5394    ;
5395    Nc.prototype.lt = ca(o);
5396    Nc.prototype.getTilesUrl = function(a, b) {
5397        var c = "";
5398        this.k.predictDate ? c = "HistoryService?day=" + (this.k.predictDate.weekday - 1) + "&hour=" + this.k.predictDate.hour + "&t=" + (new Date).getTime() + "&" : (c = "TrafficTileService?time=" + (new Date).getTime() + "&",
5399        c += "label=web2D&v=016&");
5400        return (this.wU + c + "level=" + b + "&x=" + a.x + "&y=" + a.y).replace(/-(\d+)/gi, "M$1")
5401    }
5402    ;
5403    var Oc = [z.url.proto + z.url.domain.TILES_YUN_HOST[0] + "/georender/gss", z.url.proto + z.url.domain.TILES_YUN_HOST[1] + "/georender/gss", z.url.proto + z.url.domain.TILES_YUN_HOST[2] + "/georender/gss", z.url.proto + z.url.domain.TILES_YUN_HOST[3] + "/georender/gss"]
5404      , Pc = z.url.proto + z.url.domain.main_domain_nocdn.baidu + "/style/poi/rangestyle"
5405      , Qc = 100;
5406    function nb(a, b) {
5407        Ec.call(this);
5408        var c = this;
5409        this.iM = o;
5410        var d = q;
5411        try {
5412            document.createElement("canvas").getContext("2d"),
5413            d = o
5414        } catch (e) {
5415            d = q
5416        }
5417        d && (this.Xf = new Lc(a,b),
5418        this.Xf.My = this);
5419        Hb(a) ? b = a || {} : (c.Pn = a,
5420        b = b || {});
5421        b.geotableId && (c.xf = b.geotableId);
5422        b.databoxId && (c.Pn = b.databoxId);
5423        d = z.Hc + "geosearch";
5424        c.oc = {
5425            qN: b.pointDensity || Qc,
5426            VX: d + "/detail/",
5427            WX: d + "/v2/detail/",
5428            sw: b.age || 36E5,
5429            Wm: b.q || "",
5430            A_: "png",
5431            P2: [5, 5, 5, 5],
5432            vY: {
5433                backgroundColor: "#FFFFD5",
5434                borderColor: "#808080"
5435            },
5436            Sl: b.ak || pa,
5437            eu: b.tags || "",
5438            filter: b.filter || "",
5439            Gy: b.sortby || "",
5440            Bk: b.hotspotName || "tile_md_" + (1E5 * Math.random()).toFixed(0),
5441            PF: o
5442        };
5443        I.load("clayer", function() {
5444            c.Od()
5445        })
5446    }
5447    nb.prototype = new Ec;
5448    nb.prototype.qa = function(a, b) {
5449        Ec.prototype.qa.call(this, a, b);
5450        this.C = a
5451    }
5452    ;
5453    nb.prototype.getTilesUrl = function(a, b) {
5454        var c = a.x
5455          , d = a.y
5456          , e = this.oc
5457          , c = Oc[Math.abs(c + d) % Oc.length] + "/image?grids=" + c + "_" + d + "_" + b + "&q=" + e.Wm + "&tags=" + e.eu + "&filter=" + e.filter + "&sortby=" + e.Gy + "&ak=" + this.oc.Sl + "&age=" + e.sw + "&page_size=" + e.qN + "&format=" + e.A_;
5458        e.PF || (e = (1E5 * Math.random()).toFixed(0),
5459        c += "&timeStamp=" + e);
5460        this.xf ? c += "&geotable_id=" + this.xf : this.Pn && (c += "&databox_id=" + this.Pn);
5461        return c
5462    }
5463    ;
5464    nb.prototype.enableUseCache = function() {
5465        this.oc.PF = o
5466    }
5467    ;
5468    nb.prototype.disableUseCache = function() {
5469        this.oc.PF = q
5470    }
5471    ;
5472    nb.UT = /^point\(|\)$/ig;
5473    nb.VT = /\s+/;
5474    nb.XT = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
5475    function Rc(a, b, c) {
5476        this.af = a;
5477        this.jr = b instanceof Ec ? [b] : b.slice(0);
5478        c = c || {};
5479        this.k = {
5480            B_: c.tips || "",
5481            AE: "",
5482            fc: c.minZoom || 3,
5483            Zb: c.maxZoom || 18,
5484            O2: c.minZoom || 3,
5485            N2: c.maxZoom || 18,
5486            Ob: 256,
5487            GF: c.textColor || "black",
5488            mD: c.errorImageUrl || "",
5489            we: c.projection || new R
5490        };
5491        1 <= this.jr.length && (this.jr[0].vw = o);
5492        x.extend(this.k, c)
5493    }
5494    x.extend(Rc.prototype, {
5495        getName: t("af"),
5496        Ys: function() {
5497            return this.k.B_
5498        },
5499        t2: function() {
5500            return this.k.AE
5501        },
5502        IX: function() {
5503            return this.jr[0]
5504        },
5505        H2: t("jr"),
5506        JX: function() {
5507            return this.k.Ob
5508        },
5509        Xo: function() {
5510            return this.k.fc
5511        },
5512        qm: function() {
5513            return this.k.Zb
5514        },
5515        setMaxZoom: function(a) {
5516            this.k.Zb = a
5517        },
5518        wm: function() {
5519            return this.k.GF
5520        },
5521        bp: function() {
5522            return this.k.we
5523        },
5524        k2: function() {
5525            return this.k.mD
5526        },
5527        JX: function() {
5528            return this.k.Ob
5529        },
5530        Bc: function(a) {
5531            return Math.pow(2, 18 - a)
5532        },
5533        bE: function(a) {
5534            return this.Bc(a) * this.k.Ob
5535        }
5536    });
5537    var Sc = [z.url.proto + z.url.domain.TILE_BASE_URLS[0] + "/it/", z.url.proto + z.url.domain.TILE_BASE_URLS[1] + "/it/", z.url.proto + z.url.domain.TILE_BASE_URLS[2] + "/it/", z.url.proto + z.url.domain.TILE_BASE_URLS[3] + "/it/", z.url.proto + z.url.domain.TILE_BASE_URLS[4] + "/it/"]
5538      , Tc = [z.url.proto + z.url.domain.TILE_ONLINE_URLS[0] + "/tile/", z.url.proto + z.url.domain.TILE_ONLINE_URLS[1] + "/tile/", z.url.proto + z.url.domain.TILE_ONLINE_URLS[2] + "/tile/", z.url.proto + z.url.domain.TILE_ONLINE_URLS[3] + "/tile/", z.url.proto + z.url.domain.TILE_ONLINE_URLS[4] + "/tile/"]
5539      , Uc = {
5540        dark: "dl",
5541        light: "ll",
5542        normal: "pl"
5543    }
5544      , Vc = new Ec;
5545    Vc.f_ = o;
5546    Vc.getTilesUrl = function(a, b, c) {
5547        var d = a.x
5548          , a = a.y
5549          , e = 1
5550          , c = Uc[c];
5551        this.map.dE() && (e = 2);
5552        d = this.map.bb.xw(d, b).Fw;
5553        return (Tc[Math.abs(d + a) % Tc.length] + "?qt=tile&x=" + (d + "").replace(/-/gi, "M") + "&y=" + (a + "").replace(/-/gi, "M") + "&z=" + b + "&styles=" + c + "&scaler=" + e + (6 == x.ea.la ? "&color_dep=32&colors=50" : "") + "&udt=20160730").replace(/-(\d+)/gi, "M$1")
5554    }
5555    ;
5556    var La = new Rc("\u5730\u56fe",Vc,{
5557        tips: "\u663e\u793a\u666e\u901a\u5730\u56fe",
5558        maxZoom: 19
5559    })
5560      , Wc = new Ec;
5561    Wc.lO = [z.url.proto + z.url.domain.TIlE_PERSPECT_URLS[0] + "/resource/mappic/", z.url.proto + z.url.domain.TIlE_PERSPECT_URLS[1] + "/resource/mappic/", z.url.proto + z.url.domain.TIlE_PERSPECT_URLS[2] + "/resource/mappic/", z.url.proto + z.url.domain.TIlE_PERSPECT_URLS[3] + "/resource/mappic/"];
5562    Wc.getTilesUrl = function(a, b) {
5563        var c = a.x
5564          , d = a.y
5565          , e = 256 * Math.pow(2, 20 - b)
5566          , d = Math.round((9998336 - e * d) / e) - 1;
5567        return url = this.lO[Math.abs(c + d) % this.lO.length] + this.map.Vb + "/" + this.map.Cw + "/3/lv" + (21 - b) + "/" + c + "," + d + ".jpg"
5568    }
5569    ;
5570    var Oa = new Rc("\u4e09\u7ef4",Wc,{
5571        tips: "\u663e\u793a\u4e09\u7ef4\u5730\u56fe",
5572        minZoom: 15,
5573        maxZoom: 20,
5574        textColor: "white",
5575        projection: new hb
5576    });
5577    Oa.Bc = function(a) {
5578        return Math.pow(2, 20 - a)
5579    }
5580    ;
5581    Oa.tk = function(a) {
5582        if (!a)
5583            return "";
5584        var b = F.gC, c;
5585        for (c in b)
5586            if (-1 < a.search(c))
5587                return b[c].iy;
5588        return ""
5589    }
5590    ;
5591    Oa.jL = function(a) {
5592        return {
5593            bj: 2,
5594            gz: 1,
5595            sz: 14,
5596            sh: 4
5597        }[a]
5598    }
5599    ;
5600    var Xc = new Ec({
5601        vw: o
5602    });
5603    Xc.getTilesUrl = function(a, b) {
5604        var c = a.x
5605          , d = a.y;
5606        return (Sc[Math.abs(c + d) % Sc.length] + "u=x=" + c + ";y=" + d + ";z=" + b + ";v=009;type=sate&fm=46&udt=20141015").replace(/-(\d+)/gi, "M$1")
5607    }
5608    ;
5609    var Xa = new Rc("\u536b\u661f",Xc,{
5610        tips: "\u663e\u793a\u536b\u661f\u5f71\u50cf",
5611        minZoom: 1,
5612        maxZoom: 19,
5613        textColor: "white"
5614    })
5615      , Yc = new Ec({
5616        transparentPng: o
5617    });
5618    Yc.getTilesUrl = function(a, b) {
5619        var c = a.x
5620          , d = a.y;
5621        return (Tc[Math.abs(c + d) % Tc.length] + "?qt=tile&x=" + (c + "").replace(/-/gi, "M") + "&y=" + (d + "").replace(/-/gi, "M") + "&z=" + b + "&styles=sl" + (6 == x.ea.la ? "&color_dep=32&colors=50" : "") + "&udt=20141015").replace(/-(\d+)/gi, "M$1")
5622    }
5623    ;
5624    var Ra = new Rc("\u6df7\u5408",[Xc, Yc],{
5625        tips: "\u663e\u793a\u5e26\u6709\u8857\u9053\u7684\u536b\u661f\u5f71\u50cf",
5626        labelText: "\u8def\u7f51",
5627        minZoom: 1,
5628        maxZoom: 19,
5629        textColor: "white"
5630    });
5631    var Zc = 1
5632      , U = {};
5633    window.n0 = U;
5634    function V(a, b) {
5635        x.lang.Ba.call(this);
5636        this.zd = {};
5637        this.gn(a);
5638        b = b || {};
5639        b.ka = b.renderOptions || {};
5640        this.k = {
5641            ka: {
5642                Ga: b.ka.panel || p,
5643                map: b.ka.map || p,
5644                Zg: b.ka.autoViewport || o,
5645                It: b.ka.selectFirstResult,
5646                bt: b.ka.highlightMode,
5647                Xb: b.ka.enableDragging || q
5648            },
5649            ay: b.onSearchComplete || s(),
5650            cN: b.onMarkersSet || s(),
5651            bN: b.onInfoHtmlSet || s(),
5652            eN: b.onResultsHtmlSet || s(),
5653            aN: b.onGetBusListComplete || s(),
5654            $M: b.onGetBusLineComplete || s(),
5655            YM: b.onBusListHtmlSet || s(),
5656            XM: b.onBusLineHtmlSet || s(),
5657            NE: b.onPolylinesSet || s(),
5658            Ap: b.reqFrom || ""
5659        };
5660        this.k.ka.Zg = "undefined" != typeof b && "undefined" != typeof b.renderOptions && "undefined" != typeof b.renderOptions.autoViewport ? b.renderOptions.autoViewport : o;
5661        this.k.ka.Ga = x.Ec(this.k.ka.Ga)
5662    }
5663    x.ta(V, x.lang.Ba);
5664    x.extend(V.prototype, {
5665        getResults: function() {
5666            return this.Gc ? this.Ki : this.ja
5667        },
5668        enableAutoViewport: function() {
5669            this.k.ka.Zg = o
5670        },
5671        disableAutoViewport: function() {
5672            this.k.ka.Zg = q
5673        },
5674        gn: function(a) {
5675            a && (this.zd.src = a)
5676        },
5677        wF: function(a) {
5678            this.k.ay = a || s()
5679        },
5680        setMarkersSetCallback: function(a) {
5681            this.k.cN = a || s()
5682        },
5683        setPolylinesSetCallback: function(a) {
5684            this.k.NE = a || s()
5685        },
5686        setInfoHtmlSetCallback: function(a) {
5687            this.k.bN = a || s()
5688        },
5689        setResultsHtmlSetCallback: function(a) {
5690            this.k.eN = a || s()
5691        },
5692        um: t("Bd")
5693    });
5694    var $c = {
5695        tG: z.Hc,
5696        ab: function(a, b, c, d, e) {
5697            var f = (1E5 * Math.random()).toFixed(0);
5698            z._rd["_cbk" + f] = function(b) {
5699                b.result && b.result.error && 202 === b.result.error ? alert("\u8be5AK\u56e0\u4e3a\u6076\u610f\u884c\u4e3a\u5df2\u7ecf\u88ab\u7ba1\u7406\u5458\u5c01\u7981\uff01") : (c = c || {},
5700                a && a(b, c),
5701                delete z._rd["_cbk" + f])
5702            }
5703            ;
5704            d = d || "";
5705            b = c && c.FO ? Fb(b, encodeURI) : Fb(b, encodeURIComponent);
5706            this.tG = c && c.Fs ? c.AN ? c.AN : z.qp : z.Hc;
5707            d = this.tG + d + "?" + b + "&ie=utf-8&oue=1&fromproduct=jsapi";
5708            e || (d += "&res=api");
5709            d = d + ("&callback=BMap._rd._cbk" + f) + ("&ak=" + pa);
5710            Qb(d)
5711        }
5712    };
5713    window.u0 = $c;
5714    z._rd = {};
5715    var P = {};
5716    window.t0 = P;
5717    P.wN = function(a) {
5718        a = a.replace(/<\/?[^>]*>/g, "");
5719        return a = a.replace(/[ | ]* /g, " ")
5720    }
5721    ;
5722    P.bZ = function(a) {
5723        return a.replace(/([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0|[1-9]\d*),([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0|[1-9]\d*)(,)/g, "$1,$2;")
5724    }
5725    ;
5726    P.cZ = function(a, b) {
5727        return a.replace(RegExp("(((-?\\d+)(\\.\\d+)?),((-?\\d+)(\\.\\d+)?);)(((-?\\d+)(\\.\\d+)?),((-?\\d+)(\\.\\d+)?);){" + b + "}", "ig"), "$1")
5728    }
5729    ;
5730    var ad = 2
5731      , bd = 3
5732      , dd = 0
5733      , ed = "bt"
5734      , fd = "nav"
5735      , gd = "walk"
5736      , hd = "bl"
5737      , id = "bsl"
5738      , jd = 14
5739      , kd = 15
5740      , ld = 18
5741      , md = 20
5742      , nd = 31;
5743    z.I = window.Instance = x.lang.Mc;
5744    function od(a, b, c) {
5745        x.lang.Ba.call(this);
5746        if (a) {
5747            this.Ua = "object" == typeof a ? a : x.Ec(a);
5748            this.page = 1;
5749            this.Id = 100;
5750            this.SJ = "pg";
5751            this.Uf = 4;
5752            this.$J = b;
5753            this.update = o;
5754            a = {
5755                page: 1,
5756                Ue: 100,
5757                Id: 100,
5758                Uf: 4,
5759                SJ: "pg",
5760                update: o
5761            };
5762            c || (c = a);
5763            for (var d in c)
5764                "undefined" != typeof c[d] && (this[d] = c[d]);
5765            this.ua()
5766        }
5767    }
5768    x.extend(od.prototype, {
5769        ua: function() {
5770            this.qa()
5771        },
5772        qa: function() {
5773            this.uV();
5774            this.Ua.innerHTML = this.QV()
5775        },
5776        uV: function() {
5777            isNaN(parseInt(this.page)) && (this.page = 1);
5778            isNaN(parseInt(this.Id)) && (this.Id = 1);
5779            1 > this.page && (this.page = 1);
5780            1 > this.Id && (this.Id = 1);
5781            this.page > this.Id && (this.page = this.Id);
5782            this.page = parseInt(this.page);
5783            this.Id = parseInt(this.Id)
5784        },
5785        y2: function() {
5786            location.search.match(RegExp("[?&]?" + this.SJ + "=([^&]*)[&$]?", "gi"));
5787            this.page = RegExp.$1
5788        },
5789        QV: function() {
5790            var a = []
5791              , b = this.page - 1
5792              , c = this.page + 1;
5793            a.push('<p style="margin:0;padding:0;white-space:nowrap">');
5794            if (!(1 > b)) {
5795                if (this.page >= this.Uf) {
5796                    var d;
5797                    a.push('<span style="margin-right:3px">
5797<a style="color:#7777cc" href="javascript:void(0)" onclick="{temp1}">\u9996\u9875</a></span>'.replace("{temp1}", "BMap.I('" + this.ba + "').toPage(1);"))
5798                }
5799                a.push('<span style="margin-right:3px"><a style="color:#7777cc" href="javascript:void(0)" onclick="{temp2}">\u4e0a\u4e00\u9875</a></span>'.replace("{temp2}", "BMap.I('" + this.ba + "').toPage(" + b + ");"))
5800            }
5801            if (this.page < this.Uf)
5802                d = 0 == this.page % this.Uf ? this.page - this.Uf - 1 : this.page - this.page % this.Uf + 1,
5803                b = d + this.Uf - 1;
5804            else {
5805                d = Math.floor(this.Uf / 2);
5806                var e = this.Uf % 2 - 1
5807                  , b = this.Id > this.page + d ? this.page + d : this.Id;
5808                d = this.page - d - e
5809            }
5810            this.page > this.Id - this.Uf && this.page >= this.Uf && (d = this.Id - this.Uf + 1,
5811            b = this.Id);
5812            for (e = d; e <= b; e++)
5813                0 < e && (e == this.page ? a.push('<span style="margin-right:3px">' + e + "</span>") : 1 <= e && e <= this.Id && (d = '<span><a style="color:#7777cc;margin-right:3px" href="javascript:void(0)" onclick="{temp3}">[' + e + "]</a></span>",
5814                a.push(d.replace("{temp3}", "BMap.I('" + this.ba + "').toPage(" + e + ");"))));
5815            c > this.Id || a.push('<span><a style="color:#7777cc" href="javascript:void(0)" onclick="{temp4}">\u4e0b\u4e00\u9875</a></span>'.replace("{temp4}", "BMap.I('" + this.ba + "').toPage(" + c + ");"));
5816            a.push("</p>");
5817            return a.join("")
5818        },
5819        toPage: function(a) {
5820            a = a ? a : 1;
5821            "function" == typeof this.$J && (this.$J(a),
5822            this.page = a);
5823            this.update && this.ua()
5824        }
5825    });
5826    function bb(a, b) {
5827        V.call(this, a, b);
5828        b = b || {};
5829        b.renderOptions = b.renderOptions || {};
5830        this.Kp(b.pageCapacity);
5831        "undefined" != typeof b.renderOptions.selectFirstResult && !b.renderOptions.selectFirstResult ? this.LC() : this.hD();
5832        this.va = [];
5833        this.sf = [];
5834        this.jb = -1;
5835        this.Oa = [];
5836        var c = this;
5837        I.load("local", function() {
5838            c.Bz()
5839        }, o)
5840    }
5841    x.ta(bb, V, "LocalSearch");
5842    bb.aq = 10;
5843    bb.r0 = 1;
5844    bb.Cn = 100;
5845    bb.jG = 2E3;
5846    bb.qG = 1E5;
5847    x.extend(bb.prototype, {
5848        search: function(a, b) {
5849            this.Oa.push({
5850                method: "search",
5851                arguments: [a, b]
5852            })
5853        },
5854        bn: function(a, b, c) {
5855            this.Oa.push({
5856                method: "searchInBounds",
5857                arguments: [a, b, c]
5858            })
5859        },
5860        Gp: function(a, b, c, d) {
5861            this.Oa.push({
5862                method: "searchNearby",
5863                arguments: [a, b, c, d]
5864            })
5865        },
5866        Me: function() {
5867            delete this.Ea;
5868            delete this.Bd;
5869            delete this.ja;
5870            delete this.ga;
5871            this.jb = -1;
5872            this.rb();
5873            this.k.ka.Ga && (this.k.ka.Ga.innerHTML = "")
5874        },
5875        zm: s(),
5876        hD: function() {
5877            this.k.ka.It = o
5878        },
5879        LC: function() {
5880            this.k.ka.It = q
5881        },
5882        Kp: function(a) {
5883            this.k.Fk = "number" == typeof a && !isNaN(a) ? 1 > a ? bb.aq : a > bb.Cn ? bb.aq : a : bb.aq
5884        },
5885        lf: function() {
5886            return this.k.Fk
5887        },
5888        toString: ca("LocalSearch")
5889    });
5890    var pd = bb.prototype;
5891    S(pd, {
5892        clearResults: pd.Me,
5893        setPageCapacity: pd.Kp,
5894        getPageCapacity: pd.lf,
5895        gotoPage: pd.zm,
5896        searchNearby: pd.Gp,
5897        searchInBounds: pd.bn,
5898        search: pd.search,
5899        enableFirstResultSelection: pd.hD,
5900        disableFirstResultSelection: pd.LC
5901    });
5902    function qd(a, b) {
5903        V.call(this, a, b)
5904    }
5905    x.ta(qd, V, "BaseRoute");
5906    x.extend(qd.prototype, {
5907        Me: s()
5908    });
5909    function rd(a, b) {
5910        V.call(this, a, b);
5911        b = b || {};
5912        this.Qt(b.policy);
5913        this.Kp(b.pageCapacity);
5914        this.vd = ed;
5915        this.Bu = jd;
5916        this.Cu = Zc;
5917        this.va = [];
5918        this.jb = -1;
5919        this.k.fd = b.enableTraffic || q;
5920        this.Oa = [];
5921        var c = this;
5922        I.load("route", function() {
5923            c.Od()
5924        })
5925    }
5926    rd.Cn = 100;
5927    rd.kP = [0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1];
5928    x.ta(rd, qd, "TransitRoute");
5929    x.extend(rd.prototype, {
5930        Qt: function(a) {
5931            this.k.ad = 0 <= a && 4 >= a ? a : 0
5932        },
5933        BA: function(a, b) {
5934            this.Oa.push({
5935                method: "_internalSearch",
5936                arguments: [a, b]
5937            })
5938        },
5939        search: function(a, b) {
5940            this.Oa.push({
5941                method: "search",
5942                arguments: [a, b]
5943            })
5944        },
5945        Kp: function(a) {
5946            if ("string" === typeof a && (a = parseInt(a, 10),
5947            isNaN(a))) {
5948                this.k.Fk = rd.Cn;
5949                return
5950            }
5951            this.k.Fk = "number" !== typeof a ? rd.Cn : 1 <= a && a <= rd.Cn ? Math.round(a) : rd.Cn
5952        },
5953        toString: ca("TransitRoute"),
5954        iU: function(a) {
5955            return a.replace(/\(.*\)/, "")
5956        }
5957    });
5958    var sd = rd.prototype;
5959    S(sd, {
5960        _internalSearch: sd.BA
5961    });
5962    function td(a, b) {
5963        V.call(this, a, b);
5964        this.va = [];
5965        this.jb = -1;
5966        this.Oa = [];
5967        var c = this
5968          , d = this.k.ka;
5969        1 !== d.bt && 2 !== d.bt && (d.bt = 1);
5970        this.Vz = this.k.ka.Xb ? o : q;
5971        I.load("route", function() {
5972            c.Od()
5973        });
5974        this.mE && this.mE()
5975    }
5976    td.xP = " \u73af\u5c9b \u65e0\u5c5e\u6027\u9053\u8def \u4e3b\u8def \u9ad8\u901f\u8fde\u
597663a5\u8def \u4ea4\u53c9\u70b9\u5185\u8def\u6bb5 \u8fde\u63a5\u9053\u8def \u505c\u8f66\u573a\u5185\u90e8\u9053\u8def \u670d\u52a1\u533a\u5185\u90e8\u9053\u8def \u6865 \u6b65\u884c\u8857 \u8f85\u8def \u531d\u9053 \u5168\u5c01\u95ed\u9053\u8def \u672a\u5b9a\u4e49\u4ea4\u901a\u533a\u57df POI\u8fde\u63a5\u8def \u96a7\u9053 \u6b65\u884c\u9053 \u516c\u4ea4\u4e13\u7528\u9053 \u63d0\u524d\u53f3\u8f6c\u9053".split(" ");
5977    x.ta(td, qd, "DWRoute");
5978    x.extend(td.prototype, {
5979        search: function(a, b, c) {
5980            this.Oa.push({
5981                method: "search",
5982                arguments: [a, b, c]
5983            })
5984        }
5985    });
5986    function ud(a, b) {
5987        td.call(this, a, b);
5988        b = b || {};
5989        this.k.fd = b.enableTraffic || q;
5990        this.Qt(b.policy);
5991        this.vd = fd;
5992        this.Bu = md;
5993        this.Cu = bd
5994    }
5995    x.ta(ud, td, "DrivingRoute");
5996    ud.prototype.Qt = function(a) {
5997        this.k.ad = 0 <= a && 2 >= a ? a : 0
5998    }
5999    ;
6000    function vd(a, b) {
6001        td.call(this, a, b);
6002        this.vd = gd;
6003        this.Bu = nd;
6004        this.Cu = ad;
6005        this.Vz = q
6006    }
6007    x.ta(vd, td, "WalkingRoute");
6008    function wd(a, b) {
6009        x.lang.Ba.call(this);
6010        this.Sf = [];
6011        this.Tm = [];
6012        this.k = b;
6013        this.dc = a;
6014        this.map = this.k.ka.map || p;
6015        this.ty = this.k.ty;
6016        this.zb = p;
6017        this.hj = 0;
6018        this.Hy = "";
6019        this.$d = 1;
6020        this.$w = "";
6021        this.Bp = [0, 0, 0, 0, 0, 0, 0];
6022        this.CE = [];
6023        this.fs = [1, 1, 1, 1, 1, 1, 1];
6024        this.tO = [1, 1, 1, 1, 1, 1, 1];
6025        this.Gt = [0, 0, 0, 0, 0, 0, 0];
6026        this.Cp = [0, 0, 0, 0, 0, 0, 0];
6027        this.Ma = [{
6028            o: "",
6029            Lf: 0,
6030            tn: 0,
6031            x: 0,
6032            y: 0,
6033            Ac: -1
6034        }, {
6035            o: "",
6036            Lf: 0,
6037            tn: 0,
6038            x: 0,
6039            y: 0,
6040            Ac: -1
6041        }, {
6042            o: "",
6043            Lf: 0,
6044            tn: 0,
6045            x: 0,
6046            y: 0,
6047            Ac: -1
6048        }, {
6049            o: "",
6050            Lf: 0,
6051            tn: 0,
6052            x: 0,
6053            y: 0,
6054            Ac: -1
6055        }, {
6056            o: "",
6057            Lf: 0,
6058            tn: 0,
6059            x: 0,
6060            y: 0,
6061            Ac: -1
6062        }, {
6063            o: "",
6064            Lf: 0,
6065            tn: 0,
6066            x: 0,
6067            y: 0,
6068            Ac: -1
6069        }, {
6070            o: "",
6071            Lf: 0,
6072            tn: 0,
6073            x: 0,
6074            y: 0,
6075            Ac: -1
6076        }];
6077        this.fi = -1;
6078        this.gu = [];
6079        this.hu = [];
6080        I.load("route", s())
6081    }
6082    x.lang.ta(wd, x.lang.Ba, "RouteAddr");
6083    var xd = navigator.userAgent;
6084    /ipad|iphone|ipod|iph/i.test(xd);
6085    var yd = /android/i.test(xd);
6086    function zd(a) {
6087        this.uh = a || {}
6088    }
6089    x.extend(zd.prototype, {
6090        GN: function(a, b, c) {
6091            var d = this;
6092            I.load("route", function() {
6093                d.Od(a, b, c)
6094            })
6095        }
6096    });
6097    function Ad(a) {
6098        this.k = {};
6099        x.extend(this.k, a);
6100        this.Oa = [];
6101        var b = this;
6102        I.load("othersearch", function() {
6103            b.Od()
6104        })
6105    }
6106    x.ta(Ad, x.lang.Ba, "Geocoder");
6107    x.extend(Ad.prototype, {
6108        tm: function(a, b, c) {
6109            this.Oa.push({
6110                method: "getPoint",
6111                arguments: [a, b, c]
6112            })
6113        },
6114        Rs: function(a, b, c) {
6115            this.Oa.push({
6116                method: "getLocation",
6117                arguments: [a, b, c]
6118            })
6119        },
6120        toString: ca("Geocoder")
6121    });
6122    var Bd = Ad.prototype;
6123    S(Bd, {
6124        getPoint: Bd.tm,
6125        getLocation: Bd.Rs
6126    });
6127    function Geolocation(a) {
6128        a = a || {};
6129        this.K = {
6130            timeout: a.timeout || 1E4,
6131            maximumAge: a.maximumAge || 6E5
6132        };
6133        this.ke = [];
6134        var b = this;
6135        I.load("othersearch", function() {
6136            for (var a = 0, d; d = b.ke[a]; a++)
6137                b[d.method].apply(b, d.arguments)
6138        })
6139    }
6140    x.extend(Geolocation.prototype, {
6141        getCurrentPosition: function(a, b) {
6142            this.ke.push({
6143                method: "getCurrentPosition",
6144                arguments: arguments
6145            })
6146        },
6147        getStatus: ca(2)
6148    });
6149    function Ed(a) {
6150        a = a || {};
6151        a.ka = a.renderOptions || {};
6152        this.k = {
6153            ka: {
6154                map: a.ka.map || p
6155            }
6156        };
6157        this.Oa = [];
6158        var b = this;
6159        I.load("othersearch", function() {
6160            b.Od()
6161        })
6162    }
6163    x.ta(Ed, x.lang.Ba, "LocalCity");
6164    x.extend(Ed.prototype, {
6165        get: function(a) {
6166            this.Oa.push({
6167                method: "get",
6168                arguments: [a]
6169            })
6170        },
6171        toString: ca("LocalCity")
6172    });
6173    function Fd() {
6174        this.Oa = [];
6175        var a = this;
6176        I.load("othersearch", function() {
6177            a.Od()
6178        })
6179    }
6180    x.ta(Fd, x.lang.Ba, "Boundary");
6181    x.extend(Fd.prototype, {
6182        get: function(a, b) {
6183            this.Oa.push({
6184                method: "get",
6185                arguments: [a, b]
6186            })
6187        },
6188        toString: ca("Boundary")
6189    });
6190    function Gd(a, b) {
6191        V.call(this, a, b);
6192        this.uP = hd;
6193        this.wP = kd;
6194        this.tP = id;
6195        this.vP = ld;
6196        this.Oa = [];
6197        var c = this;
6198        I.load("buslinesearch", function() {
6199            c.Od()
6200        })
6201    }
6202    Gd.mv = F.pa + "iw_plus.gif";
6203    Gd.zS = F.pa + "iw_minus.gif";
6204    Gd.sU = F.pa + "stop_icon.png";
6205    x.ta(Gd, V);
6206    x.extend(Gd.prototype, {
6207        getBusList: function(a) {
6208            this.Oa.push({
6209                method: "getBusList",
6210                arguments: [a]
6211            })
6212        },
6213        getBusLine: function(a) {
6214            this.Oa.push({
6215                method: "getBusLine",
6216                arguments: [a]
6217            })
6218        },
6219        setGetBusListCompleteCallback: function(a) {
6220            this.k.aN = a || s()
6221        },
6222        setGetBusLineCompleteCallback: function(a) {
6223            this.k.$M = a || s()
6224        },
6225        setBusListHtmlSetCallback: function(a) {
6226            this.k.YM = a || s()
6227        },
6228        setBusLineHtmlSetCallback: function(a) {
6229            this.k.XM = a || s()
6230        },
6231        setPolylinesSetCallback: function(a) {
6232            this.k.NE = a || s()
6233        }
6234    });
6235    function Hd(a) {
6236        V.call(this, a);
6237        a = a || {};
6238        this.oc = {
6239            input: a.input || p,
6240            WB: a.baseDom || p,
6241            types: a.types || [],
6242            ay: a.onSearchComplete || s()
6243        };
6244        this.zd.src = a.location || "\u5168\u56fd";
6245        this.cj = "";
6246        this.mg = p;
6247        this.VH = "";
6248        this.Ri();
6249        Pa(Ha);
6250        var b = this;
6251        I.load("autocomplete", function() {
6252            b.Od()
6253        })
6254    }
6255    x.ta(Hd, V, "Autocomplete");
6256    x.extend(Hd.prototype, {
6257        Ri: s(),
6258        show: s(),
6259        U: s(),
6260        xF: function(a) {
6261            this.oc.types = a
6262        },
6263        gn: function(a) {
6264            this.zd.src = a
6265        },
6266        search: ba("cj"),
6267        wy: ba("VH")
6268    });
6269    var Sa;
6270    function Na(a, b) {
6271        function c() {
6272            e.k.visible ? ("inter" === e.Ge && e.k.haveBreakId && e.k.indoorExitControl === o ? x.D.show(e.uA) : x.D.U(e.uA),
6273            this.k.closeControl && this.wf && this.C && this.C.Na() === this.B ? x.D.show(e.wf) : x.D.U(e.wf),
6274            this.k.forceCloseControl && x.D.show(e.wf)) : (x.D.U(e.wf),
6275            x.D.U(e.uA))
6276        }
6277        this.B = "string" == typeof a ? x.$(a) : a;
6278        this.ba = Id++;
6279        this.k = {
6280            enableScrollWheelZoom: o,
6281            panoramaRenderer: "flash",
6282            swfSrc: z.tg("main_domain_nocdn", "res/swf/") + "APILoader.swf",
6283            visible: o,
6284            indoorExitControl: o,
6285            indoorFloorControl: q,
6286            linksControl: o,
6287            clickOnRoad: o,
6288            navigationControl: o,
6289            closeControl: o,
6290            indoorSceneSwitchControl: o,
6291            albumsControl: q,
6292            albumsControlOptions: {},
6293            copyrightControlOptions: {},
6294            forceCloseControl: q,
6295            haveBreakId: q
6296        };
6297        var b = b || {}, d;
6298        for (d in b)
6299            this.k[d] = b[d];
6300        b.closeControl === o && (this.k.forceCloseControl = o);
6301        this.Ca = {
6302            heading: 0,
6303            pitch: 0
6304        };
6305        this.Zn = [];
6306        this.Kb = this.Xa = p;
6307        this.dk = this.Yq();
6308        this.va = [];
6309        this.Lc = 1;
6310        this.Ge = this.XS = this.dl = "";
6311        this.Fe = {};
6312        this.Jf = p;
6313        this.Rg = [];
6314        this.ur = [];
6315        "cvsRender" == this.dk || Ma() ? (this.Wj = 90,
6316        this.Yj = -90) : "cssRender" == this.dk && (this.Wj = 45,
6317        this.Yj = -45);
6318        this.yr = q;
6319        var e = this;
6320        this.$n = function() {
6321            this.dk === "flashRender" ? I.load("panoramaflash", function() {
6322                e.Ri()
6323            }, o) : I.load("panorama", function() {
6324                e.wb()
6325            }, o);
6326            b.Of == "api" ? Pa(Ca) : Pa(Da);
6327            this.$n = s()
6328        }
6329        ;
6330        this.k.KS !== o && (this.$n(),
6331        z.Ij("cus.fire", "count", "z_loadpanoramacount"));
6332        this.BT(this.B);
6333        this.addEventListener("id_changed", function() {
6334            Pa(Ba, {
6335                from: b.Of
6336            })
6337        });
6338        this.OP();
6339        this.addEventListener("indoorexit_options_changed", c);
6340        this.addEventListener("scene_type_changed", c);
6341        this.addEventListener("onclose_options_changed", c);
6342        this.addEventListener("onvisible_changed", c)
6343    }
6344    var Jd = 4
6345      , Kd = 1
6346      , Id = 0;
6347    x.lang.ta(Na, x.lang.Ba, "Panorama");
6348    x.extend(Na.prototype, {
6349        OP: function() {
6350            var a = this
6351              , b = this.wf = K("div");
6352            b.className = "pano_close";
6353            b.style.cssText = "z-index: 1201;display: none";
6354            b.title = "\u9000\u51fa\u5168\u666f";
6355            b.onclick = function() {
6356                a.U()
6357            }
6358            ;
6359            this.B.appendChild(b);
6360            var c = this.uA = K("a");
6361            c.className = "pano_pc_indoor_exit";
6362            c.style.cssText = "z-index: 1201;display: none";
6363            c.innerHTML = '<span style="float:right;margin-right:12px;">\u51fa\u53e3</span>';
6364            c.title = "\u9000\u51fa\u5ba4\u5185\u666f";
6365            c.onclick = function() {
6366                a.Qo()
6367            }
6368            ;
6369            this.B.appendChild(c);
6370            window.ActiveXObject && !document.addEventListener && (b.style.backgroundColor = "rgb(37,37,37)",
6371            c.style.backgroundColor = "rgb(37,37,37)")
6372        },
6373        Qo: s(),
6374        BT: function(a) {
6375            var b, c;
6376            b = a.style;
6377            c = Ua(a).position;
6378            "absolute" != c && "relative" != c && (b.position = "relative",
6379            b.zIndex = 0);
6380            if ("absolute" === c || "relative" === c)
6381                if (a = Ua(a).zIndex,
6382                !a || "auto" === a)
6383                    b.zIndex = 0
6384        },
6385        iX: t("Zn"),
6386        Yb: t("Xa"),
6387        KX: t("Uv"),
6388        WN: t("Uv"),
6389        ha: t("Kb"),
6390        Da: t("Ca"),
6391        fa: t("Lc"),
6392        hh: t("dl"),
6393        A2: function() {
6394            return this.U0 || []
6395        },
6396        v2: t("XS"),
6397        Xs: t("Ge"),
6398        yy: function(a) {
6399            a !== this.Ge && (this.Ge = a,
6400            this.dispatchEvent(new N("onscene_type_changed")))
6401        },
6402        rc: function(a, b, c) {
6403            "object" === typeof b && (c = b,
6404            b = j);
6405            a != this.Xa && (this.ol = this.Xa,
6406            this.pl = this.Kb,
6407            this.Xa = a,
6408            this.Ge = b || "street",
6409            this.Kb = p,
6410            c && c.pov && this.Nc(c.pov))
6411        },
6412        sa: function(a) {
6413            a.mb(this.Kb) || (this.ol = this.Xa,
6414            this.pl = this.Kb,
6415            this.Kb = a,
6416            this.Xa = p)
6417        },
6418        Nc: function(a) {
6419            a && (this.Ca = a,
6420            a = this.Ca.pitch,
6421            a > this.Wj ? a = this.Wj : a < this.Yj && (a = this.Yj),
6422            this.yr = o,
6423            this.Ca.pitch = a)
6424        },
6425        a_: function(a, b) {
6426            this.Yj = 0 <= a ? 0 : a;
6427            this.Wj = 0 >= b ? 0 : b
6428        },
6429        Oc: function(a) {
6430            a != this.Lc && (a > Jd && (a = Jd),
6431            a < Kd && (a = Kd),
6432            a != this.Lc && (this.Lc = a),
6433            "cssRender" === this.dk && this.Nc(this.Ca))
6434        },
6435        uB: function() {
6436            if (this.C)
6437                for (var a = this.C.tx(), b = 0; b < a.length; b++)
6438                    (a[b]instanceof T || a[b]instanceof rc) && a[b].point && this.va.push(a[b])
6439        },
6440        tF: ba("C"),
6441        Pt: function(a) {
6442            this.Jf = a || "none"
6443        },
6444        Lk: function(a) {
6445            for (var b in a) {
6446                if ("object" == typeof a[b])
6447                    for (var c in a[b])
6448                        this.k[b][c] = a[b][c];
6449                else
6450                    this.k[b] = a[b];
6451                a.closeControl === o && (this.k.forceCloseControl = o);
6452                a.closeControl === q && (this.k.forceCloseControl = q);
6453                switch (b) {
6454                case "linksControl":
6455                    this.dispatchEvent(new N("onlinks_visible_changed"));
6456                    break;
6457                case "clickOnRoad":
6458                    this.dispatchEvent(new N("onclickonroad_changed"));
6459                    break;
6460                case "navigationControl":
6461                    this.dispatchEvent(new N("onnavigation_visible_changed"));
6462                    break;
6463                case "indoorSceneSwitchControl":
6464                    this.dispatchEvent(new N("onindoor_default_switch_mode_changed"));
6465                    break;
6466                case "albumsControl":
6467                    this.dispatchEvent(new N("onalbums_visible_changed"));
6468                    break;
6469                case "albumsControlOptions":
6470                    this.dispatchEvent(new N("onalbums_options_changed"));
6471                    break;
6472                case "copyrightControlOptions":
6473                    this.dispatchEvent(new N("oncopyright_options_changed"));
6474                    break;
6475                case "closeControl":
6476                    this.dispatchEvent(new N("onclose_options_changed"));
6477                    break;
6478                case "indoorExitControl":
6479                    this.dispatchEvent(new N("onindoorexit_options_changed"));
6480                    break;
6481                case "indoorFloorControl":
6482                    this.dispatchEvent(new N("onindoorfloor_options_changed"))
6483                }
6484            }
6485        },
6486        Ak: function() {
6487            this.xl.style.visibility = "hidden"
6488        },
6489        Cy: function() {
6490            this.xl.style.visibility = "visible"
6491        },
6492        wW: function() {
6493            this.k.enableScrollWheelZoom = o
6494        },
6495        hW: function() {
6496            this.k.enableScrollWheelZoom = q
6497        },
6498        show: function() {
6499            this.k.visible = o
6500        },
6501        U: function() {
6502            this.k.visible = q
6503        },
6504        Yq: function() {
6505            return Ta() && !G() && "javascript" != this.k.panoramaRenderer ? "flashRender" : !G() && Mb() ? "cvsRender" : "cssRender"
6506        },
6507        Ia: function(a) {
6508            this.Fe[a.jd] = a
6509        },
6510        Sb: function(a) {
6511            delete this.Fe[a]
6512        },
6513        $D: function() {
6514            return this.k.visible
6515        },
6516        gh: function() {
6517            return new L(this.B.clientWidth,this.B.clientHeight)
6518        },
6519        Na: t("B"),
6520        fL: function() {
6521            var a = z.tg("baidumap", "?")
6522              , b = this.Yb();
6523            if (b) {
6524                var b = {
6525                    panotype: this.Xs(),
6526                    heading: this.Da().heading,
6527                    pitch: this.Da().pitch,
6528                    pid: b,
6529                    panoid: b,
6530                    from: "api"
6531                }, c;
6532                for (c in b)
6533                    a += c + "=" + b[c] + "&"
6534            }
6535            return a.slice(0, -1)
6536        },
6537        Cx: function() {
6538            this.Lk({
6539                copyrightControlOptions: {
6540                    logoVisible: q
6541                }
6542            })
6543        },
6544        AF: function() {
6545            this.Lk({
6546                copyrightControlOptions: {
6547                    logoVisible: o
6548                }
6549            })
6550        },
6551        QB: function(a) {
6552            function b(a, b) {
6553                return function() {
6554                    a.ur.push({
6555                        JM: b,
6556                        IM: arguments
6557                    })
6558                }
6559            }
6560            for (var c = a.getPanoMethodList(), d = "", e = 0, f = c.length; e < f; e++)
6561                d = c[e],
6562                this[d] = b(this, d);
6563            this.Rg.push(a)
6564        },
6565        dF: function(a) {
6566            for (var b = this.Rg.length; b--; )
6567                this.Rg[b] === a && this.Rg.splice(b, 1)
6568        },
6569        sF: s()
6570    });
6571    var Ld = Na.prototype;
6572    S(Ld, {
6573        setId: Ld.rc,
6574        setPosition: Ld.sa,
6575        setPov: Ld.Nc,
6576        setZoom: Ld.Oc,
6577        setOptions: Ld.Lk,
6578        getId: Ld.Yb,
6579        getPosition: Ld.ha,
6580        getPov: Ld.Da,
6581        getZoom: Ld.fa,
6582        getLinks: Ld.iX,
6583        getBaiduMapUrl: Ld.fL,
6584        hideMapLogo: Ld.Cx,
6585        showMapLogo: Ld.AF,
6586        enableDoubleClickZoom: Ld.P1,
6587        disableDoubleClickZoom: Ld.E1,
6588        enableScrollWheelZoom: Ld.wW,
6589        disableScrollWheelZoom: Ld.hW,
6590        show: Ld.show,
6591        hide: Ld.U,
6592        addPlugin: Ld.QB,
6593        removePlugin: Ld.dF,
6594        getVisible: Ld.$D,
6595        addOverlay: Ld.Ia,
6596        removeOverlay: Ld.Sb,
6597        getSceneType: Ld.Xs,
6598        setPanoramaPOIType: Ld.Pt,
6599        exitInter: Ld.Qo,
6600        setInteractiveState: Ld.sF
6601    });
6602    S(window, {
6603        BMAP_PANORAMA_POI_HOTEL: "hotel",
6604        BMAP_PANORAMA_POI_CATERING: "catering",
6605        BMAP_PANORAMA_POI_MOVIE: "movie",
6606        BMAP_PANORAMA_POI_TRANSIT: "transit",
6607        BMAP_PANORAMA_POI_INDOOR_SCENE: "indoor_scene",
6608        BMAP_PANORAMA_POI_NONE: "none",
6609        BMAP_PANORAMA_INDOOR_SCENE: "inter",
6610        BMAP_PANORAMA_STREET_SCENE: "street"
6611    });
6612    function Md() {
6613        x.lang.Ba.call(this);
6614        this.jd = "PanoramaOverlay_" + this.ba;
6615        this.P = p;
6616        this.Pa = o
6617    }
6618    x.lang.ta(Md, x.lang.Ba, "PanoramaOverlayBase");
6619    x.extend(Md.prototype, {
6620        w2: t("jd"),
6621        qa: function() {
6622            aa("initialize\u65b9\u6cd5\u672a\u5b9e\u73b0")
6623        },
6624        remove: function() {
6625            aa("remove\u65b9\u6cd5\u672a\u5b9e\u73b0")
6626        },
6627        If: function() {
6628            aa("_setOverlayProperty\u65b9\u6cd5\u672a\u5b9e\u73b0")
6629        }
6630    });
6631    function Nd(a, b) {
6632        Md.call(this);
6633        var c = {
6634            position: p,
6635            altitude: 2,
6636            displayDistance: o
6637        }, b = b || {}, d;
6638        for (d in b)
6639            c[d] = b[d];
6640        this.Kb = c.position;
6641        this.Mj = a;
6642        this.rq = c.altitude;
6643        this.$Q = c.displayDistance;
6644        this.GF = c.color;
6645        this.PL = c.hoverColor;
6646        this.backgroundColor = c.backgroundColor;
6647        this.UJ = c.backgroundHoverColor;
6648        this.borderColor = c.borderColor;
6649        this.YJ = c.borderHoverColor;
6650        this.fontSize = c.fontSize;
6651        this.padding = c.padding;
6652        this.gE = c.imageUrl;
6653        this.size = c.size;
6654        this.se = c.image;
6655        this.width = c.width;
6656        this.height = c.height;
6657        this.ZX = c.imageData;
6658        this.borderWidth = c.borderWidth
6659    }
6660    x.lang.ta(Nd, Md, "PanoramaLabel");
6661    x.extend(Nd.prototype, {
6662        b2: t("borderWidth"),
6663        getImageData: t("ZX"),
6664        wm: t("GF"),
6665        p2: t("PL"),
6666        X1: t("backgroundColor"),
6667        Y1: t("UJ"),
6668        Z1: t("borderColor"),
6669        a2: t("YJ"),
6670        m2: t("fontSize"),
6671        x2: t("padding"),
6672        q2: t("gE"),
6673        yb: t("size"),
6674        jx: t("se"),
6675        sa: function(a) {
6676            this.Kb = a;
6677            this.If("position", a)
6678        },
6679        ha: t("Kb"),
6680        bd: function(a) {
6681            this.Mj = a;
6682            this.If("content", a)
6683        },
6684        uk: t("Mj"),
6685        nF: function(a) {
6686            this.rq = a;
6687            this.If("altitude", a)
6688        },
6689        To: t("rq"),
6690        Da: function() {
6691            var a = this.ha()
6692              , b = p
6693              , c = p;
6694            this.P && (c = this.P.ha());
6695            if (a && c)
6696                if (a.mb(c))
6697                    b = this.P.Da();
6698                else {
6699                    b = {};
6700                    b.heading = Od(a.lng - c.lng, a.lat - c.lat) || 0;
6701                    var a = b
6702                      , c = this.To()
6703                      , d = this.Un();
6704                    a.pitch = Math.round(180 * (Math.atan(c / d) / Math.PI)) || 0
6705                }
6706            return b
6707        },
6708        Un: function() {
6709            var a = 0, b, c;
6710            this.P && (b = this.P.ha(),
6711            (c = this.ha()) && !c.mb(b) && (a = R.Vo(b, c)));
6712            return a
6713        },
6714        U: function() {
6715            aa("hide\u65b9\u6cd5\u672a\u5b9e\u73b0")
6716        },
6717        show: function() {
6718            aa("show\u65b9\u6cd5\u672a\u5b9e\u73b0")
6719        },
6720        If: s()
6721    });
6722    var Pd = Nd.prototype;
6723    S(Pd, {
6724        setPosition: Pd.sa,
6725        getPosition: Pd.ha,
6726        setContent: Pd.bd,
6727        getContent: Pd.uk,
6728        setAltitude: Pd.nF,
6729        getAltitude: Pd.To,
6730        getPov: Pd.Da,
6731        show: Pd.show,
6732        hide: Pd.U
6733    });
6734    function Qd(a, b) {
6735        Md.call(this);
6736        var c = {
6737            icon: "",
6738            title: "",
6739            panoInfo: p,
6740            altitude: 2
6741        }, b = b || {}, d;
6742        for (d in b)
6743            c[d] = b[d];
6744        this.Kb = a;
6745        this.QH = c.icon;
6746        this.mJ = c.title;
6747        this.rq = c.altitude;
6748        this.nT = c.panoInfo;
6749        this.Ca = {
6750            heading: 0,
6751            pitch: 0
6752        }
6753    }
6754    x.lang.ta(Qd, Md, "PanoramaMarker");
6755    x.extend(Qd.prototype, {
6756        sa: function(a) {
6757            this.Kb = a;
6758            this.If("position", a)
6759        },
6760        ha: t("Kb"),
6761        Dc: function(a) {
6762            this.mJ = a;
6763            this.If("title", a)
6764        },
6765        dp: t("mJ"),
6766        Tb: function(a) {
6767            this.QH = icon;
6768            this.If("icon", a)
6769        },
6770        Wo: t("QH"),
6771        nF: function(a) {
6772            this.rq = a;
6773            this.If("altitude", a)
6774        },
6775        To: t("rq"),
6776        RD: t("nT"),
6777        Da: function() {
6778            var a = p;
6779            if (this.P) {
6780                var a = this.P.ha()
6781                  , b = this.ha()
6782                  , a = Od(b.lng - a.lng, b.lat - a.lat);
6783                isNaN(a) && (a = 0);
6784                a = {
6785                    heading: a,
6786                    pitch: 0
6787                }
6788            } else
6789                a = this.Ca;
6790            return a
6791        },
6792        If: s()
6793    });
6794    var Rd = Qd.prototype;
6795    S(Rd, {
6796        setPosition: Rd.sa,
6797        getPosition: Rd.ha,
6798        setTitle: Rd.Dc,
6799        getTitle: Rd.dp,
6800        setAltitude: Rd.nF,
6801        getAltitude: Rd.To,
6802        getPanoInfo: Rd.RD,
6803        getIcon: Rd.Wo,
6804        setIcon: Rd.Tb,
6805        getPov: Rd.Da
6806    });
6807    function Od(a, b) {
6808        var c = 0;
6809        if (0 !== a && 0 !== b) {
6810            var c = 180 * (Math.atan(a / b) / Math.PI)
6811              , d = 0;
6812            0 < a && 0 > b && (d = 90);
6813            0 > a && 0 > b && (d = 180);
6814            0 > a && 0 < b && (d = 270);
6815            c = (c + 90) % 90 + d
6816        } else
6817            0 === a ? c = 0 > b ? 180 : 0 : 0 === b && (c = 0 < a ? 90 : 270);
6818        return Math.round(c)
6819    }
6820    function Ma(a) {
6821        if ("boolean" === typeof Sd)
6822            return Sd;
6823        if (a === q || !window.WebGLRenderingContext || x.platform.Gm && -1 == navigator.userAgent.indexOf("Android 5"))
6824            return Sd = q;
6825        var a = document.createElement("canvas")
6826          , b = p;
6827        try {
6828            b = a.getContext("webgl")
6829        } catch (c) {
6830            Sd = q
6831        }
6832        return Sd = b === p ? q : o
6833    }
6834    var Sd;
6835    function Td() {
6836        if ("boolean" === typeof Ud)
6837            return Ud;
6838        Ud = o;
6839        if (x.platform.qE)
6840            return o;
6841        var a = navigator.userAgent;
6842        return -1 < a.indexOf("Chrome") || -1 < a.indexOf("SAMSUNG-GT-I9508") ? o : Ud = q
6843    }
6844    var Ud;
6845    function bc(a, b) {
6846        this.P = a || p;
6847        var c = this;
6848        c.P && c.ca();
6849        I.load("pservice", function() {
6850            c.sQ()
6851        });
6852        "api" == (b || {}).Of ? Pa(Fa) : Pa(Ga);
6853        this.xd = {
6854            getPanoramaById: [],
6855            getPanoramaByLocation: [],
6856            getVisiblePOIs: [],
6857            getRecommendPanosById: [],
6858            getPanoramaVersions: [],
6859            checkPanoSupportByCityCode: [],
6860            getPanoramaByPOIId: [],
6861            getCopyrightProviders: []
6862        }
6863    }
6864    z.Sm(function(a) {
6865        "flashRender" !== a.Yq() && new bc(a,{
6866            Of: "api"
6867        })
6868    });
6869    x.extend(bc.prototype, {
6870        ca: function() {
6871            function a(a) {
6872                if (a) {
6873                    if (a.id != b.Uv) {
6874                        b.WN(a.id);
6875                        b.da = a;
6876                        Td() || b.dispatchEvent(new N("onthumbnail_complete"));
6877                        b.Xa != p && (b.pl = b._position);
6878                        for (var c in a)
6879                            if (a.hasOwnProperty(c))
6880                                switch (b["_" + c] = a[c],
6881                                c) {
6882                                case "position":
6883                                    b.Kb = a[c];
6884                                    break;
6885                                case "id":
6886                                    b.Xa = a[c];
6887                                    break;
6888                                case "links":
6889                                    b.Zn = a[c];
6890                                    break;
6891                                case "zoom":
6892                                    b.Lc = a[c]
6893                                }
6894                        if (b.pl) {
6895                            var f = b.pl
6896                              , g = b._position;
6897                            c = f.lat;
6898                            var i = g.lat
6899                              , k = Nb(i - c)
6900                              , f = Nb(g.lng - f.lng);
6901                            c = Math.sin(k / 2) * Math.sin(k / 2) + Math.
6901cos(Nb(c)) * Math.cos(Nb(i)) * Math.sin(f / 2) * Math.sin(f / 2);
6902                            b.eH = 6371E3 * 2 * Math.atan2(Math.sqrt(c), Math.sqrt(1 - c))
6903                        }
6904                        c = new N("ondataload");
6905                        c.data = a;
6906                        b.dispatchEvent(c);
6907                        b.dispatchEvent(new N("onposition_changed"));
6908                        b.dispatchEvent(new N("onlinks_changed"));
6909                        b.dispatchEvent(new N("oncopyright_changed"), {
6910                            copyright: a.copyright
6911                        });
6912                        a.$l && b.k.closeControl ? x.D.show(b.vR) : x.D.U(b.vR)
6913                    }
6914                } else
6915                    b.Xa = b.ol,
6916                    b.Kb = b.pl,
6917                    b.dispatchEvent(new N("onnoresult"))
6918            }
6919            var b = this.P
6920              , c = this;
6921            b.addEventListener("id_changed", function() {
6922                c.$o(b.Yb(), a)
6923            });
6924            b.addEventListener("iid_changed", function() {
6925                c.Sg(bc.$k + "qt=idata&iid=" + b.qA + "&fn=", function(b) {
6926                    if (b && b.result && 0 == b.result.error) {
6927                        var b = b.content[0].interinfo
6928                          , e = {};
6929                        e.$l = b.BreakID;
6930                        for (var f = b.Defaultfloor, g = p, i = 0; i < b.Floors.length; i++)
6931                            if (b.Floors[i].Floor == f) {
6932                                g = b.Floors[i];
6933                                break
6934                            }
6935                        e.id = g.StartID || g.Points[0].PID;
6936                        c.$o(e.id, a, e)
6937                    }
6938                })
6939            });
6940            b.addEventListener("position_changed_inner", function() {
6941                c.qj(b.ha(), a)
6942            })
6943        },
6944        $o: function(a, b) {
6945            this.xd.getPanoramaById.push(arguments)
6946        },
6947        qj: function(a, b, c) {
6948            this.xd.getPanoramaByLocation.push(arguments)
6949        },
6950        aE: function(a, b, c, d) {
6951            this.xd.getVisiblePOIs.push(arguments)
6952        },
6953        wx: function(a, b) {
6954            this.xd.getRecommendPanosById.push(arguments)
6955        },
6956        vx: function(a) {
6957            this.xd.getPanoramaVersions.push(arguments)
6958        },
6959        dC: function(a, b) {
6960            this.xd.checkPanoSupportByCityCode.push(arguments)
6961        },
6962        ux: function(a, b) {
6963            this.xd.getPanoramaByPOIId.push(arguments)
6964        },
6965        kL: function(a) {
6966            this.xd.getCopyrightProviders.push(arguments)
6967        }
6968    });
6969    var Vd = bc.prototype;
6970    S(Vd, {
6971        getPanoramaById: Vd.$o,
6972        getPanoramaByLocation: Vd.qj,
6973        getPanoramaByPOIId: Vd.ux
6974    });
6975    function ac(a) {
6976        Ec.call(this);
6977        "api" == (a || {}).Of ? Pa(za) : Pa(Aa)
6978    }
6979    ac.xG = z.tg("pano", "tile/");
6980    ac.prototype = new Ec;
6981    ac.prototype.getTilesUrl = function(a, b) {
6982        var c = ac.xG[(a.x + a.y) % ac.xG.length] + "?udt=20150114&qt=tile&styles=pl&x=" + a.x + "&y=" + a.y + "&z=" + b;
6983        x.ea.la && 6 >= x.ea.la && (c += "&color_dep=32");
6984        return c
6985    }
6986    ;
6987    ac.prototype.lt = ca(o);
6988    Wd.Sd = new R;
6989    function Wd() {}
6990    x.extend(Wd, {
6991        iW: function(a, b, c) {
6992            c = x.lang.Mc(c);
6993            b = {
6994                data: b
6995            };
6996            "position_changed" == a && (b.data = Wd.Sd.wi(new Q(b.data.mercatorX,b.data.mercatorY)));
6997            c.dispatchEvent(new N("on" + a), b)
6998        }
6999    });
7000    var Xd = Wd;
7001    S(Xd, {
7002        dispatchFlashEvent: Xd.iW
7003    });
7004    var Yd = {
7005        mP: 50
7006    };
7007    Yd.Du = z.tg("pano")[0];
7008    Yd.zu = {
7009        width: 220,
7010        height: 60
7011    };
7012    x.extend(Yd, {
7013        kp: function(a, b, c, d) {
7014            if (!b || !c || !c.lngLat || !c.panoInstance)
7015                d();
7016            else {
7017                this.fo === j && (this.fo = new bc(p,{
7018                    Of: "api"
7019                }));
7020                var e = this;
7021                this.fo.dC(b, function(b) {
7022                    b ? e.fo.qj(c.lngLat, Yd.mP, function(b) {
7023                        if (b && b.id) {
7024                            var f = b.id
7025                              , k = b.vh
7026                              , b = b.wh
7027                              , l = bc.Sd.nh(c.lngLat)
7028                              , m = e.aS(l, {
7029                                x: k,
7030                                y: b
7031                            })
7032                              , k = e.uL(f, m, 0, Yd.zu.width, Yd.zu.height);
7033                            a.content = e.bS(a.content, k, c.titleTip, c.beforeDomId);
7034                            a.addEventListener("open", function() {
7035                                ha.M(x.Ec("infoWndPano"), "click", function() {
7036                                    c.panoInstance.rc(f);
7037                                    c.panoInstance.show();
7038                                    c.panoInstance.Nc({
7039                                        heading: m,
7040                                        pitch: 0
7041                                    })
7042                                })
7043                            })
7044                        }
7045                        d()
7046                    }) : d()
7047                })
7048            }
7049        },
7050        bS: function(a, b, c, d) {
7051            var c = c || "", e;
7052            !d || !a.split(d)[0] ? (d = a,
7053            a = "") : (d = a.split(d)[0],
7054            e = d.lastIndexOf("<"),
7055            d = a.substring(0, e),
7056            a = a.substring(e));
7057            e = [];
7058            var f = Yd.zu.width
7059              , g = Yd.zu.height;
7060            e.push(d);
7061            e.push("<div id='infoWndPano' class='panoInfoBox' style='height:" + g + "px;width:" + f + "px; margin-top: -19px;'>");
7062            e.push("<img class='pano_thumnail_img' width='" + f + "' height='" + g + "' border='0' alt='" + c + "\u5916\u666f' title='" + c + "\u5916\u666f' src='" + b + "' onerror='Pano.PanoEntranceUtil.thumbnailNotFound(this, " + f + ", " + g + ");' />");
7063            e.push("<div class='panoInfoBoxTitleBg' style='width:" + f + "px;'></div><a href='javascript:void(0)' class='panoInfoBoxTitleContent' >\u8fdb\u5165\u5168\u666f&gt;&gt;</a>");
7064            e.push("</div>");
7065            e.push(a);
7066            return e.join("")
7067        },
7068        aS: function(a, b) {
7069            var c = 90 - 180 * Math.atan2(a.y - b.y, a.x - b.x) / Math.PI;
7070            0 > c && (c += 360);
7071            return c
7072        },
7073        uL: function(a, b, c, d, e) {
7074            var f = {
7075                panoId: a,
7076                panoHeading: b || 0,
7077                panoPitch: c || 0,
7078                width: d,
7079                height: e
7080            };
7081            return (Yd.Du + "?qt=pr3d&fovy=75&quality=80&panoid={panoId}&heading={panoHeading}&pitch={panoPitch}&width={width}&height={height}").replace(/\{(.*?)\}/g, function(a, b) {
7082                return f[b]
7083            })
7084        }
7085    });
7086    var Zd = document, $d = Math, ae = Zd.createElement("div").style, be;
7087    a: {
7088        for (var ce = ["t", "webkitT", "MozT", "msT", "OT"], de, ee = 0, fe = ce.length; ee < fe; ee++)
7089            if (de = ce[ee] + "ransform",
7090            de in ae) {
7091                be = ce[ee].substr(0, ce[ee].length - 1);
7092                break a
7093            }
7094        be = q
7095    }
7096    var ge = be ? "-" + be.toLowerCase() + "-" : ""
7097      , ie = he("transform")
7098      , je = he("transitionProperty")
7099      , ke = he("transitionDuration")
7100      , le = he("transformOrigin")
7101      , ne = he("transitionTimingFunction")
7102      , pe = he("transitionDelay")
7103      , yd = /android/gi.test(navigator.appVersion)
7104      , qe = /iphone|ipad/gi.test(navigator.appVersion)
7105      , re = /hp-tablet/gi.test(navigator.appVersion)
7106      , se = he("perspective")in ae
7107      , te = "ontouchstart"in window && !re
7108      , ue = be !== q
7109      , ve = he("transition")in ae
7110      , we = "onorientationchange"in window ? "orientationchange" : "resize"
7111      , xe = te ? "touchstart" : "mousedown"
7112      , ye = te ? "touchmove" : "mousemove"
7113      , ze = te ? "touchend" : "mouseup"
7114      , Ae = te ? "touchcancel" : "mouseup"
7115      , Be = be === q ? q : {
7116        "": "transitionend",
7117        webkit: "webkitTransitionEnd",
7118        Moz: "transitionend",
7119        O: "otransitionend",
7120        ms: "MSTransitionEnd"
7121    }[be]
7122      , Ce = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(a) {
7123        return setTimeout(a, 1)
7124    }
7125      , De = window.cancelRequestAnimationFrame || window.A4 || window.webkitCancelRequestAnimationFrame || window.mozCancelRequestAnimationFrame || window.oCancelRequestAnimationFrame || window.msCancelRequestAnimationFrame || clearTimeout
7126      , Ee = se ? " translateZ(0)" : "";
7127    function Fe(a, b) {
7128        var c = this, d;
7129        c.xn = "object" == typeof a ? a : Zd.getElementById(a);
7130        c.xn.style.overflow = "hidden";
7131        c.Nb = c.xn.children[0];
7132        c.options = {
7133            hp: o,
7134            vn: o,
7135            x: 0,
7136            y: 0,
7137            Bo: o,
7138            iV: q,
7139            Ux: o,
7140            DE: o,
7141            Uk: o,
7142            Bi: q,
7143            E_: 0,
7144            Bw: q,
7145            zx: o,
7146            mi: o,
7147            Ci: o,
7148            rD: yd,
7149            Dx: qe,
7150            DW: qe && se,
7151            kF: "",
7152            zoom: q,
7153            Vk: 1,
7154            Xp: 4,
7155            kW: 2,
7156            SO: "scroll",
7157            Yt: q,
7158            Fy: 1,
7159            dN: p,
7160            WM: function(a) {
7161                a.preventDefault()
7162            },
7163            gN: p,
7164            VM: p,
7165            fN: p,
7166            UM: p,
7167            $x: p,
7168            hN: p,
7169            ZM: p,
7170            vp: p,
7171            iN: p,
7172            up: p
7173        };
7174        for (d in b)
7175            c.options[d] = b[d];
7176        c.x = c.options.x;
7177        c.y = c.options.y;
7178        c.options.Uk = ue && c.options.Uk;
7179        c.options.mi = c.options.hp && c.options.mi;
7180        c.options.Ci = c.options.vn && c.options.Ci;
7181        c.options.zoom = c.options.Uk && c.options.zoom;
7182        c.options.Bi = ve && c.options.Bi;
7183        c.options.zoom && yd && (Ee = "");
7184        c.Nb.style[je] = c.options.Uk ? ge + "transform" : "top left";
7185        c.Nb.style[ke] = "0";
7186        c.Nb.style[le] = "0 0";
7187        c.options.Bi && (c.Nb.style[ne] = "cubic-bezier(0.33,0.66,0.66,1)");
7188        c.options.Uk ? c.Nb.style[ie] = "translate(" + c.x + "px," + c.y + "px)" + Ee : c.Nb.style.cssText += ";position:absolute;top:" + c.y + "px;left:" + c.x + "px";
7189        c.options.Bi && (c.options.rD = o);
7190        c.refresh();
7191        c.ca(we, window);
7192        c.ca(xe);
7193        !te && "none" != c.options.SO && (c.ca("DOMMouseScroll"),
7194        c.ca("mousewheel"));
7195        c.options.Bw && (c.tV = setInterval(function() {
7196            c.pQ()
7197        }, 500));
7198        this.options.zx && (Event.prototype.stopImmediatePropagation || (document.body.removeEventListener = function(a, b, c) {
7199            var d = Node.prototype.removeEventListener;
7200            a === "click" ? d.call(document.body, a, b.NL || b, c) : d.call(document.body, a, b, c)
7201        }
7202        ,
7203        document.body.addEventListener = function(a, b, c) {
7204            var d = Node.prototype.addEventListener;
7205            a === "click" ? d.call(document.body, a, b.NL || (b.NL = function(a) {
7206                a.lZ || b(a)
7207            }
7208            ), c) : d.call(document.body, a, b, c)
7209        }
7210        ),
7211        c.ca("click", document.body, o))
7212    }
7213    Fe.prototype = {
7214        enabled: o,
7215        x: 0,
7216        y: 0,
7217        Aj: [],
7218        scale: 1,
7219        yC: 0,
7220        zC: 0,
7221        Qe: [],
7222        pf: [],
7223        VB: p,
7224        Qy: 0,
7225        handleEvent: function(a) {
7226            switch (a.type) {
7227            case xe:
7228                if (!te && 0 !== a.button)
7229                    break;
7230                this.Nv(a);
7231                break;
7232            case ye:
7233                this.ZS(a);
7234                break;
7235            case ze:
7236            case Ae:
7237                this.$u(a);
7238                break;
7239            case we:
7240                this.nB();
7241                break;
7242            case "DOMMouseScroll":
7243            case "mousewheel":
7244                this.EU(a);
7245                break;
7246            case Be:
7247                this.AU(a);
7248                break;
7249            case "click":
7250                this.AQ(a)
7251            }
7252        },
7253        pQ: function() {
7254            !this.rh && (!this.Wk && !(this.Vl || this.vy == this.Nb.offsetWidth * this.scale && this.Fp == this.Nb.offsetHeight * this.scale)) && this.refresh()
7255        },
7256        Ev: function(a) {
7257            var b;
7258            this[a + "Scrollbar"] ? (this[a + "ScrollbarWrapper"] || (b = Zd.createElement("div"),
7259            this.options.kF ? b.className = this.options.kF + a.toUpperCase() : b.style.cssText = "position:absolute;z-index:100;" + ("h" == a ? "height:7px;bottom:1px;left:2px;right:" + (this.Ci ? "7" : "2") + "px" : "width:7px;bottom:" + (this.mi ? "7" : "2") + "px;top:2px;right:1px"),
7260            b.style.cssText += ";pointer-events:none;" + ge + "transition-property:opacity;" + ge + "transition-duration:" + (this.options.DW ? "350ms" : "0") + ";overflow:hidden;opacity:" + (this.options.Dx ? "0" : "1"),
7261            this.xn.appendChild(b),
7262            this[a + "ScrollbarWrapper"] = b,
7263            b = Zd.createElement("div"),
7264            this.options.kF || (b.style.cssText = "position:absolute;z-index:100;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);" + ge + "background-clip:padding-box;" + ge + "box-sizing:border-box;" + ("h" == a ? "height:100%" : "width:100%") + ";" + ge + "border-radius:3px;border-radius:3px"),
7265            b.style.cssText += ";pointer-events:none;" + ge + "transition-property:" + ge + "transform;" + ge + "transition-timing-function:cubic-bezier(0.33,0.66,0.66,1);" + ge + "transition-duration:0;" + ge + "transform: translate(0,0)" + Ee,
7266            this.options.Bi && (b.style.cssText += ";" + ge + "transition-timing-function:cubic-bezier(0.33,0.66,0.66,1)"),
7267            this[a + "ScrollbarWrapper"].appendChild(b),
7268            this[a + "ScrollbarIndicator"] = b),
7269            "h" == a ? (this.KL = this.LL.clientWidth,
7270            this.SX = $d.max($d.round(this.KL * this.KL / this.vy), 8),
7271            this.RX.style.width = this.SX + "px") : (this.JO = this.KO.clientHeight,
7272            this.Z_ = $d.max($d.round(this.JO * this.JO / this.Fp), 8),
7273            this.Y_.style.height = this.Z_ + "px"),
7274            this.oB(a, o)) : this[a + "ScrollbarWrapper"] && (ue && (this[a + "ScrollbarIndicator"].style[ie] = ""),
7275            this[a + "ScrollbarWrapper"].parentNode.removeChild(this[a + "ScrollbarWrapper"]),
7276            this[a + "ScrollbarWrapper"] = p,
7277            this[a + "ScrollbarIndicator"] = p)
7278        },
7279        nB: function() {
7280            var a = this;
7281            setTimeout(function() {
7282                a.refresh()
7283            }, yd ? 200 : 0)
7284        },
7285        xr: function(a, b) {
7286            this.Wk || (a = this.hp ? a : 0,
7287            b = this.vn ? b : 0,
7288            this.options.Uk ? this.Nb.style[ie] = "translate(" + a + "px," + b + "px) scale(" + this.scale + ")" + Ee : (a = $d.round(a),
7289            b = $d.round(b),
7290            this.Nb.style.left = a + "px",
7291            this.Nb.style.top = b + "px"),
7292            this.x = a,
7293            this.y = b,
7294            this.oB("h"),
7295            this.oB("v"))
7296        },
7297        oB: function(a, b) {
7298            var c = "h" == a ? this.x : this.y;
7299            this[a + "Scrollbar"] && (c *= this[a + "ScrollbarProp"],
7300            0 > c ? (this.options.rD || (c = this[a + "ScrollbarIndicatorSize"] + $d.round(3 * c),
7301            8 > c && (c = 8),
7302            this[a + "ScrollbarIndicator"].style["h" == a ? "width" : "height"] = c + "px"),
7303            c = 0) : c > this[a + "ScrollbarMaxScroll"] && (this.options.rD ? c = this[a + "ScrollbarMaxScroll"] : (c = this[a + "ScrollbarIndicatorSize"] - $d.round(3 * (c - this[a + "ScrollbarMaxScroll"])),
7304            8 > c && (c = 8),
7305            this[a + "ScrollbarIndicator"].style["h" == a ? "width" : "height"] = c + "px",
7306            c = this[a + "ScrollbarMaxScroll"] + (this[a + "ScrollbarIndicatorSize"] - c))),
7307            this[a + "ScrollbarWrapper"].style[pe] = "0",
7308            this[a + "ScrollbarWrapper"].style.opacity = b && this.options.Dx ? "0" : "1",
7309            this[a + "ScrollbarIndicator"].style[ie] = "translate(" + ("h" == a ? c + "px,0)" : "0," + c + "px)") + Ee)
7310        },
7311        AQ: function(a) {
7312            if (a.wR === o)
7313                return this.NB = a.target,
7314                this.ax = Date.now(),
7315                o;
7316            if (this.NB && this.ax) {
7317                if (600 < Date.now() - this.ax)
7318                    return this.ax = this.NB = p,
7319                    o
7320            } else {
7321                for (var b = a.target; b != this.Nb && b != document.body; )
7322                    b = b.parentNode;
7323                if (b == document.body)
7324                    return o
7325            }
7326            for (b = a.target; 1 != b.nodeType; )
7327                b = b.parentNode;
7328            b = b.tagName.toLowerCase();
7329            if ("select" != b && "input" != b && "textarea" != b)
7330                return a.stopImmediatePropagation ? a.stopImmediatePropagation() : a.lZ = o,
7331                a.stopPropagation(),
7332                a.preventDefault(),
7333                this.ax = this.NB = p,
7334                q
7335        },
7336        Nv: function(a) {
7337            var b = te ? a.touches[0] : a, c, d;
7338            if (this.enabled) {
7339                this.options.WM && this.options.WM.call(this, a);
7340                (this.options.Bi || this.options.zoom) && this.nJ(0);
7341                this.Wk = this.Vl = this.rh = q;
7342                this.IC = this.HC = this.fw = this.ew = this.OC = this.NC = 0;
7343                this.options.zoom && (te && 1 < a.touches.length) && (d = $d.abs(a.touches[0].pageX - a.touches[1].pageX),
7344                c = $d.abs(a.touches[0].pageY - a.touches[1].pageY),
7345                this.G_ = $d.sqrt(d * d + c * c),
7346                this.by = $d.abs(a.touches[0].pageX + a.touches[1].pageX - 2 * this.TF) / 2 - this.x,
7347                this.dy = $d.abs(a.touches[0].pageY + a.touches[1].pageY - 2 * this.UF) / 2 - this.y,
7348                this.options.vp && this.options.vp.call(this, a));
7349                if (this.options.Ux && (this.options.Uk ? (c = getComputedStyle(this.Nb, p)[ie].replace(/[^0-9\-.,]/g, "").split(","),
7350                d = +(c[12] || c[4]),
7351                c = +(c[13] || c[5])) : (d = +getComputedStyle(this.Nb, p).left.replace(/[^0-9-]/g, ""),
7352                c = +getComputedStyle(this.Nb, p).top.replace(/[^0-9-]/g, "")),
7353                d != this.x || c != this.y))
7354                    this.options.Bi ? this.Vd(Be) : De(this.VB),
7355                    this.Aj = [],
7356                    this.xr(d, c),
7357                    this.options.$x && this.options.$x.call(this);
7358                this.gw = this.x;
7359                this.hw = this.y;
7360                this.au = this.x;
7361                this.bu = this.y;
7362                this.vh = b.pageX;
7363                this.wh = b.pageY;
7364                this.startTime = a.timeStamp || Date.now();
7365                this.options.gN && this.options.gN.call(this, a);
7366                this.ca(ye, window);
7367                this.ca(ze, window);
7368                this.ca(Ae, window)
7369            }
7370        },
7371        ZS: function(a) {
7372            var b = te ? a.touches[0] : a
7373              , c = b.pageX - this.vh
7374              , d = b.pageY - this.wh
7375              , e = this.x + c
7376              , f = this.y + d
7377              , g = a.timeStamp || Date.now();
7378            this.options.VM && this.options.VM.call(this, a);
7379            if (this.options.zoom && te && 1 < a.touches.length)
7380                e = $d.abs(a.touches[0].pageX - a.touches[1].pageX),
7381                f = $d.abs(a.touches[0].pageY - a.touches[1].pageY),
7382                this.F_ = $d.sqrt(e * e + f * f),
7383                this.Wk = o,
7384                b = 1 / this.G_ * this.F_ * this.scale,
7385                b < this.options.Vk ? b = 0.5 * this.options.Vk * Math.pow(2, b / this.options.Vk) : b > this.options.Xp && (b = 2 * this.options.Xp * Math.pow(0.5, this.options.Xp / b)),
7386                this.op = b / this.scale,
7387                e = this.by - this.by * this.op + this.x,
7388                f = this.dy - this.dy * this.op + this.y,
7389                this.Nb.style[ie] = "translate(" + e + "px," + f + "px) scale(" + b + ")" + Ee,
7390                this.options.iN && this.options.iN.call(this, a);
7391            else {
7392                this.vh = b.pageX;
7393                this.wh = b.pageY;
7394                if (0 < e || e < this.ee)
7395                    e = this.options.Bo ? this.x + c / 2 : 0 <= e || 0 <= this.ee ? 0 : this.ee;
7396                if (f > this.nf || f < this.od)
7397                    f = this.options.Bo ? this.y + d / 2 : f >= this.nf || 0 <= this.od ? this.nf : this.od;
7398                this.NC += c;
7399                this.OC += d;
7400                this.ew = $d.abs(this.NC);
7401                this.fw = $d.abs(this.OC);
7402                6 > this.ew && 6 > this.fw || (this.options.DE && (this.ew > this.fw + 5 ? (f = this.y,
7403                d = 0) : this.fw > this.ew + 5 && (e = this.x,
7404                c = 0)),
7405                this.rh = o,
7406                this.xr(e, f),
7407                this.HC = 0 < c ? -1 : 0 > c ? 1 : 0,
7408                this.IC = 0 < d ? -1 : 0 > d ? 1 : 0,
7409                300 < g - this.startTime && (this.startTime = g,
7410                this.au = this.x,
7411                this.bu = this.y),
7412                this.options.fN && this.options.fN.call(this, a))
7413            }
7414        },
7415        $u: function(a) {
7416            if (!(te && 0 !== a.touches.length)) {
7417                var b = this, c = te ? a.changedTouches[0] : a, d, e, f = {
7418                    Aa: 0,
7419                    time: 0
7420                }, g = {
7421                    Aa: 0,
7422                    time: 0
7423                }, i = (a.timeStamp || Date.now()) - b.startTime;
7424                d = b.x;
7425                e = b.y;
7426                b.Vd(ye, window);
7427                b.Vd(ze, window);
7428                b.Vd(Ae, window);
7429                b.options.UM && b.options.UM.call(b, a);
7430                if (b.Wk)
7431                    d = b.scale * b.op,
7432                    d = Math.max(b.options.Vk, d),
7433                    d = Math.min(b.options.Xp, d),
7434                    b.op = d / b.scale,
7435                    b.scale = d,
7436                    b.x = b.by - b.by * b.op + b.x,
7437                    b.y = b.dy - b.dy * b.op + b.y,
7438                    b.Nb.style[ke] = "200ms",
7439                    b.Nb.style[ie] = "translate(" + b.x + "px," + b.y + "px) scale(" + b.scale + ")" + Ee,
7440                    b.Wk = q,
7441                    b.refresh(),
7442                    b.options.up && b.options.up.call(b, a);
7443                else {
7444                    if (b.rh) {
7445                        if (300 > i && b.options.Ux) {
7446                            f = d ? b.kI(d - b.au, i, -b.x, b.vy - b.ru + b.x, b.options.Bo ? b.ru : 0) : f;
7447                            g = e ? b.kI(e - b.bu, i, -b.y, 0 > b.od ? b.Fp - b.yn + b.y - b.nf : 0, b.options.Bo ? b.yn : 0) : g;
7448                            d = b.x + f.Aa;
7449                            e = b.y + g.Aa;
7450                            if (0 < b.x && 0 < d || b.x < b.ee && d < b.ee)
7451                                f = {
7452                                    Aa: 0,
7453                                    time: 0
7454                                };
7455                            if (b.y > b.nf && e > b.nf || b.y < b.od && e < b.od)
7456                                g = {
7457                                    Aa: 0,
7458                                    time: 0
7459                                }
7460                        }
7461                        f.Aa || g.Aa ? (c = $d.max($d.max(f.time, g.time), 10),
7462                        b.options.Yt && (f = d - b.gw,
7463                        g = e - b.hw,
7464                        $d.abs(f) < b.options.Fy && $d.abs(g) < b.options.Fy ? b.scrollTo(b.gw, b.hw, 200) : (f = b.eJ(d, e),
7465                        d = f.x,
7466                        e = f.y,
7467                        c = $d.max(f.time, c))),
7468                        b.scrollTo($d.round(d), $d.round(e), c)) : b.options.Yt ? (f = d - b.gw,
7469                        g = e - b.hw,
7470                        $d.abs(f) < b.options.Fy && $d.abs(g) < b.options.Fy ? b.scrollTo(b.gw, b.hw, 200) : (f = b.eJ(b.x, b.y),
7471                        (f.x != b.x || f.y != b.y) && b.scrollTo(f.x, f.y, f.time))) : b.io(200)
7472                    } else {
7473                        if (te)
7474                            if (b.EK && b.options.zoom)
7475                                clearTimeout(b.EK),
7476                                b.EK = p,
7477                                b.options.vp && b.options.vp.call(b, a),
7478                                b.zoom(b.vh, b.wh, 1 == b.scale ? b.options.kW : 1),
7479                                b.options.up && setTimeout(function() {
7480                                    b.options.up.call(b, a)
7481                                }, 200);
7482                            else if (this.options.zx) {
7483                                for (d = c.target; 1 != d.nodeType; )
7484                                    d = d.parentNode;
7485                                e = d.tagName.toLowerCase();
7486                                "select" != e && "input" != e && "textarea" != e ? (e = Zd.createEvent("MouseEvents"),
7487                                e.initMouseEvent("click", o, o, a.view, 1, c.screenX, c.screenY, c.clientX, c.clientY, a.ctrlKey, a.altKey, a.shiftKey, a.metaKey, 0, p),
7488                                e.wR = o,
7489                                d.dispatchEvent(e)) : d.focus()
7490                            }
7491                        b.io(400)
7492                    }
7493                    b.options.hN && b.options.hN.call(b, a)
7494                }
7495            }
7496        },
7497        io: function(a) {
7498            var b = 0 <= this.x ? 0 : this.x < this.ee ? this.ee : this.x
7499              , c = this.y >= this.nf || 0 < this.od ? this.nf : this.y < this.od ? this.od : this.y;
7500            if (b == this.x && c == this.y) {
7501                if (this.rh && (this.rh = q,
7502                this.options.$x && this.options.$x.call(this)),
7503                this.mi && this.options.Dx && ("webkit" == be && (this.LL.style[pe] = "300ms"),
7504                this.LL.style.opacity = "0"),
7505                this.Ci && this.options.Dx)
7506                    "webkit" == be && (this.KO.style[pe] = "300ms"),
7507                    this.KO.style.opacity = "0"
7508            } else
7509                this.scrollTo(b, c, a || 0)
7510        },
7511        EU: function(a) {
7512            var b = this, c, d;
7513            if ("wheelDeltaX"in a)
7514                c = a.wheelDeltaX / 12,
7515                d = a.wheelDeltaY / 12;
7516            else if ("wheelDelta"in a)
7517                c = d = a.wheelDelta / 12;
7518            else if ("detail"in a)
7519                c = d = 3 * -a.detail;
7520            else
7521                return;
7522            if ("zoom" == b.options.SO) {
7523                if (d = b.scale * Math.pow(2, 1 / 3 * (d ? d / Math.abs(d) : 0)),
7524                d < b.options.Vk && (d = b.options.Vk),
7525                d > b.options.Xp && (d = b.options.Xp),
7526                d != b.scale)
7527                    !b.Qy && b.options.vp && b.options.vp.call(b, a),
7528                    b.Qy++,
7529                    b.zoom(a.pageX, a.pageY, d, 400),
7530                    setTimeout(function() {
7531                        b.Qy--;
7532                        !b.Qy && b.options.up && b.options.up.call(b, a)
7533                    }, 400)
7534            } else
7535                c = b.x + c,
7536                d = b.y + d,
7537                0 < c ? c = 0 : c < b.ee && (c = b.ee),
7538                d > b.nf ? d = b.nf : d < b.od && (d = b.od),
7539                0 > b.od && b.scrollTo(c, d, 0)
7540        },
7541        AU: function(a) {
7542            a.target == this.Nb && (this.Vd(Be),
7543            this.AB())
7544        },
7545        AB: function() {
7546            var a = this, b = a.x, c = a.y, d = Date.now(), e, f, g;
7547            a.Vl || (a.Aj.length ? (e = a.Aj.shift(),
7548            e.x == b && e.y == c && (e.time = 0),
7549            a.Vl = o,
7550            a.rh = o,
7551            a.options.Bi) ? (a.nJ(e.time),
7552            a.xr(e.x, e.y),
7553            a.Vl = q,
7554            e.time ? a.ca(Be) : a.io(0)) : (g = function() {
7555                var i = Date.now(), k;
7556                if (i >= d + e.time) {
7557                    a.xr(e.x, e.y);
7558                    a.Vl = q;
7559                    a.options.TY && a.options.TY.call(a);
7560                    a.AB()
7561                } else {
7562                    i = (i - d) / e.time - 1;
7563                    f = $d.sqrt(1 - i * i);
7564                    i = (e.x - b) * f + b;
7565                    k = (e.y - c) * f + c;
7566                    a.xr(i, k);
7567                    if (a.Vl)
7568                        a.VB = Ce(g)
7569                }
7570            }
7571            ,
7572            g()) : a.io(400))
7573        },
7574        nJ: function(a) {
7575            a += "ms";
7576            this.Nb.style[ke] = a;
7577            this.mi && (this.RX.style[ke] = a);
7578            this.Ci && (this.Y_.style[ke] = a)
7579        },
7580        kI: function(a, b, c, d, e) {
7581            var b = $d.abs(a) / b
7582              , f = b * b / 0.0012;
7583            0 < a && f > c ? (c += e / (6 / (6.0E-4 * (f / b))),
7584            b = b * c / f,
7585            f = c) : 0 > a && f > d && (d += e / (6 / (6.0E-4 * (f / b))),
7586            b = b * d / f,
7587            f = d);
7588            return {
7589                Aa: f * (0 > a ? -1 : 1),
7590                time: $d.round(b / 6.0E-4)
7591            }
7592        },
7593        $j: function(a) {
7594            for (var b = -a.offsetLeft, c = -a.offsetTop; a = a.offsetParent; )
7595                b -= a.offsetLeft,
7596                c -= a.offsetTop;
7597            a != this.xn && (b *= this.scale,
7598            c *= this.scale);
7599            return {
7600                left: b,
7601                top: c
7602            }
7603        },
7604        eJ: function(a, b) {
7605            var c, d, e;
7606            e = this.Qe.length - 1;
7607            c = 0;
7608            for (d = this.Qe.length; c < d; c++)
7609                if (a >= this.Qe[c]) {
7610                    e = c;
7611                    break
7612                }
7613            e == this.yC && (0 < e && 0 > this.HC) && e--;
7614            a = this.Qe[e];
7615            d = (d = $d.abs(a - this.Qe[this.yC])) ? 500 * ($d.abs(this.x - a) / d) : 0;
7616            this.yC = e;
7617            e = this.pf.length - 1;
7618            for (c = 0; c < e; c++)
7619                if (b >= this.pf[c]) {
7620                    e = c;
7621                    break
7622                }
7623            e == this.zC && (0 < e && 0 > this.IC) && e--;
7624            b = this.pf[e];
7625            c = (c = $d.abs(b - this.pf[this.zC])) ? 500 * ($d.abs(this.y - b) / c) : 0;
7626            this.zC = e;
7627            e = $d.round($d.max(d, c)) || 200;
7628            return {
7629                x: a,
7630                y: b,
7631                time: e
7632            }
7633        },
7634        ca: function(a, b, c) {
7635            (b || this.Nb).addEventListener(a, this, !!c)
7636        },
7637        Vd: function(a, b, c) {
7638            (b || this.Nb).removeEventListener(a, this, !!c)
7639        },
7640        EC: fa(2),
7641        refresh: function() {
7642            var a, b, c, d = 0;
7643            b = 0;
7644            this.scale < this.options.Vk && (this.scale = this.options.Vk);
7645            this.ru = this.xn.clientWidth || 1;
7646            this.yn = this.xn.clientHeight || 1;
7647            this.nf = -this.options.E_ || 0;
7648            this.vy = $d.round(this.Nb.offsetWidth * this.scale);
7649            this.Fp = $d.round((this.Nb.offsetHeight + this.nf) * this.scale);
7650            this.ee = this.ru - this.vy;
7651            this.od = this.yn - this.Fp + this.nf;
7652            this.IC = this.HC = 0;
7653            this.options.dN && this.options.dN.call(this);
7654            this.hp = this.options.hp && 0 > this.ee;
7655            this.vn = this.options.vn && (!this.options.iV && !this.hp || this.Fp > this.yn);
7656            this.mi = this.hp && this.options.mi;
7657            this.Ci = this.vn && this.options.Ci && this.Fp > this.yn;
7658            a = this.$j(this.xn);
7659            this.TF = -a.left;
7660            this.UF = -a.top;
7661            if ("string" == typeof this.options.Yt) {
7662                this.Qe = [];
7663                this.pf = [];
7664                c = this.Nb.querySelectorAll(this.options.Yt);
7665                a = 0;
7666                for (b = c.length; a < b; a++)
7667                    d = this.$j(c[a]),
7668                    d.left += this.TF,
7669                    d.top += this.UF,
7670                    this.Qe[a] = d.left < this.ee ? this.ee : d.left * this.scale,
7671                    this.pf[a] = d.top < this.od ? this.od : d.top * this.scale
7672            } else if (this.options.Yt) {
7673                for (this.Qe = []; d >= this.ee; )
7674                    this.Qe[b] = d,
7675                    d -= this.ru,
7676                    b++;
7677                this.ee % this.ru && (this.Qe[this.Qe.length] = this.ee - this.Qe[this.Qe.length - 1] + this.Qe[this.Qe.length - 1]);
7678                b = d = 0;
7679                for (this.pf = []; d >= this.od; )
7680                    this.pf[b] = d,
7681                    d -= this.yn,
7682                    b++;
7683                this.od % this.yn && (this.pf[this.pf.length] = this.od - this.pf[this.pf.length - 1] + this.pf[this.pf.length - 1])
7684            }
7685            this.Ev("h");
7686            this.Ev("v");
7687            this.Wk || (this.Nb.style[ke] = "0",
7688            this.io(400))
7689        },
7690        scrollTo: function(a, b, c, d) {
7691            var e = a;
7692            this.stop();
7693            e.length || (e = [{
7694                x: a,
7695                y: b,
7696                time: c,
7697                mZ: d
7698            }]);
7699            a = 0;
7700            for (b = e.length; a < b; a++)
7701                e[a].mZ && (e[a].x = this.x - e[a].x,
7702                e[a].y = this.y - e[a].y),
7703                this.Aj.push({
7704                    x: e[a].x,
7705                    y: e[a].y,
7706                    time: e[a].time || 0
7707                });
7708            this.AB()
7709        },
7710        disable: function() {
7711            this.stop();
7712            this.io(0);
7713            this.enabled = q;
7714            this.Vd(ye, window);
7715            this.Vd(ze, window);
7716            this.Vd(Ae, window)
7717        },
7718        enable: function() {
7719            this.enabled = o
7720        },
7721        stop: function() {
7722            this.options.Bi ? this.Vd(Be) : De(this.VB);
7723            this.Aj = [];
7724            this.Vl = this.rh = q
7725        },
7726        zoom: function(a, b, c, d) {
7727            var e = c / this.scale;
7728            this.options.Uk && (this.Wk = o,
7729            d = d === j ? 200 : d,
7730            a = a - this.TF - this.x,
7731            b = b - this.UF - this.y,
7732            this.x = a - a * e + this.x,
7733            this.y = b - b * e + this.y,
7734            this.scale = c,
7735            this.refresh(),
7736            this.x = 0 < this.x ? 0 : this.x < this.ee ? this.ee : this.x,
7737            this.y = this.y > this.nf ? this.nf : this.y < this.od ? this.od : this.y,
7738            this.Nb.style[ke] = d + "ms",
7739            this.Nb.style[ie] = "translate(" + this.x + "px," + this.y + "px) scale(" + c + ")" + Ee,
7740            this.Wk = q)
7741        }
7742    };
7743    function he(a) {
7744        if ("" === be)
7745            return a;
7746        a = a.charAt(0).toUpperCase() + a.substr(1);
7747        return be + a
7748    }
7749    ae = p;
7750    function Ge(a) {
7751        this.k = {
7752            anchor: Vb,
7753            offset: new L(0,0),
7754            maxWidth: "100%",
7755            imageHeight: 80
7756        };
7757        var a = a || {}, b;
7758        for (b in a)
7759            this.k[b] = a[b];
7760        this.Hl = new bc(p,{
7761            Of: "api"
7762        });
7763        this.bk = [];
7764        this.P = p;
7765        this.eg = {
7766            height: this.k.imageHeight,
7767            width: this.k.imageHeight * He
7768        };
7769        this.Pc = this.pB = this.$l = this.Yc = p
7770    }
7771    var Ie = [0, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5, 5, 6, 6, 7, 8, 8, 8, 9, 10]
7772      , Je = "\u5176\u4ed6 \u6b63\u95e8 \u623f\u578b \u8bbe\u65bd \u6b63\u95e8 \u9910\u996e\u8bbe\u65bd \u5176\u4ed6\u8bbe\u65bd \u6b63\u95e8 \u8bbe\u65bd \u89c2\u5f71\u5385 \u5176\u4ed6\u8bbe\u65bd".split(" ");
7773    z.Sm(function(a) {
7774        var b = p;
7775        a.addEventListener("position_changed", function() {
7776            a.k.visible && a.k.albumsControl === o && (b ? b.ny(a.Yb()) : (b = new Ge(a.k.albumsControlOptions),
7777            b.qa(a)))
7778        });
7779        a.addEventListener("albums_visible_changed", function() {
7780            a.k.albumsControl === o ? (b ? b.ny(a.Yb()) : (b = new Ge(a.k.albumsControlOptions),
7781            b.qa(a)),
7782            b.show()) : b.U()
7783        });
7784        a.addEventListener("albums_options_changed", function() {
7785            b && b.Lk(a.k.albumsControlOptions)
7786        });
7787        a.addEventListener("visible_changed", function() {
7788            b && (a.$D() ? a.k.albumsControl === o && (b.B.style.visibility = "visible") : b.B.style.visibility = "hidden")
7789        })
7790    });
7791    var He = 1.8;
7792    G() && (He = 1);
7793    x.extend(Ge.prototype, {
7794        Lk: function(a) {
7795            for (var b in a)
7796                this.k[b] = a[b];
7797            a = this.k.imageHeight + "px";
7798            this.qc(this.k.anchor);
7799            this.B.style.width = isNaN(Number(this.k.maxWidth)) === o ? this.k.maxWidth : this.k.maxWidth + "px";
7800            this.B.style.height = a;
7801            this.gk.style.height = a;
7802            this.Wh.style.height = a;
7803            this.eg = {
7804                height: this.k.imageHeight,
7805                width: this.k.imageHeight * He
7806            };
7807            this.fk.style.height = this.eg.height - 6 + "px";
7808            this.fk.style.width = this.eg.width - 6 + "px";
7809            this.ny(this.P.Yb(), o)
7810        },
7811        qa: function(a) {
7812            this.P = a;
7813            this.ds();
7814            this.ZP();
7815            this.eY();
7816            this.ny(a.Yb())
7817        },
7818        ds: function() {
7819            var a = this.k.imageHeight + "px";
7820            this.B = K("div");
7821            var b = this.B.style;
7822            b.cssText = "background:rgb(37,37,37);background:rgba(37,37,37,0.9);";
7823            b.position = "absolute";
7824            b.zIndex = "2000";
7825            b.width = isNaN(Number(this.k.maxWidth)) === o ? this.k.maxWidth : this.k.maxWidth + "px";
7826            b.padding = "8px 0";
7827            b.visibility = "hidden";
7828            b.height = a;
7829            this.gk = K("div");
7830            b = this.gk.style;
7831            b.position = "absolute";
7832            b.overflow = "hidden";
7833            b.width = "100%";
7834            b.height = a;
7835            this.Wh = K("div");
7836            b = this.Wh.style;
7837            b.height = a;
7838            this.gk.appendChild(this.Wh);
7839            this.B.appendChild(this.gk);
7840            this.P.B.appendChild(this.B);
7841            this.fk = K("div", {
7842                "class": "pano_photo_item_seleted"
7843            });
7844            this.fk.style.height = this.eg.height - 6 + "px";
7845            this.fk.style.width = this.eg.width - 6 + "px";
7846            this.qc(this.k.anchor)
7847        },
7848        BH: function(a) {
7849            for (var b = this.bk, c = b.length - 1; 0 <= c; c--)
7850                if (b[c].panoId == a)
7851                    return c;
7852            return -1
7853        },
7854        ny: function(a, b) {
7855            if (b || !this.bk[this.Yc] || !(this.bk[this.Yc].panoId == a && 3 !== this.bk[this.Yc].recoType)) {
7856                var c = this
7857                  , d = this.BH(a);
7858                !b && -1 !== d && this.bk[d] && 3 !== this.bk[d].recoType ? this.Jp(d) : this.xX(function(a) {
7859                    for (var b = {}, d, i, k = q, l = [], m = 0, n = a.length; m < n; m++)
7860                        d = a[m].catlog,
7861                        i = a[m].floor,
7862                        j !== d && ("" === d && j !== i ? (k = o,
7863                        b[i] || (b[i] = []),
7864                        b[i].push(a[m])) : (b[Ie[d]] || (b[Ie[d]] = []),
7865                        b[Ie[d]].push(a[m])));
7866                    for (var u in b)
7867                        k ? l.push({
7868                            data: u + "F",
7869                            index: u
7870                        }) : l.push({
7871                            data: Je[u],
7872                            index: u
7873                        });
7874                    c.TG = b;
7875                    c.Pi = l;
7876                    c.Dl(a);
7877                    0 == a.length ? c.U() : c.show()
7878                })
7879            }
7880        },
7881        RV: function() {
7882            if (!this.Mi) {
7883                var a = this.lX(this.Pi)
7884                  , b = K("div");
7885                b.style.cssText = ["width:" + 134 * this.Pi.length + "px;", "overflow:hidden;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;"].join("");
7886                b.innerHTML = a;
7887                a = K("div");
7888                a.appendChild(b);
7889                a.style.cssText = "position:absolute;top:-25px;background:rgb(37,37,37);background:rgba(37,37,37,0.9);border-bottom:1px solid #4e596a;width:100%;line-height:25px;height:25px;overflow:scroll;outline:0";
7890                new Fe(a,{
7891                    Bo: q,
7892                    Ux: o,
7893                    mi: q,
7894                    Ci: q,
7895                    vn: q,
7896                    DE: o,
7897                    Bw: o,
7898                    zx: o
7899                });
7900                this.B.appendChild(a);
7901                for (var c = this, d = b.getElementsByTagName("span"), e = 0, f = d.length; e < f; e++)
7902                    b = d[e],
7903                    x.M(b, "click", function() {
7904                        if (this.getAttribute("dataindex")) {
7905                            c.Dl(c.TG[this.getAttribute("dataindex")]);
7906                            for (var a = 0, b = d.length; a < b; a++)
7907                                d[a].style.color = "#FFFFFF";
7908                            this.style.color = "#3383FF"
7909                        }
7910                    });
7911                this.Mi = a
7912            }
7913        },
7914        OV: function() {
7915            if (this.Mi)
7916                a = this.iL(this.Pi),
7917                this.oQ.innerHTML = a;
7918            else {
7919                var a = this.iL(this.Pi)
7920                  , b = K("ul")
7921                  , c = this;
7922                b.style.cssText = "list-style: none;padding:0px;margin:0px;display:block;width:60px;position:absolute;top:7px";
7923                b.innerHTML = a;
7924                x.M(b, "click", function(a) {
7925                    if (a = (a.srcElement || a.target).getAttribute("dataindex")) {
7926                        c.Dl(c.TG[a]);
7927                        for (var d = b.getElementsByTagName("li"), e = 0, f = d.length; e < f; e++)
7928                            d[e].childNodes[0].getAttribute("dataindex") === a ? x.D.Ta(d[e], "pano_catlogLiActive") : x.D.Rb(d[e], "pano_catlogLiActive")
7929                    }
7930                });
7931                var a = K("div")
7932                  , d = K("a")
7933                  , e = K("span")
7934                  , f = K("a")
7935                  , g = K("span")
7936                  , i = ["background:url(" + F.pa + "panorama/catlog_icon.png) no-repeat;", "display:block;width:10px;height:7px;margin:0 auto;"].join("");
7937                e.style.cssText = i + "background-position:-18px 0;";
7938                d.style.cssText = "background:#1C1C1C;display:block;position:absolute;width:58px;";
7939                g.style.cssText = i + "background-position:0 0;";
7940                f.style.cssText = "background:#1C1C1C;display:block;position:absolute;width:58px;";
7941                f.style.top = this.k.imageHeight - 7 + "px";
7942                a.style.cssText = "position:absolute;top:0px;left:0px;width:60px;";
7943                d.appendChild(e);
7944                f.appendChild(g);
7945                x.M(d, "mouseover", function() {
7946                    var a = parseInt(b.style.top, 10);
7947                    7 !== a && (e.style.backgroundPosition = "-27px 0");
7948                    new sb({
7949                        Ic: 60,
7950                        hc: tb.Cs,
7951                        duration: 300,
7952                        ua: function(c) {
7953                            b.style.top = a + (7 - a) * c + "px"
7954                        }
7955                    })
7956                });
7957                x.M(d, "mouseout", function() {
7958                    e.style.backgroundPosition = "-18px 0"
7959                });
7960                x.M(f, "mouseover", function() {
7961                    var a = parseInt(b.style.top, 10)
7962                      , d = c.k.imageHeight - 14;
7963                    if (!(parseInt(b.offsetHeight, 10) < d)) {
7964                        var e = d - parseInt(b.offsetHeight, 10) + 7;
7965                        e !== a && (g.style.backgroundPosition = "-9px 0");
7966                        new sb({
7967                            Ic: 60,
7968                            hc: tb.Cs,
7969                            duration: 300,
7970                            ua: function(c) {
7971                                b.style.top = a + (e - a) * c + "px"
7972                            }
7973                        })
7974                    }
7975                });
7976                x.M(f, "mouseout", function() {
7977                    g.style.backgroundPosition = "0 0"
7978                });
7979                a.appendChild(d);
7980                a.appendChild(f);
7981                d = K("div");
7982                d.style.cssText = ["position:absolute;z-index:2001;left:20px;", "height:" + this.k.imageHeight + "px;", "width:62px;overflow:hidden;background:rgb(37,37,37);background:rgba(37,37,37,0.9);"].join("");
7983                d.appendChild(b);
7984                d.appendChild(a);
7985                this.Mi = d;
7986                this.oQ = b;
7987                this.B.appendChild(d)
7988            }
7989        },
7990        PV: function() {
7991            if (this.Pi && !(0 >= this.Pi.length)) {
7992                var a = K("div");
7993                a.innerHTML = this.Xz;
7994                a.style.cssText = "position:absolute;background:#252525";
7995                this.B.appendChild(a);
7996                this.Gs = a;
7997                this.Pc.fg.style.left = this.eg.width + 8 + "px";
7998                this.Mi && (this.Mi.style.left = parseInt(this.Mi.style.left, 10) + this.eg.width + 8 + "px");
7999                var b = this;
8000                x.M(a, "click", function() {
8001                    b.P.rc(b.zW)
8002                })
8003            }
8004        },
8005        Dl: function(a) {
8006            this.bk = a;
8007            this.k.showCatalog && (0 < this.Pi.length ? (Ta() ? this.OV() : this.RV(),
8008            this.Pc.offsetLeft = 60) : (this.Gs && (this.B.removeChild(this.Gs),
8009            this.Gs = p,
8010            this.Pc.fg.style.left = "0px"),
8011            this.Mi && (this.B.removeChild(this.Mi),
8012            this.Mi = p),
8013            this.Pc.offsetLeft = 0));
8014            var b = this.fX(a);
8015            Ta() && (this.Pi && 0 < this.Pi.length && this.k.showExit && this.Xz) && (this.Pc.offsetLeft += this.eg.width + 8,
8016            this.Gs ? this.Gs.innerHTML = this.Xz : this.PV());
8017            this.Wh.innerHTML = b;
8018            this.Wh.style.width = (this.eg.width + 8) * a.length + 8 + "px";
8019            a = this.B.offsetWidth;
8020            b = this.Wh.offsetWidth;
8021            this.Pc.Ns && (b += this.Pc.Ns());
8022            b < a - 2 * this.Pc.Gi - this.Pc.offsetLeft ? this.B.style.width = b + this.Pc.offsetLeft + "px" : (this.B.style.width = isNaN(Number(this.k.maxWidth)) === o ? this.k.maxWidth : this.k.maxWidth + "px",
8023            b < this.B.offsetWidth - 2 * this.Pc.Gi - this.Pc.offsetLeft && (this.B.style.width = b + this.Pc.offsetLeft + "px"));
8024            this.Pc.refresh();
8025            this.pB = this.Wh.children;
8026            this.Wh.appendChild(this.fk);
8027            this.fk.style.left = "-100000px";
8028            a = this.BH(this.P.Yb(), this.Y0);
8029            -1 !== a && this.Jp(a)
8030        },
8031        lX: function(a) {
8032            for (var b = "", c, d = 0, e = a.length; d < e; d++)
8033                c = '<div style="color:white;opacity:0.5;margin:0 35px;float:left;text-align: center"><span  dataIndex="' + a[d].index + '">' + a[d].data + "</span></div>",
8034                b += c;
8035            return b
8036        },
8037        iL: function(a) {
8038            for (var b = "", c, d = 0, e = a.length; d < e; d++)
8039                c = '<li class="pano_catlogLi"><span style="display:block;width:100%;" dataIndex="' + a[d].index + '">' + a[d].data + "</span></li>",
8040                b += c;
8041            return b
8042        },
8043        fX: function(a) {
8044            for (var b, c, d, e, f = [], g = this.eg.height, i = this.eg.width, k = 0; k < a.length; k++)
8045                b = a[k],
8046                recoType = b.recoType,
8047                d = b.panoId,
8048                e = b.name,
8049                c = b.heading,
8050                b = b.pitch,
8051                c = Yd.uL(d, c, b, 198, 108),
8052                b = '<a href="javascript:void(0);" class="pano_photo_item" data-index="' + k + '"><img style="width:' + (i - 2) + "px;height:" + (g - 2) + 'px;" data-index="' + k + '" name="' + e + '" src="' + c + '" alt="' + e + '"/><span class="pano_photo_decs" data-index="' + k + '" style="width:' + i + "px;font-size:" + Math.floor(g / 6) + "px; line-height:" + Math.floor(g / 6) + 'px;"><em class="pano_poi_' + recoType + '"></em>' + e + "</span></a>",
8053                3 === recoType ? Ta() ? (this.Xz = b,
8054                this.zW = d,
8055                a.splice(k, 1),
8056                k--) : (b = '<a href="javascript:void(0);" class="pano_photo_item" data-index="' + k + '"><img style="width:' + (i - 2) + "px;height:" + (g - 2) + 'px;" data-index="' + k + '" name="' + e + '" src="' + c + '" alt="' + e + '"/><div style="background:rgba(37,37,37,0.5);position:absolute;top:0px;left:0px;width:100%;height:100%;text-align: center;line-height:' + this.k.imageHeight + 'px;" data-index="' + k + '"><img src="' + F.pa + 'panorama/photoexit.png" style="border:none;vertical-align:middle;" data-index="' + k + '" alt=""/></div></a>',
8057                f.push(b)) : f.push(b);
8058            return f.join("")
8059        },
8060        xX: function(a) {
8061            var b = this
8062              , c = this.P.Yb();
8063            c && this.Hl.wx(c, function(d) {
8064                b.P.Yb() === c && a(d)
8065            })
8066        },
8067        qc: function(a) {
8068            if (!Va(a) || isNaN(a) || a < Tb || 3 < a)
8069                a = this.defaultAnchor;
8070            var b = this.B
8071              , c = this.k.offset.width
8072              , d = this.k.offset.height;
8073            b.style.left = b.style.top = b.style.right = b.style.bottom = "auto";
8074            switch (a) {
8075            case Tb:
8076                b.style.top = d + "px";
8077                b.style.left = c + "px";
8078                break;
8079            case Ub:
8080                b.style.top = d + "px";
8081                b.style.right = c + "px";
8082                break;
8083            case Vb:
8084                b.style.bottom = d + "px";
8085                b.style.left = c + "px";
8086                break;
8087            case 3:
8088                b.style.bottom = d + "px",
8089                b.style.right = c + "px"
8090            }
8091        },
8092        ZP: function() {
8093            this.XP()
8094        },
8095        XP: function() {
8096            var a = this;
8097            x.M(this.B, "touchstart", function(a) {
8098                a.stopPropagation()
8099            });
8100            x.M(this.gk, "click", function(b) {
8101                if ((b = (b.srcElement || b.target).getAttribute("data-index")) && b != a.Yc)
8102                    a.Jp(b),
8103                    a.P.rc(a.bk[b].panoId)
8104            });
8105            x.M(this.Wh, "mouseover", function(b) {
8106                b = (b.srcElement || b.target).getAttribute("data-index");
8107                b !== p && a.kK(b, o)
8108            });
8109            this.P.addEventListener("size_changed", function() {
8110                isNaN(Number(a.k.maxWidth)) && a.Lk({
8111                    maxWidth: a.k.maxWidth
8112                })
8113            })
8114        },
8115        Jp: function(a) {
8116            this.fk.style.left = this.pB[a].offsetLeft + 8 + "px";
8117            this.fk.setAttribute("data-index", this.pB[a].getAttribute("data-index"));
8118            this.Yc = a;
8119            this.kK(a)
8120        },
8121        kK: function(a, b) {
8122            var c = this.eg.width + 8
8123              , d = 0;
8124            this.Pc.Ns && (d = this.Pc.Ns() / 2);
8125            var e = this.gk.offsetWidth - 2 * d
8126              , f = this.Wh.offsetLeft || this.Pc.x
8127              , f = f - d
8128              , g = -a * c;
8129            g > f && this.Pc.scrollTo(g + d);
8130            c = g - c;
8131            f -= e;
8132            c < f && (!b || b && 8 < g - f) && this.Pc.scrollTo(c + e + d)
8133        },
8134        eY: function() {
8135            this.Pc = G() ? new Fe(this.gk,{
8136                Bo: q,
8137                Ux: o,
8138                mi: q,
8139                Ci: q,
8140                vn: q,
8141                DE: o,
8142                Bw: o,
8143                zx: o
8144            }) : new Ke(this.gk)
8145        },
8146        U: function() {
8147            this.B.style.visibility = "hidden"
8148        },
8149        show: function() {
8150            this.B.style.visibility = "visible"
8151        }
8152    });
8153    function Ke(a) {
8154        this.B = a;
8155        this.Ug = a.children[0];
8156        this.Lr = p;
8157        this.Gi = 20;
8158        this.offsetLeft = 0;
8159        this.qa()
8160    }
8161    Ke.prototype = {
8162        qa: function() {
8163            this.Ug.style.position = "relative";
8164            this.refresh();
8165            this.ds();
8166            this.Yl()
8167        },
8168        refresh: function() {
8169            this.co = this.B.offsetWidth - this.Ns();
8170            this.PA = -(this.Ug.offsetWidth - this.co - this.Gi);
8171            this.rv = this.Gi + this.offsetLeft;
8172            this.Ug.style.left = this.rv + "px";
8173            this.Ug.children[0] && (this.Lr = this.Ug.children[0].offsetWidth);
8174            this.fg && (this.fg.children[0].style.marginTop = this.Dr.children[0].style.marginTop = this.fg.offsetHeight / 2 - this.fg.children[0].offsetHeight / 2 + "px")
8175        },
8176        Ns: function() {
8177            return 2 * this.Gi
8178        },
8179        ds: function() {
8180            this.Fv = K("div");
8181            this.Fv.innerHTML = '<a class="pano_photo_arrow_l" style="background:rgb(37,37,37);background:rgba(37,37,37,0.9);" href="javascript:void(0)" title="\u4e0a\u4e00\u9875"><span class="pano_arrow_l"></span></a><a class="pano_photo_arrow_r" style="background:rgb(37,37,37);background:rgba(37,37,37,0.9);" href="javascript:void(0)" title="\u4e0b\u4e00\u9875"><span class="pano_arrow_r"></span></a>';
8182            this.fg = this.Fv.children[0];
8183            this.Dr = this.Fv.children[1];
8184            this.B.appendChild(this.Fv);
8185            this.fg.children[0].style.marginTop = this.Dr.children[0].style.marginTop = this.fg.offsetHeight / 2 - this.fg.children[0].offsetHeight / 2 + "px"
8186        },
8187        Yl: function() {
8188            var a = this;
8189            x.M(this.fg, "click", function() {
8190                a.scrollTo(a.Ug.offsetLeft + a.co)
8191            });
8192            x.M(this.Dr, "click", function() {
8193                a.scrollTo(a.Ug.offsetLeft - a.co)
8194            })
8195        },
8196        BU: function() {
8197            x.D.Rb(this.fg, "pano_arrow_disable");
8198            x.D.Rb(this.Dr, "pano_arrow_disable");
8199            var a = this.Ug.offsetLeft;
8200            a >= this.rv && x.D.Ta(this.fg, "pano_arrow_disable");
8201            a - this.co <= this.PA && x.D.Ta(this.Dr, "pano_arrow_disable")
8202        },
8203        scrollTo: function(a) {
8204            a = a < this.Ug.offsetLeft ? Math.ceil((a - this.Gi - this.co) / this.Lr) * this.Lr 
8204+ this.co + this.Gi - 8 : Math.ceil((a - this.Gi) / this.Lr) * this.Lr + this.Gi;
8205            a < this.PA ? a = this.PA : a > this.rv && (a = this.rv);
8206            var b = this.Ug.offsetLeft
8207              , c = this;
8208            new sb({
8209                Ic: 60,
8210                hc: tb.Cs,
8211                duration: 300,
8212                ua: function(d) {
8213                    c.Ug.style.left = b + (a - b) * d + "px"
8214                },
8215                finish: function() {
8216                    c.BU()
8217                }
8218            })
8219        }
8220    };
8221    z.Map = Ka;
8222    z.Hotspot = ib;
8223    z.MapType = Rc;
8224    z.Point = H;
8225    z.Pixel = Q;
8226    z.Size = L;
8227    z.Bounds = fb;
8228    z.TileLayer = Ec;
8229    z.Projection = gc;
8230    z.MercatorProjection = R;
8231    z.PerspectiveProjection = hb;
8232    z.Copyright = function(a, b, c) {
8233        this.id = a;
8234        this.gb = b;
8235        this.content = c
8236    }
8237    ;
8238    z.Overlay = jc;
8239    z.Label = rc;
8240    z.GroundOverlay = sc;
8241    z.PointCollection = wc;
8242    z.Marker = T;
8243    z.Icon = nc;
8244    z.IconSequence = pc;
8245    z.Symbol = oc;
8246    z.Polyline = Ac;
8247    z.Polygon = zc;
8248    z.InfoWindow = qc;
8249    z.Circle = Bc;
8250    z.Control = Sb;
8251    z.NavigationControl = jb;
8252    z.GeolocationControl = Wb;
8253    z.OverviewMapControl = lb;
8254    z.CopyrightControl = Xb;
8255    z.ScaleControl = kb;
8256    z.MapTypeControl = mb;
8257    z.CityListControl = Yb;
8258    z.PanoramaControl = $b;
8259    z.TrafficLayer = Nc;
8260    z.CustomLayer = nb;
8261    z.ContextMenu = cc;
8262    z.MenuItem = fc;
8263    z.LocalSearch = bb;
8264    z.TransitRoute = rd;
8265    z.DrivingRoute = ud;
8266    z.WalkingRoute = vd;
8267    z.Autocomplete = Hd;
8268    z.RouteSearch = zd;
8269    z.Geocoder = Ad;
8270    z.LocalCity = Ed;
8271    z.Geolocation = Geolocation;
8272    z.Convertor = ic;
8273    z.BusLineSearch = Gd;
8274    z.Boundary = Fd;
8275    z.VectorCloudLayer = Lc;
8276    z.VectorTrafficLayer = Mc;
8277    z.Panorama = Na;
8278    z.PanoramaLabel = Nd;
8279    z.PanoramaService = bc;
8280    z.PanoramaCoverageLayer = ac;
8281    z.PanoramaFlashInterface = Wd;
8282    function S(a, b) {
8283        for (var c in b)
8284            a[c] = b[c]
8285    }
8286    S(window, {
8287        BMap: z,
8288        _jsload2: function(a, b) {
8289            ha.Iy.oY && ha.Iy.set(a, b);
8290            I.sV(a, b)
8291        },
8292        BMAP_API_VERSION: "2.0"
8293    });
8294    var W = Ka.prototype;
8295    S(W, {
8296        getBounds: W.Gd,
8297        getCenter: W.Ja,
8298        getMapType: W.oa,
8299        getSize: W.yb,
8300        setSize: W.xe,
8301        getViewport: W.Zs,
8302        getZoom: W.fa,
8303        centerAndZoom: W.Cd,
8304        panTo: W.ui,
8305        panBy: W.yg,
8306        setCenter: W.Vf,
8307        setCurrentCity: W.qF,
8308        setMapType: W.Bg,
8309        setViewport: W.Bh,
8310        setZoom: W.Oc,
8311        highResolutionEnabled: W.dE,
8312        zoomTo: W.Fg,
8313        zoomIn: W.VF,
8314        zoomOut: W.WF,
8315        addHotspot: W.nw,
8316        removeHotspot: W.oZ,
8317        clearHotspots: W.bm,
8318        checkResize: W.vV,
8319        addControl: W.lw,
8320        removeControl: W.vN,
8321        getContainer: W.Na,
8322        addContextMenu: W.uo,
8323        removeContextMenu: W.zp,
8324        addOverlay: W.Ia,
8325        removeOverlay: W.Sb,
8326        clearOverlays: W.hK,
8327        openInfoWindow: W.Mb,
8328        closeInfoWindow: W.Xc,
8329        pointToOverlayPixel: W.Re,
8330        overlayPixelToPoint: W.kN,
8331        getInfoWindow: W.jh,
8332        getOverlays: W.tx,
8333        getPanes: function() {
8334            return {
8335                floatPane: this.Td.sD,
8336                markerMouseTarget: this.Td.GE,
8337                floatShadow: this.Td.aL,
8338                labelPane: this.Td.zE,
8339                markerPane: this.Td.EM,
8340                markerShadow: this.Td.FM,
8341                mapPane: this.Td.ot,
8342                vertexPane: this.Td.OO
8343            }
8344        },
8345        addTileLayer: W.Yg,
8346        removeTileLayer: W.zh,
8347        pixelToPoint: W.ub,
8348        pointToPixel: W.ac,
8349        setFeatureStyle: W.Ip,
8350        selectBaseElement: W.S3,
8351        setMapStyle: W.Nt,
8352        enable3DBuilding: W.Mo,
8353        disable3DBuilding: W.eW,
8354        getPanorama: W.rm
8355    });
8356    var Le = Rc.prototype;
8357    S(Le, {
8358        getTileLayer: Le.IX,
8359        getMinZoom: Le.Xo,
8360        getMaxZoom: Le.qm,
8361        getProjection: Le.bp,
8362        getTextColor: Le.wm,
8363        getTips: Le.Ys
8364    });
8365    S(window, {
8366        BMAP_NORMAL_MAP: La,
8367        BMAP_PERSPECTIVE_MAP: Oa,
8368        BMAP_SATELLITE_MAP: Xa,
8369        BMAP_HYBRID_MAP: Ra
8370    });
8371    var Me = R.prototype;
8372    S(Me, {
8373        lngLatToPoint: Me.nh,
8374        pointToLngLat: Me.wi
8375    });
8376    var Ne = hb.prototype;
8377    S(Ne, {
8378        lngLatToPoint: Ne.nh,
8379        pointToLngLat: Ne.wi
8380    });
8381    var Oe = fb.prototype;
8382    S(Oe, {
8383        equals: Oe.mb,
8384        containsPoint: Oe.bs,
8385        containsBounds: Oe.GV,
8386        intersects: Oe.ft,
8387        extend: Oe.extend,
8388        getCenter: Oe.Ja,
8389        isEmpty: Oe.yj,
8390        getSouthWest: Oe.re,
8391        getNorthEast: Oe.kf,
8392        toSpan: Oe.KF
8393    });
8394    var Pe = jc.prototype;
8395    S(Pe, {
8396        isVisible: Pe.mh,
8397        show: Pe.show,
8398        hide: Pe.U
8399    });
8400    jc.getZIndex = jc.ym;
8401    var Qe = gb.prototype;
8402    S(Qe, {
8403        openInfoWindow: Qe.Mb,
8404        closeInfoWindow: Qe.Xc,
8405        enableMassClear: Qe.ii,
8406        disableMassClear: Qe.gW,
8407        show: Qe.show,
8408        hide: Qe.U,
8409        getMap: Qe.nx,
8410        addContextMenu: Qe.uo,
8411        removeContextMenu: Qe.zp
8412    });
8413    var Re = T.prototype;
8414    S(Re, {
8415        setIcon: Re.Tb,
8416        getIcon: Re.Wo,
8417        setPosition: Re.sa,
8418        getPosition: Re.ha,
8419        setOffset: Re.Te,
8420        getOffset: Re.Pf,
8421        getLabel: Re.MD,
8422        setLabel: Re.fn,
8423        setTitle: Re.Dc,
8424        setTop: Re.zi,
8425        enableDragging: Re.Xb,
8426        disableDragging: Re.KC,
8427        setZIndex: Re.St,
8428        getMap: Re.nx,
8429        setAnimation: Re.dn,
8430        setShadow: Re.zy,
8431        hide: Re.U,
8432        setRotation: Re.Lp,
8433        getRotation: Re.yL
8434    });
8435    S(window, {
8436        BMAP_ANIMATION_DROP: 1,
8437        BMAP_ANIMATION_BOUNCE: 2
8438    });
8439    var Se = rc.prototype;
8440    S(Se, {
8441        setStyle: Se.Kd,
8442        setStyles: Se.yi,
8443        setContent: Se.bd,
8444        setPosition: Se.sa,
8445        getPosition: Se.ha,
8446        setOffset: Se.Te,
8447        getOffset: Se.Pf,
8448        setTitle: Se.Dc,
8449        setZIndex: Se.St,
8450        getMap: Se.nx,
8451        getContent: Se.uk
8452    });
8453    var Te = nc.prototype;
8454    S(Te, {
8455        setImageUrl: Te.MN,
8456        setSize: Te.xe,
8457        setAnchor: Te.qc,
8458        setImageOffset: Te.Mt,
8459        setImageSize: Te.RZ,
8460        setInfoWindowAnchor: Te.UZ,
8461        setPrintImageUrl: Te.d_
8462    });
8463    var We = qc.prototype;
8464    S(We, {
8465        redraw: We.fe,
8466        setTitle: We.Dc,
8467        setContent: We.bd,
8468        getContent: We.uk,
8469        getPosition: We.ha,
8470        enableMaximize: We.dh,
8471        disableMaximize: We.Uw,
8472        isOpen: We.Va,
8473        setMaxContent: We.Ot,
8474        maximize: We.Tx,
8475        enableAutoPan: We.Ds
8476    });
8477    var Xe = lc.prototype;
8478    S(Xe, {
8479        getPath: Xe.pe,
8480        setPath: Xe.ge,
8481        setPositionAt: Xe.hn,
8482        getStrokeColor: Xe.DX,
8483        setStrokeWeight: Xe.Op,
8484        getStrokeWeight: Xe.BL,
8485        setStrokeOpacity: Xe.Mp,
8486        getStrokeOpacity: Xe.EX,
8487        setFillOpacity: Xe.Lt,
8488        getFillOpacity: Xe.aX,
8489        setStrokeStyle: Xe.Np,
8490        getStrokeStyle: Xe.AL,
8491        getFillColor: Xe.$W,
8492        getBounds: Xe.Gd,
8493        enableEditing: Xe.Nf,
8494        disableEditing: Xe.fW
8495    });
8496    var Ye = Bc.prototype;
8497    S(Ye, {
8498        setCenter: Ye.Vf,
8499        getCenter: Ye.Ja,
8500        getRadius: Ye.wL,
8501        setRadius: Ye.qf
8502    });
8503    var Ze = zc.prototype;
8504    S(Ze, {
8505        getPath: Ze.pe,
8506        setPath: Ze.ge,
8507        setPositionAt: Ze.hn
8508    });
8509    var $e = ib.prototype;
8510    S($e, {
8511        getPosition: $e.ha,
8512        setPosition: $e.sa,
8513        getText: $e.WD,
8514        setText: $e.Rt
8515    });
8516    H.prototype.equals = H.prototype.mb;
8517    Q.prototype.equals = Q.prototype.mb;
8518    L.prototype.equals = L.prototype.mb;
8519    S(window, {
8520        BMAP_ANCHOR_TOP_LEFT: Tb,
8521        BMAP_ANCHOR_TOP_RIGHT: Ub,
8522        BMAP_ANCHOR_BOTTOM_LEFT: Vb,
8523        BMAP_ANCHOR_BOTTOM_RIGHT: 3
8524    });
8525    var af = Sb.prototype;
8526    S(af, {
8527        setAnchor: af.qc,
8528        getAnchor: af.yD,
8529        setOffset: af.Te,
8530        getOffset: af.Pf,
8531        show: af.show,
8532        hide: af.U,
8533        isVisible: af.mh,
8534        toString: af.toString
8535    });
8536    var bf = jb.prototype;
8537    S(bf, {
8538        getType: bf.fp,
8539        setType: bf.jn
8540    });
8541    S(window, {
8542        BMAP_NAVIGATION_CONTROL_LARGE: 0,
8543        BMAP_NAVIGATION_CONTROL_SMALL: 1,
8544        BMAP_NAVIGATION_CONTROL_PAN: 2,
8545        BMAP_NAVIGATION_CONTROL_ZOOM: 3
8546    });
8547    var cf = lb.prototype;
8548    S(cf, {
8549        changeView: cf.me,
8550        setSize: cf.xe,
8551        getSize: cf.yb
8552    });
8553    var df = kb.prototype;
8554    S(df, {
8555        getUnit: df.MX,
8556        setUnit: df.yF
8557    });
8558    S(window, {
8559        BMAP_UNIT_METRIC: "metric",
8560        BMAP_UNIT_IMPERIAL: "us"
8561    });
8562    var ef = Xb.prototype;
8563    S(ef, {
8564        addCopyright: ef.mw,
8565        removeCopyright: ef.cF,
8566        getCopyright: ef.om,
8567        getCopyrightCollection: ef.FD
8568    });
8569    S(window, {
8570        BMAP_MAPTYPE_CONTROL_HORIZONTAL: Zb,
8571        BMAP_MAPTYPE_CONTROL_DROPDOWN: 1,
8572        BMAP_MAPTYPE_CONTROL_MAP: 2
8573    });
8574    var ff = Ec.prototype;
8575    S(ff, {
8576        getMapType: ff.oa,
8577        getCopyright: ff.om,
8578        isTransparentPng: ff.lt
8579    });
8580    var gf = cc.prototype;
8581    S(gf, {
8582        addItem: gf.ow,
8583        addSeparator: gf.RB,
8584        removeSeparator: gf.eF
8585    });
8586    var jf = fc.prototype;
8587    S(jf, {
8588        setText: jf.Rt
8589    });
8590    var kf = V.prototype;
8591    S(kf, {
8592        getStatus: kf.um,
8593        setSearchCompleteCallback: kf.wF,
8594        getPageCapacity: kf.lf,
8595        setPageCapacity: kf.Kp,
8596        setLocation: kf.gn,
8597        disableFirstResultSelection: kf.LC,
8598        enableFirstResultSelection: kf.hD,
8599        gotoPage: kf.zm,
8600        searchNearby: kf.Gp,
8601        searchInBounds: kf.bn,
8602        search: kf.search
8603    });
8604    S(window, {
8605        BMAP_STATUS_SUCCESS: 0,
8606        BMAP_STATUS_CITY_LIST: 1,
8607        BMAP_STATUS_UNKNOWN_LOCATION: 2,
8608        BMAP_STATUS_UNKNOWN_ROUTE: 3,
8609        BMAP_STATUS_INVALID_KEY: 4,
8610        BMAP_STATUS_INVALID_REQUEST: 5,
8611        BMAP_STATUS_PERMISSION_DENIED: 6,
8612        BMAP_STATUS_SERVICE_UNAVAILABLE: 7,
8613        BMAP_STATUS_TIMEOUT: 8
8614    });
8615    S(window, {
8616        BMAP_POI_TYPE_NORMAL: 0,
8617        BMAP_POI_TYPE_BUSSTOP: 1,
8618        BMAP_POI_TYPE_BUSLINE: 2,
8619        BMAP_POI_TYPE_SUBSTOP: 3,
8620        BMAP_POI_TYPE_SUBLINE: 4
8621    });
8622    S(window, {
8623        BMAP_TRANSIT_POLICY_LEAST_TIME: 0,
8624        BMAP_TRANSIT_POLICY_LEAST_TRANSFER: 2,
8625        BMAP_TRANSIT_POLICY_LEAST_WALKING: 3,
8626        BMAP_TRANSIT_POLICY_AVOID_SUBWAYS: 4,
8627        BMAP_LINE_TYPE_BUS: 0,
8628        BMAP_LINE_TYPE_SUBWAY: 1,
8629        BMAP_LINE_TYPE_FERRY: 2
8630    });
8631    var lf = qd.prototype;
8632    S(lf, {
8633        clearResults: lf.Me
8634    });
8635    sd = rd.prototype;
8636    S(sd, {
8637        setPolicy: sd.Qt,
8638        toString: sd.toString,
8639        setPageCapacity: sd.Kp
8640    });
8641    S(window, {
8642        BMAP_DRIVING_POLICY_LEAST_TIME: 0,
8643        BMAP_DRIVING_POLICY_LEAST_DISTANCE: 1,
8644        BMAP_DRIVING_POLICY_AVOID_HIGHWAYS: 2
8645    });
8646    S(window, {
8647        BMAP_MODE_DRIVING: "driving",
8648        BMAP_MODE_TRANSIT: "transit",
8649        BMAP_MODE_WALKING: "walking",
8650        BMAP_MODE_NAVIGATION: "navigation"
8651    });
8652    var mf = zd.prototype;
8653    S(mf, {
8654        routeCall: mf.GN
8655    });
8656    S(window, {
8657        BMAP_HIGHLIGHT_STEP: 1,
8658        BMAP_HIGHLIGHT_ROUTE: 2
8659    });
8660    S(window, {
8661        BMAP_ROUTE_TYPE_DRIVING: bd,
8662        BMAP_ROUTE_TYPE_WALKING: ad
8663    });
8664    S(window, {
8665        BMAP_ROUTE_STATUS_NORMAL: dd,
8666        BMAP_ROUTE_STATUS_EMPTY: 1,
8667        BMAP_ROUTE_STATUS_ADDRESS: 2
8668    });
8669    var nf = ud.prototype;
8670    S(nf, {
8671        setPolicy: nf.Qt
8672    });
8673    var of = Hd.prototype;
8674    S(of, {
8675        show: of.show,
8676        hide: of.U,
8677        setTypes: of.xF,
8678        setLocation: of.gn,
8679        search: of.search,
8680        setInputValue: of.wy
8681    });
8682    S(nb.prototype, {});
8683    var pf = Fd.prototype;
8684    S(pf, {
8685        get: pf.get
8686    });
8687    S(ac.prototype, {});
8688    S(db.prototype, {});
8689    S(window, {
8690        BMAP_POINT_DENSITY_HIGH: 200,
8691        BMAP_POINT_DENSITY_MEDIUM: Qc,
8692        BMAP_POINT_DENSITY_LOW: 50
8693    });
8694    S(window, {
8695        BMAP_POINT_SHAPE_STAR: 1,
8696        BMAP_POINT_SHAPE_WATERDROP: 2,
8697        BMAP_POINT_SHAPE_CIRCLE: tc,
8698        BMAP_POINT_SHAPE_SQUARE: 4,
8699        BMAP_POINT_SHAPE_RHOMBUS: 5
8700    });
8701    S(window, {
8702        BMAP_POINT_SIZE_TINY: 1,
8703        BMAP_POINT_SIZE_SMALLER: 2,
8704        BMAP_POINT_SIZE_SMALL: 3,
8705        BMAP_POINT_SIZE_NORMAL: uc,
8706        BMAP_POINT_SIZE_BIG: 5,
8707        BMAP_POINT_SIZE_BIGGER: 6,
8708        BMAP_POINT_SIZE_HUGE: 7
8709    });
8710    S(window, {
8711        BMap_Symbol_SHAPE_CAMERA: 11,
8712        BMap_Symbol_SHAPE_WARNING: 12,
8713        BMap_Symbol_SHAPE_SMILE: 13,
8714        BMap_Symbol_SHAPE_CLOCK: 14,
8715        BMap_Symbol_SHAPE_POINT: 9,
8716        BMap_Symbol_SHAPE_PLANE: 10,
8717        BMap_Symbol_SHAPE_CIRCLE: 1,
8718        BMap_Symbol_SHAPE_RECTANGLE: 2,
8719        BMap_Symbol_SHAPE_RHOMBUS: 3,
8720        BMap_Symbol_SHAPE_STAR: 4,
8721        BMap_Symbol_SHAPE_BACKWARD_CLOSED_ARROW: 5,
8722        BMap_Symbol_SHAPE_FORWARD_CLOSED_ARROW: 6,
8723        BMap_Symbol_SHAPE_BACKWARD_OPEN_ARROW: 7,
8724        BMap_Symbol_SHAPE_FORWARD_OPEN_ARROW: 8
8725    });
8726    S(window, {
8727        BMAP_CONTEXT_MENU_ICON_ZOOMIN: dc,
8728        BMAP_CONTEXT_MENU_ICON_ZOOMOUT: ec
8729    });
8730    S(window, {
8731        BMAP_SYS_DRAWER: Ja,
8732        BMAP_SVG_DRAWER: 1,
8733        BMAP_VML_DRAWER: 2,
8734        BMAP_CANVAS_DRAWER: 3,
8735        BMAP_SVG_DRAWER_FIRST: 4
8736    });
8737    z.TU();
8738})()

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.